Interface DeclaredStatement<A>

Type Parameters:
A - Argument type (Empty if statement does not have argument.)
All Superinterfaces:
ModelStatement<A>
All Known Subinterfaces:
ActionStatement, ActionStatementAwareDeclaredStatement<A>, AliasStatement, AnnotationStatement, AnydataStatement, AnyxmlStatement, ArgumentStatement, AugmentIdentifierStatement, AugmentStatement, BaseStatement, BelongsToStatement, BitStatement, CaseStatement, ChoiceStatement, ConfigStatement, ConfigStatementAwareDeclaredStatement<A>, ConstrainedDocumentedDeclaredStatement<T>, ConstrainedDocumentedDeclaredStatement.WithStatus<T>, ContactStatement, ContainerStatement, ContextInstanceStatement, ContextReferenceStatement, DataDefinitionAwareDeclaredStatement<A>, DataDefinitionAwareDeclaredStatement.WithReusableDefinitions<A>, DataDefinitionStatement, DefaultDenyAllStatement, DefaultDenyWriteStatement, DefaultStatement, DefaultStatementAwareDeclaredStatement, DefValStatement, DescriptionStatement, DeviateStatement, DeviationStatement, DisplayHintStatement, DocumentedDeclaredStatement<T>, DocumentedDeclaredStatement.WithStatus<T>, EnumStatement, ErrorAppTagStatement, ErrorMessageStatement, ExtensionStatement, FeatureStatement, FractionDigitsStatement, GetFilterElementAttributesStatement, GroupingStatement, IdentityStatement, IfFeatureAwareDeclaredStatement<A>, IfFeatureStatement, ImpliedStatement, ImportStatement, IncludeStatement, InputStatement, InstanceTargetStatement, KeyStatement, LeafListStatement, LeafStatement, LengthStatement, ListStatement, MandatoryStatement, MandatoryStatementAwareDeclaredStatement<T>, MaxAccessStatement, MaxElementsStatement, MinElementsStatement, ModifierStatement, ModuleStatement, ModuleTagStatement, MountPointStatement, MountStatement, MultipleElementsDeclaredStatement, MustStatement, MustStatementAwareDeclaredStatement<A>, NamespaceStatement, NotificationStatement, NotificationStatementAwareDeclaredStatement<A>, OidStatement, OpenConfigHashedValueStatement, OpenConfigPosixPatternStatement, OpenConfigRegexpPosixStatement, OpenConfigVersionStatement, OperationDeclaredStatement, OrderedByStatement, OrganizationStatement, OutputStatement, PathStatement, PatternStatement, PositionStatement, PrefixStatement, PresenceStatement, RangeStatement, ReferenceStatement, RefineStatement, RequireInstanceStatement, RevisionDateStatement, RevisionStatement, RootDeclaredStatement, RpcContextReferenceStatement, RpcStatement, StatusStatement, SubIdStatement, SubmoduleStatement, SubscriptionStateNotificationStatement, TypeAwareDeclaredStatement<A>, TypedefStatement, TypeStatement, TypeStatement.BinarySpecification, TypeStatement.BitsSpecification, TypeStatement.Decimal64Specification, TypeStatement.EnumSpecification, TypeStatement.IdentityRefSpecification, TypeStatement.InstanceIdentifierSpecification, TypeStatement.LeafrefSpecification, TypeStatement.NumericalRestrictions, TypeStatement.StringRestrictions, TypeStatement.UnionSpecification, UniqueStatement, UnitsStatement, UnknownStatement<A>, UnrecognizedStatement, UsesStatement, ValueStatement, WhenStatement, WhenStatementAwareDeclaredStatement<A>, YangDataStatement, YangVersionStatement, YinElementStatement
All Known Implementing Classes:
AbstractDeclaredStatement, AbstractDeclaredStatement, AbstractDeclaredStatement.ArgumentToString, AbstractDeclaredStatement.ArgumentToString.WithSubstatements, AbstractDeclaredStatement.WithArgument, AbstractDeclaredStatement.WithArgument.WithSubstatements, AbstractDeclaredStatement.WithoutArgument, AbstractDeclaredStatement.WithoutArgument.WithSubstatements, AbstractDeclaredStatement.WithQNameArgument, AbstractDeclaredStatement.WithQNameArgument.WithSubstatements, AbstractDeclaredStatement.WithRawArgument, AbstractDeclaredStatement.WithRawArgument.WithSubstatements, AbstractDeclaredStatement.WithRawStringArgument, AbstractDeclaredStatement.WithRawStringArgument.WithSubstatements, AbstractRefStatement, DeviateStatementImpl, DeviationStatementImpl, EmptyActionStatement, EmptyAnydataStatement, EmptyAnyxmlStatement, EmptyArgumentStatement, EmptyAugmentStatement, EmptyBaseStatement, EmptyBelongsToStatement, EmptyBitStatement, EmptyCaseStatement, EmptyChoiceStatement, EmptyConfigStatement, EmptyContactStatement, EmptyContainerStatement, EmptyDefaultStatement, EmptyDescriptionStatement, EmptyEnumStatement, EmptyErrorAppTagStatement, EmptyErrorMessageStatement, EmptyExtensionStatement, EmptyFeatureStatement, EmptyFractionDigitsStatement, EmptyGroupingStatement, EmptyIdentityStatement, EmptyIfFeatureStatement, EmptyIncludeStatement, EmptyInputStatement, EmptyKeyStatement, EmptyLeafListStatement, EmptyLeafStatement, EmptyLengthStatement, EmptyListStatement, EmptyMandatoryStatement, EmptyMaxElementsStatement, EmptyMinElementsStatement, EmptyModifierStatement, EmptyMustStatement, EmptyNamespaceStatement, EmptyNotificationStatement, EmptyOrderedByStatement, EmptyOrganizationStatement, EmptyOutputStatement, EmptyPathStatement, EmptyPatternStatement, EmptyPositionStatement, EmptyPrefixStatement, EmptyPresenceStatement, EmptyRangeStatement, EmptyReferenceStatement, EmptyRequireInstanceStatement, EmptyRevisionDateStatement, EmptyRevisionStatement, EmptyRpcStatement, EmptyStatusStatement, EmptyTypedefStatement, EmptyTypeStatement, EmptyUniqueStatement, EmptyUnitsStatement, EmptyUsesStatement, EmptyValueStatement, EmptyWhenStatement, EmptyYangVersionStatement, EmptyYinElementStatement, ForwardingDeclaredStatement, ImportStatementImpl, ModuleStatementImpl, RefActionStatement, RefAnydataStatement, RefAnyxmlStatement, RefArgumentStatement, RefAugmentStatement, RefBaseStatement, RefBelongsToStatement, RefBitsSpecification, RefBitStatement, RefCaseStatement, RefChoiceStatement, RefConfigStatement, RefContactStatement, RefContainerStatement, RefDefaultStatement, RefDescriptionStatement, RefDeviateStatement, RefDeviationStatement, RefEnumStatement, RefErrorAppTagStatement, RefErrorMessageStatement, RefExtensionStatement, RefFeatureStatement, RefFractionDigitsStatement, RefGroupingStatement, RefIdentityStatement, RefIfFeatureStatement, RefImportStatement, RefIncludeStatement, RefineStatementImpl, RefInputStatement, RefKeyStatement, RefLeafListStatement, RefLeafStatement, RefLengthStatement, RefListStatement, RefMandatoryStatement, RefMaxElementsStatement, RefMinElementsStatement, RefModifierStatement, RefModuleStatement, RefMustStatement, RefNamespaceStatement, RefNotificationStatement, RefOrderedByStatement, RefOrganizationStatement, RefOutputStatement, RefPathStatement, RefPatternStatement, RefPositionStatement, RefPrefixStatement, RefPresenceStatement, RefRangeStatement, RefReferenceStatement, RefRefineStatement, RefRequireInstanceStatement, RefRevisionDateStatement, RefRevisionStatement, RefRpcStatement, RefStatusStatement, RefSubmoduleStatement, RefTypedefStatement, RefTypeStatement, RefUniqueStatement, RefUnitsStatement, RefUnrecognizedStatement, RefUsesStatement, RefValueStatement, RefWhenStatement, RefYangVersionStatement, RefYinElementStatement, RegularActionStatement, RegularAnydataStatement, RegularAnyxmlStatement, RegularArgumentStatement, RegularAugmentStatement, RegularBaseStatement, RegularBelongsToStatement, RegularBitStatement, RegularCaseStatement, RegularChoiceStatement, RegularConfigStatement, RegularContactStatement, RegularContainerStatement, RegularDefaultStatement, RegularDescriptionStatement, RegularEnumStatement, RegularErrorAppTagStatement, RegularErrorMessageStatement, RegularExtensionStatement, RegularFeatureStatement, RegularFractionDigitsStatement, RegularGroupingStatement, RegularIdentityStatement, RegularIfFeatureStatement, RegularIncludeStatement, RegularInputStatement, RegularKeyStatement, RegularLeafListStatement, RegularLeafStatement, RegularLengthStatement, RegularListStatement, RegularMandatoryStatement, RegularMaxElementsStatement, RegularMinElementsStatement, RegularModifierStatement, RegularMustStatement, RegularNamespaceStatement, RegularNotificationStatement, RegularOrderedByStatement, RegularOrganizationStatement, RegularOutputStatement, RegularPathStatement, RegularPatternStatement, RegularPositionStatement, RegularPrefixStatement, RegularPresenceStatement, RegularRangeStatement, RegularReferenceStatement, RegularRequireInstanceStatement, RegularRevisionDateStatement, RegularRevisionStatement, RegularRpcStatement, RegularStatusStatement, RegularTypedefStatement, RegularTypeStatement, RegularUniqueStatement, RegularUnitsStatement, RegularUsesStatement, RegularValueStatement, RegularWhenStatement, RegularYangVersionStatement, RegularYinElementStatement, SubmoduleStatementImpl, UnrecognizedStatementImpl

public non-sealed interface DeclaredStatement<A> extends ModelStatement<A>
Represents declared statement.
  • Method Details

    • rawArgument

      @Nullable String rawArgument()
      Returns statement argument as was present in original source.
      Returns:
      statement argument as was present in original source or null, if statement does not take argument.
    • declaredSubstatements

      @NonNull List<? extends DeclaredStatement<?>> declaredSubstatements()
      Returns collection of explicitly declared child statements, while preserving its original ordering from original source.
      Returns:
      Collection of statements, which were explicitly declared in source of model.
    • declaredSubstatements

      default <T extends DeclaredStatement<?>> @NonNull Collection<? extends T> declaredSubstatements(Class<T> type)
      Returns collection of explicitly declared child statements, while preserving its original ordering from original source.
      Type Parameters:
      T - substatement type
      Parameters:
      type - DeclaredStatement type
      Returns:
      Collection of statements, which were explicitly declared in source of model.
      Throws:
      NullPointerException - if type is null
    • declarationReference

      @Beta default @NonNull Optional<DeclarationReference> declarationReference()
      Returns a DeclarationReference associated with this statement, if available.
      Returns:
      A DeclarationReference associated with this statement or Optional.empty().
      API Note:
      This method does not contribute any semantic information and is provided purely as a conduit for implementation-specific information where a statement instance came from.
      Implementation Requirements:
      The default implementation returns Optional.empty().
    • findFirstDeclaredSubstatement

      @Beta default <T extends DeclaredStatement<?>> @NonNull Optional<T> findFirstDeclaredSubstatement(@NonNull Class<T> type)
      Find the first effective substatement of specified type.
      Type Parameters:
      T - substatement type
      Parameters:
      type - DeclaredStatement type
      Returns:
      First declared substatement, or empty if no match is found.
      Throws:
      NullPointerException - if type is null
    • findFirstDeclaredSubstatementArgument

      @Beta default <V, T extends DeclaredStatement<V>> @NonNull Optional<V> findFirstDeclaredSubstatementArgument(@NonNull Class<T> type)
      Find the first declared substatement of specified type and return its value.
      Type Parameters:
      T - substatement type
      V - substatement argument type
      Parameters:
      type - DeclaredStatement type
      Returns:
      First declared substatement's argument, or empty if no match is found.
      Throws:
      NullPointerException - if type is null
    • streamDeclaredSubstatements

      @Beta default <T extends DeclaredStatement<?>> @NonNull Stream<T> streamDeclaredSubstatements(@NonNull Class<T> type)
      Find all declared substatements of specified type and return them as a stream.
      Type Parameters:
      T - substatement type
      Parameters:
      type - DeclaredStatement type
      Returns:
      A stream of all declared substatements of specified type.
      Throws:
      NullPointerException - if type is null