Interface DataNodeContainer
-
- All Known Subinterfaces:
AnnotationSchemaNodeAwareSchemaContext
,AugmentationSchemaNode
,CaseSchemaNode
,ContainerLike
,ContainerSchemaNode
,EffectiveModelContext
,EffectiveStatementMixins.DataNodeContainerMixin<A,D>
,EffectiveStatementMixins.OperationContainerMixin<D>
,GroupingDefinition
,InputSchemaNode
,ListSchemaNode
,Module
,ModuleLike
,NotificationDefinition
,OutputSchemaNode
,SchemaContext
,Submodule
- All Known Implementing Classes:
AbstractContainerEffectiveStatement
,AbstractEffectiveModule
,AbstractGroupingEffectiveStatement
,AbstractSchemaContext
,AugmentEffectiveStatementImpl
,DeclaredCaseEffectiveStatement
,DeclaredInputEffectiveStatement
,DeclaredOutputEffectiveStatement
,EffectiveAugmentationSchema
,EffectiveSchemaContext
,EmptyContainerEffectiveStatement
,EmptyGroupingEffectiveStatement
,EmptyListEffectiveStatement
,FilteringSchemaContextProxy
,NotificationAsContainer
,NotificationEffectiveStatementImpl
,OperationAsContainer
,RegularContainerEffectiveStatement
,RegularGroupingEffectiveStatement
,RegularListEffectiveStatement
,SimpleSchemaContext
,UndeclaredCaseEffectiveStatement
,UndeclaredInputEffectiveStatement
,UndeclaredOutputEffectiveStatement
public interface DataNodeContainer
Node which can contains other nodes.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description @Nullable DataSchemaNode
dataChildByName(QName name)
Returns the child node corresponding to the specified name.default Optional<DataSchemaNode>
findDataChildByName(QName name)
Returns the child node corresponding to the specified name.default Optional<DataSchemaNode>
findDataChildByName(QName first, QName... others)
Returns the child node corresponding to the specified name.default Optional<DataSchemaNode>
findDataTreeChild(Iterable<QName> path)
Returns adata node
identified by a series of QNames.default Optional<DataSchemaNode>
findDataTreeChild(QName name)
Returns adata node
identified by a QName.default Optional<DataSchemaNode>
findDataTreeChild(QName... path)
Returns adata node
identified by a series of QNames.@NonNull Collection<? extends @NonNull DataSchemaNode>
getChildNodes()
Returns set of all child nodes defined within this DataNodeContainer.default @NonNull DataSchemaNode
getDataChildByName(QName name)
Returns the child node corresponding to the specified name.@NonNull Collection<? extends @NonNull GroupingDefinition>
getGroupings()
Returns set of all groupings defined within this DataNodeContainer.@NonNull Collection<? extends @NonNull TypeDefinition<?>>
getTypeDefinitions()
Returns set of all newly defined types within this DataNodeContainer.@NonNull Collection<? extends @NonNull UsesNode>
getUses()
Returns grouping nodes used ny this container.
-
-
-
Method Detail
-
getTypeDefinitions
@NonNull Collection<? extends @NonNull TypeDefinition<?>> getTypeDefinitions()
Returns set of all newly defined types within this DataNodeContainer.- Returns:
- typedef statements in lexicographical order
-
getChildNodes
@NonNull Collection<? extends @NonNull DataSchemaNode> getChildNodes()
Returns set of all child nodes defined within this DataNodeContainer. Although the return type is a collection, each node is guaranteed to be present at most once.Note that the nodes returned are NOT
data nodes
, but ratherDataSchemaNode
s, henceChoiceSchemaNode
andCaseSchemaNode
are present instead of their children. This is consistent withschema tree
.- Returns:
- child nodes in lexicographical order
-
getGroupings
@NonNull Collection<? extends @NonNull GroupingDefinition> getGroupings()
Returns set of all groupings defined within this DataNodeContainer.- Returns:
- grouping statements in lexicographical order
-
dataChildByName
@Nullable DataSchemaNode dataChildByName(QName name)
Returns the child node corresponding to the specified name.Note that the nodes searched are NOT
data nodes
, but ratherDataSchemaNode
s, henceChoiceSchemaNode
andCaseSchemaNode
are returned instead of their matching children. This is consistent withschema tree
.- Parameters:
name
- QName of child- Returns:
- child node of this DataNodeContainer if child with given name is present, null otherwise
- Throws:
NullPointerException
- ifname
is null
-
getDataChildByName
default @NonNull DataSchemaNode getDataChildByName(QName name)
Returns the child node corresponding to the specified name.Note that the nodes searched are NOT
data nodes
, but ratherDataSchemaNode
s, henceChoiceSchemaNode
andCaseSchemaNode
are returned instead of their matching children. This is consistent withschema tree
.- Parameters:
name
- QName of child- Returns:
- child node of this DataNodeContainer
- Throws:
NullPointerException
- ifname
is nullVerifyException
- if the child does not exist
-
findDataChildByName
default Optional<DataSchemaNode> findDataChildByName(QName name)
Returns the child node corresponding to the specified name.Note that the nodes searched are NOT
data nodes
, but ratherDataSchemaNode
s, henceChoiceSchemaNode
andCaseSchemaNode
are returned instead of their matching children.- Parameters:
name
- QName of child- Returns:
- child node of this DataNodeContainer if child with given name is present, empty otherwise
- Throws:
NullPointerException
- ifname
is null
-
findDataChildByName
default Optional<DataSchemaNode> findDataChildByName(QName first, QName... others)
Returns the child node corresponding to the specified name.Note that the nodes searched are NOT
data nodes
, but ratherDataSchemaNode
s, henceChoiceSchemaNode
andCaseSchemaNode
are returned instead of their matching children.- Parameters:
first
- QName of first childothers
- QNames of subsequent children- Returns:
- child node of this DataNodeContainer if child with given name is present, empty otherwise
- Throws:
NullPointerException
- if any argument is null
-
getUses
@NonNull Collection<? extends @NonNull UsesNode> getUses()
Returns grouping nodes used ny this container.- Returns:
- Set of all uses nodes defined within this DataNodeContainer
-
findDataTreeChild
@Beta default Optional<DataSchemaNode> findDataTreeChild(QName name)
Returns adata node
identified by a QName. This method is distinct fromfindDataChildByName(QName)
in that it skips overChoiceSchemaNode
s andCaseSchemaNode
s, hence mirroring layout of thedata tree
, notschema tree
.- Parameters:
name
- QName identifier of the data node- Returns:
- Direct or indirect child of this DataNodeContainer which is a
data node
, empty otherwise - Throws:
NullPointerException
- ifname
is null
-
findDataTreeChild
@Beta default Optional<DataSchemaNode> findDataTreeChild(QName... path)
Returns adata node
identified by a series of QNames. This is equivalent to incrementally callingfindDataTreeChild(QName)
.- Parameters:
path
- Series of QNames towards identifying the requested data node- Returns:
- Direct or indirect child of this DataNodeContainer which is a
data node
, empty otherwise - Throws:
IllegalArgumentException
- ifpath
is determined to go beyond a not-container-nor-list node.NoSuchElementException
- ifpath
is emptyNullPointerException
- ifpath
is null or contains a null
-
findDataTreeChild
@Beta default Optional<DataSchemaNode> findDataTreeChild(Iterable<QName> path)
Returns adata node
identified by a series of QNames. This is equivalent to incrementally callingfindDataTreeChild(QName)
.- Parameters:
path
- Series of QNames towards identifying the requested data node- Returns:
- Direct or indirect child of this DataNodeContainer which is a
data node
, empty otherwise - Throws:
IllegalArgumentException
- ifpath
is determined to go beyond a not-container-nor-list node.NoSuchElementException
- ifpath
is emptyNullPointerException
- ifpath
is null or contains a null
-
-