Class 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 Detail

      • CachedHashCodeInitializer

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

      • isPassthrough

        public boolean isPassthrough()
      • getExample

        public T getExample()
      • getCachedHashCodeFieldName

        public String getCachedHashCodeFieldName()
      • getInitializedHashCode

        public int getInitializedHashCode​(Object object)