Package org.castor.cpa.util
Class JDOClassDescriptorResolverImpl
java.lang.Object
org.castor.cpa.util.JDOClassDescriptorResolverImpl
- All Implemented Interfaces:
JDOClassDescriptorResolver
,ClassDescriptorResolver
JDO-specific
instance that provides
functionality to find or "resolve"
invalid reference
ClassDescriptorResolver
ClassDescriptor
s from a given
class (name).- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreates an instance of this class, with no classed manually added. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a givenClass
instance manually, so that it can be loaded from the file system.void
addPackage
(String packageName) Adds a given package name manually, so that class descriptors can be loaded from this package (from the file system).Returns an iterator over all the known descriptors in the original order they have been added.Returns theClassLoader
instance as used internally.Note: This method will be removed soon (kv).void
registerDescriptor
(Class<?> type, ClassDescriptor classDescriptor) Registers aClassDescriptor
with the descriptor cache.Returns the ClassDescriptor for the given class using the following strategy.
Lookup the class descriptor cache CallClassResolutionByMappingLoader
command CallClassResolutionByFile
commandReturns the ClassDescriptor for the given class.void
setMappingLoader
(MappingLoader mappingLoader) Sets the mapping loader for this ClassDescriptorResolver.
-
Field Details
-
_classes
List of manually added domainClass
es. -
_packages
List of manually added package names.
-
-
Constructor Details
-
JDOClassDescriptorResolverImpl
public JDOClassDescriptorResolverImpl()Creates an instance of this class, with no classed manually added.
-
-
Method Details
-
resolve
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
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
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
Note: This method will be removed soon (kv).- Specified by:
getMappingLoader
in interfaceClassDescriptorResolver
-
setMappingLoader
Sets the mapping loader for this ClassDescriptorResolver. Note: This method will be removed soon (kv).- Specified by:
setMappingLoader
in interfaceClassDescriptorResolver
-
addClass
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
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
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
Returns theClassLoader
instance as used internally.- Specified by:
getClassLoader
in interfaceJDOClassDescriptorResolver
- Returns:
- The
ClassLoader
instance used internally.
-