Package org.jibx.runtime
Interface IUnmarshaller
-
- All Known Implementing Classes:
ComponentCustomUnmarshaller
,DiscardElementMapper
,DiscardListMapper
,Dom4JElementMapper
,Dom4JListMapper
,DomElementMapper
,DomFragmentMapper
,DomListMapper
,GlobalCustom.Mapper
,HashMapperStringToComplex
,HashMapperStringToSchemaType
,IdDefRefMapperBase
,IdRefMapperBase
,ObjectArrayMapper
,SchemaRootBase.ClassDecoratorUnmarshaller
,SchemaRootBase.ExtensionUnmarshaller
,SchemaRootBase.NameConverterUnmarshaller
,SchemaRootBase.SchemaTypeUnmarshaller
,TypedArrayMapper
public interface IUnmarshaller
Unmarshaller interface definition. This interface must be implemented by the handler for unmarshalling an object. Instances of classes implementing this interface must be serially reusable, meaning they can store state information while in the process of unmarshalling an object but must reset all state when called to unmarshal another object after the first one is done (even if the first object throws an exception during unmarshalling). The JiBX framework will only create one instance of an unmarshaller class (per unmarshalling context) for each mapped class using that unmarshaller. Generally the unmarshaller instance will not be called recursively, but this may happen in cases where the binding definition includes recursive mappings and the unmarshaller uses other unmarshallers (as opposed to handling all children directly).- Author:
- Dennis M. Sosnoski
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
isPresent(IUnmarshallingContext ctx)
Check if instance present in XML.java.lang.Object
unmarshal(java.lang.Object obj, IUnmarshallingContext ctx)
Unmarshal instance of handled class.
-
-
-
Method Detail
-
isPresent
boolean isPresent(IUnmarshallingContext ctx) throws JiBXException
Check if instance present in XML. This method can be called when the unmarshalling context is positioned at or just before the start of the data corresponding to an instance of this mapping. It verifies that the expected data is present.- Parameters:
ctx
- unmarshalling context- Returns:
true
if expected parse data found,false
if not- Throws:
JiBXException
- on error in unmarshalling process
-
unmarshal
java.lang.Object unmarshal(java.lang.Object obj, IUnmarshallingContext ctx) throws JiBXException
Unmarshal instance of handled class. This method call is responsible for all handling of the unmarshalling of an object from XML text, including creating the instance of the handled class if an instance is not supplied. When it is called the unmarshalling context is always positioned at or just before the start tag corresponding to the start of the class data.- Parameters:
obj
- object to be unmarshalled (may benull
)ctx
- unmarshalling context- Returns:
- unmarshalled object (may be
null
) - Throws:
JiBXException
- on error in unmarshalling process
-
-