|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jibx.extras.IdDefRefMapperBase
public abstract class IdDefRefMapperBase
Abstract base custom marshaller/unmarshaller for an object that may have
multiple references. The first time an object is seen when marshalling the
full XML representation is generated; successive uses of the same object then
use XML references to the object ID. To use this class you need to create a
subclass with a constructor using the same signature as the one provided
(calling the base class constructor from your subclass constructor) and
implement the abstract getIdValue(java.lang.Object)
method in your subclass. You can
also override the provided getAttributeName()
method to change the
name used for the IDREF attribute, which must not match the name of an
attribute used in the normal marshalled form of the object. The name used for
this marshaller/unmarshaller in the mapping definition must match the name
used for the base object type being handled.
Constructor Summary | |
---|---|
IdDefRefMapperBase(java.lang.String uri,
int index,
java.lang.String name)
Aliased constructor taking a name definition for reference elements. |
Method Summary | |
---|---|
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. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public IdDefRefMapperBase(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 reference elementMethod Detail |
---|
public 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 context
JiBXException
- on error in marshalling processpublic boolean isPresent(IUnmarshallingContext ictx) throws JiBXException
IUnmarshaller
isPresent
in interface IUnmarshaller
ictx
- unmarshalling context
true
if expected parse data found,
false
if not
JiBXException
- 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 context
null
)
JiBXException
- on error in unmarshalling process
|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |