FileDocCategorySizeDatePackage
SimpleListDeserializerFactory.javaAPI DocApache Axis 1.42983Sat Apr 22 18:57:28 BST 2006org.apache.axis.encoding.ser

SimpleListDeserializerFactory

public class SimpleListDeserializerFactory extends BaseDeserializerFactory
DeserializerFactory for based on SimpleDeserializerFactory
author
Ias (iasandcb@tmax.co.kr)

Fields Summary
private static final Class[]
STRING_CLASS
private final Class
clazzType
private transient Constructor
constructor
Constructors Summary
public SimpleListDeserializerFactory(Class javaType, QName xmlType)
Note that the factory is constructed with the QName and xmlType. This is important to allow distinction between primitive values and java.lang wrappers.

                                 
         
        super(SimpleListDeserializer.class, xmlType, javaType.getComponentType());
        clazzType = javaType;
        Class componentType = javaType.getComponentType();
        try {
            if (!componentType.isPrimitive()) {
                constructor = 
                componentType.getDeclaredConstructor(STRING_CLASS);
            }
            else {
                Class wrapper = JavaUtils.getWrapperClass(componentType);
                if (wrapper != null)
                    constructor = 
                        wrapper.getDeclaredConstructor(STRING_CLASS);
            }
        } catch (java.lang.NoSuchMethodException e) {
            throw new IllegalArgumentException(e.toString());
        } 
    
Methods Summary
public javax.xml.rpc.encoding.DeserializergetDeserializerAs(java.lang.String mechanismType)
Get the Deserializer and the set the Constructor so the deserializer does not have to do introspection.

        if (javaType == java.lang.Object.class) {
            return null;
        }
        SimpleListDeserializer deser = (SimpleListDeserializer) super.getDeserializerAs(mechanismType);
        if (deser != null)
            deser.setConstructor(constructor);
        return deser;
    
private java.lang.ObjectreadResolve()

        return new SimpleListDeserializerFactory(clazzType, xmlType);