|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.cayenne.util.HashCodeBuilder
public class HashCodeBuilder
Assists in implementing Object.hashCode()
methods. The code is based on
HashCodeBuilder from commons-lang 2.1.
Constructor Summary | |
---|---|
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. |
Method Summary | |
---|---|
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(java.lang.Object object)
Append a hashCode for an Object . |
HashCodeBuilder |
append(java.lang.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 . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
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 multiplier
java.lang.IllegalArgumentException
- if the number is zero or evenMethod Detail |
---|
public HashCodeBuilder appendSuper(int superHashCode)
Adds the result of super.hashCode() to this builder.
superHashCode
- the result of calling super.hashCode()
public HashCodeBuilder append(java.lang.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(java.lang.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 appended
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |