Interface EffectiveStatement<A,D extends DeclaredStatement<A>>
- Type Parameters:
A
- Argument type (Empty
if statement does not have argument.)D
- Class representing declared version of this statement.
- All Superinterfaces:
ModelStatement<A>
- All Known Subinterfaces:
ActionEffectiveStatement
,ActionNodeContainerCompat<A,
,D, E> AliasEffectiveStatement
,AnnotationEffectiveStatement
,AnydataEffectiveStatement
,AnyxmlEffectiveStatement
,ArgumentEffectiveStatement
,AugmentEffectiveStatement
,AugmentIdentifierEffectiveStatement
,BaseEffectiveStatement
,BelongsToEffectiveStatement
,BitEffectiveStatement
,CaseEffectiveStatement
,ChoiceEffectiveStatement
,ConfigEffectiveStatement
,ContactEffectiveStatement
,ContainerEffectiveStatement
,ContextInstanceEffectiveStatement
,ContextReferenceEffectiveStatement
,DataTreeAwareEffectiveStatement<A,
,D> DataTreeEffectiveStatement<D>
,DefaultDenyAllEffectiveStatement
,DefaultDenyWriteEffectiveStatement
,DefaultEffectiveStatement
,DefValEffectiveStatement
,DescriptionEffectiveStatement
,DeviateEffectiveStatement
,DeviationEffectiveStatement
,DisplayHintEffectiveStatement
,EffectiveStatementMixins.ActionNodeContainerMixin<A,
,D> EffectiveStatementMixins.AddedByUsesMixin<A,
,D> EffectiveStatementMixins.AugmentationTargetMixin<A,
,D> EffectiveStatementMixins.ConstraintMetaDefinitionMixin<A,
,D> EffectiveStatementMixins.CopyableMixin<A,
,D> EffectiveStatementMixins.DataNodeContainerMixin<A,
,D> EffectiveStatementMixins.DataSchemaNodeMixin<D>
,EffectiveStatementMixins.DocumentedNodeMixin<A,
,D> EffectiveStatementMixins.DocumentedNodeMixin.WithStatus<A,
,D> EffectiveStatementMixins.EffectiveStatementWithFlags<A,
,D> EffectiveStatementMixins.MandatoryMixin<A,
,D> org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.Mixin<A,
,D> EffectiveStatementMixins.MustConstraintMixin<A,
,D> EffectiveStatementMixins.NotificationNodeContainerMixin<A,
,D> EffectiveStatementMixins.OpaqueDataSchemaNodeMixin<D>
,EffectiveStatementMixins.OperationContainerMixin<D>
,EffectiveStatementMixins.OperationDefinitionMixin<D>
,EffectiveStatementMixins.PresenceMixin<A,
,D> EffectiveStatementMixins.SchemaNodeMixin<D>
,EffectiveStatementMixins.UnknownSchemaNodeMixin<A,
,D> EffectiveStatementMixins.UserOrderedAwareMixin<A,
,D, E> EffectiveStatementMixins.WhenConditionMixin<A,
,D> EnumEffectiveStatement
,ErrorAppTagEffectiveStatement
,ErrorMessageEffectiveStatement
,ExtensionEffectiveStatement
,FeatureEffectiveStatement
,FractionDigitsEffectiveStatement
,GetFilterElementAttributesEffectiveStatement
,GroupingEffectiveStatement
,IdentityEffectiveStatement
,IfFeatureEffectiveStatement
,ImpliedEffectiveStatement
,ImportEffectiveStatement
,IncludeEffectiveStatement
,InputEffectiveStatement
,InstanceTargetEffectiveStatement
,KeyEffectiveStatement
,LeafEffectiveStatement
,LeafListEffectiveStatement
,LengthEffectiveStatement
,ListEffectiveStatement
,MandatoryEffectiveStatement
,MaxAccessEffectiveStatement
,MaxElementsEffectiveStatement
,MinElementsEffectiveStatement
,ModifierEffectiveStatement
,ModuleEffectiveStatement
,ModuleTagEffectiveStatement
,MountEffectiveStatement
,MountPointEffectiveStatement
,MustEffectiveStatement
,NamespacedEffectiveStatement<D>
,NamespaceEffectiveStatement
,NotificationEffectiveStatement
,NotificationNodeContainerCompat<A,
,D, E> OidEffectiveStatement
,OpenConfigHashedValueEffectiveStatement
,OpenConfigPosixPatternEffectiveStatement
,OpenConfigRegexpPosixEffectiveStatement
,OpenConfigVersionEffectiveStatement
,OrderedByAwareEffectiveStatement<A,
,D> OrderedByEffectiveStatement
,OrganizationEffectiveStatement
,OutputEffectiveStatement
,PathEffectiveStatement
,PatternEffectiveStatement
,PositionEffectiveStatement
,PrefixEffectiveStatement
,PresenceEffectiveStatement
,RangeEffectiveStatement
,ReferenceEffectiveStatement
,RefineEffectiveStatement
,RequireInstanceEffectiveStatement
,RevisionDateEffectiveStatement
,RevisionEffectiveStatement
,RpcContextReferenceEffectiveStatement
,RpcEffectiveStatement
,SchemaTreeAwareEffectiveStatement<A,
,D> SchemaTreeEffectiveStatement<D>
,StatusEffectiveStatement
,SubIdEffectiveStatement
,SubmoduleEffectiveStatement
,SubscriptionStateNotificationEffectiveStatement
,TypedefEffectiveStatement
,TypeEffectiveStatement<T>
,UniqueEffectiveStatement
,UnitsEffectiveStatement
,UnknownEffectiveStatement<A,
,D> UsesEffectiveStatement
,ValueEffectiveStatement
,WhenEffectiveStatement
,YangDataEffectiveStatement
,YangVersionEffectiveStatement
,YinElementEffectiveStatement
- All Known Implementing Classes:
AbstractChoiceEffectiveStatement
,AbstractContainerEffectiveStatement
,AbstractDeclaredEffectiveStatement
,AbstractDeclaredEffectiveStatement.Default
,AbstractDeclaredEffectiveStatement.DefaultArgument
,AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements
,AbstractDeclaredEffectiveStatement.DefaultWithArgument
,AbstractDeclaredEffectiveStatement.DefaultWithArgument.WithSubstatements
,AbstractDeclaredEffectiveStatement.DefaultWithDataTree
,AbstractDeclaredEffectiveStatement.DefaultWithDataTree.WithTypedefNamespace
,AbstractDeclaredEffectiveStatement.DefaultWithSchemaTree
,AbstractDeclaredEffectiveStatement.WithDataTree
,AbstractDeclaredEffectiveStatement.WithSchemaTree
,AbstractEffectiveModule
,AbstractEffectiveStatement
,AbstractEffectiveUnknownSchmemaNode
,AbstractGroupingEffectiveStatement
,AbstractLeafEffectiveStatement
,AbstractUndeclaredEffectiveStatement
,AbstractUndeclaredEffectiveStatement.DefaultWithDataTree
,AbstractUndeclaredEffectiveStatement.DefaultWithSchemaTree
,AbstractUndeclaredEffectiveStatement.WithDataTree
,AbstractUndeclaredEffectiveStatement.WithSchemaTree
,ActionEffectiveStatementImpl
,AugmentEffectiveStatementImpl
,DeclaredCaseEffectiveStatement
,DeclaredInputEffectiveStatement
,DeclaredOutputEffectiveStatement
,DeviateEffectiveStatementImpl
,DeviationEffectiveStatementImpl
,EmptyAnydataEffectiveStatement
,EmptyAnyxmlEffectiveStatement
,EmptyArgumentEffectiveStatement
,EmptyBaseEffectiveStatement
,EmptyBelongsToEffectiveStatement
,EmptyBitEffectiveStatement
,EmptyChoiceEffectiveStatement
,EmptyConfigEffectiveStatement
,EmptyContactEffectiveStatement
,EmptyContainerEffectiveStatement
,EmptyDefaultEffectiveStatement
,EmptyDescriptionEffectiveStatement
,EmptyEnumEffectiveStatement
,EmptyErrorAppTagEffectiveStatement
,EmptyErrorMessageEffectiveStatement
,EmptyFeatureEffectiveStatement
,EmptyForeignKeyEffectiveStatement
,EmptyFractionDigitsEffectiveStatement
,EmptyGroupingEffectiveStatement
,EmptyIdentityEffectiveStatement
,EmptyIfFeatureEffectiveStatement
,EmptyIncludeEffectiveStatement
,EmptyLeafEffectiveStatement
,EmptyLeafListEffectiveStatement
,EmptyLengthEffectiveStatement
,EmptyListEffectiveStatement
,EmptyLocalKeyEffectiveStatement
,EmptyMandatoryEffectiveStatement
,EmptyMaxElementsEffectiveStatement
,EmptyMinElementsEffectiveStatement
,EmptyModifierEffectiveStatement
,EmptyMustEffectiveStatement
,EmptyNamespaceEffectiveStatement
,EmptyOrderedByEffectiveStatement
,EmptyOrganizationEffectiveStatement
,EmptyPathEffectiveStatement
,EmptyPatternEffectiveStatement
,EmptyPositionEffectiveStatement
,EmptyPrefixEffectiveStatement
,EmptyPresenceEffectiveStatement
,EmptyRangeEffectiveStatement
,EmptyReferenceEffectiveStatement
,EmptyRequireInstanceEffectiveStatement
,EmptyRevisionDateEffectiveStatement
,EmptyRevisionEffectiveStatement
,EmptyStatusEffectiveStatement
,EmptyUniqueEffectiveStatement
,EmptyUnitsEffectiveStatement
,EmptyValueEffectiveStatement
,EmptyWhenEffectiveStatement
,EmptyYangVersionEffectiveStatement
,EmptyYinElementEffectiveStatement
,ExtensionEffectiveStatementImpl
,ImportEffectiveStatementImpl
,NotificationEffectiveStatementImpl
,RefineEffectiveStatementImpl
,RegularAnydataEffectiveStatement
,RegularAnyxmlEffectiveStatement
,RegularArgumentEffectiveStatement
,RegularBaseEffectiveStatement
,RegularBelongsToEffectiveStatement
,RegularBitEffectiveStatement
,RegularChoiceEffectiveStatement
,RegularConfigEffectiveStatement
,RegularContactEffectiveStatement
,RegularContainerEffectiveStatement
,RegularDefaultEffectiveStatement
,RegularDescriptionEffectiveStatement
,RegularEnumEffectiveStatement
,RegularErrorAppTagEffectiveStatement
,RegularErrorMessageEffectiveStatement
,RegularFeatureEffectiveStatement
,RegularForeignKeyEffectiveStatement
,RegularFractionDigitsEffectiveStatement
,RegularGroupingEffectiveStatement
,RegularIdentityEffectiveStatement
,RegularIfFeatureEffectiveStatement
,RegularIncludeEffectiveStatement
,RegularLeafEffectiveStatement
,RegularLeafListEffectiveStatement
,RegularLengthEffectiveStatement
,RegularListEffectiveStatement
,RegularLocalKeyEffectiveStatement
,RegularMandatoryEffectiveStatement
,RegularMaxElementsEffectiveStatement
,RegularMinElementsEffectiveStatement
,RegularModifierEffectiveStatement
,RegularMustEffectiveStatement
,RegularNamespaceEffectiveStatement
,RegularOrderedByEffectiveStatement
,RegularOrganizationEffectiveStatement
,RegularPathEffectiveStatement
,RegularPatternEffectiveStatement
,RegularPositionEffectiveStatement
,RegularPrefixEffectiveStatement
,RegularPresenceEffectiveStatement
,RegularRangeEffectiveStatement
,RegularReferenceEffectiveStatement
,RegularRequireInstanceEffectiveStatement
,RegularRevisionDateEffectiveStatement
,RegularRevisionEffectiveStatement
,RegularStatusEffectiveStatement
,RegularUniqueEffectiveStatement
,RegularUnitsEffectiveStatement
,RegularValueEffectiveStatement
,RegularWhenEffectiveStatement
,RegularYangVersionEffectiveStatement
,RegularYinElementEffectiveStatement
,RpcEffectiveStatementImpl
,SlimLeafListEffectiveStatement
,TypedefEffectiveStatementImpl
,UndeclaredCaseEffectiveStatement
,UndeclaredInputEffectiveStatement
,UndeclaredLeafEffectiveStatement
,UndeclaredOutputEffectiveStatement
public non-sealed interface EffectiveStatement<A,D extends DeclaredStatement<A>>
extends ModelStatement<A>
Effective model statement which should be used to derive application behaviour.
-
Method Summary
Modifier and TypeMethodDescription@NonNull List<? extends @NonNull EffectiveStatement<?,
?>> Returns a collection of all effective substatements.default <T> Optional<T>
findFirstEffectiveSubstatement
(@NonNull Class<T> type) Find the first effective substatement of specified type.default <V,
T extends EffectiveStatement<V, ?>>
Optional<V>findFirstEffectiveSubstatementArgument
(@NonNull Class<T> type) Find the first effective substatement of specified type and return its value.<K,
V, N extends IdentifierNamespace<K, V>>
@NonNull Optional<V>Returns value associated with supplied identifier.<K,
V, N extends IdentifierNamespace<K, V>>
@NonNull Map<K,V> Returns all local values from supplied namespace.@Nullable D
Returns statement, which was explicit declaration of this effective statement.default @NonNull StatementOrigin
ReturnsStatementOrigin
, which denotes if statement was explicitly declared in original model or inferred during semantic processing of model.default <T extends EffectiveStatement<?,
?>>
Stream<T>streamEffectiveSubstatements
(@NonNull Class<T> type) Find all effective substatements of specified type and return them as a stream.Methods inherited from interface org.opendaylight.yangtools.yang.model.api.meta.ModelStatement
argument, statementDefinition
-
Method Details
-
statementOrigin
ReturnsStatementOrigin
, which denotes if statement was explicitly declared in original model or inferred during semantic processing of model.Implementations are required to return a
StatementOrigin
, consistent withgetDeclared()
nullness. This is what the default implementation does and hence this method should never be explicitly implemented -- unless there is significant cost to thegetDeclared()
implementation.- Returns:
- statement origin.
-
getDeclared
@Nullable D getDeclared()Returns statement, which was explicit declaration of this effective statement.- Returns:
- statement, which was explicit declaration of this effective statement or null if statement was inferred from context.
-
get
<K,V, @NonNull Optional<V> getN extends IdentifierNamespace<K, V>> (@NonNull Class<N> namespace, @NonNull K identifier) Returns value associated with supplied identifier.- Type Parameters:
K
- Identifier typeV
- Value typeN
- Namespace identifier type- Parameters:
namespace
- Namespace typeidentifier
- Identifier of element.- Returns:
- Value if present
-
getAll
Returns all local values from supplied namespace.- Type Parameters:
K
- Identifier typeV
- Value typeN
- Namespace identifier type- Parameters:
namespace
- Namespace type- Returns:
- Key-value mappings, empty if the namespace does not exist.
- Throws:
NullPointerException
- if namespace is null
-
effectiveSubstatements
@NonNull List<? extends @NonNull EffectiveStatement<?,?>> effectiveSubstatements()Returns a collection of all effective substatements.- Returns:
- collection of all effective substatements.
-
findFirstEffectiveSubstatement
Find the first effective substatement of specified type.- Type Parameters:
T
- substatement type- Parameters:
type
- substatement type- Returns:
- First effective substatement, or empty if no match is found.
-
findFirstEffectiveSubstatementArgument
@Beta default <V,T extends EffectiveStatement<V, Optional<V> findFirstEffectiveSubstatementArgument?>> (@NonNull Class<T> type) Find the first effective substatement of specified type and return its value.- Type Parameters:
T
- substatement typeV
- substatement argument type- Parameters:
type
- substatement type- Returns:
- First effective substatement's argument, or empty if no match is found.
-
streamEffectiveSubstatements
@Beta default <T extends EffectiveStatement<?,?>> Stream<T> streamEffectiveSubstatements(@NonNull Class<T> type) Find all effective substatements of specified type and return them as a stream.- Type Parameters:
T
- substatement type- Parameters:
type
- substatement type- Returns:
- A stream of all effective substatements of specified type.
-