Bump to odlparent-9.0.0/yangtools-7.0.1-SNAPSHOT
[mdsal.git] / binding / mdsal-binding-dom-codec / src / main / java / org / opendaylight / mdsal / binding / dom / codec / impl / LazyBindingList.java
index ff82f4257ef1e8436b13cda07a61a34510ab81b9..3164084cf73a14dbaca2a5eec800486b8c65dfff 100644 (file)
@@ -22,6 +22,7 @@ import java.util.function.UnaryOperator;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.concepts.Immutable;
 import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.data.api.schema.DistinctNodeContainer;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -66,13 +67,13 @@ final class LazyBindingList<E extends DataObject> extends AbstractList<E> implem
     private final Object[] objects;
 
     private LazyBindingList(final ListNodeCodecContext<E> codec,
-            final Collection<? extends NormalizedNodeContainer<?, ?, ?>> entries) {
+            final Collection<? extends NormalizedNodeContainer<?>> entries) {
         this.codec = requireNonNull(codec);
         objects = entries.toArray();
     }
 
     static <E extends DataObject> @NonNull List<E> create(final ListNodeCodecContext<E> codec, final int size,
-            final Collection<? extends NormalizedNodeContainer<?, ?, ?>> entries) {
+            final Collection<? extends DistinctNodeContainer<?, ?>> entries) {
         if (size == 1) {
             // Do not bother with lazy instantiation in case of a singleton
             return List.of(codec.createBindingProxy(entries.iterator().next()));
@@ -81,11 +82,11 @@ final class LazyBindingList<E extends DataObject> extends AbstractList<E> implem
     }
 
     private static <E extends DataObject> @NonNull List<E> eagerList(final ListNodeCodecContext<E> codec,
-            final int size, final Collection<? extends NormalizedNodeContainer<?, ?, ?>> entries) {
+            final int size, final Collection<? extends DistinctNodeContainer<?, ?>> entries) {
         @SuppressWarnings("unchecked")
         final E[] objs = (E[]) new DataObject[size];
         int offset = 0;
-        for (NormalizedNodeContainer<?, ?, ?> node : entries) {
+        for (DistinctNodeContainer<?, ?> node : entries) {
             objs[offset++] = codec.createBindingProxy(node);
         }
         verify(offset == objs.length);
@@ -106,10 +107,10 @@ final class LazyBindingList<E extends DataObject> extends AbstractList<E> implem
         //
         // We could do a Class.isInstance() check here, but since the implementation is not marked as final (yet) we
         // would be at the mercy of CHA being able to prove this invariant.
-        return obj.getClass() == codec.generatedClass() ? (E) obj : load(index, (NormalizedNodeContainer<?, ?, ?>) obj);
+        return obj.getClass() == codec.generatedClass() ? (E) obj : load(index, (DistinctNodeContainer<?, ?>) obj);
     }
 
-    private @NonNull E load(final int index, final NormalizedNodeContainer<?, ?, ?> node) {
+    private @NonNull E load(final int index, final DistinctNodeContainer<?, ?> node) {
         final E ret = codec.createBindingProxy(node);
         final Object witness;
         return (witness = OBJ_AA.compareAndExchangeRelease(objects, index, node, ret)) == node ? ret : (E) witness;