public class Dom4JElementMapper extends Dom4JMapperBase implements IMarshaller, IUnmarshaller, IAliasable
Custom element marshaller/unmarshaller to dom4j representation. This
allows you to mix data binding and document model representations for XML
within the same application. You simply use this marshaller/unmarshaller with
a linked object type of org.dom4j.Element
(the actual runtime
type - the declared type is ignored and can be anything). If a name is
supplied on a reference that element name will always be matched when
unmarshalling but will be ignored when marshalling (with the actual dom4j
element name used). If no name is supplied this will unmarshal a single
element with any name.
Modifier and Type | Field and Description |
---|---|
private int |
m_index
Namespace URI index in binding.
|
private java.lang.String |
m_name
Root element name.
|
private java.lang.String |
m_uri
Root element namespace URI.
|
m_defaultNamespaceIndex, m_defaultNamespaceURI
m_unmarshalContext, m_xmlWriter, XML_NAMESPACE, XMLNS_NAMESPACE
Constructor and Description |
---|
Dom4JElementMapper()
Default constructor.
|
Dom4JElementMapper(java.lang.String uri,
int index,
java.lang.String name)
Aliased constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
isExtension(java.lang.String mapname)
Check if marshaller represents an extension mapping.
|
boolean |
isPresent(IUnmarshallingContext ctx)
Check if instance present in XML.
|
void |
marshal(java.lang.Object obj,
IMarshallingContext ictx)
Marshal instance of handled class.
|
java.lang.Object |
unmarshal(java.lang.Object obj,
IUnmarshallingContext ictx)
Unmarshal instance of handled class.
|
marshalContent, marshalElement, unmarshalContent, unmarshalElement
accumulateText, getNamespaceUri, getNextNamespaceIndex, isWhitespace
private final java.lang.String m_uri
private final int m_index
private final java.lang.String m_name
public Dom4JElementMapper()
public Dom4JElementMapper(java.lang.String uri, int index, java.lang.String name)
uri
- namespace URI for the top-level elementindex
- namespace index corresponding to the defined URI within the
marshalling context definitionsname
- local name for the top-level elementpublic boolean isExtension(java.lang.String mapname)
IMarshaller
isExtension
in interface IMarshaller
mapname
- marshaller mapping name (generally the class name to be
handled, or abstract mapping type name)true
if this mapping is an extension of the abstract
mapping, false
if notpublic void marshal(java.lang.Object obj, IMarshallingContext ictx) throws JiBXException
IMarshaller
marshal
in interface IMarshaller
obj
- object to be marshalled (may be null
if property
is not optional)ictx
- XML text output contextJiBXException
- on error in marshalling processpublic boolean isPresent(IUnmarshallingContext ctx) throws JiBXException
IUnmarshaller
isPresent
in interface IUnmarshaller
ctx
- unmarshalling contexttrue
if expected parse data found,
false
if notJiBXException
- on error in unmarshalling processpublic java.lang.Object unmarshal(java.lang.Object obj, IUnmarshallingContext ictx) throws JiBXException
IUnmarshaller
unmarshal
in interface IUnmarshaller
obj
- object to be unmarshalled (may be null
)ictx
- unmarshalling contextnull
)JiBXException
- on error in unmarshalling process