Package org.apache.cayenne.reflect.generic

## Class DataObjectDescriptorFactory

- java.lang.Object
- - org.apache.cayenne.reflect.PersistentDescriptorFactory
  - - org.apache.cayenne.reflect.generic.DataObjectDescriptorFactory

- All Implemented Interfaces:
    `ClassDescriptorFactory`

      public class DataObjectDescriptorFactory
      extends PersistentDescriptorFactory

  A `ClassDescriptorFactory` that creates descriptors for classes implementing `DataObject`.
  Since:
    3.0

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected FaultFactory` | `faultFactory` |
    `protected ValueComparisonStrategyFactory` | `valueComparisonStrategyFactory` |

    - ### Fields inherited from class org.apache.cayenne.reflect.PersistentDescriptorFactory

      `descriptorMap`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DataObjectDescriptorFactory​(ClassDescriptorMap descriptorMap, FaultFactory faultFactory, ValueComparisonStrategyFactory valueComparisonStrategyFactory)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Accessor` | `createAccessor​(PersistentDescriptor descriptor, String propertyName, Class<?> propertyType)` | Creates an accessor for the property.
    `protected void` | `createAttributeProperty​(PersistentDescriptor descriptor, ObjAttribute attribute)` |
    `protected PersistentDescriptor` | `createDescriptor()` |
    `protected void` | `createToManyCollectionProperty​(PersistentDescriptor descriptor, ObjRelationship relationship)` |
    `protected void` | `createToManyListProperty​(PersistentDescriptor descriptor, ObjRelationship relationship)` |
    `protected void` | `createToManyMapProperty​(PersistentDescriptor descriptor, ObjRelationship relationship)` |
    `protected void` | `createToManySetProperty​(PersistentDescriptor descriptor, ObjRelationship relationship)` |
    `protected void` | `createToOneProperty​(PersistentDescriptor descriptor, ObjRelationship relationship)` |
    `protected ClassDescriptor` | `getDescriptor​(ObjEntity entity, Class<?> entityClass)` |

    - ### Methods inherited from class org.apache.cayenne.reflect.PersistentDescriptorFactory

      `createEmbeddableAccessor, createEmbeddableDescriptor, createEmbeddedAttributeProperty, createMapKeyAccessor, getDescriptor, indexAdditionalDbEntities, indexQualifiers, indexRootDbEntities, indexSubclassDescriptors, indexSuperclassProperties`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### faultFactory

          protected FaultFactory faultFactory

    - #### valueComparisonStrategyFactory

          protected ValueComparisonStrategyFactory valueComparisonStrategyFactory

  - ### Constructor Detail

    - #### DataObjectDescriptorFactory

          public DataObjectDescriptorFactory​(ClassDescriptorMap descriptorMap,
                                             FaultFactory faultFactory,
                                             ValueComparisonStrategyFactory valueComparisonStrategyFactory)

  - ### Method Detail

    - #### getDescriptor

          protected ClassDescriptor getDescriptor​(ObjEntity entity,
                                                  Class<?> entityClass)

      Overrides:
        `getDescriptor` in class `PersistentDescriptorFactory`

    - #### createDescriptor

          protected PersistentDescriptor createDescriptor()

      Overrides:
        `createDescriptor` in class `PersistentDescriptorFactory`

    - #### createAttributeProperty

          protected void createAttributeProperty​(PersistentDescriptor descriptor,
                                                 ObjAttribute attribute)

      Overrides:
        `createAttributeProperty` in class `PersistentDescriptorFactory`

    - #### createToManyListProperty

          protected void createToManyListProperty​(PersistentDescriptor descriptor,
                                                  ObjRelationship relationship)

      Specified by:
        `createToManyListProperty` in class `PersistentDescriptorFactory`

    - #### createToManyMapProperty

          protected void createToManyMapProperty​(PersistentDescriptor descriptor,
                                                 ObjRelationship relationship)

      Specified by:
        `createToManyMapProperty` in class `PersistentDescriptorFactory`

    - #### createToManySetProperty

          protected void createToManySetProperty​(PersistentDescriptor descriptor,
                                                 ObjRelationship relationship)

      Specified by:
        `createToManySetProperty` in class `PersistentDescriptorFactory`

    - #### createToManyCollectionProperty

          protected void createToManyCollectionProperty​(PersistentDescriptor descriptor,
                                                        ObjRelationship relationship)

      Specified by:
        `createToManyCollectionProperty` in class `PersistentDescriptorFactory`

    - #### createToOneProperty

          protected void createToOneProperty​(PersistentDescriptor descriptor,
                                             ObjRelationship relationship)

      Specified by:
        `createToOneProperty` in class `PersistentDescriptorFactory`

    - #### createAccessor

          protected Accessor createAccessor​(PersistentDescriptor descriptor,
                                            String propertyName,
                                            Class<?> propertyType)
                                     throws PropertyException

      Description copied from class: `PersistentDescriptorFactory`
      Creates an accessor for the property.
      Overrides:
        `createAccessor` in class `PersistentDescriptorFactory`
      Throws:
        `PropertyException`