discoverDescriptor(String className) Starts by looking to see if the className is
already mapped specifically to the descritpor repository.
If the className is not specifically mapped we
look at the className's parent class for a mapping.
We do this until the parent class is of the type
java.lang.Object.
findFirstConcreteClass(ClassDescriptor cld) Return the first found concrete class
ClassDescriptor .
This means a class which is not an interface or an abstract class.
If given class descriptor is a concrete class, given class descriptor
was returned.
getSubClassesMultipleJoinedTables(ClassDescriptor cld, boolean wholeTree) Return sub-classes of the specified class using the
"super"-Reference concept.
Parameters: cld - The ClassDescriptor of the class to search for sub-classes. Parameters: wholeTree - If set true, the whole sub-class tree of the specifiedclass will be returned.
getTopLevelClass(Class clazz) Returns the top level (extent) class to which the given class belongs.
This may be a (abstract) base-class, an interface or the given class
itself if given class is not defined as an extent in other class
descriptors.
throws: ClassNotPersistenceCapableException - if clazz is not persistence capable,i.e.
Add a pair of extent/classdescriptor to the extentTable to gain speed
while retrieval of extents.
Parameters: classname - the name of the extent itself Parameters: cld - the class descriptor, where it belongs to
Internal used! Deregister sub-classes of specified class when mapping to multiple joined tables
is used. Normally this method is called when
DescriptorRepository.remove(Class) a class.
Parameters: cld - The ClassDescriptor of the class to register.
Starts by looking to see if the className is
already mapped specifically to the descritpor repository.
If the className is not specifically mapped we
look at the className's parent class for a mapping.
We do this until the parent class is of the type
java.lang.Object. If no mapping was found,
null is returned. Mappings successfuly discovered
through inheritence are added to the internal table of
class descriptors to improve performance on subsequent requests
for those classes.
author Scott T. Weaver Parameters: className - name of class whose descriptor we need to find. ClassDescriptor for className or nullif no ClassDescriptor could be located.
Return the first found concrete class
ClassDescriptor .
This means a class which is not an interface or an abstract class.
If given class descriptor is a concrete class, given class descriptor
was returned. If no concrete class can be found null will be
returned.
Utility method to discover all concrete subclasses of a given super class.
This method was introduced in order to get Extent Aware Iterators.
a Collection of ClassDescriptor objects
all field descriptors for a class that belongs to a set of classes mappedto the same table, otherwise the select queries produced won't contain the necessaryinformation to materialize extents mapped to the same class.
Return sub-classes of the specified class using the
"super"-Reference concept.
Parameters: cld - The ClassDescriptor of the class to search for sub-classes. Parameters: wholeTree - If set true, the whole sub-class tree of the specifiedclass will be returned. If false only the direct sub-classes of the specified classwill be returned. An array of sub-classes for the specified class.
Returns the top level (extent) class to which the given class belongs.
This may be a (abstract) base-class, an interface or the given class
itself if given class is not defined as an extent in other class
descriptors.
throws: ClassNotPersistenceCapableException - if clazz is not persistence capable,i.e. if clazz is not defined in the DescriptorRepository.
Internal used! Register sub-classes of specified class when mapping class to
multiple joined tables is used. Normally this method is called by the
ClassDescriptor itself.
Parameters: cld - The ClassDescriptor of the class to register.