Class DefaultEquator<T>

  • Type Parameters:
    T - the types of object this Equator can evaluate.
    All Implemented Interfaces:
    java.io.Serializable, Equator<T>

    public class DefaultEquator<T>
    extends java.lang.Object
    implements Equator<T>, java.io.Serializable
    Default Equator implementation.
    Since:
    4.0
    See Also:
    Serialized Form
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static <T> DefaultEquator<T> defaultEquator()
      Factory returning the typed singleton instance.
      boolean equate​(T o1, T o2)
      Evaluates the two arguments for their equality.
      int hash​(T o)
      Calculates the hash for the object, based on the method of equality used in the equate method.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • INSTANCE

        public static final DefaultEquator INSTANCE
        Static instance
      • HASHCODE_NULL

        public static final int HASHCODE_NULL
        Hashcode used for null objects.
        See Also:
        Constant Field Values
    • Method Detail

      • defaultEquator

        public static <T> DefaultEquator<T> defaultEquator()
        Factory returning the typed singleton instance.
        Type Parameters:
        T - the object type
        Returns:
        the singleton instance
      • equate

        public boolean equate​(T o1,
                              T o2)
        Evaluates the two arguments for their equality. Delegates to Object.equals(Object).
        Specified by:
        equate in interface Equator<T>
        Parameters:
        o1 - the first object to be equated.
        o2 - the second object to be equated.
        Returns:
        whether the two objects are equal.
      • hash

        public int hash​(T o)
        Calculates the hash for the object, based on the method of equality used in the equate method. This is used for classes that delegate their equals(Object) method to an Equator (and so must also delegate their hashCode() method), or for implementations of HashedMap that use an Equator for the key objects.
        Specified by:
        hash in interface Equator<T>
        Parameters:
        o - the object to calculate the hash for.
        Returns:
        o.hashCode() if o is non- null, else HASHCODE_NULL.