X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fyang-binding%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fbinding%2FCodeHelpers.java;h=e12cb35a88b4a4883a9072f7c19842ee99b05c53;hb=refs%2Fchanges%2F35%2F100935%2F5;hp=b378a703ba86e688acb52e01afef817f51d5b333;hpb=314a6573772c8593feecb69210357b193184e3be;p=mdsal.git diff --git a/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java index b378a703ba..e12cb35a88 100644 --- a/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java +++ b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java @@ -15,8 +15,10 @@ import com.google.common.base.MoreObjects.ToStringHelper; import com.google.common.base.VerifyException; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Arrays; import java.util.Collection; +import java.util.HexFormat; import java.util.List; import java.util.Map; import java.util.NoSuchElementException; @@ -116,8 +118,7 @@ public final class CodeHelpers { */ public static void appendValue(final ToStringHelper helper, final String name, final byte[] value) { if (value != null) { - // FIXME: MDSAL-692: use hex-encoding instead - helper.add(name, Arrays.toString(value)); + helper.add(name, HexFormat.of().formatHex(value)); } } @@ -213,8 +214,7 @@ public final class CodeHelpers { * @throws IllegalArgumentException always */ public static void throwInvalidLength(final String expected, final byte[] actual) { - // FIXME: MDSAL-692: use hex-encoding instead - throwInvalidLength(expected, Arrays.toString(actual)); + throwInvalidLength(expected, HexFormat.of().formatHex(actual)); } /** @@ -349,6 +349,57 @@ public final class CodeHelpers { return wrapHashCode(Arrays.hashCode(obj)); } + /** + * The constant '31' is the result of folding this code: + *
+ *
+ * final int prime = 31;
+ * int result = 1;
+ * result = result * prime + Objects.hashCode(obj);
+ * return result;
+ *
+ *
+ * when hashCode is returned as 0, such as due to obj being null or its hashCode being 0.
+ *
+ * @param hash Wrapped object hash
+ * @return Wrapper object hash
+ */
+ private static int wrapHashCode(final int hash) {
+ return hash == 0 ? 31 : hash;
+ }
+
+ /**
+ * Check that the specified {@link Enumeration} object is not {@code null}. This method is meant to be used with
+ * {@code ofName(String)} and {@code ofValue(int)} static factory methods.
+ *
+ * @param obj enumeration object, possibly null
+ * @param name User-supplied enumeration name
+ * @return Enumeration object
+ * @throws IllegalArgumentException if {@code obj} is null
+ */
+ public static
- *
- * final int prime = 31;
- * int result = 1;
- * result = result * prime + Objects.hashCode(obj);
- * return result;
- *
- *
- * when hashCode is returned as 0, such as due to obj being null or its hashCode being 0.
- *
- * @param hash Wrapped object hash
- * @return Wrapper object hash
- */
- private static int wrapHashCode(final int hash) {
- return hash == 0 ? 31 : hash;
- }
}