Package org.apache.cayenne.reflect
Class ClassDescriptorMap
java.lang.Object
org.apache.cayenne.reflect.ClassDescriptorMap
public class ClassDescriptorMap extends Object
An object that holds class descriptors for mapped entities, compiling new
 descriptors on demand using an internal chain of descriptor factories. Note
 that the object is not synchronized internally, so it has to be prefilled
 with descriptors by the caller on initialization via calling 'getDescriptor'
 for all mapped entities.
- Since:
- 3.0
- 
Field SummaryFields Modifier and Type Field Description protected Map<String,ClassDescriptor>descriptorsprotected List<ClassDescriptorFactory>factoriesprotected EntityResolverresolver
- 
Constructor SummaryConstructors Constructor Description ClassDescriptorMap(EntityResolver resolver)
- 
Method SummaryModifier and Type Method Description voidaddDescriptor(String entityName, ClassDescriptor descriptor)Caches descriptor definition.voidaddFactory(ClassDescriptorFactory factory)Adds a factory to the descriptor factory chain.voidclearDescriptors()voidclearFactories()protected ClassDescriptorcreateDescriptor(String entityName)Creates a new descriptor.protected ClassDescriptorcreateProxyDescriptor(String entityName)Creates a descriptor wrapper that will compile the underlying descriptor on demand.ClassDescriptorgetDescriptor(String entityName)EntityResolvergetResolver()voidremoveDescriptor(String entityName)Removes cached descriptor if any for the given entity.voidremoveFactory(ClassDescriptorFactory factory)
- 
Field Details- 
resolver
- 
descriptors
- 
factories
 
- 
- 
Constructor Details- 
ClassDescriptorMap
 
- 
- 
Method Details- 
getResolver
- 
addFactoryAdds a factory to the descriptor factory chain.
- 
removeFactory
- 
clearFactoriespublic void clearFactories()
- 
clearDescriptorspublic void clearDescriptors()
- 
removeDescriptorRemoves cached descriptor if any for the given entity.
- 
addDescriptorCaches descriptor definition.
- 
getDescriptor
- 
createProxyDescriptorCreates a descriptor wrapper that will compile the underlying descriptor on demand. Using proxy indirection is needed to compile relationships of descriptors to other descriptors that are not compiled yet.
- 
createDescriptorCreates a new descriptor.
 
-