public class EqualsHashCodeResetter<T>
extends java.lang.Object
 Instances of this class are used to reset overwritten Object.equals(Object)
 and Object.hashCode() methods of the wrapped child element to the
 default Java implementation with referenced based equality.
 
 A possible use case of this class is for instance the usage in Collection
 like Maps. Imagine the following scenario: A Map<Customer, ...> maps
 Customer instances to something. Each customer has a unique ID and Object.equals(Object)
 and Object.hashCode() is overwritten to compare instances by their unique ID.
 If now a clone of a Customer instance exists the Map will return the value object
 for the original Customer instance. The Map can not separate between original and clone.
 If instead a Map<EqualsHashCodeResetter<Customer>, ...> is used original and clone are different
 because the default Java implementation with referenced based equality is used.
 
| Modifier and Type | Field and Description | 
|---|---|
private T | 
wrappedElement
The wrapped elements on that  
equals(Object) and
 hashCode() is reset to default Java implementation. | 
| Constructor and Description | 
|---|
EqualsHashCodeResetter(T wrappedElement)
Constructor 
 | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
equals(java.lang.Object obj)
Overwritten to restore default Java implementation with reference based equality. 
 | 
T | 
getWrappedElement()
Returns the wrapped elements on that  
equals(Object) and
 hashCode() is reset to default Java implementation. | 
int | 
hashCode()
Overwritten to restore default Java implementation with reference based equality. 
 | 
private T wrappedElement
equals(Object) and
 hashCode() is reset to default Java implementation.public EqualsHashCodeResetter(T wrappedElement)
wrappedElement - the wrapped elements on that equals(Object) and hashCode() is reset to default Java implementation.public boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic T getWrappedElement()
equals(Object) and
 hashCode() is reset to default Java implementation.