X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fnode%2Futils%2Fstream%2FNormalizedNodeDataInput.java;h=57d41d58354a916e401ae1e2424b1db167386ddb;hb=fba327c801062a6e802f212a0e8b6efee2f6a90e;hp=9dda8bf6e47f5c1664b1060d7cc085196f6a64fa;hpb=c7e9379c4e2f3b2e916d94c938623df7966c7fa0;p=controller.git diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeDataInput.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeDataInput.java index 9dda8bf6e4..57d41d5835 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeDataInput.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeDataInput.java @@ -19,6 +19,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult; +import org.opendaylight.yangtools.yang.data.impl.schema.ReusableImmutableNormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.model.api.SchemaPath; /** @@ -52,6 +53,24 @@ public interface NormalizedNodeDataInput extends DataInput { return result.getResult(); } + /** + * Read a normalized node from the reader, using specified writer to construct the result. + * + * @param writer Reusable writer to + * @return Next node from the stream, or null if end of stream has been reached. + * @throws IOException if an error occurs + * @throws IllegalStateException if the dictionary has been detached + */ + default NormalizedNode readNormalizedNode(final ReusableImmutableNormalizedNodeStreamWriter writer) + throws IOException { + try { + streamNormalizedNode(writer); + return writer.getResult(); + } finally { + writer.reset(); + } + } + YangInstanceIdentifier readYangInstanceIdentifier() throws IOException; @NonNull QName readQName() throws IOException;