Class ResolvableReference

java.lang.Object
org.exolab.castor.xml.schema.ResolvableReference

public final class ResolvableReference extends Object
Implements a reference to an object that will be resolved at a later time using some resolver mechanism. A resolvable reference can be created in both resolved and unresolved states. Resolvable references are immutable by definition.

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$ $Date: 2003-03-03 00:05:44 -0700 (Mon, 03 Mar 2003) $
Author:
Assaf Arkin, Keith Visco
See Also: