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 hashCode
public HashCodeBuilder append(long value)
Append a hashCode
for a long
.
value
- the long to add to the hashCode
public HashCodeBuilder append(int value)
Append a hashCode
for an int
.
value
- the int to add to the hashCode
public HashCodeBuilder append(short value)
Append a hashCode
for a short
.
value
- the short to add to the hashCode
public HashCodeBuilder append(char value)
Append a hashCode
for a char
.
value
- the char to add to the hashCode
public HashCodeBuilder append(byte value)
Append a hashCode
for a byte
.
value
- the byte to add to the hashCode
public HashCodeBuilder append(double value)
Append a hashCode
for a double
.
value
- the double to add to the hashCode
public HashCodeBuilder append(float value)
Append a hashCode
for a float
.
value
- the float to add to the hashCode
public 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 hashCode
public HashCodeBuilder append(Object[] array)
Append a hashCode
for an Object
array.
array
- the array to add to the hashCode
public HashCodeBuilder append(long[] array)
Append a hashCode
for a long
array.
array
- the array to add to the hashCode
public HashCodeBuilder append(int[] array)
Append a hashCode
for an int
array.
array
- the array to add to the hashCode
public HashCodeBuilder append(short[] array)
Append a hashCode
for a short
array.
array
- the array to add to the hashCode
public HashCodeBuilder append(char[] array)
Append a hashCode
for a char
array.
array
- the array to add to the hashCode
public HashCodeBuilder append(byte[] array)
Append a hashCode
for a byte
array.
array
- the array to add to the hashCode
public HashCodeBuilder append(double[] array)
Append a hashCode
for a double
array.
array
- the array to add to the hashCode
public HashCodeBuilder append(float[] array)
Append a hashCode
for a float
array.
array
- the array to add to the hashCode
public HashCodeBuilder append(boolean[] array)
Append a hashCode
for a boolean
array.
array
- the array to add to the hashCode
public int toHashCode()
Return the computed hashCode
.
hashCode
based on the fields appendedCopyright © 2001–2015 Apache Cayenne. All rights reserved.