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%2FListNodeDataWithSchema.java;h=65f967d4affdf7af7d515e827fba13550b9fd0ad;hb=refs%2Fchanges%2F84%2F94084%2F1;hp=2ec1b02f43fc94cae27dced8f06f6bae051d4ce6;hpb=82af449e4ef07d80490e79484d0402b81009541e;p=yangtools.git diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListNodeDataWithSchema.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListNodeDataWithSchema.java index 2ec1b02f43..65f967d4af 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListNodeDataWithSchema.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListNodeDataWithSchema.java @@ -8,19 +8,27 @@ package org.opendaylight.yangtools.yang.data.util; import java.io.IOException; -import org.opendaylight.yangtools.yang.data.api.schema.stream.SchemaAwareNormalizedNodeStreamWriter; -import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; +import org.opendaylight.yangtools.rfc7952.data.api.StreamWriterMetadataExtension; +import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; -public class ListNodeDataWithSchema extends CompositeNodeDataWithSchema { - - public ListNodeDataWithSchema(final DataSchemaNode schema) { +/** + * Utility class used for tracking parser state as needed by a StAX-like parser. + * This class is to be used only by respective XML and JSON parsers in yang-data-codec-xml and yang-data-codec-gson. + * + *

+ * Represents a YANG list node. + */ +public class ListNodeDataWithSchema extends CompositeNodeDataWithSchema + implements MultipleEntryDataWithSchema { + public ListNodeDataWithSchema(final ListSchemaNode schema) { super(schema); } @Override - public void write(final SchemaAwareNormalizedNodeStreamWriter writer) throws IOException { - final ListSchemaNode schema = (ListSchemaNode) getSchema(); + public void write(final NormalizedNodeStreamWriter writer, final StreamWriterMetadataExtension metaWriter) + throws IOException { + final ListSchemaNode schema = getSchema(); writer.nextDataSchemaNode(schema); if (schema.getKeyDefinition().isEmpty()) { writer.startUnkeyedList(provideNodeIdentifier(), childSizeHint()); @@ -29,8 +37,14 @@ public class ListNodeDataWithSchema extends CompositeNodeDataWithSchema { } else { writer.startMapNode(provideNodeIdentifier(), childSizeHint()); } - super.write(writer); + super.write(writer, metaWriter); writer.endNode(); } + @Override + public final ListEntryNodeDataWithSchema newChildEntry() { + final ListEntryNodeDataWithSchema child = ListEntryNodeDataWithSchema.forSchema(getSchema()); + addChild(child); + return child; + } }