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
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private DefaultEquator()
      Restricted constructor.
    • 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.
      private java.lang.Object readResolve()  
      • Methods inherited from class java.lang.Object

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

      • serialVersionUID

        private static final long serialVersionUID
        Serial version UID
        See Also:
        Constant Field Values
      • 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
    • Constructor Detail

      • DefaultEquator

        private DefaultEquator()
        Restricted constructor.
    • 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.
      • readResolve

        private java.lang.Object readResolve()