Class ERSDataGroup

  • All Implemented Interfaces:
    ERSData
    Direct Known Subclasses:
    ERSDirectoryDataGroup

    public class ERSDataGroup
    extends ERSCachingData
    Representation of data groups with more than 1 members according to the description provided in RFC4998.

    Such data groups represent a set of one or more data objects (e.g. electronic documents) for which an Evidence Record should be generated. Data groups will be encapsulated in a single PartialHashtree so that the presence of the group can be checked for, as well as the individual items that make it up.

    • Constructor Detail

      • ERSDataGroup

        public ERSDataGroup​(ERSData... dataObjects)
        Base constructor for an "array" of data objects.
        Parameters:
        dataObjects - an array of data objects.
      • ERSDataGroup

        public ERSDataGroup​(List<ERSData> dataObjects)
        Base constructor using a list of data objects.
        Parameters:
        dataObjects - a list of data objects.
      • ERSDataGroup

        public ERSDataGroup​(ERSData dataObject)
        Constructor for a group with a single object.
        Parameters:
        dataObject - the data object to go in the group.
    • Method Detail

      • getHashes

        public List<byte[]> getHashes​(DigestCalculator digestCalculator)
        Generates hashes for all the data objects included in the data group.
        Parameters:
        digestCalculator - the DigestCalculator to use for computing the hashes
        Returns:
        the set of hashes, in ascending order
      • calculateHash

        protected byte[] calculateHash​(DigestCalculator digestCalculator)
        Generates a hash for the whole DataGroup.
        Specified by:
        calculateHash in class ERSCachingData
        Parameters:
        digestCalculator - the DigestCalculator to use for computing the hash
        Returns:
        a hash that is representative of the whole DataGroup
      • size

        public int size()
        Return the number of data objects present in the group.
        Returns:
        membership count of the group.