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
dataObjects
-
Constructor Summary
Constructors Constructor Description ERSDataGroup(java.util.List 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
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.int
size()
Return the number of data objects present in the group.
-
-
-
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 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 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
- theDigestCalculator
to 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:
getHash
in interfaceERSData
- Overrides:
getHash
in 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:
calculateHash
in classERSCachingData
- Parameters:
digestCalculator
- theDigestCalculator
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.
-
-