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.
    See Also:
    Serialized Form
    • Field Detail

      • version

        protected long version
      • replacesVersion

        protected long replacesVersion
      • entityName

        protected String entityName
    • Constructor Detail

      • DataRow

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

        public DataRow​(int initialCapacity)
    • 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 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.
      • getEntityName

        public String getEntityName()
      • setEntityName

        public void setEntityName​(String entityName)