org.apache.axis.encoding.ser
Class ArrayDeserializer
java.lang.Object
   org.xml.sax.helpers.DefaultHandler
org.xml.sax.helpers.DefaultHandler
       org.apache.axis.message.SOAPHandler
org.apache.axis.message.SOAPHandler
           org.apache.axis.encoding.DeserializerImpl
org.apache.axis.encoding.DeserializerImpl
               org.apache.axis.encoding.ser.ArrayDeserializer
org.apache.axis.encoding.ser.ArrayDeserializer
- 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 ArrayDeserializer- extends DeserializerImpl
An ArrayDeserializer handles deserializing SOAP
 arrays.
 
 Some code borrowed from ApacheSOAP - thanks to Matt Duftler!
- Author:
- Glen Daniels (gdaniels@apache.org)
 
 Multi-reference stuff:, Rich Scheuerle (scheu@us.ibm.com)
- See Also:
- Serialized Form
 
 
 
 
 
| Method Summary | 
|  void | characters(char[] chars,
           int i,
           int i1)
 | 
|  void | onEndChild(java.lang.String namespace,
           java.lang.String localName,
           DeserializationContext context)
 | 
|  SOAPHandler | onStartChild(java.lang.String namespace,
             java.lang.String localName,
             java.lang.String prefix,
             org.xml.sax.Attributes attributes,
             DeserializationContext context)onStartChild is called on each child element.
 | 
|  void | onStartElement(java.lang.String namespace,
               java.lang.String localName,
               java.lang.String prefix,
               org.xml.sax.Attributes attributes,
               DeserializationContext context)This method is invoked after startElement when the element requires
 deserialization (i.e.
 | 
|  void | setChildValue(java.lang.Object value,
              java.lang.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.
 | 
 
| Methods inherited from class org.apache.axis.encoding.DeserializerImpl | 
| addChildDeserializer, componentsReady, endElement, getDefaultType, getMechanismType, getValue, getValue, getValueTargets, moveValueTargets, onEndElement, registerValueTarget, removeValueTargets, setDefaultType, setValue, setValue, startElement | 
 
 
| Methods inherited from class org.xml.sax.helpers.DefaultHandler | 
| 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
arrayType
public QName arrayType
curIndex
public int curIndex
ArrayDeserializer
public ArrayDeserializer()
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
- 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.
 
- 
- Specified by:
- onStartElementin interface- Deserializer
- Overrides:
- onStartElementin 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 attrs on the element...used to get the type
- context- is the DeserializationContext
- Throws:
- 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
- onStartChild is called on each child element.
 
- 
- Specified by:
- onStartChildin interface- Deserializer
- Overrides:
- onStartChildin 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:
- org.xml.sax.SAXException
 
onEndChild
public void onEndChild(java.lang.String namespace,
                       java.lang.String localName,
                       DeserializationContext context)
                throws org.xml.sax.SAXException
- 
- Overrides:
- onEndChildin class- SOAPHandler
 
- 
- Throws:
- org.xml.sax.SAXException
 
characters
public void characters(char[] chars,
                       int i,
                       int i1)
                throws org.xml.sax.SAXException
- 
- Specified by:
- charactersin interface- org.xml.sax.ContentHandler
- Overrides:
- charactersin class- SOAPHandler
 
- 
- Throws:
- org.xml.sax.SAXException
 
setChildValue
public void setChildValue(java.lang.Object value,
                          java.lang.Object hint)
                   throws org.xml.sax.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.
 
- 
- Specified by:
- setChildValuein interface- Deserializer
- Overrides:
- setChildValuein class- DeserializerImpl
 
- 
- Parameters:
- value- value of the array element
- hint- index of the array element (Integer)
- Throws:
- org.xml.sax.SAXException
 
valueComplete
public void valueComplete()
                   throws org.xml.sax.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.
 
- 
- Specified by:
- valueCompletein interface- Deserializer
- Overrides:
- valueCompletein class- DeserializerImpl
 
- 
- Throws:
- org.xml.sax.SAXException
 
Copyright © 2005 Apache Web Services Project. All Rights Reserved.