org.apache.axis.encoding.ser

Class SimpleDeserializer

public class SimpleDeserializer extends DeserializerImpl

A deserializer for any simple type with a (String) constructor. Note: this class is designed so that subclasses need only override the makeValue method in order to construct objects of their own type.

Author: Glen Daniels (gdaniels@apache.org) Sam Ruby (rubys@us.ibm.com) Modified for JAX-RPC @author Rich Scheuerle (scheu@us.ibm.com)

Field Summary
protected SimpleDeserializercacheStringDSer
protected QNamecacheXMLType
protected DeserializationContextcontext
ClassjavaType
static Class[]STRING_CLASS
QNamexmlType
Constructor Summary
SimpleDeserializer(Class javaType, QName xmlType)
The Deserializer is constructed with the xmlType and javaType (which could be a java primitive like int.class)
SimpleDeserializer(Class javaType, QName xmlType, TypeDesc typeDesc)
Method Summary
voidcharacters(char[] chars, int start, int end)
Append any characters received to the value.
ObjectmakeValue(String source)
Convert the string that has been accumulated into an Object.
voidonEndElement(String namespace, String localName, DeserializationContext context)
Append any characters to the value.
SOAPHandleronStartChild(String namespace, String localName, String prefix, Attributes attributes, DeserializationContext context)
There should not be nested elements, so thow and exception if this occurs.
voidonStartElement(String namespace, String localName, String prefix, Attributes attributes, DeserializationContext context)
Set the bean properties that correspond to element attributes.
voidreset()
Reset deserializer for re-use
voidsetConstructor(Constructor c)
The Factory calls setConstructor.

Field Detail

cacheStringDSer

protected SimpleDeserializer cacheStringDSer

cacheXMLType

protected QName cacheXMLType

context

protected DeserializationContext context

javaType

public Class javaType

STRING_CLASS

public static final Class[] STRING_CLASS

xmlType

public QName xmlType

Constructor Detail

SimpleDeserializer

public SimpleDeserializer(Class javaType, QName xmlType)
The Deserializer is constructed with the xmlType and javaType (which could be a java primitive like int.class)

SimpleDeserializer

public SimpleDeserializer(Class javaType, QName xmlType, TypeDesc typeDesc)

Method Detail

characters

public void characters(char[] chars, int start, int end)
Append any characters received to the value. This method is defined by Deserializer.

makeValue

public Object makeValue(String source)
Convert the string that has been accumulated into an Object. Subclasses may override this. Note that if the javaType is a primitive, the returned object is a wrapper class.

Parameters: source the serialized value to be deserialized

Throws: Exception any exception thrown by this method will be wrapped

onEndElement

public void onEndElement(String namespace, String localName, DeserializationContext context)
Append any characters to the value. This method is defined by Deserializer.

onStartChild

public SOAPHandler onStartChild(String namespace, String localName, String prefix, Attributes attributes, DeserializationContext context)
There should not be nested elements, so thow and exception if this occurs.

onStartElement

public void onStartElement(String namespace, String localName, String prefix, Attributes attributes, DeserializationContext context)
Set the bean properties that correspond to element attributes. This method is invoked after startElement when the element requires deserialization (i.e. the element is not an href and the value is not nil.)

Parameters: namespace is the namespace of the element localName is the name of the element prefix is the prefix of the element attributes are the attributes on the element...used to get the type context is the DeserializationContext

reset

public void reset()
Reset deserializer for re-use

setConstructor

public void setConstructor(Constructor c)
The Factory calls setConstructor.
Copyright B) 2005 Apache Web Services Project. All Rights Reserved.