Class AbstractSchemaContext
java.lang.Object
org.opendaylight.yangtools.yang.model.spi.AbstractSchemaContext
- All Implemented Interfaces:
Immutable
,ActionNodeContainer
,AddedByUsesAware
,AugmentationTarget
,ContainerLike
,CopyableNode
,DataNodeContainer
,DataSchemaNode
,DocumentedNode
,DocumentedNode.WithStatus
,MustConstraintAware
,NotificationNodeContainer
,SchemaContext
,SchemaNode
,WhenConditionAware
- Direct Known Subclasses:
FilteringSchemaContextProxy
,SimpleSchemaContext
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.opendaylight.yangtools.yang.model.api.DocumentedNode
DocumentedNode.WithStatus
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Comparator
<Module> AModule
comparator based onModuleLike.getName()
andQNameModuleAware.getRevision()
, ordering modules lexicographically by their name and then in order of descending revision.static final Comparator
<Module> AModule
comparator based onQNameModuleAware.getRevision()
, placing latest revision first.Fields inherited from interface org.opendaylight.yangtools.yang.model.api.SchemaContext
NAME
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreate a TreeSet for containing Modules with the same name, such that the set is ordered byREVISION_COMPARATOR
.dataChildByName
(QName name) Returns the child node corresponding to the specified name.findModule
(String name, Optional<Revision> revision) Returns module instance (from the context) with specified name and an optional revision.findModule
(QNameModule qnameModule) Returns the module matching specifiedQNameModule
, if present.Collection
<? extends Module> findModules
(String name) Returns module instances (from the context) with a concrete name.Collection
<? extends Module> findModules
(XMLNamespace namespace) Returns module instance (from the context) with concrete namespace.Collection
<? extends DataSchemaNode> Returns set of all child nodes defined within this DataNodeContainer.Collection
<? extends DataSchemaNode> Returns data schema node instances which represents direct subnodes (like leaf, leaf-list, list, container) in all YANG modules in the context.Collection
<? extends IdentitySchemaNode> getDerivedIdentities
(IdentitySchemaNode identity) Get identities derived from a selected identity.Collection
<? extends ExtensionDefinition> Returns extension definition instances which are defined as the direct subelements in all YANG modules in the context.Collection
<? extends GroupingDefinition> Returns set of all groupings defined within this DataNodeContainer.protected abstract Map
<QNameModule, Module> Returns the namespace+revision-to-module mapping.protected abstract SetMultimap
<XMLNamespace, Module> Returns the namespace-to-module mapping.protected abstract SetMultimap
<String, Module> Returns the module name-to-module mapping.Collection
<? extends NotificationDefinition> Return the set of notifications in this container, keyed by QName.Collection
<? extends RpcDefinition> Returns rpc definition instances which are defined as the direct subelements in all YANG modules in the context.Collection
<? extends TypeDefinition<?>> Returns set of all newly defined types within this DataNodeContainer.Collection
<? extends UnknownSchemaNode> Returns unknown schema nodes which belongs to this instance.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.opendaylight.yangtools.yang.model.api.DataNodeContainer
findDataChildByName, findDataChildByName, findDataTreeChild, findDataTreeChild, getDataChildByName
Methods inherited from interface org.opendaylight.yangtools.yang.model.api.DataSchemaNode
isConfiguration
Methods inherited from interface org.opendaylight.yangtools.yang.model.api.SchemaContext
effectiveConfig, findAction, findDataTreeChild, findModule, findModule, findModule, findModule, findModule, findNotification, getActions, getAvailableAugmentations, getDescription, getModules, getMustConstraints, getQName, getReference, getStatus, getUses, getWhenCondition, isAddedByUses, isAugmenting
-
Field Details
-
REVISION_COMPARATOR
AModule
comparator based onQNameModuleAware.getRevision()
, placing latest revision first. Note this comparator does not take into account module name and so two modules with different names but same revisions compare as equal. -
NAME_REVISION_COMPARATOR
AModule
comparator based onModuleLike.getName()
andQNameModuleAware.getRevision()
, ordering modules lexicographically by their name and then in order of descending revision. This comparator assumes that the combination of these two attributes is sufficient to be consistent with hashCode/equals.
-
-
Constructor Details
-
AbstractSchemaContext
public AbstractSchemaContext()
-
-
Method Details
-
createModuleSet
Create a TreeSet for containing Modules with the same name, such that the set is ordered byREVISION_COMPARATOR
.- Returns:
- A fresh TreeSet instance.
-
getNamespaceToModules
Returns the namespace-to-module mapping.- Returns:
- Map of modules where key is namespace
-
getNameToModules
Returns the module name-to-module mapping.- Returns:
- Map of modules where key is name of module
-
getModuleMap
Returns the namespace+revision-to-module mapping.- Returns:
- Map of modules where key is Module's QNameModule.
-
getDataDefinitions
Description copied from interface:SchemaContext
Returns data schema node instances which represents direct subnodes (like leaf, leaf-list, list, container) in all YANG modules in the context.- Specified by:
getDataDefinitions
in interfaceSchemaContext
- Returns:
- set of
DataSchemaNode
instances which represents YANG data nodes at the module top level
-
getNotifications
Description copied from interface:NotificationNodeContainer
Return the set of notifications in this container, keyed by QName. RFC7950 specifies thatAugmentationSchemaNode
s,GroupingDefinition
s,ListSchemaNode
s andContainerSchemaNode
s can also containNotificationDefinition
s.- Specified by:
getNotifications
in interfaceNotificationNodeContainer
- Returns:
- set of notification nodes
-
getOperations
Description copied from interface:SchemaContext
Returns rpc definition instances which are defined as the direct subelements in all YANG modules in the context.- Specified by:
getOperations
in interfaceSchemaContext
- Returns:
- set of
RpcDefinition
instances which represents nodes defined viarpc
YANG keyword
-
getExtensions
Description copied from interface:SchemaContext
Returns extension definition instances which are defined as the direct subelements in all YANG modules in the context.- Specified by:
getExtensions
in interfaceSchemaContext
- Returns:
- set of
ExtensionDefinition
instances which represents nodes defined viaextension
YANG keyword
-
findModule
Description copied from interface:SchemaContext
Returns module instance (from the context) with specified name and an optional revision.- Specified by:
findModule
in interfaceSchemaContext
- Parameters:
name
- string with the module namerevision
- date of the module revision- Returns:
- module instance which has name and revision the same as are the values specified in parameters
name
andrevision
.
-
findModule
Description copied from interface:SchemaContext
Returns the module matching specifiedQNameModule
, if present.- Specified by:
findModule
in interfaceSchemaContext
- Parameters:
qnameModule
- requested QNameModule- Returns:
- Module, if present.
-
findModules
Description copied from interface:SchemaContext
Returns module instance (from the context) with concrete namespace. Returned Set is required to have its iteration order guarantee that the latest revision is encountered first.- Specified by:
findModules
in interfaceSchemaContext
- Parameters:
namespace
- XMLNamespace instance with specified namespace- Returns:
- module instance which has namespace equal to the
namespace
ornull
in other cases
-
findModules
Description copied from interface:SchemaContext
Returns module instances (from the context) with a concrete name. Returned Set is required to have its iteration order guarantee that the latest revision is encountered first.- Specified by:
findModules
in interfaceSchemaContext
- Parameters:
name
- string with the module name- Returns:
- set of module instances with specified name.
-
getUnknownSchemaNodes
Description copied from interface:DocumentedNode
Returns unknown schema nodes which belongs to this instance. Default implementation returns an empty collection.- Specified by:
getUnknownSchemaNodes
in interfaceDocumentedNode
- Returns:
- collection of unknown schema nodes defined under this node.
-
getTypeDefinitions
Description copied from interface:DataNodeContainer
Returns set of all newly defined types within this DataNodeContainer.- Specified by:
getTypeDefinitions
in interfaceDataNodeContainer
- Returns:
- typedef statements in lexicographical order
-
getChildNodes
Description copied from interface:DataNodeContainer
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
.- Specified by:
getChildNodes
in interfaceDataNodeContainer
- Returns:
- child nodes in lexicographical order
-
getGroupings
Description copied from interface:DataNodeContainer
Returns set of all groupings defined within this DataNodeContainer.- Specified by:
getGroupings
in interfaceDataNodeContainer
- Returns:
- grouping statements in lexicographical order
-
dataChildByName
Description copied from interface:DataNodeContainer
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
.- Specified by:
dataChildByName
in interfaceDataNodeContainer
- Parameters:
name
- QName of child- Returns:
- child node of this DataNodeContainer if child with given name is present, null otherwise
-
getDerivedIdentities
Description copied from interface:SchemaContext
Get identities derived from a selected identity.- Specified by:
getDerivedIdentities
in interfaceSchemaContext
- Parameters:
identity
- base identity- Returns:
- collection of identities derived from this identity
-