X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fnode%2Futils%2Fstream%2FNormalizedNodeDataOutput.java;h=681553eb587825e83d28b1522f76ab3959067cda;hb=bd7cfec55803f40773eda2412e7b93a3fefd3f9c;hp=10f412c9e2ae357b30a6990fe65c10013cc69340;hpb=bc6aa356568dac2dca17cfce807df1e2a947e5bf;p=controller.git diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeDataOutput.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeDataOutput.java index 10f412c9e2..681553eb58 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeDataOutput.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeDataOutput.java @@ -10,19 +10,39 @@ package org.opendaylight.controller.cluster.datastore.node.utils.stream; import com.google.common.annotations.Beta; import java.io.DataOutput; import java.io.IOException; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; +import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; +import org.opendaylight.yangtools.yang.model.api.SchemaPath; /** - * Interface for emitting {@link NormalizedNode}s, {@link YangInstanceIdentifier}s and {@link PathArgument}s. + * Interface for emitting {@link NormalizedNode}s, {@link YangInstanceIdentifier}s, {@link PathArgument}s + * and {@link SchemaPath}s. */ @Beta public interface NormalizedNodeDataOutput extends AutoCloseable, DataOutput { - void writeNormalizedNode(NormalizedNode normalizedNode) throws IOException; + void writeQName(@NonNull QName qname) throws IOException; + + void writeNormalizedNode(@NonNull NormalizedNode normalizedNode) throws IOException; + void writePathArgument(PathArgument pathArgument) throws IOException; + void writeYangInstanceIdentifier(YangInstanceIdentifier identifier) throws IOException; + void writeSchemaPath(SchemaPath path) throws IOException; + @Override void close() throws IOException; + + default void writeOptionalNormalizedNode(final @Nullable NormalizedNode normalizedNode) throws IOException { + if (normalizedNode != null) { + writeBoolean(true); + writeNormalizedNode(normalizedNode); + } else { + writeBoolean(false); + } + } }