Javolution 6.0.0 java
|
Public Member Functions | |
XMLReferenceResolver () | |
void | setIdentifierAttribute (String name) |
void | setIdentifierAttribute (String localName, String uri) |
void | setReferenceAttribute (String name) |
void | setReferenceAttribute (String localName, String uri) |
boolean | writeReference (Object obj, XMLFormat.OutputElement xml) throws XMLStreamException |
Object | readReference (XMLFormat.InputElement xml) throws XMLStreamException |
void | createReference (Object obj, XMLFormat.InputElement xml) throws XMLStreamException |
void | reset () |
Private Attributes | |
FastMap< Object, Index > | _objectToId |
FastTable< Object > | _idToObject = new FastTable<Object>() |
int | _counter |
String | _idName = "id" |
String | _idURI = null |
String | _refName = "ref" |
String | _refURI = null |
TextBuilder | _tmp = new TextBuilder() |
This class represents a resolver for XML cross references during the marshalling/unmarshalling process.
Instances of this class may only be shared by XMLObjectReader/ XMLObjectWriter running sequentially (for cross references spawning multiple documents).
Definition at line 30 of file XMLReferenceResolver.java.
javolution.xml.XMLReferenceResolver.XMLReferenceResolver | ( | ) |
void javolution.xml.XMLReferenceResolver.createReference | ( | Object | obj, |
XMLFormat.InputElement | xml | ||
) | throws XMLStreamException |
Creates a reference for the specified object (the identifier being specified by the input XML element). The default implementation reads the identifier attribute (if any) and associates it to the specified object.
obj | the object being referenced. |
xml | the input XML element holding the reference identifier. |
Definition at line 184 of file XMLReferenceResolver.java.
References javolution.xml.XMLReferenceResolver._idName, javolution.xml.XMLReferenceResolver._idToObject, javolution.xml.XMLReferenceResolver._idURI, javolution.util.FastTable< E >.add(), javolution.util.FastTable< E >.size(), and javolution.text.CharArray.toInt().
Referenced by javolution.xml.XMLFormat< T >.InputElement.readInstanceOf().
Object javolution.xml.XMLReferenceResolver.readReference | ( | XMLFormat.InputElement | xml | ) | throws XMLStreamException |
Reads the object referenced by the specified xml input element if any. The default implementation reads the reference attribute to retrieve the object.
xml | the input XML element. |
null
if the specified XML input does not have a reference attribute. Definition at line 164 of file XMLReferenceResolver.java.
References javolution.xml.XMLReferenceResolver._idToObject, javolution.xml.XMLReferenceResolver._refName, javolution.xml.XMLReferenceResolver._refURI, javolution.util.FastTable< E >.get(), javolution.util.FastTable< E >.size(), and javolution.text.CharArray.toInt().
Referenced by javolution.xml.XMLFormat< T >.InputElement.readReference().
void javolution.xml.XMLReferenceResolver.reset | ( | ) |
Definition at line 196 of file XMLReferenceResolver.java.
References javolution.xml.XMLReferenceResolver._counter, javolution.xml.XMLReferenceResolver._idName, javolution.xml.XMLReferenceResolver._idToObject, javolution.xml.XMLReferenceResolver._idURI, javolution.xml.XMLReferenceResolver._objectToId, javolution.xml.XMLReferenceResolver._refName, javolution.xml.XMLReferenceResolver._refURI, and javolution.util.FastTable< E >.clear().
void javolution.xml.XMLReferenceResolver.setIdentifierAttribute | ( | String | localName, |
String | uri | ||
) |
Sets the local name and namespace URI of the identifier attribute.
localName | the local name of the attribute or null . |
uri | the URI of the attribute or null if the attribute has no namespace URI. |
Definition at line 91 of file XMLReferenceResolver.java.
References javolution.xml.XMLReferenceResolver._idName, and javolution.xml.XMLReferenceResolver._idURI.
void javolution.xml.XMLReferenceResolver.setIdentifierAttribute | ( | String | name | ) |
Sets the name of the identifier attribute (by default"id"
). If the name is null
then the identifier attribute is never read/written (which may prevent unmarshalling).
name | the name of the attribute or null . |
Definition at line 80 of file XMLReferenceResolver.java.
void javolution.xml.XMLReferenceResolver.setReferenceAttribute | ( | String | localName, |
String | uri | ||
) |
Sets the local name and namespace URI of the identifier attribute.
localName | the local name of the attribute or null . |
uri | the URI of the attribute or null if the attribute has no namespace URI. |
Definition at line 114 of file XMLReferenceResolver.java.
References javolution.xml.XMLReferenceResolver._refName, and javolution.xml.XMLReferenceResolver._refURI.
void javolution.xml.XMLReferenceResolver.setReferenceAttribute | ( | String | name | ) |
Sets the name of the reference attribute (by default"ref"
). If the name is null
then the reference attribute is never read/written (which may prevent unmarshalling).
name | the name of the attribute or null . |
Definition at line 103 of file XMLReferenceResolver.java.
boolean javolution.xml.XMLReferenceResolver.writeReference | ( | Object | obj, |
XMLFormat.OutputElement | xml | ||
) | throws XMLStreamException |
Writes a reference to the specified object into the specified XML element. The default implementation writes the reference into the reference attribute and for the first occurences an identifier (counter starting at 1) is written into the identifier attribute.
obj | the object for which the reference is written. |
xml | the output XML element. |
true
if a reference is written; false
if a new identifier is written. Definition at line 130 of file XMLReferenceResolver.java.
References javolution.xml.XMLReferenceResolver._counter, javolution.xml.XMLReferenceResolver._idName, javolution.xml.XMLReferenceResolver._idURI, javolution.xml.XMLReferenceResolver._objectToId, javolution.xml.XMLReferenceResolver._refName, javolution.xml.XMLReferenceResolver._refURI, javolution.xml.XMLReferenceResolver._tmp, javolution.text.TextBuilder.append(), javolution.text.TextBuilder.clear(), and javolution.util.Index.valueOf().
Referenced by javolution.xml.XMLFormat< T >.OutputElement.writeReference().
|
private |
Holds the id counter.
Definition at line 46 of file XMLReferenceResolver.java.
Referenced by javolution.xml.XMLReferenceResolver.reset(), and javolution.xml.XMLReferenceResolver.writeReference().
|
private |
Holds the identifier attribute name.
Definition at line 51 of file XMLReferenceResolver.java.
Referenced by javolution.xml.XMLReferenceResolver.createReference(), javolution.xml.XMLReferenceResolver.reset(), javolution.xml.XMLReferenceResolver.setIdentifierAttribute(), and javolution.xml.XMLReferenceResolver.writeReference().
Holds the objects (index to object mapping).
Definition at line 41 of file XMLReferenceResolver.java.
Referenced by javolution.xml.XMLReferenceResolver.createReference(), javolution.xml.XMLReferenceResolver.readReference(), and javolution.xml.XMLReferenceResolver.reset().
|
private |
Holds the identifier attribute URI if any.
Definition at line 56 of file XMLReferenceResolver.java.
Referenced by javolution.xml.XMLReferenceResolver.createReference(), javolution.xml.XMLReferenceResolver.reset(), javolution.xml.XMLReferenceResolver.setIdentifierAttribute(), and javolution.xml.XMLReferenceResolver.writeReference().
Holds object to identifier (FastTable.Index) mapping.
Definition at line 35 of file XMLReferenceResolver.java.
Referenced by javolution.xml.XMLReferenceResolver.reset(), and javolution.xml.XMLReferenceResolver.writeReference().
|
private |
Holds the reference attribute name.
Definition at line 61 of file XMLReferenceResolver.java.
Referenced by javolution.xml.XMLReferenceResolver.readReference(), javolution.xml.XMLReferenceResolver.reset(), javolution.xml.XMLReferenceResolver.setReferenceAttribute(), and javolution.xml.XMLReferenceResolver.writeReference().
|
private |
Holds the reference attribute URI if any.
Definition at line 66 of file XMLReferenceResolver.java.
Referenced by javolution.xml.XMLReferenceResolver.readReference(), javolution.xml.XMLReferenceResolver.reset(), javolution.xml.XMLReferenceResolver.setReferenceAttribute(), and javolution.xml.XMLReferenceResolver.writeReference().
|
private |
Definition at line 153 of file XMLReferenceResolver.java.
Referenced by javolution.xml.XMLReferenceResolver.writeReference().