|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.xml.sax.helpers.DefaultHandler
org.apache.axis.message.SOAPHandler
org.apache.axis.encoding.DeserializerImpl
The Deserializer base class.
| Field Summary | |
protected boolean |
componentsReadyFlag
|
protected QName |
defaultType
|
protected java.lang.String |
id
|
protected boolean |
isEnded
|
protected boolean |
isHref
|
protected boolean |
isNil
|
protected static org.apache.commons.logging.Log |
log
|
protected java.util.Vector |
targets
|
protected java.lang.Object |
value
|
| Fields inherited from class org.apache.axis.message.SOAPHandler |
myElement |
| Constructor Summary | |
DeserializerImpl()
|
|
| Method Summary | |
void |
addChildDeserializer(Deserializer dSer)
|
boolean |
componentsReady()
Some deserializers (ArrayDeserializer) require all of the component values to be known before the value is complete. |
void |
endElement(java.lang.String namespace,
java.lang.String localName,
DeserializationContext context)
endElement is called when the end element tag is reached. |
QName |
getDefaultType()
|
java.lang.String |
getMechanismType()
JAX-RPC compliant method which returns mechanism type. |
java.lang.Object |
getValue()
Get the deserialized value. |
java.lang.Object |
getValue(java.lang.Object hint)
If the deserializer has component values (like ArrayDeserializer) this method gets the specific component via the hint. |
java.util.Vector |
getValueTargets()
Get the Value Targets of the Deserializer. |
void |
moveValueTargets(Deserializer other)
Move someone else's targets to our own (see DeserializationContext) The DeserializationContext only allows one Deserializer to wait for a unknown multi-ref'ed value. |
void |
onEndElement(java.lang.String namespace,
java.lang.String localName,
DeserializationContext context)
onEndElement is called by endElement. |
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 |
registerValueTarget(Target target)
For deserializers of non-primitives, the value may not be known until later (due to multi-referencing). |
void |
removeValueTargets()
Remove the Value Targets of the Deserializer. |
void |
setChildValue(java.lang.Object value,
java.lang.Object hint)
If the deserializer has component values (like ArrayDeserializer) this method sets the specific component via the hint. |
void |
setDefaultType(QName qName)
In some circumstances an element may not have a type attribute, but a default type qname is known from information in the container. |
void |
setValue(java.lang.Object value)
Set the deserialized value. |
void |
setValue(java.lang.Object value,
java.lang.Object hint)
|
void |
startElement(java.lang.String namespace,
java.lang.String localName,
java.lang.String prefix,
org.xml.sax.Attributes attributes,
DeserializationContext context)
This method is invoked when an element start tag is encountered. |
void |
valueComplete()
The valueComplete() method is invoked when the end tag of the element is read. |
| Methods inherited from class org.apache.axis.message.SOAPHandler |
characters, makeNewElement, onEndChild |
| 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 |
| Field Detail |
protected static org.apache.commons.logging.Log log
protected java.lang.Object value
protected boolean isEnded
protected java.util.Vector targets
protected QName defaultType
protected boolean componentsReadyFlag
protected boolean isHref
protected boolean isNil
protected java.lang.String id
| Constructor Detail |
public DeserializerImpl()
| Method Detail |
public java.lang.String getMechanismType()
getMechanismType in interface Deserializerpublic java.lang.Object getValue()
getValue in interface Deserializerpublic void setValue(java.lang.Object value)
setValue in interface Deserializervalue - Object representing deserialized valuepublic java.lang.Object getValue(java.lang.Object hint)
getValue in interface Deserializer
public void setChildValue(java.lang.Object value,
java.lang.Object hint)
throws org.xml.sax.SAXException
setChildValue in interface Deserializerhint - Object representing deserialized value or nullvalue - Object representing deserialized value or null
org.xml.sax.SAXException
public void setValue(java.lang.Object value,
java.lang.Object hint)
throws org.xml.sax.SAXException
setValue in interface Callbackorg.xml.sax.SAXExceptionpublic void setDefaultType(QName qName)
setDefaultType in interface Deserializerpublic QName getDefaultType()
getDefaultType in interface Deserializerpublic void registerValueTarget(Target target)
registerValueTarget in interface Deserializertarget - public java.util.Vector getValueTargets()
getValueTargets in interface Deserializerpublic void removeValueTargets()
removeValueTargets in interface Deserializerpublic void moveValueTargets(Deserializer other)
moveValueTargets in interface Deserializerother - is the Deserializer to copy targets from.public boolean componentsReady()
componentsReady in interface Deserializer
public void valueComplete()
throws org.xml.sax.SAXException
valueComplete in interface Deserializerorg.xml.sax.SAXExceptionpublic void addChildDeserializer(Deserializer dSer)
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 in interface DeserializerstartElement in class SOAPHandlernamespace - 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
Normally a specific Deserializer (FooDeserializer) should extend DeserializerImpl.
Here is the flow that will occur in such cases:
1) DeserializerImpl.startElement(...) will be called and do the id/href/nill stuff.
2) If real deserialization needs to take place DeserializerImpl.onStartElement will be
invoked, which will attempt to install the specific Deserializer (FooDeserializer)
3) The FooDeserializer.startElement(...) will be called to do the Foo specific stuff.
This results in a call to FooDeserializer.onStartElement(...) if startElement was
not overridden.
4) The onChildElement(...) method is called for each child element. Nothing occurs
if not overridden. The FooDeserializer.onStartChild(...) method should return
the deserializer for the child element.
5) When the end tag is reached, the endElement(..) method is invoked. The default
behavior is to handle hrefs/ids, call onEndElement and then call the Deserializer
valueComplete method.
So the methods that you potentially want to override are:
onStartElement, onStartChild, componentsReady, setValue(object, hint)
You probably should not override startElement or endElement.
If you need specific behaviour at the end of the element consider overriding
onEndElement.
See the pre-existing Deserializers for more information.
org.xml.sax.SAXException
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
onStartElement in interface Deserializernamespace - 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
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 in interface DeserializeronStartChild in class SOAPHandlernamespace - 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.
org.xml.sax.SAXException
public final void endElement(java.lang.String namespace,
java.lang.String localName,
DeserializationContext context)
throws org.xml.sax.SAXException
endElement in interface DeserializerendElement in class SOAPHandlernamespace - is the namespace of the child elementlocalName - is the local name of the child elementcontext - is the deserialization context
org.xml.sax.SAXException
public void onEndElement(java.lang.String namespace,
java.lang.String localName,
DeserializationContext context)
throws org.xml.sax.SAXException
onEndElement in interface Deserializernamespace - is the namespace of the child elementlocalName - is the local name of the child elementcontext - is the deserialization context
org.xml.sax.SAXException
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||