org.jibx.runtime
Interface IUnmarshaller

All Known Implementing Classes:
DiscardElementMapper, DiscardListMapper, Dom4JElementMapper, Dom4JListMapper, DomElementMapper, DomFragmentMapper, DomListMapper, HashMapperStringToComplex, HashMapperStringToSchemaType, IdDefRefMapperBase, IdRefMapperBase, ObjectArrayMapper, 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
 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 be null)
ctx - unmarshalling context
Returns:
unmarshalled object (may be null)
Throws:
JiBXException - on error in unmarshalling process


Project Web Site