Class AbstractBlob

java.lang.Object
org.apache.jackrabbit.oak.plugins.memory.AbstractBlob
All Implemented Interfaces:
Blob
Direct Known Subclasses:
ArrayBasedBlob, StringBasedBlob

public abstract class AbstractBlob extends Object implements Blob
Abstract base class for Blob implementations. This base class provides default implementations for hashCode and equals.
  • Method Details

    • equal

      public static boolean equal(Blob a, Blob b)
    • calculateSha256

      public static org.apache.jackrabbit.guava.common.hash.HashCode calculateSha256(Blob blob)
    • getReference

      @Nullable public @Nullable String getReference()
      Description copied from interface: Blob
      Returns a secure reference to this blob, or null if such a reference is not available.
      Specified by:
      getReference in interface Blob
      Returns:
      binary reference, or null
      See Also:
    • getContentIdentity

      public String getContentIdentity()
      Description copied from interface: Blob
      A unique identifier of the content of this value. Usually this is a message digest of the content (a cryptographically secure one-way hash). This allows to avoid processing large binary values multiple times.

      This method returns null if the identifier is unknown. The identifier may not always be available, for example if the value has not yet been saved or processed. Once an identifier is available, it will never change because values are immutable.

      If two values have the same identifier, the content of the value is guaranteed to be the same. However it is not guaranteed that two values with the same content will return the same identifier.

      The identifier is opaque, meaning it can have any format and size.

      Specified by:
      getContentIdentity in interface Blob
      Returns:
      the unique identifier or null
    • equals

      public boolean equals(Object other)
      To Blob instances are considered equal iff they have the same SHA-256 hash code are equal.
      Overrides:
      equals in class Object
      Parameters:
      other -
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object