|
||||||||||
| 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 even| Method 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 | |||||||||