# 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
  Description
  `interface`
  `DataObject`
  Defines basic methods for a persistent object in Cayenne.
  Classes in org.apache.cayenne that implement Persistent
  Modifier and Type
  Class
  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
  Description
  `protected Persistent`
  DeleteDenyException.`object`
  Methods in org.apache.cayenne with type parameters of type Persistent
  Modifier and Type
  Method
  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
  Description
  `Persistent`
  DeleteDenyException.`getObject()`
  Methods in org.apache.cayenne with parameters of type Persistent
  Modifier and Type
  Method
  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
  Modifier
  Constructor
  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
  Description
  `protected Map<Object,Persistent>`
  ObjectStore.`objectMap`
  Methods in org.apache.cayenne.access with type parameters of type Persistent
  Modifier and Type
  Method
  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
  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
  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
  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
  Modifier
  Constructor
  Description
  ``
  `ToManyList(Persistent source, String relationship)`
  Creates ToManyList.
  `protected`
  `ToManySet(Persistent relationshipOwner, String relationshipName)`
  Constructor parameters in org.apache.cayenne.access with type arguments of type Persistent
  Modifier
  Constructor
  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
  Description
  `protected final Persistent`
  BaseDbRowOp.`object`
  Methods in org.apache.cayenne.access.flush.operation that return Persistent
  Modifier and Type
  Method
  Description
  `Persistent`
  BaseDbRowOp.`getObject()`
  `Persistent`
  DbRowOp.`getObject()`
  Methods in org.apache.cayenne.access.flush.operation with parameters of type Persistent
  Modifier and Type
  Method
  Description
  `static DbRowOpType`
  DbRowOpType.`forObject(Persistent object)`
  Constructors in org.apache.cayenne.access.flush.operation with parameters of type Persistent
  Modifier
  Constructor
  Description
  `protected`
  `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
  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
  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
  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
  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
  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
  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
  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
  Description
  `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>
  EntityProperty<T>`
  PropertyFactory.`createEntity(Expression expression, Class<T> type)`
  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
  Description
  `final Expression`
  CollectionProperty.`contains(V firstValue, V... moreValues)`
  `final Expression`
  MapProperty.`contains(V firstValue, V... moreValues)`
  `final Expression`
  CollectionProperty.`notContains(V firstValue, V... moreValues)`
  `final 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
  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
  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
  Modifier
  Constructor
  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
  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
  Description
  `protected Persistent`
  RelationshipFault.`relationshipOwner`
  Fields in org.apache.cayenne.util with type parameters of type Persistent
  Modifier and Type
  Field
  Description
  `protected Map<ObjectId,Persistent>`
  ObjectDetachOperation.`seen`
  Methods in org.apache.cayenne.util with type parameters of type Persistent
  Modifier and Type
  Method
  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
  Description
  `Persistent`
  RelationshipFault.`getRelationshipOwner()`
  Methods in org.apache.cayenne.util with parameters of type Persistent
  Modifier and Type
  Method
  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
  Modifier
  Constructor
  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)`