X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Futil%2FListEntryNodeDataWithSchema.java;h=4c1605a0e84dd1cacdba1a942af6a8a930ce7512;hb=2c1b962ce1e46312c44dde093515d12c8675480f;hp=4055619f800c4fe829bf48ea29a745cb8d92a0e7;hpb=f70dc9104d008928804c36233cf940010372c02c;p=yangtools.git diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListEntryNodeDataWithSchema.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListEntryNodeDataWithSchema.java index 4055619f80..4c1605a0e8 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListEntryNodeDataWithSchema.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListEntryNodeDataWithSchema.java @@ -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; *

* Represents a YANG list entry node. */ -public abstract class ListEntryNodeDataWithSchema extends CompositeNodeDataWithSchema { +public abstract class ListEntryNodeDataWithSchema extends AbstractMountPointDataWithSchema { private static final class Keyed extends ListEntryNodeDataWithSchema { private final Map> 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 keyDef = schema.getKeyDefinition(); return keyDef.isEmpty() ? new Unkeyed(schema) : new Keyed(schema, keyDef); }