Class 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:
  • Field Details

    • version

      protected long version
    • replacesVersion

      protected long replacesVersion
    • entityName

      protected String entityName
      Since:
      3.0
  • Constructor Details

    • DataRow

      public DataRow(Map<String,?> map)
    • DataRow

      public DataRow(int initialCapacity)
  • Method Details

    • 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 from diff 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 and row parameter. Diff values are taken from the row 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 class AbstractMap<String,Object>
    • getEntityName

      public String getEntityName()
      Since:
      3.0
    • setEntityName

      public void setEntityName(String entityName)
      Since:
      3.0