Interface BindingRuntimeTypes
- All Superinterfaces:
Immutable,RuntimeTypeContainer
The result of BindingGenerator run. Contains mapping between Types and SchemaNodes.
-
Method Summary
Modifier and TypeMethodDescription@NonNull Set<CaseRuntimeType> allCaseChildren(ChoiceRuntimeType choiceType) Lookup to allCaseRuntimeTypes related to aChoiceRuntimeType.findModule(QNameModule module) findSchema(org.opendaylight.yangtools.binding.model.api.JavaTypeName typeName) findYangData(YangDataName templateName) @Nullable IdentityRuntimeTypeidentityChild(@NonNull QName qname) LookupIdentityRuntimeTypeby its QNamme.@NonNull EffectiveModelContextReturn theEffectiveModelContextunderlying this object.default @Nullable RuntimeTypeMethods inherited from interface org.opendaylight.yangtools.binding.runtime.api.RuntimeTypeContainer
bindingChild, bindingChild, schemaTreeChild
-
Method Details
-
modelContext
@NonNull EffectiveModelContext modelContext()Return theEffectiveModelContextunderlying this object.- Returns:
- the
EffectiveModelContextunderlying this object
-
identityChild
LookupIdentityRuntimeTypeby its QNamme.- Parameters:
qname- Identity name- Returns:
IdentityRuntimeTypeornull- Throws:
NullPointerException- ifqnameisnull
-
findSchema
Optional<RuntimeType> findSchema(org.opendaylight.yangtools.binding.model.api.JavaTypeName typeName) -
findModule
-
findYangData
-
schemaTreeChild
-
allCaseChildren
Lookup to allCaseRuntimeTypes related to aChoiceRuntimeType. This is important when dealing with sharing incurred by Binding Spec's reuse of constructs defined in agrouping.As an example, consider
ChoiceRuntimeTypeandCaseRuntimeTyperelationship toGeneratedTypes in the following model:
YANG view of what is valid ingrouping grp { container foo { choice bar; } } container foo { uses grp; } container bar { uses grp; } augment /foo/foo/bar { case baz } augment /bar/foo/bar { case xyzzy; }/foo/foo/bardiffers from what is valid in/bar/foo/bar, but this difference is not reflected in generated Java constructs. More notably, the two augments being in different modules. Sincechoice bar's is part of a reusable construct,grouping one, DataObjects' copy builders can propagate them without translating them to the appropriate manifestation -- and they can do nothing about that as they lack the complete view of the effective model.This method provides a bridge between a particular instantiation of a
choicetoCaseRuntimeTypes valid in all instantiations.- Parameters:
choiceType- A ChoiceRuntimeType- Returns:
- The set of
CaseRuntimeTypes known to this instance - Throws:
NullPointerException- ifChoiceRuntimeTypeis null
-