| 
 | ||||||||||
| 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 hashCodefor aboolean. | 
|  HashCodeBuilder | append(boolean[] array)Append a hashCodefor abooleanarray. | 
|  HashCodeBuilder | append(byte value)Append a hashCodefor abyte. | 
|  HashCodeBuilder | append(byte[] array)Append a hashCodefor abytearray. | 
|  HashCodeBuilder | append(char value)Append a hashCodefor achar. | 
|  HashCodeBuilder | append(char[] array)Append a hashCodefor achararray. | 
|  HashCodeBuilder | append(double value)Append a hashCodefor adouble. | 
|  HashCodeBuilder | append(double[] array)Append a hashCodefor adoublearray. | 
|  HashCodeBuilder | append(float value)Append a hashCodefor afloat. | 
|  HashCodeBuilder | append(float[] array)Append a hashCodefor afloatarray. | 
|  HashCodeBuilder | append(int value)Append a hashCodefor anint. | 
|  HashCodeBuilder | append(int[] array)Append a hashCodefor anintarray. | 
|  HashCodeBuilder | append(long value)Append a hashCodefor along. | 
|  HashCodeBuilder | append(long[] array)Append a hashCodefor alongarray. | 
|  HashCodeBuilder | append(Object object)Append a hashCodefor anObject. | 
|  HashCodeBuilder | append(Object[] array)Append a hashCodefor anObjectarray. | 
|  HashCodeBuilder | append(short value)Append a hashCodefor ashort. | 
|  HashCodeBuilder | append(short[] array)Append a hashCodefor ashortarray. | 
|  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
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(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 appended| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||