org.exolab.castor.xml.schema
public final class ResolvableReference extends Object
A resolverable reference has two states: resolved and unresolved. When in the resolved state, the reference will always return the same resolved object. When in the unresolved state, the first time the object is requested, it will be resolved and returned. At that point the reference becomes resolved and the same object is returned in subsequent requests.
The following example creates a resolved and unresolved objects and then resolved the two:
ResolvableReference resolved, unresolved; resolved = new ResolvableReference( myObject ); unresolved = new ResolvableReference( "id", resolver ); if ( resolved.get() == myObject ) ; // This will always be true if ( unresolved.get() == resolver.resolve( "id" ) ) ; // This will always be true
Version: $Revision: 5951 $ $Date: 2003-03-03 00:05:44 -0700 (Mon, 03 Mar 2003) $
See Also: Resolver
Constructor Summary | |
---|---|
ResolvableReference(String id, Resolver resolver)
Constructs a resolvable reference for the named object.
| |
ResolvableReference(Referable referent)
Constructs a resolvable reference for the given object.
|
Method Summary | |
---|---|
Referable | get()
Called to resolve the object and return it. |
boolean | resolvable()
Determines whether or not the reference can be resolved at the
time this method is called. |
Parameters: id The object's identifier resolver The resolve to use
Parameters: referent The object to resolve to
Null is returned if the object was resolved to null.
Returns: The resolved object