Rework AugmentRuntimeType and Choice/Case linkage
[mdsal.git] / binding / mdsal-binding-dom-codec / src / main / java / org / opendaylight / mdsal / binding / dom / codec / impl / BitsCodec.java
index 700986738d2db70beda3ed9fd566fbbc66c0ac6c..340ad77f37e01aa14f61713cc94dc8f63e3efe90 100644 (file)
@@ -7,7 +7,9 @@
  */
 package org.opendaylight.mdsal.binding.dom.codec.impl;
 
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 import java.lang.invoke.MethodHandle;
@@ -33,15 +35,15 @@ final class BitsCodec extends ReflectionBasedCodec implements SchemaUnawareCodec
     private static final MethodType CONSTRUCTOR_INVOKE_TYPE = MethodType.methodType(Object.class, Boolean[].class);
 
     // Ordered by position
-    private final Map<String, Method> getters;
+    private final ImmutableMap<String, Method> getters;
     // Ordered by lexical name
-    private final Set<String> ctorArgs;
+    private final ImmutableSet<String> ctorArgs;
     private final MethodHandle ctor;
 
     private BitsCodec(final Class<?> typeClass, final MethodHandle ctor, final Set<String> ctorArgs,
             final Map<String, Method> getters) {
         super(typeClass);
-        this.ctor = Preconditions.checkNotNull(ctor);
+        this.ctor = requireNonNull(ctor);
         this.ctorArgs = ImmutableSet.copyOf(ctorArgs);
         this.getters = ImmutableMap.copyOf(getters);
     }
@@ -52,7 +54,8 @@ final class BitsCodec extends ReflectionBasedCodec implements SchemaUnawareCodec
             final Set<String> ctorArgs = new TreeSet<>();
 
             for (Bit bit : rootType.getBits()) {
-                final Method valueGetter = returnType.getMethod("is" + BindingMapping.getClassName(bit.getName()));
+                final Method valueGetter = returnType.getMethod(BindingMapping.GETTER_PREFIX
+                    + BindingMapping.getClassName(bit.getName()));
                 ctorArgs.add(bit.getName());
                 getters.put(bit.getName(), valueGetter);
             }
@@ -72,7 +75,7 @@ final class BitsCodec extends ReflectionBasedCodec implements SchemaUnawareCodec
     @Override
     @SuppressWarnings("checkstyle:illegalCatch")
     public Object deserialize(final Object input) {
-        Preconditions.checkArgument(input instanceof Set);
+        checkArgument(input instanceof Set);
         @SuppressWarnings("unchecked")
         final Set<String> casted = (Set<String>) input;