|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.xml.bind.IDResolver
com.sun.xml.bind.v2.runtime.unmarshaller.DefaultIDResolver
final class DefaultIDResolver
Default implementation of IDResolver
.
Constructor Summary | |
---|---|
DefaultIDResolver()
|
Method Summary | |
---|---|
void |
bind(String id,
Object obj)
Binds the given object to the specified ID. |
Callable |
resolve(String id,
Class targetType)
Obtains the object to be pointed by the IDREF value. |
void |
startDocument(ValidationEventHandler eventHandler)
Called when the unmarshalling starts. |
Methods inherited from class com.sun.xml.bind.IDResolver |
---|
endDocument |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
DefaultIDResolver()
Method Detail |
---|
public void startDocument(ValidationEventHandler eventHandler) throws SAXException
IDResolver
Since one Unmarshaller
may be used multiple times
to unmarshal documents, one IDResolver
may be used multiple times, too.
startDocument
in class IDResolver
eventHandler
- Any errors found during the unmarshalling should be reported to this object.
SAXException
public void bind(String id, Object obj)
IDResolver
While a document is being unmarshalled, every time an ID value is found, this method is invoked to remember the association between ID and objects. This association is supposed to be used later to resolve IDREFs.
This method is invoked right away as soon as a new ID value is found.
bind
in class IDResolver
id
- The ID value found in the document being unmarshalled.
Always non-null.obj
- The object being unmarshalled which is going to own the ID.
Always non-null.public Callable resolve(String id, Class targetType)
IDResolver
While a document is being unmarshalled, every time an IDREF value is found, this method is invoked immediately to obtain the object that the IDREF is pointing to.
This method returns a Callable
to support forward-references.
When this method returns with a non-null return value,
the JAXB RI unmarshaller invokes the Callable.call()
method immediately.
If the implementation can find the target object (in which case
it was a backward reference), then a non-null object shall be returned,
and it is used as the target object.
When a forward-reference happens, the call method should return null. In this case the JAXB RI unmarshaller invokes the call method again after all the documents are fully unmarshalled. If the call method still returns null, then the JAXB RI unmarshaller treats it as an error.
A Callable
object returned from this method may not throw
any exception other than a SAXException
(which means a fatal error.)
resolve
in class IDResolver
id
- The IDREF value found in the document being unmarshalled.
Always non-null.targetType
- The expected type to which ID resolves to. JAXB infers this
information from the signature of the fields that has XmlIDREF
.
When a property is a collection, this parameter will be the type
of the individual item in the collection.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |