Do not inline NodeContextSuppliers
[mdsal.git] / binding / mdsal-binding-dom-codec / src / main / java / org / opendaylight / mdsal / binding / dom / codec / impl / KeyedListNodeCodecContext.java
index 166cad8b44c279d93280a5cc690ae55371502439..62dd9b74c196a3387d42e3e1d4a8404b1b54537b 100644 (file)
@@ -11,8 +11,8 @@ import static java.util.Objects.requireNonNull;
 import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.IDENTIFIABLE_KEY_NAME;
 
 import java.lang.reflect.Method;
-import java.util.AbstractMap.SimpleImmutableEntry;
 import java.util.List;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.Identifiable;
 import org.opendaylight.yangtools.yang.binding.Identifier;
@@ -27,7 +27,7 @@ final class KeyedListNodeCodecContext<D extends DataObject & Identifiable<?>> ex
 
     private KeyedListNodeCodecContext(final DataContainerCodecPrototype<ListSchemaNode> prototype,
             final Method keyMethod, final IdentifiableItemCodec codec) {
-        super(prototype, new SimpleImmutableEntry<>(keyMethod, codec));
+        super(prototype, keyMethod);
         this.codec = requireNonNull(codec);
     }
 
@@ -79,6 +79,10 @@ final class KeyedListNodeCodecContext<D extends DataObject & Identifiable<?>> ex
         return codec.serialize(IdentifiableItem.of((Class)getBindingClass(), (Identifier)key));
     }
 
+    @NonNull Identifier<?> deserialize(final NodeIdentifierWithPredicates arg) {
+        return codec.deserializeIdentifier(arg);
+    }
+
     @Override
     public YangInstanceIdentifier.PathArgument serializePathArgument(final InstanceIdentifier.PathArgument arg) {
         if (arg instanceof IdentifiableItem) {