Class SimpleDeserializer

All Implemented Interfaces:
Serializable, Deserializer, Callback, Deserializer, ContentHandler, DTDHandler, EntityResolver, ErrorHandler
Direct Known Subclasses:
Base64Deserializer, CalendarDeserializer, DateDeserializer, EnumDeserializer, HexDeserializer, QNameDeserializer, SimpleListDeserializer, TimeDeserializer

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)
See Also:
  • Field Details

  • Constructor Details

    • 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 Details

    • reset

      public void reset()
      Reset deserializer for re-use
    • setConstructor

      public void setConstructor(Constructor c)
      The Factory calls setConstructor.
    • onStartChild

      public SOAPHandler onStartChild(String namespace, String localName, String prefix, Attributes attributes, DeserializationContext context) throws SAXException
      There should not be nested elements, so thow and exception if this occurs.
      Specified by:
      onStartChild in interface Deserializer
      Overrides:
      onStartChild in class DeserializerImpl
      Parameters:
      namespace - is the namespace of the child element
      localName - is the local name of the child element
      prefix - is the prefix used on the name of the child element
      attributes - are the attributes of the child element
      context - is the deserialization context.
      Returns:
      is a Deserializer to use to deserialize a child (must be a derived class of SOAPHandler) or null if no deserialization should be performed.
      Throws:
      SAXException
    • characters

      public void characters(char[] chars, int start, int end) throws SAXException
      Append any characters received to the value. This method is defined by Deserializer.
      Specified by:
      characters in interface ContentHandler
      Overrides:
      characters in class SOAPHandler
      Throws:
      SAXException
    • onEndElement

      public void onEndElement(String namespace, String localName, DeserializationContext context) throws SAXException
      Append any characters to the value. This method is defined by Deserializer.
      Specified by:
      onEndElement in interface Deserializer
      Overrides:
      onEndElement in class DeserializerImpl
      Parameters:
      namespace - is the namespace of the child element
      localName - is the local name of the child element
      context - is the deserialization context
      Throws:
      SAXException
    • makeValue

      public Object makeValue(String source) throws Exception
      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
    • onStartElement

      public void onStartElement(String namespace, String localName, String prefix, Attributes attributes, DeserializationContext context) throws SAXException
      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.)
      Specified by:
      onStartElement in interface Deserializer
      Overrides:
      onStartElement in class DeserializerImpl
      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
      Throws:
      SAXException