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> AnydataEffectiveStatement
,AnyxmlEffectiveStatement
,ArgumentEffectiveStatement
,AugmentEffectiveStatement
,BaseEffectiveStatement
,BelongsToEffectiveStatement
,BitEffectiveStatement
,CaseEffectiveStatement
,ChoiceEffectiveStatement
,ConfigEffectiveStatement
,ContactEffectiveStatement
,ContainerEffectiveStatement
,DataTreeAwareEffectiveStatement<A,
,D> DataTreeEffectiveStatement<D>
,DefaultEffectiveStatement
,DescriptionEffectiveStatement
,DeviateEffectiveStatement
,DeviationEffectiveStatement
,EnumEffectiveStatement
,ErrorAppTagEffectiveStatement
,ErrorMessageEffectiveStatement
,ExtensionEffectiveStatement
,FeatureEffectiveStatement
,FractionDigitsEffectiveStatement
,GroupingEffectiveStatement
,IdentityEffectiveStatement
,IfFeatureEffectiveStatement
,ImportEffectiveStatement
,IncludeEffectiveStatement
,InputEffectiveStatement
,KeyEffectiveStatement
,LeafEffectiveStatement
,LeafListEffectiveStatement
,LengthEffectiveStatement
,ListEffectiveStatement
,MandatoryEffectiveStatement
,MaxElementsEffectiveStatement
,MinElementsEffectiveStatement
,ModifierEffectiveStatement
,ModuleEffectiveStatement
,MustEffectiveStatement
,NamespaceEffectiveStatement
,NotificationEffectiveStatement
,NotificationNodeContainerCompat<A,
,D, E> OrderedByAwareEffectiveStatement<A,
,D> OrderedByEffectiveStatement
,OrganizationEffectiveStatement
,OutputEffectiveStatement
,PathEffectiveStatement
,PatternEffectiveStatement
,PositionEffectiveStatement
,PrefixEffectiveStatement
,PresenceEffectiveStatement
,RangeEffectiveStatement
,ReferenceEffectiveStatement
,RefineEffectiveStatement
,RequireInstanceEffectiveStatement
,RevisionDateEffectiveStatement
,RevisionEffectiveStatement
,RootEffectiveStatement<D>
,RpcEffectiveStatement
,SchemaTreeAwareEffectiveStatement<A,
,D> SchemaTreeEffectiveStatement<D>
,StatusEffectiveStatement
,SubmoduleEffectiveStatement
,TypedefAwareEffectiveStatement<A,
,D> TypedefEffectiveStatement
,TypeEffectiveStatement<T>
,UniqueEffectiveStatement
,UnitsEffectiveStatement
,UnknownEffectiveStatement<A,
,D> UsesEffectiveStatement
,ValueEffectiveStatement
,WhenEffectiveStatement
,YangVersionEffectiveStatement
,YinElementEffectiveStatement
- All Known Implementing Classes:
AbstractEffectiveStatement
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 TypeMethodDescriptiondefault <Z extends EffectiveStatement<?,
?>>
@NonNull Collection<Z>collectEffectiveSubstatements
(@NonNull Class<Z> stmt) @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.@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.
-
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.
-
collectEffectiveSubstatements
@Beta default <Z extends EffectiveStatement<?,?>> @NonNull Collection<Z> collectEffectiveSubstatements(@NonNull Class<Z> stmt)
-