org.apache.axis.encoding.ser
Class BaseSerializerFactory

java.lang.Object
  extended byorg.apache.axis.encoding.ser.BaseFactory
      extended byorg.apache.axis.encoding.ser.BaseSerializerFactory
All Implemented Interfaces:
java.io.Serializable, SerializerFactory, SerializerFactory
Direct Known Subclasses:
ArraySerializerFactory, Base64SerializerFactory, BeanSerializerFactory, CalendarSerializerFactory, CastorSerializerFactory, DateSerializerFactory, DocumentSerializerFactory, ElementSerializerFactory, EnumSerializerFactory, HexSerializerFactory, JAFDataHandlerSerializerFactory, MapSerializerFactory, QNameSerializerFactory, SimpleSerializerFactory, VectorSerializerFactory

public abstract class BaseSerializerFactory
extends BaseFactory
implements SerializerFactory

Base class for Axis Serialization Factory classes for code reuse

Author:
Rich Scheuerle
See Also:
Serialized Form

Field Summary
protected  java.lang.reflect.Method getSerializer
           
protected  java.lang.Class javaType
           
protected  Serializer ser
           
protected  java.lang.Class serClass
           
protected  java.lang.reflect.Constructor serClassConstructor
           
protected  QName xmlType
           
 
Fields inherited from class org.apache.axis.encoding.ser.BaseFactory
methodCache
 
Constructor Summary
BaseSerializerFactory(java.lang.Class serClass)
          Constructor
BaseSerializerFactory(java.lang.Class serClass, QName xmlType, java.lang.Class javaType)
           
 
Method Summary
static SerializerFactory createFactory(java.lang.Class factory, java.lang.Class javaType, QName xmlType)
          Utility method that intospects on a factory class to decide how to create the factory.
protected  Serializer getGeneralPurpose(java.lang.String mechanismType)
          Obtains a serializer by invoking (javaType, xmlType) on the serClass.
protected  java.lang.reflect.Method getGetSerializer()
          Returns the getSerializer.
 java.lang.Class getJavaType()
          get javaType
protected  java.lang.reflect.Constructor getSerClassConstructor()
          Returns the serClassConstructor.
 Serializer getSerializerAs(java.lang.String mechanismType)
          Returns a Serializer for the specified XML processing mechanism type.
protected  Serializer getSerializerAsInternal(java.lang.String mechanismType)
           
protected  Serializer getSpecialized(java.lang.String mechanismType)
          Obtains a serializer by invoking getSerializer method in the javaType class or its Helper class.
 java.util.Iterator getSupportedMechanismTypes()
          Returns a list of all XML processing mechanism types supported by this SerializerFactory.
 QName getXMLType()
          get xmlType
 
Methods inherited from class org.apache.axis.encoding.ser.BaseFactory
getMethod
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serClass

protected java.lang.Class serClass

xmlType

protected QName xmlType

javaType

protected java.lang.Class javaType

ser

protected transient Serializer ser

serClassConstructor

protected transient java.lang.reflect.Constructor serClassConstructor

getSerializer

protected transient java.lang.reflect.Method getSerializer
Constructor Detail

BaseSerializerFactory

public BaseSerializerFactory(java.lang.Class serClass)
Constructor

Parameters:
serClass - is the class of the Serializer Sharing is only valid for xml primitives.

BaseSerializerFactory

public BaseSerializerFactory(java.lang.Class serClass,
                             QName xmlType,
                             java.lang.Class javaType)
Method Detail

getSerializerAs

public Serializer getSerializerAs(java.lang.String mechanismType)
                           throws JAXRPCException
Description copied from interface: SerializerFactory
Returns a Serializer for the specified XML processing mechanism type.

Specified by:
getSerializerAs in interface SerializerFactory
Parameters:
mechanismType - - XML processing mechanism type [TBD: definition of valid constants]
Returns:
a Serializer for the specified XML processing mechanism type.
Throws:
JAXRPCException

getSerializerAsInternal

protected Serializer getSerializerAsInternal(java.lang.String mechanismType)
                                      throws JAXRPCException
Throws:
JAXRPCException

getGeneralPurpose

protected Serializer getGeneralPurpose(java.lang.String mechanismType)
Obtains a serializer by invoking (javaType, xmlType) on the serClass.


getSpecialized

protected Serializer getSpecialized(java.lang.String mechanismType)
Obtains a serializer by invoking getSerializer method in the javaType class or its Helper class.


getSupportedMechanismTypes

public java.util.Iterator getSupportedMechanismTypes()
Returns a list of all XML processing mechanism types supported by this SerializerFactory.

Specified by:
getSupportedMechanismTypes in interface SerializerFactory
Returns:
List of unique identifiers for the supported XML processing mechanism types

getXMLType

public QName getXMLType()
get xmlType

Returns:
xmlType QName for this factory

getJavaType

public java.lang.Class getJavaType()
get javaType

Returns:
javaType Class for this factory

createFactory

public static SerializerFactory createFactory(java.lang.Class factory,
                                              java.lang.Class javaType,
                                              QName xmlType)
Utility method that intospects on a factory class to decide how to create the factory. Tries in the following order: public static create(Class javaType, QName xmlType) public (Class javaType, QName xmlType) public ()

Parameters:
factory - class
xmlType -
javaType -

getGetSerializer

protected java.lang.reflect.Method getGetSerializer()
Returns the getSerializer.

Returns:
Method

getSerClassConstructor

protected java.lang.reflect.Constructor getSerClassConstructor()
Returns the serClassConstructor.

Returns:
Constructor


Copyright ? 2003 Apache Web Services Project. All Rights Reserved.