## Uses of Class
org.apache.cayenne.DataRow

- Packages that use DataRow
  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.event |
  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.

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

    Methods in org.apache.cayenne that return DataRow
    Modifier and Type | Method | Description
    --- | --- | ---
    `DataRow` | DataRow.`applyDiff​(DataRow diff)` | Builds a new DataRow, merging changes from `diff` parameter with data contained in this DataRow.
    `DataRow` | DataRow.`createDiff​(DataRow row)` | Creates a DataRow that contains only the keys that have values that differ between this object and `row` parameter.

    Methods in org.apache.cayenne with parameters of type DataRow
    Modifier and Type | Method | Description
    --- | --- | ---
    `DataRow` | DataRow.`applyDiff​(DataRow diff)` | Builds a new DataRow, merging changes from `diff` parameter with data contained in this DataRow.
    `DataRow` | DataRow.`createDiff​(DataRow row)` | Creates a DataRow that contains only the keys that have values that differ between this object and `row` parameter.

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

    Fields in org.apache.cayenne.access with type parameters of type DataRow
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ConcurrentMap<ObjectId,​DataRow>` | DataRowStore.`snapshots` |

    Methods in org.apache.cayenne.access that return DataRow
    Modifier and Type | Method | Description
    --- | --- | ---
    `DataRow` | DataContext.`currentSnapshot​(Persistent object)` | Returns a DataRow reflecting current, possibly uncommitted, object state.
    `DataRow` | DataRowStore.`getCachedSnapshot​(ObjectId oid)` | Returns cached snapshot or null if no snapshot is currently cached for the given ObjectId.
    `DataRow` | ObjectStore.`getCachedSnapshot​(ObjectId oid)` | Returns a snapshot for ObjectId from the underlying snapshot cache.
    `DataRow` | ObjectStore.`getSnapshot​(ObjectId oid)` | Returns a snapshot for ObjectId from the underlying snapshot cache.

    Methods in org.apache.cayenne.access with parameters of type DataRow
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T extends Persistent> T` | DataContext.`objectFromDataRow​(Class<T> objectClass, DataRow dataRow)` | Creates a DataObject from DataRow.
    `DataObject` | DataContext.`objectFromDataRow​(String entityName, DataRow dataRow)` | Creates a DataObject from DataRow.
    `boolean` | DataContextDelegate.`shouldMergeChanges​(DataObject object, DataRow snapshotInStore)` | Invoked by parent DataContext whenever an object change is detected.

    Method parameters in org.apache.cayenne.access with type arguments of type DataRow
    Modifier and Type | Method | Description
    --- | --- | ---
    `List` | DataContext.`objectsFromDataRows​(ClassDescriptor descriptor, List<? extends DataRow> dataRows)` | Converts a list of DataRows to a List of DataObject registered with this DataContext.
    `void` | DataRowStore.`processSnapshotChanges​(Object postedBy, Map<ObjectId,​DataRow> updatedSnapshots, Collection<ObjectId> deletedSnapshotIds, Collection<ObjectId> invalidatedSnapshotIds, Collection<ObjectId> indirectlyModifiedIds)` | Processes changes made to snapshots.

  - ### Uses of DataRow in org.apache.cayenne.access.event

    Fields in org.apache.cayenne.access.event with type parameters of type DataRow
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Map<ObjectId,​DataRow>` | SnapshotEvent.`modifiedDiffs` |

    Methods in org.apache.cayenne.access.event that return types with arguments of type DataRow
    Modifier and Type | Method | Description
    --- | --- | ---
    `Map<ObjectId,​DataRow>` | SnapshotEvent.`getModifiedDiffs()` |

    Constructor parameters in org.apache.cayenne.access.event with type arguments of type DataRow
    Constructor | Description
    --- | ---
    `SnapshotEvent​(Object source, Object postedBy, Map<ObjectId,​DataRow> modifiedDiffs, Collection<ObjectId> deletedIds, Collection<ObjectId> invalidatedIds, Collection<ObjectId> indirectlyModifiedIds)` |

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

    Methods in org.apache.cayenne.map with parameters of type DataRow
    Modifier and Type | Method | Description
    --- | --- | ---
    `ObjEntity` | EntityInheritanceTree.`entityMatchingRow​(DataRow row)` | Returns the deepest possible entity in the inheritance hierarchy that can be used to create objects from a given DataRow.

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

    Methods in org.apache.cayenne.query that return types with arguments of type DataRow
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ObjectSelect<DataRow>` | ObjectSelect.`dataRowQuery​(Class<?> entityType)` | Creates a ObjectSelect that fetches data for an `ObjEntity` determined from a provided class.
    `static ObjectSelect<DataRow>` | ObjectSelect.`dataRowQuery​(Class<?> entityType, Expression expression)` | Creates a ObjectSelect that fetches data for an `ObjEntity` determined from a provided class and uses provided expression for its qualifier.
    `static ProcedureCall<DataRow>` | ProcedureCall.`dataRowQuery​(String procedure)` | Creates procedure call returning data rows using name of stored procedure defined in the mapping file.
    `static SelectById<DataRow>` | SelectById.`dataRowQuery​(Class<?> entityType, Object id)` |
    `static SelectById<DataRow>` | SelectById.`dataRowQuery​(Class<?> entityType, Map<String,​Object> id)` |
    `static SelectById<DataRow>` | SelectById.`dataRowQuery​(ObjectId id)` |
    `static SelectQuery<DataRow>` | SelectQuery.`dataRowQuery​(Class<?> rootClass)` |
    `static SelectQuery<DataRow>` | SelectQuery.`dataRowQuery​(Class<?> rootClass, Expression qualifier)` | Creates a SelectQuery that selects DataRows that correspond to a given persistent class that match supplied qualifier.
    `static SelectQuery<DataRow>` | SelectQuery.`dataRowQuery​(Class<?> rootClass, Expression qualifier, List<Ordering> orderings)` |
    `static SQLSelect<DataRow>` | SQLSelect.`dataRowQuery​(String sql)` | Creates a query that selects DataRows and uses default routing.
    `static SQLSelect<DataRow>` | SQLSelect.`dataRowQuery​(String sql, Class<?>... types)` | Creates a query that selects DataRows and uses default routing.
    `static SQLSelect<DataRow>` | SQLSelect.`dataRowQuery​(String dataMapName, String sql)` | Creates a query that selects DataRows and uses routing based on the provided DataMap name.
    `static SQLSelect<DataRow>` | SQLSelect.`dataRowQuery​(String dataMapName, String sql, Class<?>... types)` | Creates a query that selects DataRows and uses routing based on the provided DataMap name.
    `static ObjectSelect<DataRow>` | ObjectSelect.`dbQuery​(String dbEntityName)` | Creates a ObjectSelect that fetches DataRows for a `DbEntity` determined from provided "dbEntityName".
    `static ObjectSelect<DataRow>` | ObjectSelect.`dbQuery​(String dbEntityName, Expression expression)` | Creates a ObjectSelect that fetches DataRows for a `DbEntity` determined from provided "dbEntityName" and uses provided expression for its qualifier.
    `ObjectSelect<DataRow>` | ObjectSelect.`fetchDataRows()` | Forces query to fetch DataRows.