public abstract class IdDefRefMapperBase extends Object implements IMarshaller, IUnmarshaller, IAliasable
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 and Description |
|---|
IdDefRefMapperBase(String uri,
int index,
String name)
Aliased constructor taking a name definition for reference elements.
|
| Modifier and Type | Method and Description |
|---|---|
protected String |
getAttributeName()
Method which can be overridden to supply a different name for the ID
reference attribute.
|
protected abstract String |
getIdValue(Object item)
Get the ID value from object being marshalled.
|
boolean |
isExtension(String mapname) |
boolean |
isPresent(IUnmarshallingContext ictx) |
void |
marshal(Object obj,
IMarshallingContext ictx) |
Object |
unmarshal(Object obj,
IUnmarshallingContext ictx) |
public IdDefRefMapperBase(String uri, int index, 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 elementprotected abstract String getIdValue(Object item)
protected String getAttributeName()
public boolean isExtension(String mapname)
isExtension in interface IMarshallerpublic void marshal(Object obj, IMarshallingContext ictx) throws JiBXException
marshal in interface IMarshallerJiBXExceptionpublic boolean isPresent(IUnmarshallingContext ictx) throws JiBXException
isPresent in interface IUnmarshallerJiBXExceptionpublic Object unmarshal(Object obj, IUnmarshallingContext ictx) throws JiBXException
unmarshal in interface IUnmarshallerJiBXExceptionCopyright © 2005-2014 jibx.org. All Rights Reserved.