/**
* Dedicated object identifying a YANG module revision.
*
- * <h3>API design note</h3>
+ * <h2>API design note</h2>
* This class defines the contents of a revision statement, but modules do not require to have a revision (e.g. they
* have not started to keep track of revisions).
*
* Unique identifier of a particular node instance in the data tree.
*
* <p>
- * Java representation of YANG Built-in type <code>instance-identifier</code>,
- * which conceptually is XPath expression minimized to uniquely identify element
- * in data tree which conforms to constraints maintained by YANG Model,
+ * Java representation of YANG Built-in type {@code instance-identifier}, which conceptually is XPath expression
+ * minimized to uniquely identify element in data tree which conforms to constraints maintained by YANG Model,
* effectively this makes Instance Identifier a path to element in data tree.
*
* <p>
- * Constraints put in YANG specification on instance-identifier allowed it to be
- * effectively represented in Java and it's evaluation does not require
- * full-blown XPath processor.
+ * Constraints put in YANG specification on instance-identifier allowed it to be effectively represented in Java and its
+ * evaluation does not require a full-blown XPath processor.
*
- * <p>
- * <h3>Path Arguments</h3>
- * Path to the node represented in instance identifier consists of
- * {@link PathArgument} which carries necessary information to uniquely identify
- * node on particular level in the subtree.
+ * <h2>Path Arguments</h2>
+ * Path to the node represented in instance identifier consists of {@link PathArgument} which carries necessary
+ * information to uniquely identify node on particular level in the subtree.
*
* <ul>
- * <li>{@link NodeIdentifier} - Identifier of node, which has cardinality
- * <code>0..1</code> in particular subtree in data tree.</li>
- * <li>{@link NodeIdentifierWithPredicates} - Identifier of node (list item),
- * which has cardinality <code>0..n</code>.</li>
- * <li>{@link NodeWithValue} - Identifier of instance <code>leaf</code> node or
- * <code>leaf-list</code> node.</li>
- * <li>{@link AugmentationIdentifier} - Identifier of instance of
- * <code>augmentation</code> node.</li>
+ * <li>{@link NodeIdentifier} - Identifier of node, which has cardinality {@code 0..1} in particular subtree in data
+ * tree</li>
+ * <li>{@link NodeIdentifierWithPredicates} - Identifier of node (list item), which has cardinality {@code 0..n}</li>
+ * <li>{@link NodeWithValue} - Identifier of instance {@code leaf} node or {@code leaf-list} node</li>
+ * <li>{@link AugmentationIdentifier} - Identifier of instance of {@code augmentation} node</li>
* </ul>
*
* @see <a href="http://tools.ietf.org/html/rfc6020#section-9.13">RFC6020</a>
/**
* Marker interface for direct children of {@link DataContainerNode}.
*
- * <h3>Implementation notes</h3>
- * This interface should not be implemented directly, but rather using one
- * of its subinterfaces:
+ * <h2>Implementation notes</h2>
+ * This interface should not be implemented directly, but rather using one of its subinterfaces:
*
* <ul>
- * <li>{@link LeafNode}
- * <li>{@link ContainerNode}
- * <li>{@link ChoiceNode}
- * <li>{@link MapNode}
- * <li>{@link AugmentationNode}
+ * <li>{@link LeafNode}
+ * <li>{@link ContainerNode}
+ * <li>{@link ChoiceNode}
+ * <li>{@link MapNode}
+ * <li>{@link AugmentationNode}
* </ul>
*
* @param <K> Path Argument Type which is used to identify node
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
/**
- * Abstract node which does not have value but contains valid {@link DataContainerChild} nodes.
- * Schema of this node is described by instance of {@link org.opendaylight.yangtools.yang.model.api.DataNodeContainer}.
+ * Abstract node which does not have value but contains valid {@link DataContainerChild} nodes. Schema of this node is
+ * described by instance of {@link org.opendaylight.yangtools.yang.model.api.DataNodeContainer}.
*
- * <p>
* <h2>Implementation notes</h2>
* This interface should not be implemented directly, but rather implementing one of it's subclasses
* <ul>
- * <li>{@link ContainerNode}
- * <li>{@link MapEntryNode}
- * <li>{@link UnkeyedListEntryNode}
- * <li>{@link ChoiceNode}
- * <li>{@link AugmentationNode}
+ * <li>{@link ContainerNode}
+ * <li>{@link MapEntryNode}
+ * <li>{@link UnkeyedListEntryNode}
+ * <li>{@link ChoiceNode}
+ * <li>{@link AugmentationNode}
* </ul>
*
* @param <K> {@link PathArgument} which identifies instance of {@link DataContainerNode}
public interface DataContainerNode<K extends PathArgument> extends
NormalizedNodeContainer<K, PathArgument, DataContainerChild<? extends PathArgument, ?>> {
/**
- * Returns iteration of all child nodes.
- * Order of returned child nodes may be defined by subinterfaces.
+ * Returns iteration of all child nodes. Order of returned child nodes may be defined by subinterfaces.
*
* <p>
* <b>Implementation Notes:</b>
- * All nodes returned in this iterable, MUST also be accessible via
- * {@link #getChild(PathArgument)} using their associated identifier.
+ * All nodes returned in this iterable, MUST also be accessible via {@link #getChild(PathArgument)} using their
+ * associated identifier.
*
* @return Iteration of all child nodes
*/
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
/**
- * Leaf node with multiplicity 0...n.
+ * Leaf node with multiplicity 0...n. Leaf node has a value, but no child nodes in the data tree, schema for leaf node
+ * and its value is described by {@link org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode}.
*
- * <p>
- * Leaf node has a value, but no child nodes in the data tree, schema
- * for leaf node and its value is described by
- * {@link org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode}.
- *
- * @param <T>
- * Value type
+ * @param <T> Value type
*/
public interface LeafSetEntryNode<T> extends NormalizedNode<NodeWithValue, T>, ValueNode<NodeWithValue, T> {
/**
- * Returns {@link NodeWithValue} which identifies this leaf set entry.
- * Returned {@link NodeWithValue} contains same value as this node.
+ * Returns {@link NodeWithValue} which identifies this leaf set entry. Returned {@link NodeWithValue} contains same
+ * value as this node.
*
- * <p>
- * <h3>Implementation notes</h3> Invocation of
- * {@link NodeWithValue#getValue()} on returned instance of
- * {@link NodeWithValue} must returns
- * same value as invocation of {@link #getValue()}, such as
- * following condition is allways met:
- * <code>true == this.getIdentifier().getValue().equals(this.getValue())</code>
+ * <b>Implementation note</b>
+ * Invocation of {@link NodeWithValue#getValue()} on returned instance of {@link NodeWithValue} must return the
+ * same value as invocation of {@link #getValue()}, such as following condition is always met:
+ * {@code true == this.getIdentifier().getValue().equals(this.getValue())}.
*
* @return {@link NodeWithValue} which identifies this leaf set entry.
*/
/**
* Interface holding the common trait of {@link LeafSetEntryNode} and {@link LeafNode}, which both hold a value.
*
- * @author Robert Varga
- *
* @param <K> Local identifier of node
* @param <V> Value of node
*/
/**
* Returns value of held by this node.
*
- * <h3>Implementation notes</h3> Invocation of {@link #getValue()} must
- * provides same value as value in {@link #getIdentifier()}.
- * <code>true == this.getIdentifier().getValue().equals(this.getValue())</code>
- *
- * @return Returned value of this node. Value SHOULD meet criteria
- * defined by schema.
+ * <b>Implementation note</b>
+ * Invocation of {@link #getValue()} must provide the same value as value in {@link #getIdentifier()}.
+ * {@code true == this.getIdentifier().getValue().equals(this.getValue())}.
*
+ * @return Returned value of this node. Value SHOULD meet criteria defined by schema.
*/
@Override
V getValue();
/**
* Event Stream Writer based on Normalized Node tree representation.
*
- * <h3>Writing Event Stream</h3>
+ * <h2>Writing Event Stream</h2>
* Each entity is emitted by invoking its corresponding {@code start*} event, optionally followed by interior events and
* invoking {@link #endNode()}. Some entities supported nested entities, some do not, see below for restrictions.
*
* @throws IllegalArgumentException if the argument does not represents a valid value
* @throws IllegalStateException if a value-bearing node is not open or if it's value has already been set and this
* implementation does not allow resetting the value.
+ * @throws IOException if an underlying IO error occurs
*/
void scalarValue(@NonNull Object value) throws IOException;