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

- Packages that use PropertyDescriptor
  Package | Description
  --- | ---
  org.apache.cayenne | Contains persistence APIs directly accessible by users.
  org.apache.cayenne.reflect |

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

    Methods in org.apache.cayenne that return PropertyDescriptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `static PropertyDescriptor` | Cayenne.`getProperty​(Persistent object, String properyName)` | Returns property descriptor for specified property.

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

    Subinterfaces of PropertyDescriptor in org.apache.cayenne.reflect
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `ArcProperty` | A Property that represents an "arc" connecting source node to the target node in the graph.
    `interface` | `AttributeProperty` | Represents a simple object property.
    `interface` | `Property` | Deprecated. since 4.0 renamed to PropertyDescriptor.
    `interface` | `ToManyMapProperty` | A property representing a map of objects keyed by one of the object properties.
    `interface` | `ToManyProperty` | A property representing a collection of objects.
    `interface` | `ToOneProperty` | An ArcProperty that points to a single graph node.

    Classes in org.apache.cayenne.reflect that implement PropertyDescriptor
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BaseArcProperty` | A base implementation of the `ArcProperty`.
    `class` | `BaseProperty` | An abstract property descriptor that delegates property access to an `Accessor`.
    `class` | `BaseToManyProperty` | A generic superclass of CollectionProperty implementations.
    `class` | `BaseToOneProperty` | A convenience base superclass for `ToOneProperty` implementors.
    `class` | `SimpleAttributeProperty` | A descriptor of an "attribute" persistent property.

    Fields in org.apache.cayenne.reflect declared as PropertyDescriptor
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected PropertyDescriptor` | PropertyAccessor.`property` |
    `protected PropertyDescriptor` | PropertyException.`property` |

    Fields in org.apache.cayenne.reflect with type parameters of type PropertyDescriptor
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Map<String,​PropertyDescriptor>` | PersistentDescriptor.`declaredProperties` |
    `protected Map<String,​PropertyDescriptor>` | PersistentDescriptor.`properties` |

    Methods in org.apache.cayenne.reflect that return PropertyDescriptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `PropertyDescriptor` | ClassDescriptor.`getDeclaredProperty​(String propertyName)` | Returns a Java Bean property descriptor matching property name or null if no such property is found.
    `PropertyDescriptor` | LazyClassDescriptorDecorator.`getDeclaredProperty​(String propertyName)` |
    `PropertyDescriptor` | PersistentDescriptor.`getDeclaredProperty​(String propertyName)` |
    `PropertyDescriptor` | ClassDescriptor.`getProperty​(String propertyName)` | Returns a property descriptor matching property name, or null if no such property is found.
    `PropertyDescriptor` | LazyClassDescriptorDecorator.`getProperty​(String propertyName)` |
    `PropertyDescriptor` | PersistentDescriptor.`getProperty​(String propertyName)` | Recursively looks up property descriptor in this class descriptor and all superclass descriptors.
    `PropertyDescriptor` | PropertyException.`getProperty()` |

    Methods in org.apache.cayenne.reflect with parameters of type PropertyDescriptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | PersistentDescriptor.`addDeclaredProperty​(PropertyDescriptor property)` | Registers a property.
    `void` | PersistentDescriptor.`addSuperProperty​(PropertyDescriptor property)` | Registers a superclass property.

    Constructors in org.apache.cayenne.reflect with parameters of type PropertyDescriptor
    Constructor | Description
    --- | ---
    `PropertyAccessor​(PropertyDescriptor property)` |
    `PropertyException​(String messageFormat, PropertyDescriptor property, Object source, Object... messageArgs)` |
    `PropertyException​(String messageFormat, PropertyDescriptor property, Object source, Throwable cause, Object... messageArgs)` |