From: Robert Varga Date: Mon, 17 Jan 2022 16:09:58 +0000 (+0100) Subject: Decouple HashCodeBuilder from Builder X-Git-Tag: v8.0.0~83 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=commitdiff_plain;h=e4e6eb9122d8aaa5201ede13f4694804ec24f78c Decouple HashCodeBuilder from Builder We are deprecating Builder concept and HashCodeBuilder does not really like having to inflate to java.lang.Integer. Ditch the indirection. JIRA: YANGTOOLS-1327 Change-Id: Ia19d9d97064cb099c25f11dac6aa7c08e983effd Signed-off-by: Robert Varga --- diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/HashCodeBuilder.java b/common/util/src/main/java/org/opendaylight/yangtools/util/HashCodeBuilder.java index 5bd0233546..650c00e150 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/HashCodeBuilder.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/HashCodeBuilder.java @@ -7,15 +7,12 @@ */ package org.opendaylight.yangtools.util; -import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.concepts.Builder; - /** * Utility class for incrementally building object hashCode by hashing together component objects, one by one. * * @param Component object type */ -public final class HashCodeBuilder implements Builder { +public final class HashCodeBuilder { /** * The value 31 was chosen because it is an odd prime. If it were even and the multiplication overflowed, * information would be lost, as multiplication by 2 is equivalent to shifting. The advantage of using a prime is @@ -65,8 +62,12 @@ public final class HashCodeBuilder implements Builder { currentHash = nextHashCode(currentHash, obj); } - @Override - public @NonNull Integer build() { + /** + * Return the currently-accumulated hash code. + * + * @return Current hash code + */ + public int build() { return currentHash; } } diff --git a/common/util/src/test/java/org/opendaylight/yangtools/util/HashCodeBuilderTest.java b/common/util/src/test/java/org/opendaylight/yangtools/util/HashCodeBuilderTest.java index 4863357d13..5c5be21eac 100644 --- a/common/util/src/test/java/org/opendaylight/yangtools/util/HashCodeBuilderTest.java +++ b/common/util/src/test/java/org/opendaylight/yangtools/util/HashCodeBuilderTest.java @@ -12,16 +12,15 @@ import static org.junit.Assert.assertEquals; import org.junit.Test; public class HashCodeBuilderTest { - @Test public void testAllMethodsOfHashCodeBuilder() { final HashCodeBuilder builder = new HashCodeBuilder<>(); - assertEquals("Default hash code should be '1'.", 1, builder.build().intValue()); + assertEquals("Default hash code should be '1'.", 1, builder.build()); int nextHashCode = HashCodeBuilder.nextHashCode(1, "test"); assertEquals("Next hash code should be '3556529'.", 3556529, nextHashCode); builder.addArgument("another test"); - assertEquals("Updated internal hash code should be '700442706'.", -700442706, builder.build().intValue()); + assertEquals("Updated internal hash code should be '700442706'.", -700442706, builder.build()); } }