Package org.opendaylight.yangtools.yang.model.api.meta
Meta model of YANG model as was defined in RFC6020 and extracted by analysis
of YANG text.
Existence of meta-model allows for better evolution of YANG language as it evolves and allows for better support of different serializations of YANG model.
Statements
YANG source is defined as sequence of statement in RFC6020, Section 6.3. this model is also correct for YIN, which is XML serialisation of YANG source.
Statements are represented as instances / subclasses of
ModelStatement
concept and its two subconcepts which are:
-
DeclaredStatement
- this contains navigable set of statements model as they was defined / present in original processed sources. EffectiveStatement
- navigable set of statements which represents effective model of parsed YANG sources, which is derived by rules present in YANG specification and/or was introduced in form of extensions.
Clear separation of declared / effective model is needed, since statement definition also
contains information how effective model is computed and there is no one to one mapping
between declared and effective model thanks to statements such as uses
,
augment
,deviate
,refine
.
Identifiers and Namespaces
Effective model of YANG has several identifier types and namespaces, which behaves differently and are mostly used during processing data and/or during computing effective (semantic) model.
Common abstraction for various types of namespaces is
IdentifierNamespace
from which concrete effective model namespaces are derived.
-
Interface Summary Interface Description DeclarationInFile ADeclarationReference
to something which resembles file.DeclarationInText ADeclarationReference
to a position within a some text document.DeclarationReference Reference to a statement declaration.DeclaredStatement<A> Represents declared statement.EffectiveStatement<A,D extends DeclaredStatement<A>> Effective model statement which should be used to derive application behaviour.ModelStatement<A> Model statement.StatementDefinition Definition / model of YANGDeclaredStatement
andEffectiveStatement
. -
Class Summary Class Description AbstractStatementDefinition Abstract utility class to handle StatementArgumentDefinition aspect ofStatementDefinition
.ArgumentDefinition DefaultStatementDefinition<A,D extends DeclaredStatement<A>,E extends EffectiveStatement<A,D>> Default implementation of theStatementDefinition
contract.IdentifierNamespace<K,V> Common base class for various YANG statement namespaces. -
Enum Summary Enum Description StatementOrigin Enumeration of possible origins of a statement.