Interface CheckedMapProof
- All Superinterfaces:
CheckedProof
- All Known Implementing Classes:
CheckedFlatMapProof
public interface CheckedMapProof extends CheckedProof
A checked map proof.
In case of incorrect proof all methods (except for getProofStatus)
throw IllegalStateException.
Example usage:
ByteString key = "The key for which I want a proved value".getBytes();
HashCode expectedIndexHash = // get a known index hash from block proof //
UncheckedMapProof proof = requestProofForKey(key);
// Convert to checked
CheckedMapProof checkedProof = proof.check();
// Check the index hash
if (checkedProof.isValid() && checkedProof.getIndexHash().equals(expectedIndexHash)) {
// Get and use the value(s)
ByteString value = checked.get(key);
}
-
Method Summary
Modifier and Type Method Description boolean
containsKey(com.google.protobuf.ByteString key)
If this proof is valid, returns true if there is a given key in the proof; false — if there is no such key.com.google.protobuf.ByteString
get(com.google.protobuf.ByteString key)
If this proof is valid, returns the value corresponding to the specified key or null if there is no such key in the proof.java.util.Set<MapEntry<com.google.protobuf.ByteString,com.google.protobuf.ByteString>>
getEntries()
Get all leaf entries of this proof.java.util.Set<com.google.protobuf.ByteString>
getMissingKeys()
Get all keys that were requested, but did not appear in this proof.MapProofStatus
getProofStatus()
Returns the status of this proof: whether it is structurally valid.Methods inherited from interface com.exonum.binding.common.proofs.CheckedProof
getIndexHash, isValid
-
Method Details
-
getEntries
java.util.Set<MapEntry<com.google.protobuf.ByteString,com.google.protobuf.ByteString>> getEntries()Get all leaf entries of this proof.- Throws:
java.lang.IllegalStateException
- if the proof is not valid
-
getMissingKeys
java.util.Set<com.google.protobuf.ByteString> getMissingKeys()Get all keys that were requested, but did not appear in this proof.- Throws:
java.lang.IllegalStateException
- if the proof is not valid
-
containsKey
boolean containsKey(com.google.protobuf.ByteString key)If this proof is valid, returns true if there is a given key in the proof; false — if there is no such key.- Throws:
java.lang.IllegalStateException
- if the proof is not valid
-
get
com.google.protobuf.ByteString get(com.google.protobuf.ByteString key)If this proof is valid, returns the value corresponding to the specified key or null if there is no such key in the proof.- Throws:
java.lang.IllegalStateException
- if the proof is not valid
-
getProofStatus
MapProofStatus getProofStatus()Returns the status of this proof: whether it is structurally valid.- Specified by:
getProofStatus
in interfaceCheckedProof
-