Hide CompositeNodeDataWithSchema.addChild()
[yangtools.git] / yang / yang-data-util / src / main / java / org / opendaylight / yangtools / yang / data / util / ListEntryNodeDataWithSchema.java
index 4055619f800c4fe829bf48ea29a745cb8d92a0e7..4c1605a0e84dd1cacdba1a942af6a8a930ce7512 100644 (file)
@@ -13,7 +13,8 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import org.opendaylight.yangtools.rfc7952.data.api.NormalizedMetadataStreamWriter;
+import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.yangtools.rfc7952.data.api.StreamWriterMetadataExtension;
 import org.opendaylight.yangtools.util.ImmutableMapTemplate;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
@@ -29,7 +30,7 @@ import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
  * <p>
  * Represents a YANG list entry node.
  */
-public abstract class ListEntryNodeDataWithSchema extends CompositeNodeDataWithSchema<ListSchemaNode> {
+public abstract class ListEntryNodeDataWithSchema extends AbstractMountPointDataWithSchema<ListSchemaNode> {
     private static final class Keyed extends ListEntryNodeDataWithSchema {
         private final Map<QName, SimpleNodeDataWithSchema<?>> keyValues = new HashMap<>();
         // This template results in Maps in schema definition order
@@ -41,7 +42,7 @@ public abstract class ListEntryNodeDataWithSchema extends CompositeNodeDataWithS
         }
 
         @Override
-        public void addChild(final AbstractNodeDataWithSchema<?> newChild) {
+        void addChild(final AbstractNodeDataWithSchema<?> newChild) {
             final DataSchemaNode childSchema = newChild.getSchema();
             if (childSchema instanceof LeafSchemaNode) {
                 final QName childName = childSchema.getQName();
@@ -54,10 +55,10 @@ public abstract class ListEntryNodeDataWithSchema extends CompositeNodeDataWithS
         }
 
         @Override
-        public void write(final NormalizedNodeStreamWriter writer, final NormalizedMetadataStreamWriter metaWriter)
+        public void write(final NormalizedNodeStreamWriter writer, final StreamWriterMetadataExtension metaWriter)
                 throws IOException {
             writer.nextDataSchemaNode(getSchema());
-            final NodeIdentifierWithPredicates identifier = new NodeIdentifierWithPredicates(getSchema().getQName(),
+            final NodeIdentifierWithPredicates identifier = NodeIdentifierWithPredicates.of(getSchema().getQName(),
                 predicateTemplate.instantiateTransformed(keyValues, (key, node) -> node.getValue()));
 
             writer.startMapEntryNode(identifier, childSizeHint());
@@ -73,7 +74,7 @@ public abstract class ListEntryNodeDataWithSchema extends CompositeNodeDataWithS
         }
 
         @Override
-        public void write(final NormalizedNodeStreamWriter writer, final NormalizedMetadataStreamWriter metaWriter)
+        public void write(final NormalizedNodeStreamWriter writer, final StreamWriterMetadataExtension metaWriter)
                 throws IOException {
             writer.nextDataSchemaNode(getSchema());
             writer.startUnkeyedListItem(provideNodeIdentifier(), childSizeHint());
@@ -86,7 +87,7 @@ public abstract class ListEntryNodeDataWithSchema extends CompositeNodeDataWithS
         super(schema);
     }
 
-    public static ListEntryNodeDataWithSchema forSchema(final ListSchemaNode schema) {
+    static @NonNull ListEntryNodeDataWithSchema forSchema(final ListSchemaNode schema) {
         final List<QName> keyDef = schema.getKeyDefinition();
         return keyDef.isEmpty() ? new Unkeyed(schema) :  new Keyed(schema, keyDef);
     }