Package org.apache.cayenne
Class DataRow
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.HashMap<String,Object>
-
- org.apache.cayenne.DataRow
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<String,Object>
public class DataRow extends HashMap<String,Object>
DataRow a map that holds values retrieved from the database for a given query row. DataRows are used to cache raw database data and as a reference point for tracking DataObject changes.- Since:
- 1.1
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object,V extends Object>
-
-
Field Summary
Fields Modifier and Type Field Description protected String
entityName
protected long
replacesVersion
protected long
version
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DataRow
applyDiff(DataRow diff)
Builds a new DataRow, merging changes fromdiff
parameter with data contained in this DataRow.DataRow
createDiff(DataRow row)
Creates a DataRow that contains only the keys that have values that differ between this object androw
parameter.ObjectId
createTargetObjectId(String entityName, DbRelationship relationship)
Returns an ObjectId of an object on the other side of the to-one relationship, for this DataRow representing a source of relationship.String
getEntityName()
long
getReplacesVersion()
long
getVersion()
void
setEntityName(String entityName)
void
setReplacesVersion(long replacesVersion)
Sets the version of DataRow replaced by this one in the store.String
toString()
-
Methods inherited from class java.util.HashMap
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
-
Methods inherited from class java.util.AbstractMap
equals, hashCode
-
-
-
-
Field Detail
-
version
protected long version
-
replacesVersion
protected long replacesVersion
-
entityName
protected String entityName
- Since:
- 3.0
-
-
Method Detail
-
getVersion
public long getVersion()
-
getReplacesVersion
public long getReplacesVersion()
-
setReplacesVersion
public void setReplacesVersion(long replacesVersion)
Sets the version of DataRow replaced by this one in the store.
-
applyDiff
public DataRow applyDiff(DataRow diff)
Builds a new DataRow, merging changes fromdiff
parameter with data contained in this DataRow.
-
createDiff
public DataRow createDiff(DataRow row)
Creates a DataRow that contains only the keys that have values that differ between this object androw
parameter. Diff values are taken from therow
parameter. It is assumed that key sets are compatible in both rows (e.g. they represent snapshots for the same entity). Returns null if no differences are found.
-
createTargetObjectId
public ObjectId createTargetObjectId(String entityName, DbRelationship relationship)
Returns an ObjectId of an object on the other side of the to-one relationship, for this DataRow representing a source of relationship. Returns null if snapshot FK columns indicate a null to-one relationship.
-
toString
public String toString()
- Overrides:
toString
in classAbstractMap<String,Object>
-
getEntityName
public String getEntityName()
- Since:
- 3.0
-
setEntityName
public void setEntityName(String entityName)
- Since:
- 3.0
-
-