com.openharbor.beck.configure
Class ChooseUnmarshaller
java.lang.Object
com.openharbor.beck.unmarshal.DefaultUnmarshaller
com.openharbor.beck.configure.ChooseUnmarshaller
- All Implemented Interfaces:
- MapFromXML.Aware, Setter, Unmarshaller
- public class ChooseUnmarshaller
- extends DefaultUnmarshaller
- implements Setter
Methods inherited from class com.openharbor.beck.unmarshal.DefaultUnmarshaller |
addChild, addToParent, addValue, afterEndObject, disengage, disengaged, endElement, endObject, engage, getChildClass, getMap, getMapFromXML, getObject, getObjectClass, getParent, getSource, getSourceXPath, getXMLContext, getXName, getXPath, isEngaged, newObject, processAttributes, referToThis, reset, rethrow, setMapFromXML, setObject, setObjectClass, setParentAndSource, setValue, setXMLContext, startObject, toString, trim |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ChooseUnmarshaller
public ChooseUnmarshaller()
startElement
protected void startElement(Unmarshaller parent,
XMLThing source)
throws java.lang.Exception
- Overrides:
startElement
in class DefaultUnmarshaller
- Throws:
java.lang.Exception
getValueClass
public java.lang.Class getValueClass(JavaBeanUnmarshaller parent)
- Description copied from interface:
Setter
- Find the expected class of a child object; for example,
the declared class of a field or JavaBean property.
The actual class of the child object may be derived from this class.
- Specified by:
getValueClass
in interface Setter
- Parameters:
parent
- describes the parent object, or null
if the parent is not yet known.
- Returns:
- the expected class of the child object,
or null if no particular class is expected.
setValue
public void setValue(Unmarshaller child,
java.lang.Object[] getterParameters)
- Description copied from interface:
Setter
- Create a relationship from parent to child.
Ordinarily, set a member of the parent to refer to the child.
- Specified by:
setValue
in interface Setter
- Parameters:
child
- describes the child object. child.getParent() describes the parent.getterParameters
- additional parameters to the setter method, such as LocaleTag.
getValue
public java.lang.Object getValue(Unmarshaller child,
java.lang.Object[] getterParameters)
- Description copied from interface:
Setter
Traverse an existing relationship from parent to child.
Call child.setObject() and child.setObjectClass() to record the child's identity
and type, and return a reference to the child.
This method is used to resolve XPaths. Given an object and an XPath, we
create an Unmarshaller for every level of the XPath, use the mapper to retrieve
the corresponding setters, then traverse the object model using this method.
- Specified by:
getValue
in interface Setter
- Parameters:
child
- Child unmarshaller, which represents the property we're interested in. The parent
(or the object whose property is to be read) can be accessed by child.getParent().getterParameters
- the parameters the getter takes. Typically, getters take no parameters,
and null
can be passed in. With mutli-lingual properties however,
LocaleTag
must be passed in to identify the language of interest,
- Returns:
- a reference to the child object, or null if there is no existing child.
removeValue
public java.lang.Object removeValue(Unmarshaller child,
java.lang.Object[] getterParameters)
- Specified by:
removeValue
in interface Setter
replaceValue
public java.lang.Object replaceValue(Unmarshaller child,
java.lang.Object[] getterParameters)
- Specified by:
replaceValue
in interface Setter