## org.apache.axis.encoding.ser
Class BaseDeserializerFactory

    java.lang.Object
      org.apache.axis.encoding.ser.BaseFactory
          org.apache.axis.encoding.ser.BaseDeserializerFactory

All Implemented Interfaces:
  DeserializerFactory, DeserializerFactory, java.io.Serializable

Direct Known Subclasses:
  ArrayDeserializerFactory, Base64DeserializerFactory, BeanDeserializerFactory, CalendarDeserializerFactory, CastorDeserializerFactory, CastorEnumTypeDeserializerFactory, DateDeserializerFactory, DocumentDeserializerFactory, ElementDeserializerFactory, EnumDeserializerFactory, HexDeserializerFactory, JAFDataHandlerDeserializerFactory, MapDeserializerFactory, QNameDeserializerFactory, SimpleDeserializerFactory, SimpleListDeserializerFactory, TimeDeserializerFactory, VectorDeserializerFactory, XmlBeanDeserializerFactory

public abstract class BaseDeserializerFactory
extends BaseFactory
implements DeserializerFactory

Base class for Axis Deserialization Factory classes for code reuse

Author:
  Rich Scheuerle <scheu@us.ibm.com>
See Also:
  Serialized Form

Field Summary
`protected java.lang.Class` `deserClass`
`protected java.lang.reflect.Constructor` `deserClassConstructor`
`protected java.lang.reflect.Method` `getDeserializer`
`protected java.lang.Class` `javaType`
`protected static org.apache.commons.logging.Log` `log`
`protected QName` `xmlType`

Constructor Summary
`BaseDeserializerFactory(java.lang.Class deserClass)` Constructor
`BaseDeserializerFactory(java.lang.Class deserClass, QName xmlType, java.lang.Class javaType)`

Method Summary
`static DeserializerFactory` `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 java.lang.reflect.Constructor` `getDeserClassConstructor()` Returns the deserClassConstructor.
`Deserializer` `getDeserializerAs(java.lang.String mechanismType)` Returns a Deserializer for the specified XML processing mechanism type.
`protected Deserializer` `getGeneralPurpose(java.lang.String mechanismType)` Obtains a deserializer by invoking <constructor>(javaType, xmlType) on the deserClass.
`protected java.lang.reflect.Method` `getGetDeserializer()` Returns the getDeserializer.
`protected Deserializer` `getSpecialized(java.lang.String mechanismType)` Obtains a deserializer by invoking getDeserializer 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 DeserializerFactory.

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

### log

    protected static org.apache.commons.logging.Log log

### deserClass

    protected java.lang.Class deserClass

### xmlType

    protected QName xmlType

### javaType

    protected java.lang.Class javaType

### deserClassConstructor

    protected transient java.lang.reflect.Constructor deserClassConstructor

### getDeserializer

    protected transient java.lang.reflect.Method getDeserializer

Constructor Detail

### BaseDeserializerFactory

    public BaseDeserializerFactory(java.lang.Class deserClass)

  Constructor

Parameters:
  `deserClass` - is the class of the Deserializer

### BaseDeserializerFactory

    public BaseDeserializerFactory(java.lang.Class deserClass,
                                   QName xmlType,
                                   java.lang.Class javaType)

Method Detail

### getDeserializerAs

    public Deserializer getDeserializerAs(java.lang.String mechanismType)
                                   throws JAXRPCException

  Description copied from interface: `DeserializerFactory`
  Returns a Deserializer for the specified XML processing mechanism type.

  Specified by:
    `getDeserializerAs` in interface `DeserializerFactory`
  Parameters:
    `mechanismType` - XML processing mechanism type [TBD: definition of valid constants]
  Returns:
    a Deserializer for the specified XML processing mechanism type
  Throws:
    `JAXRPCException` - if DeserializerFactory does not support the specified XML processing mechanism

### getGeneralPurpose

    protected Deserializer getGeneralPurpose(java.lang.String mechanismType)

  Obtains a deserializer by invoking <constructor>(javaType, xmlType) on the deserClass.

### getSpecialized

    protected Deserializer getSpecialized(java.lang.String mechanismType)

  Obtains a deserializer by invoking getDeserializer 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 DeserializerFactory.

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

### createFactory

    public static DeserializerFactory 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 <constructor>(Class javaType, QName xmlType) public <constructor>()

  Parameters:
    `factory` - class
    `javaType` -
    `xmlType` -

### getDeserClassConstructor

    protected java.lang.reflect.Constructor getDeserClassConstructor()

  Returns the deserClassConstructor.

  Returns:
    Constructor

### getGetDeserializer

    protected java.lang.reflect.Method getGetDeserializer()

  Returns the getDeserializer.

  Returns:
    Method

Copyright © 2005 Apache Web Services Project. All Rights Reserved.