Class CachedHashCodeInitializer<T>

java.lang.Object
nl.jqno.equalsverifier.internal.util.CachedHashCodeInitializer<T>

public class CachedHashCodeInitializer<T> extends Object
Records an initializer for a cached hash code (field name and recompute method), if any, for the object to be verified.

EqualsVerifier may then, instead of calling Object.hashCode() to obtain the hash code, call the getInitializedHashCode(Object) method in this class:

* If this class has recorded a cached hash code initializer for the object, that method will recompute and update the cached hash code in the object automatically, before returning the result of Object.hashCode().

* If this class has not recorded a cached hash code initializer for the object, it will simply return the value of Object.hashCode() as normal instead.

  • Constructor Details

    • CachedHashCodeInitializer

      public CachedHashCodeInitializer(Class<?> type, String cachedHashCodeField, String calculateHashCodeMethod, T example)
  • Method Details

    • passthrough

      public static <T> CachedHashCodeInitializer<T> passthrough()
    • lombokCachedHashcode

      public static <T> CachedHashCodeInitializer<T> lombokCachedHashcode(T example)
    • isPassthrough

      public boolean isPassthrough()
    • getExample

      public T getExample()
    • getCachedHashCodeFieldName

      public String getCachedHashCodeFieldName()
    • getInitializedHashCode

      public int getInitializedHashCode(Object object)