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
Modifier and TypeMethodDescriptionboolean
Check if instance present in XML.unmarshal
(Object obj, IUnmarshallingContext ctx) Unmarshal instance of handled class.
-
Method Details
-
isPresent
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
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
-