org.exolab.castor.xml.schema
public interface Resolver
A lazy resolver would resolve an object given its identifier. The reference to the object will be created with a {@link ResolvableReference} object using the resolved and the identifier. When the object is requested, the {@link #resolve} method will be called to obtain it.
Some implementation will add and remove resolvable objects, e.g. a collection of objects that also acts as a resolver. These methods should implement {@link #addResolvable} and {@link #removeResolvable}. Resolvers that do not implement these methods are still considered valid resolvers. For example, a database based resolver will operate consistently without implementing add/remove not through the database interface.
Method Summary | |
---|---|
void | addResolvable(String id, Referable referent)
Adds a resolvable object to this resolver identified by id.
|
void | removeResolvable(String id)
Removes a resolvable object from this resolver. |
Referable | resolve(String id)
Called to resolve a reference give the reference's identifier.
|
Parameters: id The referent's identifier referent The referent object
Parameters: id The referent's identifier
Parameters: id The identifier to resolve
Returns: The resolved object