ValueHolderDescriptorFactory (cayenne-doc: Cayenne Documentation 5.0-M2 API)
Description: declaration: package: org.apache.cayenne.reflect.valueholder, class: ValueHolderDescriptorFactory

# Class ValueHolderDescriptorFactory

java.lang.Object
org.apache.cayenne.reflect.PersistentDescriptorFactory
org.apache.cayenne.reflect.valueholder.ValueHolderDescriptorFactory

All Implemented Interfaces:
  `ClassDescriptorFactory`

public class ValueHolderDescriptorFactory extends PersistentDescriptorFactory
A `ClassDescriptorFactory` for Persistent objects that implement relationship faulting via `ValueHolder`.

Since:
  3.0

- ## Field Summary

  ### Fields inherited from class PersistentDescriptorFactory

  `descriptorMap`
  Modifier and Type
  Field
  Description
  `protected ClassDescriptorMap`
  `descriptorMap`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ValueHolderDescriptorFactory(ClassDescriptorMap descriptorMap)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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)`

  ### Methods inherited from class PersistentDescriptorFactory

  `createAccessor, createAttributeProperty, createDescriptor, createEmbeddableAccessor, createEmbeddableDescriptor, createEmbeddedAttributeProperty, createMapKeyAccessor, getDescriptor, getDescriptor, indexAdditionalDbEntities, indexQualifiers, indexRootDbEntities, indexSubclassDescriptors, indexSuperclassProperties`
  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 Accessor`
  `createEmbeddableAccessor(EmbeddableDescriptor descriptor, String propertyName, Class<?> propertyType)`
  Creates an accessor for the property of the embeddable class.
  `protected EmbeddableDescriptor`
  `createEmbeddableDescriptor(EmbeddedAttribute embeddedAttribute)`
  Creates a descriptor of the embedded property.
  `protected void`
  `createEmbeddedAttributeProperty(PersistentDescriptor descriptor, EmbeddedAttribute embeddedAttribute, ObjAttribute attribute)`
  `protected Accessor`
  `createMapKeyAccessor(ObjRelationship relationship, ClassDescriptor targetDescriptor)`
  Creates an accessor to read a map key for a given relationship.
  `ClassDescriptor`
  `getDescriptor(String entityName)`
  Returns a ClassDescriptor instance for a given symbolic entity name.
  `protected ClassDescriptor`
  `getDescriptor(ObjEntity entity, Class<?> entityClass)`
  `protected void`
  `indexAdditionalDbEntities(PersistentDescriptor descriptor)`
  `protected void`
  `indexQualifiers(PersistentDescriptor descriptor, EntityInheritanceTree inheritanceTree)`
  `protected void`
  `indexRootDbEntities(PersistentDescriptor descriptor, EntityInheritanceTree inheritanceTree)`
  `protected void`
  `indexSubclassDescriptors(PersistentDescriptor descriptor, EntityInheritanceTree inheritanceTree)`
  `protected void`
  `indexSuperclassProperties(PersistentDescriptor descriptor)`
  Adds superclass properties to the descriptor, applying proper overrides.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### ValueHolderDescriptorFactory

    public ValueHolderDescriptorFactory(ClassDescriptorMap descriptorMap)

- ## Method Details

  - ### createToManyCollectionProperty

    protected void createToManyCollectionProperty(PersistentDescriptor descriptor, ObjRelationship relationship)
    Specified by:
      `createToManyCollectionProperty` 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`

  - ### createToOneProperty

    protected void createToOneProperty(PersistentDescriptor descriptor, ObjRelationship relationship)
    Specified by:
      `createToOneProperty` in class `PersistentDescriptorFactory`