# Uses of Interface
org.apache.cayenne.DataObject

Packages that use DataObject
Package
Description
org.apache.cayenne
Contains persistence APIs directly accessible by users.
org.apache.cayenne.access
Contains classes that make up Cayenne ORM stack.

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

  Classes in org.apache.cayenne that implement DataObject
  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.
  Methods in org.apache.cayenne that return types with arguments of type DataObject
  Modifier and Type
  Method
  Description
  `List<? extends DataObject>`
  BaseDataObject.`setToManyTarget(String relName, Collection<? extends DataObject> values, boolean setReverse)`
  Sets the relationships to the specified `DataObject` objects.
  Methods in org.apache.cayenne with parameters of type DataObject
  Modifier and Type
  Method
  Description
  `void`
  BaseDataObject.`addToManyTarget(String relName, DataObject value, boolean setReverse)`
  `void`
  DataObject.`addToManyTarget(String relationshipName, DataObject target, boolean setReverse)`
  Adds an object to a to-many relationship.
  `void`
  BaseDataObject.`removeToManyTarget(String relName, DataObject value, boolean setReverse)`
  `void`
  DataObject.`removeToManyTarget(String relationshipName, DataObject target, boolean unsetReverse)`
  Removes an object from a to-many relationship.
  `protected void`
  BaseDataObject.`setReverseRelationship(String relName, DataObject val)`
  Initializes reverse relationship from object `val` to this object.
  `void`
  BaseDataObject.`setToOneTarget(String relationshipName, DataObject value, boolean setReverse)`
  `void`
  DataObject.`setToOneTarget(String relationshipName, DataObject value, boolean setReverse)`
  Sets to-one relationship to a new value.
  `protected void`
  BaseDataObject.`unsetReverseRelationship(String relName, DataObject val)`
  Removes current object from reverse relationship of object `val` to this object.
  Method parameters in org.apache.cayenne with type arguments of type DataObject
  Modifier and Type
  Method
  Description
  `List<? extends DataObject>`
  BaseDataObject.`setToManyTarget(String relName, Collection<? extends DataObject> values, boolean setReverse)`
  Sets the relationships to the specified `DataObject` objects.

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

  Methods in org.apache.cayenne.access that return DataObject
  Modifier and Type
  Method
  Description
  `DataObject`
  DataContext.`objectFromDataRow(String entityName, DataRow dataRow)`
  Creates a DataObject from DataRow.
  Methods in org.apache.cayenne.access with parameters of type DataObject
  Modifier and Type
  Method
  Description
  `void`
  DataContextDelegate.`finishedMergeChanges(DataObject object)`
  Called after a successful merging of external changes to an object.
  `void`
  DataContextDelegate.`finishedProcessDelete(DataObject object)`
  Called after a successful processing of externally deleted object.
  `boolean`
  DataContextDelegate.`shouldMergeChanges(DataObject object, DataRow snapshotInStore)`
  Invoked by parent DataContext whenever an object change is detected.
  `boolean`
  DataContextDelegate.`shouldProcessDelete(DataObject object)`
  Invoked by ObjectStore whenever it is detected that a database row was deleted for object.