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=01d87e48543865be3d802c6b5497191623b0ae37;hp=6efe254e09936ac655e1f86591c88c23a5875322;hpb=071b2a0687d973ed771fac5be0dcdbc9040f3b92;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 6efe254e09..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.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); + } + } }