Package org.castor.cpa.util
Class JDOClassDescriptorResolverImpl
- java.lang.Object
-
- org.castor.cpa.util.JDOClassDescriptorResolverImpl
-
- All Implemented Interfaces:
JDOClassDescriptorResolver
,ClassDescriptorResolver
public class JDOClassDescriptorResolverImpl extends java.lang.Object implements JDOClassDescriptorResolver
JDO-specificClassDescriptorResolver
instance that provides functionality to find or "resolve"ClassDescriptor
s from a given class (name).- See Also:
JDOClassDescriptorResolver
-
-
Constructor Summary
Constructors Constructor Description JDOClassDescriptorResolverImpl()
Creates an instance of this class, with no classed manually added.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addClass(java.lang.Class<?> domainClass)
Adds a givenClass
instance manually, so that it can be loaded from the file system.void
addPackage(java.lang.String packageName)
Adds a given package name manually, so that class descriptors can be loaded from this package (from the file system).java.util.Iterator<ClassDescriptor>
descriptorIterator()
Returns an iterator over all the known descriptors in the original order they have been added.java.lang.ClassLoader
getClassLoader()
Returns theClassLoader
instance as used internally.MappingLoader
getMappingLoader()
Note: This method will be removed soon (kv).void
registerDescriptor(java.lang.Class<?> type, ClassDescriptor classDescriptor)
Registers aClassDescriptor
with the descriptor cache.ClassDescriptor
resolve(java.lang.Class<?> type)
Returns the ClassDescriptor for the given class using the following strategy.
Lookup the class descriptor cache CallClassResolutionByMappingLoader
command CallClassResolutionByFile
commandClassDescriptor
resolve(java.lang.String type)
Returns the ClassDescriptor for the given class.void
setMappingLoader(MappingLoader mappingLoader)
Sets the mapping loader for this ClassDescriptorResolver.
-
-
-
Method Detail
-
resolve
public ClassDescriptor resolve(java.lang.String type) throws ResolverException
Returns the ClassDescriptor for the given class.- Specified by:
resolve
in interfaceJDOClassDescriptorResolver
- Parameters:
type
- the class name to find the ClassDescriptor for- Returns:
- the ClassDescriptor for the given class
- Throws:
ResolverException
- Indicates that the givenClass
cannot be resolved.
-
resolve
public ClassDescriptor resolve(java.lang.Class<?> type) throws ResolverException
Returns the ClassDescriptor for the given class using the following strategy.
- Lookup the class descriptor cache
- Call
ClassResolutionByMappingLoader
command - Call
ClassResolutionByFile
command
- Specified by:
resolve
in interfaceClassDescriptorResolver
- Parameters:
type
- the Class to find the ClassDescriptor for- Returns:
- the ClassDescriptor for the given class, null if not found
- Throws:
ResolverException
- Indicates that the givenClass
cannot be resolved.
-
registerDescriptor
public void registerDescriptor(java.lang.Class<?> type, ClassDescriptor classDescriptor)
Registers aClassDescriptor
with the descriptor cache.- Specified by:
registerDescriptor
in interfaceJDOClassDescriptorResolver
- Parameters:
type
- Type of the class described by theClassDescriptor
to register.classDescriptor
- TheClassDescriptor
to register with the cache.
-
getMappingLoader
public MappingLoader getMappingLoader()
Note: This method will be removed soon (kv).- Specified by:
getMappingLoader
in interfaceClassDescriptorResolver
-
setMappingLoader
public void setMappingLoader(MappingLoader mappingLoader)
Sets the mapping loader for this ClassDescriptorResolver. Note: This method will be removed soon (kv).- Specified by:
setMappingLoader
in interfaceClassDescriptorResolver
-
addClass
public void addClass(java.lang.Class<?> domainClass)
Adds a givenClass
instance manually, so that it can be loaded from the file system.- Specified by:
addClass
in interfaceJDOClassDescriptorResolver
- Parameters:
domainClass
- A givenClass
instance.
-
addPackage
public void addPackage(java.lang.String packageName)
Adds a given package name manually, so that class descriptors can be loaded from this package (from the file system).- Specified by:
addPackage
in interfaceJDOClassDescriptorResolver
- Parameters:
packageName
- A given package name.
-
descriptorIterator
public java.util.Iterator<ClassDescriptor> descriptorIterator()
Returns an iterator over all the known descriptors in the original order they have been added. Each element is of typeClassDescriptor
.- Specified by:
descriptorIterator
in interfaceJDOClassDescriptorResolver
- Returns:
- an
Iterator
over all the known JDO class descriptors.
-
getClassLoader
public java.lang.ClassLoader getClassLoader()
Returns theClassLoader
instance as used internally.- Specified by:
getClassLoader
in interfaceJDOClassDescriptorResolver
- Returns:
- The
ClassLoader
instance used internally.
-
-