org.apache.axis.encoding.ser
Class BeanDeserializer
java.lang.Object
|
+--org.xml.sax.helpers.DefaultHandler
|
+--org.apache.axis.message.SOAPHandler
|
+--org.apache.axis.encoding.DeserializerImpl
|
+--org.apache.axis.encoding.ser.BeanDeserializer
- All Implemented Interfaces:
- Callback, org.xml.sax.ContentHandler, Deserializer, Deserializer, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, java.io.Serializable
- public class BeanDeserializer
- extends DeserializerImpl
- implements java.io.Serializable
General purpose deserializer for an arbitrary java bean.
- Author:
- Sam Ruby , Rich Scheuerle , Tom Jordahl
- See Also:
- Serialized Form
Method Summary |
BeanPropertyDescriptor |
getAnyPropertyDesc()
Get a BeanPropertyDescriptor which indicates where we should
put extensibility elements (i.e. |
protected Deserializer |
getDeserializer(QName xmlType,
java.lang.Class javaType,
java.lang.String href,
DeserializationContext context)
Get the Deserializer for the attribute or child element. |
SOAPHandler |
onStartChild(java.lang.String namespace,
java.lang.String localName,
java.lang.String prefix,
org.xml.sax.Attributes attributes,
DeserializationContext context)
Deserializer interface called on each child element encountered in
the XML stream. |
void |
onStartElement(java.lang.String namespace,
java.lang.String localName,
java.lang.String prefix,
org.xml.sax.Attributes attributes,
DeserializationContext context)
Set the bean properties that correspond to element attributes. |
void |
startElement(java.lang.String namespace,
java.lang.String localName,
java.lang.String prefix,
org.xml.sax.Attributes attributes,
DeserializationContext context)
startElement
The ONLY reason that this method is overridden is so that
the object value can be set or a reasonable exception is thrown
indicating that the object cannot be created. |
Methods inherited from class org.apache.axis.encoding.DeserializerImpl |
addChildDeserializer, componentsReady, endElement, getDefaultType, getMechanismType, getValue, getValue, getValueTargets, moveValueTargets, onEndElement, registerValueTarget, removeValueTargets, setChildValue, setDefaultType, setValue, setValue, valueComplete |
Methods inherited from class org.xml.sax.helpers.DefaultHandler |
characters, endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
log
protected static org.apache.commons.logging.Log log
propertyMap
protected java.util.Map propertyMap
prevQName
protected QName prevQName
typeDesc
protected TypeDesc typeDesc
- Type metadata about this class for XML deserialization
collectionIndex
protected int collectionIndex
cacheStringDSer
protected SimpleDeserializer cacheStringDSer
cacheXMLType
protected QName cacheXMLType
BeanDeserializer
public BeanDeserializer(java.lang.Class javaType,
QName xmlType)
BeanDeserializer
public BeanDeserializer(java.lang.Class javaType,
QName xmlType,
TypeDesc typeDesc)
BeanDeserializer
public BeanDeserializer(java.lang.Class javaType,
QName xmlType,
TypeDesc typeDesc,
java.util.Map propertyMap)
startElement
public void startElement(java.lang.String namespace,
java.lang.String localName,
java.lang.String prefix,
org.xml.sax.Attributes attributes,
DeserializationContext context)
throws org.xml.sax.SAXException
- startElement
The ONLY reason that this method is overridden is so that
the object value can be set or a reasonable exception is thrown
indicating that the object cannot be created. This is done
at this point so that it occurs BEFORE href/id processing.
- Specified by:
startElement
in interface Deserializer
- Overrides:
startElement
in class DeserializerImpl
- Parameters:
namespace
- is the namespace of the elementlocalName
- is the name of the elementprefix
- is the prefix of the elementattributes
- are the attributes on the element...used to get the
typecontext
- is the DeserializationContext
org.xml.sax.SAXException
onStartChild
public SOAPHandler onStartChild(java.lang.String namespace,
java.lang.String localName,
java.lang.String prefix,
org.xml.sax.Attributes attributes,
DeserializationContext context)
throws org.xml.sax.SAXException
- Deserializer interface called on each child element encountered in
the XML stream.
- Specified by:
onStartChild
in interface Deserializer
- Overrides:
onStartChild
in class DeserializerImpl
- Parameters:
namespace
- is the namespace of the child elementlocalName
- is the local name of the child elementprefix
- is the prefix used on the name of the child elementattributes
- are the attributes of the child elementcontext
- 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.
org.xml.sax.SAXException
getAnyPropertyDesc
public BeanPropertyDescriptor getAnyPropertyDesc()
- Get a BeanPropertyDescriptor which indicates where we should
put extensibility elements (i.e. XML which falls under the
auspices of an <xsd:any> declaration in the schema)
- Returns:
- an appropriate BeanPropertyDescriptor, or null
onStartElement
public void onStartElement(java.lang.String namespace,
java.lang.String localName,
java.lang.String prefix,
org.xml.sax.Attributes attributes,
DeserializationContext context)
throws org.xml.sax.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 elementlocalName
- is the name of the elementprefix
- is the prefix of the elementattributes
- are the attributes on the element...used to get the
typecontext
- is the DeserializationContext
org.xml.sax.SAXException
getDeserializer
protected Deserializer getDeserializer(QName xmlType,
java.lang.Class javaType,
java.lang.String href,
DeserializationContext context)
- Get the Deserializer for the attribute or child element.
- Parameters:
xmlType
- QName of the attribute/child element or null if not known.javaType
- Class of the corresponding propertyhref
- String is the value of the href attribute, which is used
to determine whether the child element is complete or an
href to another element.context
- DeserializationContext
- Returns:
- Deserializer or null if not found.
Copyright © 2003 Apache Web Services Project. All Rights Reserved.