Package org.bouncycastle.tsp.ers
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 Summary
Fields Modifier and Type Field Description protected java.util.List<ERSData>dataObjects
-
Constructor Summary
Constructors Constructor Description ERSDataGroup(java.util.List<ERSData> dataObjects)Base constructor using a list of data objects.ERSDataGroup(ERSData dataObject)Constructor for a group with a single object.ERSDataGroup(ERSData... dataObjects)Base constructor for an "array" of data objects.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte[]calculateHash(org.bouncycastle.operator.DigestCalculator digestCalculator, byte[] previousChainHash)Generates a hash for the whole DataGroup.byte[]getHash(org.bouncycastle.operator.DigestCalculator digestCalculator, byte[] previousChainHash)Return the calculated hash for the Datajava.util.List<byte[]>getHashes(org.bouncycastle.operator.DigestCalculator digestCalculator, byte[] previousChainHash)Generates hashes for all the data objects included in the data group with a previous chain hash.intsize()Return the number of data objects present in the group.
-
-
-
Field Detail
-
dataObjects
protected java.util.List<ERSData> dataObjects
-
-
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(java.util.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 java.util.List<byte[]> getHashes(org.bouncycastle.operator.DigestCalculator digestCalculator, byte[] previousChainHash)Generates hashes for all the data objects included in the data group with a previous chain hash.- Parameters:
digestCalculator- theDigestCalculatorto use for computing the hashes- Returns:
- the set of hashes, in ascending order
-
getHash
public byte[] getHash(org.bouncycastle.operator.DigestCalculator digestCalculator, byte[] previousChainHash)Return the calculated hash for the Data- Specified by:
getHashin interfaceERSData- Overrides:
getHashin classERSCachingData- Parameters:
digestCalculator- digest calculator to use.previousChainHash- hash from an earlier chain if it needs to be included.- Returns:
- calculated hash.
-
calculateHash
protected byte[] calculateHash(org.bouncycastle.operator.DigestCalculator digestCalculator, byte[] previousChainHash)Generates a hash for the whole DataGroup.- Specified by:
calculateHashin classERSCachingData- Parameters:
digestCalculator- theDigestCalculatorto 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.
-
-