Class CheckedFlatMapProof

java.lang.Object
com.exonum.binding.common.proofs.map.CheckedFlatMapProof
All Implemented Interfaces:
CheckedProof, CheckedMapProof

public class CheckedFlatMapProof
extends java.lang.Object
implements CheckedMapProof
A checked flat map proof, which does not include any intermediate nodes.
  • 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.
    static CheckedFlatMapProof correct​(HashCode indexHash, java.util.Set<MapEntry<com.google.protobuf.ByteString,​com.google.protobuf.ByteString>> entries, java.util.Set<com.google.protobuf.ByteString> missingKeys)
    Creates a valid map proof.
    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.
    HashCode getIndexHash()
    Returns the calculated index hash of the 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.
    static CheckedFlatMapProof invalid​(MapProofStatus status)
    Creates an invalid map proof.
    boolean isValid()
    Returns true if proof status is valid, false otherwise.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • correct

      public static CheckedFlatMapProof correct​(HashCode indexHash, java.util.Set<MapEntry<com.google.protobuf.ByteString,​com.google.protobuf.ByteString>> entries, java.util.Set<com.google.protobuf.ByteString> missingKeys)
      Creates a valid map proof.
      Parameters:
      indexHash - the index hash calculated by the validator
      entries - the set of entries that are proved to be in the map
      missingKeys - the set of keys that are proved not to be in the map
      Returns:
      a new checked proof
    • invalid

      public static CheckedFlatMapProof invalid​(MapProofStatus status)
      Creates an invalid map proof.
      Parameters:
      status - the status explaining why the proof is not valid; must not be MapProofStatus.CORRECT
      Returns:
      a new checked proof
    • getEntries

      public java.util.Set<MapEntry<com.google.protobuf.ByteString,​com.google.protobuf.ByteString>> getEntries()
      Description copied from interface: CheckedMapProof
      Get all leaf entries of this proof.
      Specified by:
      getEntries in interface CheckedMapProof
    • getMissingKeys

      public java.util.Set<com.google.protobuf.ByteString> getMissingKeys()
      Description copied from interface: CheckedMapProof
      Get all keys that were requested, but did not appear in this proof.
      Specified by:
      getMissingKeys in interface CheckedMapProof
    • containsKey

      public boolean containsKey​(com.google.protobuf.ByteString key)
      Description copied from interface: CheckedMapProof
      If this proof is valid, returns true if there is a given key in the proof; false — if there is no such key.
      Specified by:
      containsKey in interface CheckedMapProof
    • getIndexHash

      public HashCode getIndexHash()
      Description copied from interface: CheckedProof
      Returns the calculated index hash of the proof. Must be equal to the index hash of the collection, providing this proof.
      Specified by:
      getIndexHash in interface CheckedProof
    • get

      public com.google.protobuf.ByteString get​(com.google.protobuf.ByteString key)
      Description copied from interface: CheckedMapProof
      If this proof is valid, returns the value corresponding to the specified key or null if there is no such key in the proof.
      Specified by:
      get in interface CheckedMapProof
    • getProofStatus

      public MapProofStatus getProofStatus()
      Description copied from interface: CheckedMapProof
      Returns the status of this proof: whether it is structurally valid.
      Specified by:
      getProofStatus in interface CheckedMapProof
      Specified by:
      getProofStatus in interface CheckedProof
    • isValid

      public boolean isValid()
      Description copied from interface: CheckedProof
      Returns true if proof status is valid, false otherwise. Details about the proof verification status could be obtained via CheckedProof.getProofStatus().
      Specified by:
      isValid in interface CheckedProof