Class ERSDataGroup

java.lang.Object
org.bouncycastle.tsp.ers.ERSCachingData
org.bouncycastle.tsp.ers.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.

  • Field Details

  • Constructor Details

    • 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 Details

    • 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.