Package org.opendaylight.yangtools.util
Class HashCodeBuilder<T>
- java.lang.Object
-
- org.opendaylight.yangtools.util.HashCodeBuilder<T>
-
- Type Parameters:
T
- Component object type
public final class HashCodeBuilder<T> extends Object
Utility class for incrementally building object hashCode by hashing together component objects, one by one.
-
-
Constructor Summary
Constructors Constructor Description HashCodeBuilder()
Create a new instance, with internal hash initialized to 1, equivalent ofHashCodeBuilder(1)
.HashCodeBuilder(int seedHash)
Create a new instance, with internal hash set to specified seed.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addArgument(T obj)
Update the internal hash code with the hash code of a component object.int
build()
Return the currently-accumulated hash code.static int
nextHashCode(int hashCode, Object obj)
Determine the next hash code combining a base hash code and the hash code of an object.
-
-
-
Constructor Detail
-
HashCodeBuilder
public HashCodeBuilder()
Create a new instance, with internal hash initialized to 1, equivalent ofHashCodeBuilder(1)
.
-
HashCodeBuilder
public HashCodeBuilder(int seedHash)
Create a new instance, with internal hash set to specified seed.- Parameters:
seedHash
- Seed hash value
-
-
Method Detail
-
nextHashCode
public static int nextHashCode(int hashCode, Object obj)
Determine the next hash code combining a base hash code and the hash code of an object.- Parameters:
hashCode
- base hash codeobj
- Object to be added- Returns:
- Combined hash code
-
addArgument
public void addArgument(T obj)
Update the internal hash code with the hash code of a component object.- Parameters:
obj
- Component object
-
build
public int build()
Return the currently-accumulated hash code.- Returns:
- Current hash code
-
-