Class Equivalence.Wrapper<T extends @Nullable Object>

java.lang.Object
dev.mccue.guava.base.Equivalence.Wrapper<T>
All Implemented Interfaces:
Serializable
Enclosing class:
Equivalence<T>

public static final class Equivalence.Wrapper<T extends @Nullable Object> extends Object implements Serializable
Wraps an object so that #equals(Object) and #hashCode() delegate to an Equivalence.

For example, given an Equivalence for String strings named equiv that tests equivalence using their lengths:


 equiv.wrap("a").equals(equiv.wrap("b")) // true
 equiv.wrap("a").equals(equiv.wrap("hello")) // false
 

Note in particular that an equivalence wrapper is never equal to the object it wraps.


 equiv.wrap(obj).equals(obj) // always false
 
Since:
10.0
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns true if Equivalence#equivalent(Object, Object) applied to the wrapped references is true and both wrappers use the Object#equals(Object) same equivalence.
    get()
    Returns the (possibly null) reference wrapped by this instance.
    int
    Returns the result of Equivalence#hash(Object) applied to the wrapped reference.
    Returns a string representation for this equivalence wrapper.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Method Details

    • get

      public T get()
      Returns the (possibly null) reference wrapped by this instance.
    • equals

      public boolean equals(@CheckForNull Object obj)
      Returns true if Equivalence#equivalent(Object, Object) applied to the wrapped references is true and both wrappers use the Object#equals(Object) same equivalence.
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Returns the result of Equivalence#hash(Object) applied to the wrapped reference.
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Returns a string representation for this equivalence wrapper. The form of this string representation is not specified.
      Overrides:
      toString in class Object