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
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 -
Constructor Summary
ConstructorsConstructorDescriptionERSDataGroup(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
Modifier and TypeMethodDescriptionprotected byte[]calculateHash(DigestCalculator digestCalculator, byte[] previousChainHash) Generates a hash for the whole DataGroup.byte[]getHash(DigestCalculator digestCalculator, byte[] previousChainHash) Return the calculated hash for the DataList<byte[]>getHashes(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 Details
-
dataObjects
-
-
Constructor Details
-
ERSDataGroup
Base constructor for an "array" of data objects.- Parameters:
dataObjects- an array of data objects.
-
ERSDataGroup
Base constructor using a list of data objects.- Parameters:
dataObjects- a list of data objects.
-
ERSDataGroup
Constructor for a group with a single object.- Parameters:
dataObject- the data object to go in the group.
-
-
Method Details
-
getHashes
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
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
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.
-