## Uses of Interface
org.apache.cayenne.Persistent

- Packages that use Persistent
  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.flush.operation |
  org.apache.cayenne.ashwood |
  org.apache.cayenne.exp | Cayenne data expression classes.
  org.apache.cayenne.exp.property | Property API
  org.apache.cayenne.graph | Contains generic graph management tools used in Cayenne.
  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.util | General utility classes.

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

    Subinterfaces of Persistent in org.apache.cayenne
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `DataObject` Defines basic methods for a persistent object in Cayenne.

    Classes in org.apache.cayenne that implement Persistent
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BaseDataObject` Base implementation of `DataObject`, have no assumption about how data is actually stored.
    `class` | `CayenneDataObject` Implementation of `DataObject` that uses `Map` to store object fields.
    `class` | `HybridDataObject` This data object like `CayenneDataObject` uses `Map` to store generic attributes, only difference is that this Map will be created lazily at first write, thus reducing memory penalty if possible.
    `class` | `PersistentObject` A convenience base superclass for concrete Persistent objects.

    Fields in org.apache.cayenne declared as Persistent
    Modifier and Type | Field and Description
    --- | ---
    `protected Persistent` | DeleteDenyException.`object`

    Methods in org.apache.cayenne with type parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `<T extends Persistent> T` | BaseContext.`localObject(T objectFromAnotherContext)`
    `<T extends Persistent> T` | ObjectContext.`localObject(T objectFromAnotherContext)` Returns a local copy of 'objectFromAnotherContext' object.

    Methods in org.apache.cayenne that return Persistent
    Modifier and Type | Method and Description
    --- | ---
    `Persistent` | DeleteDenyException.`getObject()`

    Methods in org.apache.cayenne with parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `static Map<String,Object>` | Cayenne.`compoundPKForObject(Persistent dataObject)` Returns a primary key map for a persistent object.
    `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.
    `static ObjEntity` | Cayenne.`getObjEntity(Persistent p)` Returns mapped ObjEntity for object.
    `static PropertyDescriptor` | Cayenne.`getProperty(Persistent object, String properyName)` Returns property descriptor for specified property.
    `static int` | Cayenne.`intPKForObject(Persistent dataObject)` Returns an int primary key value for a persistent object.
    `static long` | Cayenne.`longPKForObject(Persistent dataObject)` Returns an int primary key value for a persistent object.
    `static Object` | Cayenne.`pkForObject(Persistent dataObject)` Returns a primary key value for a persistent object.
    `void` | BaseContext.`prepareForAccess(Persistent object, String property, boolean lazyFaulting)`
    `void` | ObjectContext.`prepareForAccess(Persistent object, String property, boolean lazyFaulting)` A callback method that child Persistent objects are expected to call before accessing property values.
    `void` | BaseContext.`propertyChanged(Persistent object, String property, Object oldValue, Object newValue)`
    `void` | ObjectContext.`propertyChanged(Persistent object, String property, Object oldValue, Object newValue)` A callback method that child Persistent objects are expected to call from inside the setter after modifying a value of a persistent property, including "simple" and "arc" properties.
    `abstract Object` | Fault.`resolveFault(Persistent sourceObject, String relationshipName)` Returns an object for a given source object and relationship.
    `protected void` | BaseDataObject.`willConnect(String relationshipName, Persistent object)` Called before establishing a relationship with another object.

    Constructors in org.apache.cayenne with parameters of type Persistent
    Constructor and Description
    `DeleteDenyException(Persistent object, String relationship, String reason)`

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

    Fields in org.apache.cayenne.access with type parameters of type Persistent
    Modifier and Type | Field and Description
    --- | ---
    `protected Map<Object,Persistent>` | ObjectStore.`objectMap`

    Methods in org.apache.cayenne.access with type parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `<T extends Persistent> T` | DataContext.`objectFromDataRow(Class<T> objectClass, DataRow dataRow)` Creates a DataObject from DataRow.

    Methods in org.apache.cayenne.access that return Persistent
    Modifier and Type | Method and Description
    --- | ---
    `Persistent` | DataContext.`newObject(String entityName)` Instantiates a new object and registers it with this context.

    Methods in org.apache.cayenne.access that return types with arguments of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `Map<Object,Persistent>` | DefaultObjectMapRetainStrategy.`createObjectMap()`
    `Map<Object,Persistent>` | ObjectMapRetainStrategy.`createObjectMap()`
    `Iterator<Persistent>` | ObjectStore.`getObjectIterator()` Returns an iterator over the registered objects.
    `List<Persistent>` | ObjectStore.`objectsInState(int state)` Return a subset of registered objects that are in a certain persistence state.

    Methods in org.apache.cayenne.access with parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `DataRow` | DataContext.`currentSnapshot(Persistent object)` Returns a DataRow reflecting current, possibly uncommitted, object state.
    `Object` | AttributeFault.`resolveFault(Persistent sourceObject, String attributeName)`
    `Object` | ToManyListFault.`resolveFault(Persistent sourceObject, String relationshipName)` Resolves this fault to a List of objects.
    `Object` | ToManyMapFault.`resolveFault(Persistent sourceObject, String relationshipName)`
    `Object` | ToManySetFault.`resolveFault(Persistent sourceObject, String relationshipName)`
    `Object` | ToOneFault.`resolveFault(Persistent sourceObject, String relationshipName)` Resolves this fault to a DataObject.

    Constructors in org.apache.cayenne.access with parameters of type Persistent
    Constructor and Description
    `ToManyList(Persistent source, String relationship)` Creates ToManyList.
    `ToManySet(Persistent relationshipOwner, String relationshipName)`

    Constructor parameters in org.apache.cayenne.access with type arguments of type Persistent
    Constructor and Description
    `NoSyncObjectStore(DataRowStore dataRowCache, Map<Object,Persistent> objectMap)`
    `ObjectStore(DataRowStore dataRowCache, Map<Object,Persistent> objectMap)` Creates an ObjectStore with `DataRowStore` and a map to use for storing registered objects.

  - ### Uses of Persistent in org.apache.cayenne.access.flush.operation

    Fields in org.apache.cayenne.access.flush.operation declared as Persistent
    Modifier and Type | Field and Description
    --- | ---
    `protected Persistent` | BaseDbRowOp.`object`

    Methods in org.apache.cayenne.access.flush.operation that return Persistent
    Modifier and Type | Method and Description
    --- | ---
    `Persistent` | BaseDbRowOp.`getObject()`
    `Persistent` | DbRowOp.`getObject()`

    Methods in org.apache.cayenne.access.flush.operation with parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `static DbRowOpType` | DbRowOpType.`forObject(Persistent object)`

    Constructors in org.apache.cayenne.access.flush.operation with parameters of type Persistent
    Constructor and Description
    `BaseDbRowOp(Persistent object, DbEntity entity, ObjectId id)`
    `DeleteDbRowOp(Persistent object, DbEntity entity, ObjectId id)`
    `InsertDbRowOp(Persistent object, DbEntity entity, ObjectId id)`
    `UpdateDbRowOp(Persistent object, DbEntity entity, ObjectId id)`

  - ### Uses of Persistent in org.apache.cayenne.ashwood

    Methods in org.apache.cayenne.ashwood that return Persistent
    Modifier and Type | Method and Description
    --- | ---
    `protected Persistent` | AshwoodEntitySorter.`findReflexiveMaster(Persistent object, ObjRelationship toOneRel, String targetEntityName)`

    Methods in org.apache.cayenne.ashwood with parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `protected Persistent` | AshwoodEntitySorter.`findReflexiveMaster(Persistent object, ObjRelationship toOneRel, String targetEntityName)`

    Method parameters in org.apache.cayenne.ashwood with type arguments of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `protected <E> Digraph<E,Boolean>` | AshwoodEntitySorter.`buildDigraph(ObjEntity objEntity, List<E> objects, Function<E,Persistent> converter)`
    `protected <E> void` | AshwoodEntitySorter.`sortObjectsForEntity(ObjEntity objEntity, List<E> objects, boolean deleteOrder, Function<E,Persistent> converter)`

  - ### Uses of Persistent in org.apache.cayenne.exp

    Methods in org.apache.cayenne.exp with type parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `static <T extends Persistent> Property<T>` | Property.`createSelf(Class<? super T> type)` Deprecated. Creates "self" Property for persistent class.
    `<T extends Persistent> Property<T>` | Property.`flat(Class<T> tClass)` Deprecated. Create new "flat" property for toMany relationship.

    Methods in org.apache.cayenne.exp with parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `static Expression` | ExpressionFactory.`matchAnyExp(Persistent... objects)` Creates an expression that matches any of the objects contained in the `objects` array
    `static Expression` | ExpressionFactory.`matchExp(Persistent object)` Creates an expression that matches the primary key of object in `ObjectId`'s `IdSnapshot` for the argument `object`.

    Method parameters in org.apache.cayenne.exp with type arguments of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `static Expression` | ExpressionFactory.`matchAnyExp(List<? extends Persistent> objects)` Creates an expression that matches any of the objects contained in the list `objects`

  - ### Uses of Persistent in org.apache.cayenne.exp.property

    Classes in org.apache.cayenne.exp.property with type parameters of type Persistent
    Modifier and Type | Class and Description
    --- | ---
    `class` | `CollectionProperty<V extends Persistent,E extends Collection<V>>` Base class for `ListProperty` and `SetProperty`
    `class` | `EntityProperty<E extends Persistent>` Property that represents to-one relationships.
    `class` | `ListProperty<V extends Persistent>` Property that represents to-many relationship mapped on `List`.
    `class` | `MapProperty<K,V extends Persistent>` Property that represents to-many relationship mapped on `Map`.
    `class` | `SetProperty<V extends Persistent>` Property that represents to-many relationship mapped on `Set`.

    Methods in org.apache.cayenne.exp.property with type parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `static <T extends Persistent> EntityProperty<T>` | PropertyFactory.`createEntity(Expression expression, Class<T> type)` Create entity property
    `static <T extends Persistent> EntityProperty<T>` | PropertyFactory.`createEntity(String name, Class<T> type)` Create entity property
    `static <T extends Persistent> EntityProperty<T>` | PropertyFactory.`createEntity(String name, Expression expression, Class<T> entityType)` Create entity property
    `static <T extends Persistent> ListProperty<T>` | PropertyFactory.`createList(String name, Class<T> entityType)` Create to-many relationship mapped on list property
    `static <T extends Persistent> ListProperty<T>` | PropertyFactory.`createList(String name, Expression expression, Class<T> entityType)` Create to-many relationship mapped on list property
    `static <K,V extends Persistent> MapProperty<K,V>` | PropertyFactory.`createMap(String name, Class<K> keyType, Class<V> entityType)` Create to-many relationship mapped on map property
    `static <K,V extends Persistent> MapProperty<K,V>` | PropertyFactory.`createMap(String name, Expression expression, Class<K> keyType, Class<V> entityType)` Create to-many relationship mapped on map property
    `static <T extends Persistent> EntityProperty<T>` | PropertyFactory.`createSelf(Class<T> type)` Self property allows to create column queries that return full objects along with custom column set.
    `static <T extends Persistent> EntityProperty<T>` | PropertyFactory.`createSelf(Expression expression, Class<T> type)` Self property allows to create column queries that return full objects along with custom column set.
    `static <T extends Persistent> SetProperty<T>` | PropertyFactory.`createSet(String name, Class<T> entityType)` Create to-many relationship mapped on set property
    `static <T extends Persistent> SetProperty<T>` | PropertyFactory.`createSet(String name, Expression expression, Class<T> entityType)` Create to-many relationship mapped on set property
    `default <T extends Persistent> EntityProperty<T>` | RelationshipProperty.`dot(EntityProperty<T> property)` Constructs a new property path by appending the argument to the existing property separated by a dot.
    `default <T extends Persistent> ListProperty<T>` | RelationshipProperty.`dot(ListProperty<T> property)` Constructs a new property path by appending the argument to the existing property separated by a dot.
    `default <K,V extends Persistent> MapProperty<K,V>` | RelationshipProperty.`dot(MapProperty<K,V> property)` Constructs a new property path by appending the argument to the existing property separated by a dot.
    `default <T extends Persistent> SetProperty<T>` | RelationshipProperty.`dot(SetProperty<T> property)` Constructs a new property path by appending the argument to the existing property separated by a dot.

    Methods in org.apache.cayenne.exp.property with parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `Expression` | CollectionProperty.`contains(V firstValue, V... moreValues)`
    `Expression` | MapProperty.`contains(V firstValue, V... moreValues)`
    `Expression` | CollectionProperty.`notContains(V firstValue, V... moreValues)`
    `Expression` | MapProperty.`notContains(V firstValue, V... moreValues)`

  - ### Uses of Persistent in org.apache.cayenne.graph

    Methods in org.apache.cayenne.graph that return Persistent
    Modifier and Type | Method and Description
    --- | ---
    `protected Persistent` | ChildDiffLoader.`findObject(Object nodeId)`
    `protected Persistent` | ChildDiffLoader.`findObjectInCollection(Object nodeId, Object toManyHolder)`

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

    Methods in org.apache.cayenne.map with parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `ObjEntity` | DataMap.`getObjEntity(Persistent object)`
    `ObjEntity` | EntityResolver.`getObjEntity(Persistent object)`
    `ObjEntity` | MappingNamespace.`getObjEntity(Persistent object)`

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

    Constructors in org.apache.cayenne.query with parameters of type Persistent
    Constructor and Description
    `RefreshQuery(Persistent object)` Creates a RefreshQuery that refreshes a single object, including invalidation of its relationships.

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

    Methods in org.apache.cayenne.reflect with parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `void` | LifecycleCallbackRegistry.`performCallbacks(LifecycleEvent type, Persistent object)` Invokes callbacks of a specific type for a given entity object.

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

    Fields in org.apache.cayenne.util declared as Persistent
    Modifier and Type | Field and Description
    --- | ---
    `protected Persistent` | RelationshipFault.`relationshipOwner`

    Fields in org.apache.cayenne.util with type parameters of type Persistent
    Modifier and Type | Field and Description
    --- | ---
    `protected Map<ObjectId,Persistent>` | ObjectDetachOperation.`seen`

    Methods in org.apache.cayenne.util with type parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `<T extends Persistent> T` | DeepMergeOperation.`merge(T peerInParentContext)`
    `<T extends Persistent> T` | ShallowMergeOperation.`merge(T peerInParentContext)`

    Methods in org.apache.cayenne.util that return Persistent
    Modifier and Type | Method and Description
    --- | ---
    `Persistent` | RelationshipFault.`getRelationshipOwner()`

    Methods in org.apache.cayenne.util with parameters of type Persistent
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | PersistentObjectHolder.`connect(Persistent persistent)` Returns an object that should be stored as a value in this ValueHolder, ensuring that it is registered with the same context.
    `protected void` | ObjectContextGraphAction.`handleArcPropertyChange(Persistent object, ArcProperty property, Object oldValue, Object newValue)`
    `void` | ObjectContextGraphAction.`handlePropertyChange(Persistent object, String propertyName, Object oldValue, Object newValue)` Handles property change in a Persistent object, routing to either `ObjectContextGraphAction.handleArcPropertyChange(Persistent, ArcProperty, Object, Object)` or `ObjectContextGraphAction.handleSimplePropertyChange(Persistent, String, Object, Object)`.
    `protected void` | ObjectContextGraphAction.`handleSimplePropertyChange(Persistent object, String propertyName, Object oldValue, Object newValue)`
    `protected boolean` | ObjectContextGraphAction.`markAsDirty(Persistent object)` Changes object state to MODIFIED if needed, returning true if the change has occurred, false if not.

    Constructors in org.apache.cayenne.util with parameters of type Persistent
    Constructor and Description
    `PersistentObjectHolder(Persistent relationshipOwner, String relationshipName)`
    `PersistentObjectList(Persistent relationshipOwner, String relationshipName)` Creates PersistentObjectList initializing it with list owner persistent object and relationship name that this list maps to.
    `PersistentObjectMap(Persistent relationshipOwner, String relationshipName, Accessor mapKeyAccessor)` Creates PersistentObjectList initializing it with list owner persistent object and relationship name that this list maps to.
    `PersistentObjectSet(Persistent relationshipOwner, String relationshipName)`
    `RelationshipFault(Persistent relationshipOwner, String relationshipName)`

Copyright © 2001–2021 Apache Cayenne. All rights reserved.