public class DomElementMapper extends DomMapperBase implements IMarshaller, IUnmarshaller, IAliasable
Custom element marshaller/unmarshaller to DOM 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 of type org.w3c.dom.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 DOM element name used). If
a namespace is supplied but no name, any element which does not use
that namespace will be unmarshalled. Finally, if no name is supplied this
will unmarshal a single element with any name.
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
m_name
Root element name.
|
private java.lang.String |
m_uri
Root element namespace URI.
|
m_defaultNamespaceIndex, m_defaultNamespaceURI, m_document
m_unmarshalContext, m_xmlWriter, XML_NAMESPACE, XMLNS_NAMESPACE
Constructor and Description |
---|
DomElementMapper()
Default constructor.
|
DomElementMapper(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 ictx)
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, marshalNode, unmarshalContent, unmarshalElement, unmarshalNode
accumulateText, getNamespaceUri, getNextNamespaceIndex, isWhitespace
private final java.lang.String m_uri
private final java.lang.String m_name
public DomElementMapper() throws JiBXException
JiBXException
- on error creating documentpublic DomElementMapper(java.lang.String uri, int index, java.lang.String name) throws JiBXException
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 elementJiBXException
- on error creating documentpublic 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 ictx) throws JiBXException
IUnmarshaller
isPresent
in interface IUnmarshaller
ictx
- 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