Package org.opendaylight.yangtools.yang.data.api.schema
@Export
package org.opendaylight.yangtools.yang.data.api.schema
Definition of normalized YANG DOM Model. Normalized DOM Model brings more direct mapping between YANG Model, DOM
representation of data.
Normalized DOM Model
Node Types
-
NormalizedNode
- Base type representing a node in a tree structure; all nodes are derived from it, it contains a leaf identifier and a value.-
DataContainerNode
- Node which contains multiple leafs; it does not have a direct representation in the YANG syntax.-
ContainerNode
- Node, which represents a leaf which can occur only once per parent node; it contains multiple child leaves and maps to the container statement in YANG. -
MapEntryNode
- Node which represents a leaf, which can occur multiple times; a leave is uniquely identified by the value of its key. A MapEntryNode may contain multiple child leaves. MapEntryNode maps to the instance of list in YANG. -
UnkeyedListEntryNode
- Node which represents a leaf, which can occur multiple times; a leave is uniquely identified by the value of its key. A MapEntryNode may contain multiple child leaves. MapEntryNode maps to the instance of list in YANG. -
ChoiceNode
- Node which represents a leaf, which occurs mostly once per parent node, but possible values could have different types. Maps to choice statement. Types maps to the case statements for that choice.
-
-
LeafNode
- Node which represents a leaf, which occurs mostly once per parent node. Contains simple value. -
LeafSetEntryNode
- Node which represents a leaf, which type could occurs multiple times per parent node. Maps to to the instances of leaf-list in YANG. -
LeafSetNode
- Special node, which can occur only once per parent node; its leaves are LeafSetEntryNode nodes of specified type. Maps into the leaf-list in YANG. -
MapNode
- Special node, which can occur only once per parent node; its leaves are MapEntryNode nodes.-
UserMapNode
- Special node, which can occur only once per parent node; its leaves are MapEntryNode nodes.
-
-
UnkeyedListNode
- Special node, which can occur only once per parent node; its leaves are MapEntryNode nodes.
-
Tree / subtree structure
Grammar representation
YangInstanceIdentifier
=YangInstanceIdentifier.PathArgument
*YangInstanceIdentifier.PathArgument
=YangInstanceIdentifier.NodeIdentifier
|YangInstanceIdentifier.NodeIdentifierWithPredicates
|YangInstanceIdentifier.NodeWithValue
TreeRoot =DataContainerNode
DataContainerNode
= (LeafNode
|ChoiceNode
|MapNode
|LeafSetNode
)* ContainerDataNode =YangInstanceIdentifier.NodeIdentifier
DataContainerNode
LeafNode
=YangInstanceIdentifier.NodeIdentifier
SimpleValueMapNode
=YangInstanceIdentifier.NodeIdentifier
MapEntryNode
MapEntryNode
=YangInstanceIdentifier.NodeIdentifierWithPredicates
DataContainerNode
// Special nodesLeafSetNode
=YangInstanceIdentifier.NodeIdentifier
LeafSetEntryNode
*ChoiceNode
=YangInstanceIdentifier.NodeIdentifier
DataContainerNode
LeafSetEntryNode
=YangInstanceIdentifier.NodeWithValue
SimpleValue
The resulting tree organization is following:
- (DataContainerNode)
- (0..n) LeafNode
- (0..n) LeafSetNode
- (0..n) LeafSetEntryNode
- (0..n) ContainerNode
- (Same as DataContainerNode)
- (0..n) ContainerNode
- (Same as DataContainerNode)
- (0..n) MapNode
- (0..n) MapEntryNode
- (Same as DataContainerNode)
- (0..n) MapEntryNode
Ordering of child nodes
Ordering of child nodes is not enforced by this API definition, unless explicitly stated by subclasses ofOrderedNodeContainer
which marks nodes with semantic constrain to preserve user-supplied ordering.
Clients should not expect any specific ordering of child nodes for interfaces
from this package which does not extend
OrderedNodeContainer
,
since implementations are not required to have well-defined order, which
allows for more efficient implementations. If such ordering is required by
clients for serialization / debugability it SHOULD be done externally in
code using these interfaces.
-
ClassDescriptionAbstract base class for
AnydataNode
implementations.Abstract base class forAnyxmlNode
implementations.Abstract base class forChoiceNode
implementations.Abstract base class forContainerNode
implementations.Abstract base class forLeafNode
implementations.Abstract base class forLeafSetEntryNode
implementations.Abstract base class forMapEntryNode
implementations.AbstractNormalizedNode<T extends NormalizedNode>Abstract base class forNormalizedNode
implementations.Abstract base class for implementingSystemLeafSetNode
s.Abstract base class forSystemMapNode
implementations.Abstract base class forUnkeyedListEntryNode
implementations.Abstract base class for implementingUnkeyedListNode
s.Abstract base class for implementingUserLeafSetNode
s.Abstract base class forUserMapNode
implementations.AnydataNode<V>A NormalizedNode holding the contents of ananydata
node in some object model.A builder ofAnydataNode
s.AnyxmlNode<V>A NormalizedNode holding the contents of ananyxml
node in some object model.AnyxmlNode.Builder<V,N extends AnyxmlNode<V>> A builder ofAnyxmlNode
s.Node representing data instance ofchoice
.A builder ofChoiceNode
s.Data subtree with cardinality 0..1 in the context of parent node.A builder ofContainerNode
s.ADistinctContainer
containingDataContainerChild
children.Marker interface for direct children ofDataContainerNode
.Abstract node which does not have value but contains validDataContainerChild
nodes.ANormalizedContainer
which contains distinctly-addressable children.ANormalizedNodeContainer
which contains directly-addressable children.An AnyxmlNode with data inDOMSource
format.Entry describing a duplicate found in aNormalizedNode
tree.A NormalizedNode holding a value in some foreign object model.LeafNode<T>Leaf node with multiplicity 0..1.A builder ofLeafNode
s.Leaf node with multiplicity 0...n.A builder ofLeafSetEntryNode
s.LeafSetNode<T>Node representing set of simple leaf nodes.LeafSetNode.Builder<T,N extends LeafSetNode<T>> A builder ofLeafSetNode
s.Instance of Map entry, this node does not contains value, but child nodes.A builder ofMapEntryNode
s.Containment node, which containsMapEntryNode
of the same type, which may be quickly retrieved using a key.MapNode.Builder<T extends MapNode>A builder ofMapNode
s.A piece ofNormalizedAnydata
with a corresponding piece ofNormalizedMetadata
.Deprecated, for removal: This API element is subject to removal in a future version.This interface assumes XML encoding.An unresolved child within a mount point.A context of either an explicit (RFC8528 Schema Mount instance) or implicit (system root).An entity able to resolve the SchemaContext for embedded mount points based on generic data provided by the current interpretation context.Top-level containers which hold YANG Library information, ordered by descending preference, with more modern and/or preferred entries first.Exception thrown when a mount-point-related operation cannot be performed.Ananydata value object model
which can be normalized toNormalizedAnydata
when provided with proper context.The contents of ananydata
node in a normalized format.NormalizedContainer<V extends NormalizedNode>A piece ofNormalizedData
which holds some childNormalizedNode
s.A piece of data normalized to a particularEffectiveModelContext
.RFC7952 metadata counterpart to aNormalizedNode
.Normalized representation of a YANG mount point.RFC8528 mount point counterpart to aNormalizedNode
structure.Node which is normalized according to the YANG schema is identifiable by aYangInstanceIdentifier
.A builder ofNormalizedNode
s.A factory for concreteNormalizedNode.Builder
s.NormalizedNodeContainer<V extends NormalizedNode>Node which is not leaf, but has childNormalizedNode
s as its value.A set of utility methods for interacting withNormalizedNode
objects.NormalizedTuple<T extends NormalizedNode>A tuple of normalizedNormalizedTuple.data()
, with correspondingNormalizedTuple.metadata()
andNormalizedTuple.mountPoints()
.OrderedContainer<V extends NormalizedNode>ANormalizedContainer
which preserves user supplied ordering and allows addressing of child elements by position.OrderedNodeContainer<V extends NormalizedNode>ANormalizedNodeContainer
which preserves user supplied ordering and allows addressing of child elements by position.Marker interfaces forNormalizedNodeContainer
s which have distinct ordering requirements.Marker interface for NormalizedNodeContainer implementations which correspond toordered-by system
.Marker interface for NormalizedNodeContainer implementations which correspond toordered-by user
.LeafSetNode
which does not preserve user-supplied ordering.A builder ofSystemLeafSetNode
s.MapNode
which additionally preserves user-supplied ordering.A builder ofSystemMapNode
s.List entry node, which does not have value, but child nodes.A builder ofUnkeyedListNode
s.Containment node, which containsUnkeyedListEntryNode
of the same type, which may be quickly retrieved using key.A builder ofUnkeyedListNode
s.LeafSetNode
which preserves user-supplied ordering.A builder ofUserLeafSetNode
s.MapNode
which additionally preserves user-supplied ordering.A builder ofUserMapNode
s.ValueNode<V>Interface holding the common trait ofLeafSetEntryNode
andLeafNode
, which both hold a value.