Interface StmtContext<A,​D extends DeclaredStatement<A>,​E extends EffectiveStatement<A,​D>>

    • Method Detail

      • getStatementSource

        @Deprecated(forRemoval=true)
        default @NonNull StatementOrigin getStatementSource()
        Deprecated, for removal: This API element is subject to removal in a future version.
      • rawStatementArgument

        @Deprecated(forRemoval=true)
        default @Nullable String rawStatementArgument()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Return the statement argument in literal format.
        Returns:
        raw statement argument string, or null if this statement does not have an argument.
      • coerceRawStatementArgument

        @Deprecated(forRemoval=true)
        default @NonNull String coerceRawStatementArgument()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Return the statement argument in literal format.
        Returns:
        raw statement argument string
        Throws:
        VerifyException - if this statement does not have an argument
      • getStatementArgument

        @Deprecated(forRemoval=true)
        default @Nullable A getStatementArgument()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Return the statement argument.
        Returns:
        statement argument, or null if this statement does not have an argument
      • coerceStatementArgument

        @Deprecated(forRemoval=true)
        default @NonNull A coerceStatementArgument()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Return the statement argument in literal format.
        Returns:
        raw statement argument string
        Throws:
        VerifyException - if this statement does not have an argument
      • getParentContext

        @Nullable StmtContext<?,​?,​?> getParentContext()
        Return the parent statement context, or null if this is the root statement.
        Returns:
        context of parent of statement, or null if this is the root statement.
      • coerceParentContext

        default @NonNull StmtContext<?,​?,​?> coerceParentContext()
        Return the parent statement context, forcing a VerifyException if this is the root statement.
        Returns:
        context of parent of statement
        Throws:
        VerifyException - if this statement is the root statement
      • getRoot

        @NonNull RootStmtContext<?,​?,​?> getRoot()
        Returns the model root for this statement.
        Returns:
        root context of statement
      • declaredSubstatements

        @NonNull Collection<? extends StmtContext<?,​?,​?>> declaredSubstatements()
        Return declared substatements. These are the statements which are explicitly written in the source model.
        Returns:
        Collection of declared substatements
      • effectiveSubstatements

        @NonNull Collection<? extends StmtContext<?,​?,​?>> effectiveSubstatements()
        Return effective substatements. These are the statements which are added as this statement's substatements complete their effective model phase.
        Returns:
        Collection of declared substatements
      • allSubstatementsStream

        default Stream<? extends StmtContext<?,​?,​?>> allSubstatementsStream()
      • buildEffective

        @NonNull E buildEffective()
        Return the EffectiveStatement for statement context, creating it if required. Implementations of this method are required to memoize the returned object, so that subsequent invocation return the same object.

        If isSupportedToBuildEffective() returns false, this method's behaviour is undefined.

        Returns:
        Effective statement instance.
      • isSupportedToBuildEffective

        boolean isSupportedToBuildEffective()
      • isSupportedByFeatures

        boolean isSupportedByFeatures()
      • getOriginalCtx

        Optional<StmtContext<A,​D,​E>> getOriginalCtx()
        Return the statement context of the original definition, if this statement is an instantiated copy.
        Returns:
        Original definition, if this statement was copied.
      • getPreviousCopyCtx

        Optional<StmtContext<A,​D,​E>> getPreviousCopyCtx()
        Return the context of the previous copy of this statement -- effectively walking towards the source origin of this statement.
        Returns:
        Context of the previous copy of this statement, if this statement has been copied.