X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fapi%2Fschema%2Fstream%2FNormalizedNodeStreamWriter.java;h=983378703e57f72694db34748f7011b008484fd6;hb=553cb231f6853f73e816cab0d85e2c6acb8cbb97;hp=94b5ba69e57457ef0c503468ebd08063ed384e24;hpb=6af38a495f688cbfa0ff2c09db7e62e4d530bb3a;p=yangtools.git
diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java
index 94b5ba69e5..983378703e 100644
--- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java
+++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java
@@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.data.api.schema.stream;
import java.io.Closeable;
import java.io.Flushable;
import java.io.IOException;
-
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
@@ -92,7 +91,7 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
* all other values will result, based on implementation preference, in the
* hint being completely ignored or IllegalArgumentException being thrown.
*/
- public final int UNKNOWN_SIZE = -1;
+ int UNKNOWN_SIZE = -1;
/**
*
@@ -111,7 +110,7 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
* choice
unkeyed list
node.
* @throws IOException if an underlying IO error occurs
*/
- void leafNode(NodeIdentifier name, Object value) throws IOException, IllegalArgumentException;
+ void leafNode(NodeIdentifier name, Object value) throws IOException;
/**
*
@@ -137,7 +136,7 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
* choice
unkeyed list
node.
* @throws IOException if an underlying IO error occurs
*/
- void startLeafSet(NodeIdentifier name, int childSizeHint) throws IOException, IllegalArgumentException;
+ void startLeafSet(NodeIdentifier name, int childSizeHint) throws IOException;
/**
* Emits a leaf set entry node
@@ -150,7 +149,7 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
* If node was emitted outside leaf set
node.
* @throws IOException if an underlying IO error occurs
*/
- void leafSetEntryNode(Object value) throws IOException, IllegalArgumentException;
+ void leafSetEntryNode(Object value) throws IOException;
/**
*
@@ -187,7 +186,7 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
* choice
unkeyed list
node.
* @throws IOException if an underlying IO error occurs
*/
- void startContainerNode(NodeIdentifier name, int childSizeHint) throws IOException, IllegalArgumentException;
+ void startContainerNode(NodeIdentifier name, int childSizeHint) throws IOException;
/**
*
@@ -214,7 +213,7 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
* choice
unkeyed list
node.
* @throws IOException if an underlying IO error occurs
*/
- void startUnkeyedList(NodeIdentifier name, int childSizeHint) throws IOException, IllegalArgumentException;
+ void startUnkeyedList(NodeIdentifier name, int childSizeHint) throws IOException;
/**
* Emits start of new unkeyed list item.
@@ -242,7 +241,7 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
* If node was emitted outside unkeyed list
node.
* @throws IOException if an underlying IO error occurs
*/
- void startUnkeyedListItem(NodeIdentifier name, int childSizeHint) throws IOException, IllegalStateException;
+ void startUnkeyedListItem(NodeIdentifier name, int childSizeHint) throws IOException;
/**
*
@@ -258,13 +257,19 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
* name of node as defined in schema, namespace and revision are
* derived from parent node.
* @param childSizeHint
+ * Non-negative count of expected direct child nodes or
+ * {@link #UNKNOWN_SIZE} if count is unknown. This is only hint
+ * and should not fail writing of child events, if there are more
+ * events than count.
* @throws IllegalArgumentException
+ * If emitted node is invalid in current context or was emitted
+ * multiple times.
* @throws IllegalStateException
* If node was emitted inside map
,
* choice
unkeyed list
node.
* @throws IOException if an underlying IO error occurs
*/
- void startMapNode(NodeIdentifier name, int childSizeHint) throws IOException, IllegalArgumentException;
+ void startMapNode(NodeIdentifier name, int childSizeHint) throws IOException;
/**
*
@@ -288,13 +293,18 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
*
* @param identifier
* QName to value pairs of keys of map entry node. Values MUST BE constant over time.
+ * @param childSizeHint
+ * Non-negative count of expected direct child nodes or
+ * {@link #UNKNOWN_SIZE} if count is unknown. This is only hint
+ * and should not fail writing of child events, if there are more
+ * events than count.
* @throws IllegalArgumentException
* If key contains incorrect value.
* @throws IllegalStateException
* If node was emitted outside map entry
node.
* @throws IOException if an underlying IO error occurs
*/
- void startMapEntryNode(NodeIdentifierWithPredicates identifier, int childSizeHint) throws IOException, IllegalArgumentException;
+ void startMapEntryNode(NodeIdentifierWithPredicates identifier, int childSizeHint) throws IOException;
/**
*
@@ -309,13 +319,20 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
* @param name
* name of node as defined in schema, namespace and revision are
* derived from parent node.
+ * @param childSizeHint
+ * Non-negative count of expected direct child nodes or
+ * {@link #UNKNOWN_SIZE} if count is unknown. This is only hint
+ * and should not fail writing of child events, if there are more
+ * events than count.
* @throws IllegalArgumentException
+ * If emitted node is invalid in current context or was emitted
+ * multiple times.
* @throws IllegalStateException
* If node was emitted inside map
,
* choice
unkeyed list
node.
* @throws IOException if an underlying IO error occurs
*/
- void startOrderedMapNode(NodeIdentifier name, int childSizeHint) throws IOException, IllegalArgumentException;
+ void startOrderedMapNode(NodeIdentifier name, int childSizeHint) throws IOException;
/**
*
@@ -325,13 +342,19 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
* name of node as defined in schema, namespace and revision are
* derived from parent node.
* @param childSizeHint
+ * Non-negative count of expected direct child nodes or
+ * {@link #UNKNOWN_SIZE} if count is unknown. This is only hint
+ * and should not fail writing of child events, if there are more
+ * events than count.
* @throws IllegalArgumentException
+ * If emitted node is invalid in current context or was emitted
+ * multiple times.
* @throws IllegalStateException
* If node was emitted inside map
,
* choice
unkeyed list
node.
* @throws IOException if an underlying IO error occurs
*/
- void startChoiceNode(NodeIdentifier name, int childSizeHint) throws IOException, IllegalArgumentException;
+ void startChoiceNode(NodeIdentifier name, int childSizeHint) throws IOException;
/**
* Emits start of augmentation node.
@@ -357,20 +380,60 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
* If augmentation is invalid in current context.
* @throws IOException if an underlying IO error occurs
*/
- void startAugmentationNode(AugmentationIdentifier identifier) throws IOException, IllegalArgumentException;
+ void startAugmentationNode(AugmentationIdentifier identifier) throws IOException;
/**
* Emits anyxml node event.
*
* @param name
+ * name of node as defined in schema, namespace and revision are
+ * derived from parent node.
* @param value
+ * Value of AnyXml node.
* @throws IllegalArgumentException
+ * If emitted node is invalid in current context or was emitted
+ * multiple times.
* @throws IllegalStateException
* If node was emitted inside map
,
* choice
unkeyed list
node.
* @throws IOException if an underlying IO error occurs
*/
- void anyxmlNode(NodeIdentifier name, Object value) throws IOException, IllegalArgumentException;
+ void anyxmlNode(NodeIdentifier name, Object value) throws IOException;
+
+ /**
+ *
+ * Emits start of new yang modeled anyXml node.
+ *
+ *
+ * End of yang modeled anyXml node event is emitted by invoking {@link #endNode()}. + * + *
+ * Valid sub-events are: + *
map
,
+ * choice
unkeyed list
node.
+ * @throws IOException if an underlying IO error occurs
+ */
+ void startYangModeledAnyXmlNode(NodeIdentifier name, int childSizeHint) throws IOException;
/**
* Emits end event for node.
@@ -378,7 +441,7 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
* @throws IllegalStateException If there is no start* event to be closed.
* @throws IOException if an underlying IO error occurs
*/
- void endNode() throws IOException, IllegalStateException;
+ void endNode() throws IOException;
@Override
void close() throws IOException;