public class HashCodeBuilder extends Object
Object.hashCode() methods. The code is based on
HashCodeBuilder from commons-lang 2.1.| Constructor and Description |
|---|
HashCodeBuilder()
Uses two hard coded choices for the constants needed to build a
hashCode. |
HashCodeBuilder(int initialNonZeroOddNumber,
int multiplierNonZeroOddNumber)
Two randomly chosen, non-zero, odd numbers must be passed in.
|
| Modifier and Type | Method and Description |
|---|---|
HashCodeBuilder |
append(boolean value)
Append a
hashCode for a boolean. |
HashCodeBuilder |
append(boolean[] array)
Append a
hashCode for a boolean array. |
HashCodeBuilder |
append(byte value)
Append a
hashCode for a byte. |
HashCodeBuilder |
append(byte[] array)
Append a
hashCode for a byte array. |
HashCodeBuilder |
append(char value)
Append a
hashCode for a char. |
HashCodeBuilder |
append(char[] array)
Append a
hashCode for a char array. |
HashCodeBuilder |
append(double value)
Append a
hashCode for a double. |
HashCodeBuilder |
append(double[] array)
Append a
hashCode for a double array. |
HashCodeBuilder |
append(float value)
Append a
hashCode for a float. |
HashCodeBuilder |
append(float[] array)
Append a
hashCode for a float array. |
HashCodeBuilder |
append(int value)
Append a
hashCode for an int. |
HashCodeBuilder |
append(int[] array)
Append a
hashCode for an int array. |
HashCodeBuilder |
append(long value)
Append a
hashCode for a long. |
HashCodeBuilder |
append(long[] array)
Append a
hashCode for a long array. |
HashCodeBuilder |
append(Object object)
Append a
hashCode for an Object. |
HashCodeBuilder |
append(Object[] array)
Append a
hashCode for an Object array. |
HashCodeBuilder |
append(short value)
Append a
hashCode for a short. |
HashCodeBuilder |
append(short[] array)
Append a
hashCode for a short array. |
HashCodeBuilder |
appendSuper(int superHashCode)
Adds the result of super.hashCode() to this builder.
|
int |
toHashCode()
Return the computed
hashCode. |
public HashCodeBuilder()
Uses two hard coded choices for the constants needed to build a
hashCode.
public HashCodeBuilder(int initialNonZeroOddNumber,
int multiplierNonZeroOddNumber)
Two randomly chosen, non-zero, odd numbers must be passed in. Ideally these should be different for each class, however this is not vital.
Prime numbers are preferred, especially for the multiplier.
initialNonZeroOddNumber - a non-zero, odd number used as the initial valuemultiplierNonZeroOddNumber - a non-zero, odd number used as the multiplierIllegalArgumentException - if the number is zero or evenpublic HashCodeBuilder appendSuper(int superHashCode)
Adds the result of super.hashCode() to this builder.
superHashCode - the result of calling super.hashCode()public HashCodeBuilder append(Object object)
Append a hashCode for an Object.
object - the Object to add to the hashCodepublic HashCodeBuilder append(long value)
Append a hashCode for a long.
value - the long to add to the hashCodepublic HashCodeBuilder append(int value)
Append a hashCode for an int.
value - the int to add to the hashCodepublic HashCodeBuilder append(short value)
Append a hashCode for a short.
value - the short to add to the hashCodepublic HashCodeBuilder append(char value)
Append a hashCode for a char.
value - the char to add to the hashCodepublic HashCodeBuilder append(byte value)
Append a hashCode for a byte.
value - the byte to add to the hashCodepublic HashCodeBuilder append(double value)
Append a hashCode for a double.
value - the double to add to the hashCodepublic HashCodeBuilder append(float value)
Append a hashCode for a float.
value - the float to add to the hashCodepublic HashCodeBuilder append(boolean value)
Append a hashCode for a boolean.
This adds iConstant * 1 to the hashCode and not a
1231 or 1237 as done in java.lang.Boolean. This is in
accordance with the Effective Java
design.
value - the boolean to add to the hashCodepublic HashCodeBuilder append(Object[] array)
Append a hashCode for an Object array.
array - the array to add to the hashCodepublic HashCodeBuilder append(long[] array)
Append a hashCode for a long array.
array - the array to add to the hashCodepublic HashCodeBuilder append(int[] array)
Append a hashCode for an int array.
array - the array to add to the hashCodepublic HashCodeBuilder append(short[] array)
Append a hashCode for a short array.
array - the array to add to the hashCodepublic HashCodeBuilder append(char[] array)
Append a hashCode for a char array.
array - the array to add to the hashCodepublic HashCodeBuilder append(byte[] array)
Append a hashCode for a byte array.
array - the array to add to the hashCodepublic HashCodeBuilder append(double[] array)
Append a hashCode for a double array.
array - the array to add to the hashCodepublic HashCodeBuilder append(float[] array)
Append a hashCode for a float array.
array - the array to add to the hashCodepublic HashCodeBuilder append(boolean[] array)
Append a hashCode for a boolean array.
array - the array to add to the hashCodepublic int toHashCode()
Return the computed hashCode.
hashCode based on the fields appendedCopyright © 2001–2018 Apache Cayenne. All rights reserved.