org.exolab.castor.xml.util
Interface ResolverStrategy

All Known Implementing Classes:
CastorXMLStrategy

public interface ResolverStrategy

A resolver strategy implements how ClassDescriptor's are found for a given class. It uses multiple ResolveCommand's for first time resolution, but also some caching of already evaluated classes.

Since:
1.2
Version:
$Revision$ $Date$
Author:
Joachim Grueneis

Nested Class Summary
static interface ResolverStrategy.ResolverResults
          As a strategy generate one or more class descriptors it needs a place to put the results to.
 
Field Summary
static java.lang.String PROPERTY_CLASS_LOADER
          To set the class loader property for resolving.
static java.lang.String PROPERTY_INTROSPECTOR
          To set the introspector property for resolving.
static java.lang.String PROPERTY_LOAD_PACKAGE_MAPPINGS
          To set the LoadPackageMappings property for resolving.
static java.lang.String PROPERTY_MAPPING_LOADER
          To set the mapping loader property for resolving.
static java.lang.String PROPERTY_USE_INTROSPECTION
          To set the use introspection property for resolving.
 
Method Summary
 ClassDescriptor resolveClass(ResolverStrategy.ResolverResults resolverResults, java.lang.String className)
          Implementes a strategy how a class is resolved into a list of class descriptors.
 void resolvePackage(ResolverStrategy.ResolverResults resolverResults, java.lang.String packageName)
          Implementes a strategy how a package is resolved into a list of class descriptors.
 void setProperty(java.lang.String key, java.lang.Object value)
          To set properties for strategy and/or commands.
 

Field Detail

PROPERTY_CLASS_LOADER

static final java.lang.String PROPERTY_CLASS_LOADER
To set the class loader property for resolving.

See Also:
Constant Field Values

PROPERTY_USE_INTROSPECTION

static final java.lang.String PROPERTY_USE_INTROSPECTION
To set the use introspection property for resolving.

See Also:
Constant Field Values

PROPERTY_INTROSPECTOR

static final java.lang.String PROPERTY_INTROSPECTOR
To set the introspector property for resolving.

See Also:
Constant Field Values

PROPERTY_LOAD_PACKAGE_MAPPINGS

static final java.lang.String PROPERTY_LOAD_PACKAGE_MAPPINGS
To set the LoadPackageMappings property for resolving.

See Also:
Constant Field Values

PROPERTY_MAPPING_LOADER

static final java.lang.String PROPERTY_MAPPING_LOADER
To set the mapping loader property for resolving.

See Also:
Constant Field Values
Method Detail

setProperty

void setProperty(java.lang.String key,
                 java.lang.Object value)
To set properties for strategy and/or commands.

Parameters:
key - name of the property
value - value the property is set to

resolveClass

ClassDescriptor resolveClass(ResolverStrategy.ResolverResults resolverResults,
                             java.lang.String className)
                             throws ResolverException
Implementes a strategy how a class is resolved into a list of class descriptors.

Parameters:
resolverResults - to put the resolver reszlts into
className - the class to resolve
Returns:
the ClassDescriptor for the class or null if the class couldn't be resolved
Throws:
ResolverException - in case that resolving fails fatally

resolvePackage

void resolvePackage(ResolverStrategy.ResolverResults resolverResults,
                    java.lang.String packageName)
                    throws ResolverException
Implementes a strategy how a package is resolved into a list of class descriptors.

Parameters:
resolverResults - to put the resolver reszlts into
packageName - the package to resolve
Throws:
ResolverException - in case that resolving fails fatally


Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com