org.apache.axis.encoding.ser
Class ArrayDeserializer
- Deserializer, java.io.Serializable, Callback, Deserializer, Deserializer
public class ArrayDeserializer
An ArrayDeserializer handles deserializing SOAP
arrays.
Some code borrowed from ApacheSOAP - thanks to Matt Duftler!
- Glen Daniels (gdaniels@apache.org)
Multi-reference stuff:
- Rich Scheuerle (scheu@us.ibm.com)
void | characters(char[] chars, int i, int i1)
|
void | onEndChild(String namespace, String localName, DeserializationContext context)
|
SOAPHandler | onStartChild(String namespace, String localName, String prefix, Attributes attributes, DeserializationContext context) - onStartChild is called on each child element.
|
void | onStartElement(String namespace, String localName, String prefix, Attributes attributes, DeserializationContext context) - This method is invoked after startElement when the element requires
deserialization (i.e.
|
void | setChildValue(Object value, Object hint) - set is called during deserialization to assign
the Object value to the array position indicated by hint.
|
void | valueComplete() - When valueComplete() is invoked on the array,
first convert the array value into the expected array.
|
addChildDeserializer , componentsReady , endElement , getDefaultType , getMechanismType , getValue , getValue , getValueTargets , moveValueTargets , onEndElement , onStartChild , onStartElement , registerValueTarget , removeValueTargets , setChildValue , setDefaultType , setValue , setValue , startElement , valueComplete |
arrayType
public QName arrayType
curIndex
public int curIndex
log
protected static Log log
characters
public void characters(char[] chars,
int i,
int i1)
throws SAXException
- characters in interface SOAPHandler
onStartChild
public SOAPHandler onStartChild(String namespace,
String localName,
String prefix,
Attributes attributes,
DeserializationContext context)
throws SAXException
onStartChild is called on each child element.
- onStartChild in interface Deserializer
- onStartChild in interface DeserializerImpl
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.
- is a Deserializer to use to deserialize a child (must be
a derived class of SOAPHandler) or null if no deserialization should
be performed.
onStartElement
public void onStartElement(String namespace,
String localName,
String prefix,
Attributes attributes,
DeserializationContext context)
throws SAXException
This method is invoked after startElement when the element requires
deserialization (i.e. the element is not an href & the value is not nil)
DeserializerImpl provides default behavior, which simply
involves obtaining a correct Deserializer and plugging its handler.
- onStartElement in interface Deserializer
- onStartElement in interface DeserializerImpl
namespace
- is the namespace of the elementlocalName
- is the name of the elementprefix
- is the prefix of the elementattributes
- are the attrs on the element...used to get the typecontext
- is the DeserializationContext
setChildValue
public void setChildValue(Object value,
Object hint)
throws SAXException
set is called during deserialization to assign
the Object value to the array position indicated by hint.
The hint is always a single Integer. If the array being
deserialized is a multi-dimensional array, the hint is
converted into a series of indices to set the correct
nested position.
The array deserializer always deserializes into
an ArrayList, which is converted and copied into the
actual array after completion (by valueComplete).
It is important to wait until all indices have been
processed before invoking valueComplete.
- setChildValue in interface Deserializer
- setChildValue in interface DeserializerImpl
value
- value of the array elementhint
- index of the array element (Integer)
valueComplete
public void valueComplete()
throws SAXException
When valueComplete() is invoked on the array,
first convert the array value into the expected array.
Then call super.valueComplete() to inform referents
that the array value is ready.
- valueComplete in interface Deserializer
- valueComplete in interface DeserializerImpl
Copyright B) 2005 Apache Web Services Project. All Rights Reserved.