## Uses of Interface
org.apache.cayenne.reflect.ClassDescriptor

- Packages that use ClassDescriptor
  Package | Description
  --- | ---
  org.apache.cayenne | Contains persistence APIs directly accessible by users.
  org.apache.cayenne.access | Contains classes that make up Cayenne ORM stack.
  org.apache.cayenne.access.translator.ejbql |
  org.apache.cayenne.ejbql |
  org.apache.cayenne.map | Contains O/R mapping classes that store relational database metadata information and map it to Java classes.
  org.apache.cayenne.query | Defines standard queries supported by Cayenne and extension mechanism to create custom queries.
  org.apache.cayenne.reflect |
  org.apache.cayenne.reflect.generic |
  org.apache.cayenne.util | General utility classes.

- - ### Uses of ClassDescriptor in org.apache.cayenne

    Methods in org.apache.cayenne that return ClassDescriptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ClassDescriptor` | Cayenne.`getClassDescriptor​(Persistent object)` | Returns class descriptor for the object or null if the object is not registered with an ObjectContext or descriptor was not found.

  - ### Uses of ClassDescriptor in org.apache.cayenne.access

    Methods in org.apache.cayenne.access with parameters of type ClassDescriptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `List` | DataContext.`objectsFromDataRows​(ClassDescriptor descriptor, List<? extends DataRow> dataRows)` | Converts a list of DataRows to a List of DataObject registered with this DataContext.

  - ### Uses of ClassDescriptor in org.apache.cayenne.access.translator.ejbql

    Methods in org.apache.cayenne.access.translator.ejbql that return ClassDescriptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `ClassDescriptor` | EJBQLTranslationContext.`getEntityDescriptor​(String id)` | Looks up entity descriptor for an identifier that can be a compiled expression id or one of the aliases.

  - ### Uses of ClassDescriptor in org.apache.cayenne.ejbql

    Methods in org.apache.cayenne.ejbql that return ClassDescriptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `ClassDescriptor` | EJBQLCompiledExpression.`getEntityDescriptor​(String identifier)` | Returns a ClassDescriptor for the id variable.
    `ClassDescriptor` | EJBQLCompiledExpression.`getRootDescriptor()` | Returns a descriptor of the root of this expression such as entity being fetched or updated.

  - ### Uses of ClassDescriptor in org.apache.cayenne.map

    Methods in org.apache.cayenne.map that return ClassDescriptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `ClassDescriptor` | EntityResolver.`getClassDescriptor​(String entityName)` | Returns ClassDescriptor for the ObjEntity matching the name.

  - ### Uses of ClassDescriptor in org.apache.cayenne.query

    Methods in org.apache.cayenne.query that return ClassDescriptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `ClassDescriptor` | EntityResultSegment.`getClassDescriptor()` |
    `ClassDescriptor` | QueryMetadata.`getClassDescriptor()` |
    `ClassDescriptor` | QueryMetadataProxy.`getClassDescriptor()` |

  - ### Uses of ClassDescriptor in org.apache.cayenne.reflect

    Classes in org.apache.cayenne.reflect that implement ClassDescriptor
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `LazyClassDescriptorDecorator` | A ClassDescriptor wrapper that compiles decorated descriptor lazily on first access.
    `class` | `PersistentDescriptor` | A default ClassDescriptor implementation for persistent objects.

    Fields in org.apache.cayenne.reflect declared as ClassDescriptor
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ClassDescriptor` | LazyClassDescriptorDecorator.`descriptor` |
    `protected ClassDescriptor` | BaseProperty.`owner` |
    `protected ClassDescriptor` | PersistentDescriptor.`superclassDescriptor` |
    `protected ClassDescriptor` | BaseArcProperty.`targetDescriptor` |

    Fields in org.apache.cayenne.reflect with type parameters of type ClassDescriptor
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Map<String,​ClassDescriptor>` | ClassDescriptorMap.`descriptors` |
    `protected Map<String,​ClassDescriptor>` | PersistentDescriptor.`subclassDescriptors` |

    Methods in org.apache.cayenne.reflect that return ClassDescriptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected ClassDescriptor` | ClassDescriptorMap.`createDescriptor​(String entityName)` | Creates a new descriptor.
    `protected ClassDescriptor` | ClassDescriptorMap.`createProxyDescriptor​(String entityName)` | Creates a descriptor wrapper that will compile the underlying descriptor on demand.
    `ClassDescriptor` | ClassDescriptorFactory.`getDescriptor​(String entityName)` | Returns a ClassDescriptor instance for a given symbolic entity name.
    `ClassDescriptor` | ClassDescriptorMap.`getDescriptor​(String entityName)` |
    `ClassDescriptor` | LazyClassDescriptorDecorator.`getDescriptor()` | Returns underlying descriptor used to delegate all processing, resolving it if needed.
    `ClassDescriptor` | PersistentDescriptorFactory.`getDescriptor​(String entityName)` |
    `protected ClassDescriptor` | PersistentDescriptorFactory.`getDescriptor​(ObjEntity entity, Class<?> entityClass)` |
    `ClassDescriptor` | ClassDescriptor.`getSubclassDescriptor​(Class<?> objectClass)` | Returns the most "specialized" descriptor for a given class.
    `ClassDescriptor` | LazyClassDescriptorDecorator.`getSubclassDescriptor​(Class<?> objectClass)` |
    `ClassDescriptor` | PersistentDescriptor.`getSubclassDescriptor​(Class<?> objectClass)` |
    `ClassDescriptor` | ClassDescriptor.`getSuperclassDescriptor()` | Returns a descriptor of the mapped superclass or null if the descriptor's entity sits at the top of inheritance hierarchy or no inheritance is mapped.
    `ClassDescriptor` | LazyClassDescriptorDecorator.`getSuperclassDescriptor()` |
    `ClassDescriptor` | PersistentDescriptor.`getSuperclassDescriptor()` | Returns a descriptor of the mapped superclass or null if the descriptor's entity sits at the top of inheritance hierarchy.
    `ClassDescriptor` | ArcProperty.`getTargetDescriptor()` | Returns a ClassDescriptor for the type of graph nodes pointed to by this arc property.
    `ClassDescriptor` | BaseArcProperty.`getTargetDescriptor()` |

    Methods in org.apache.cayenne.reflect with parameters of type ClassDescriptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | ClassDescriptorMap.`addDescriptor​(String entityName, ClassDescriptor descriptor)` | Caches descriptor definition.
    `void` | PersistentDescriptor.`addSubclassDescriptor​(String className, ClassDescriptor subclassDescriptor)` | Adds a subclass descriptor that maps to a given class name.
    `protected Accessor` | PersistentDescriptorFactory.`createMapKeyAccessor​(ObjRelationship relationship, ClassDescriptor targetDescriptor)` | Creates an accessor to read a map key for a given relationship.
    `void` | PersistentDescriptor.`setSuperclassDescriptor​(ClassDescriptor superclassDescriptor)` |

    Constructors in org.apache.cayenne.reflect with parameters of type ClassDescriptor
    Constructor | Description
    --- | ---
    `BaseArcProperty​(ClassDescriptor owner, ClassDescriptor targetDescriptor, Accessor accessor, String reverseName)` |
    `BaseProperty​(ClassDescriptor owner, Accessor accessor)` |
    `BaseToManyProperty​(ClassDescriptor owner, ClassDescriptor targetDescriptor, Accessor accessor, String reverseName)` |
    `BaseToOneProperty​(ClassDescriptor owner, ClassDescriptor targetDescriptor, Accessor accessor, String reverseName)` |
    `SimpleAttributeProperty​(ClassDescriptor owner, Accessor accessor, ObjAttribute attribute)` |

  - ### Uses of ClassDescriptor in org.apache.cayenne.reflect.generic

    Methods in org.apache.cayenne.reflect.generic that return ClassDescriptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected ClassDescriptor` | DataObjectDescriptorFactory.`getDescriptor​(ObjEntity entity, Class<?> entityClass)` |

  - ### Uses of ClassDescriptor in org.apache.cayenne.util

    Methods in org.apache.cayenne.util with parameters of type ClassDescriptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `Object` | ObjectDetachOperation.`detach​(Object object, ClassDescriptor descriptor, PrefetchTreeNode prefetchTree)` | "Detaches" an object from its context by creating an unattached copy.