public class JAFDataHandlerDeserializer extends DeserializerImpl
Modifier and Type | Field and Description |
---|---|
protected static org.apache.commons.logging.Log |
log |
componentsReadyFlag, defaultType, id, isEnded, isHref, isNil, targets, value
myElement
Constructor and Description |
---|
JAFDataHandlerDeserializer() |
Modifier and Type | Method and Description |
---|---|
SOAPHandler |
onStartChild(String namespace,
String localName,
String prefix,
Attributes attributes,
DeserializationContext context)
Deserializer interface called on each child element encountered in
the XML stream.
|
void |
startElement(String namespace,
String localName,
String prefix,
Attributes attributes,
DeserializationContext context)
This method is invoked when an element start tag is encountered.
|
addChildDeserializer, componentsReady, endElement, getDefaultType, getMechanismType, getValue, getValue, getValueTargets, moveValueTargets, onEndElement, onStartElement, registerValueTarget, removeValueTargets, setChildValue, setDefaultType, setValue, setValue, valueComplete
characters, makeNewElement, onEndChild
endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning
public void startElement(String namespace, String localName, String prefix, Attributes attributes, DeserializationContext context) throws SAXException
DeserializerImpl
startElement
in class DeserializerImpl
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
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.SAXException
public SOAPHandler onStartChild(String namespace, String localName, String prefix, Attributes attributes, DeserializationContext context) throws SAXException
onStartChild
in class 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.SAXException
Copyright © The Apache Software Foundation. All Rights Reserved.