package com.brightgenerous.commons.delegate;
import java.util.Collection;
import org.apache.commons.lang3.builder.HashCodeBuilder;
class HashCodeDelegaterImpl implements HashCodeDelegater {
{
check();
}
private static void check() {
try {
Class.forName(HashCodeBuilder.class.getName());
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
@Override
public int reflectionHashCode(int initialNonZeroOddNumber, int multiplierNonZeroOddNumber,
Object object) {
return HashCodeBuilder.reflectionHashCode(initialNonZeroOddNumber,
multiplierNonZeroOddNumber, object);
}
@Override
public int reflectionHashCode(int initialNonZeroOddNumber, int multiplierNonZeroOddNumber,
Object object, boolean testTransients) {
return HashCodeBuilder.reflectionHashCode(initialNonZeroOddNumber,
multiplierNonZeroOddNumber, object, testTransients);
}
@Override
public <T> int reflectionHashCode(int initialNonZeroOddNumber, int multiplierNonZeroOddNumber,
T object, boolean testTransients, Class<? super T> reflectUpToClass,
String... excludeFields) {
return HashCodeBuilder
.reflectionHashCode(initialNonZeroOddNumber, multiplierNonZeroOddNumber, object,
testTransients, reflectUpToClass, excludeFields);
}
@Override
public int reflectionHashCode(Object object, boolean testTransients) {
return HashCodeBuilder.reflectionHashCode(object, testTransients);
}
@Override
public int reflectionHashCode(Object object, Collection<String> excludeFields) {
return HashCodeBuilder.reflectionHashCode(object, excludeFields);
}
@Override
public int reflectionHashCode(Object object, String... excludeFields) {
return HashCodeBuilder.reflectionHashCode(object, excludeFields);
}
}