* @param <E>
* Effective Statement representation
*/
-public interface StatementSupport<A, D extends DeclaredStatement<A>, E extends EffectiveStatement<A, D>> extends StatementDefinition, StatementFactory<A, D, E> {
+public interface StatementSupport<A, D extends DeclaredStatement<A>, E extends EffectiveStatement<A, D>> extends
+ StatementDefinition, StatementFactory<A, D, E> {
/**
- * Returns public statement definition, which will be present in builded statements.
+ * Returns public statement definition, which will be present in builded
+ * statements.
*
- * Public statement definition may be used to provide different implementation
- * of statement definition, which will not retain any build specific data
- * or context.
+ * Public statement definition may be used to provide different
+ * implementation of statement definition, which will not retain any build
+ * specific data or context.
*
- * @return public statement definition, which will be present in builded statements.
+ * @return public statement definition, which will be present in builded
+ * statements.
*/
- StatementDefinition getPublicView();
+ StatementDefinition getPublicView();
/**
*
* Parses textual representation of argument in object representation.
*
- * @param ctx Context, which may be used to access source-specific namespaces
- * required for parsing.
- * @param value String representation of value, as was present in text source.
+ * @param ctx
+ * Context, which may be used to access source-specific
+ * namespaces required for parsing.
+ * @param value
+ * String representation of value, as was present in text source.
* @return Parsed value
*/
- A parseArgumentValue(StmtContext<?, ?, ?> ctx, String value) throws SourceException;
+ A parseArgumentValue(StmtContext<?, ?, ?> ctx, String value) throws SourceException;
/**
*
* @param stmt
* Context of added statement. No substatement are available.
*/
- void onStatementAdded(StmtContext.Mutable<A, D, E> stmt);
+ void onStatementAdded(StmtContext.Mutable<A, D, E> stmt);
/**
*
* Invoked when statement is closed during
- * {@link ModelProcessingPhase#STATEMENT_DEFINITION} phase.
+ * {@link ModelProcessingPhase#SOURCE_PRE_LINKAGE} phase, only substatements
+ * from this and previous phase are available.
+ *
+ * Implementation may use method to perform actions on this event or
+ * register modification action using
+ * {@link StmtContext.Mutable#newInferenceAction(ModelProcessingPhase)}.
+ *
+ * @param stmt
+ * Context of added statement.
+ */
+ void onPreLinkageDeclared(StmtContext.Mutable<A, D, E> stmt);
+
+ /**
*
* Invoked when statement is closed during
- * {@link ModelProcessingPhase#STATEMENT_DEFINITION} phase, only substatements from
- * this and previous phase are available.
+ * {@link ModelProcessingPhase#SOURCE_LINKAGE} phase, only substatements
+ * from this and previous phase are available.
*
* Implementation may use method to perform actions on this event or
* register modification action using
* @param stmt
* Context of added statement.
*/
- void onLinkageDeclared(StmtContext.Mutable<A, D, E> stmt) throws SourceException;
+ void onLinkageDeclared(StmtContext.Mutable<A, D, E> stmt) throws SourceException;
/**
*
* {@link ModelProcessingPhase#STATEMENT_DEFINITION} phase.
*
* Invoked when statement is closed during
- * {@link ModelProcessingPhase#STATEMENT_DEFINITION} phase, only substatements from
- * this phase are available.
+ * {@link ModelProcessingPhase#STATEMENT_DEFINITION} phase, only
+ * substatements from this phase are available.
*
* Implementation may use method to perform actions on this event or
* register modification action using
* Context of added statement. Argument and statement parent is
* accessible.
*/
- void onStatementDefinitionDeclared(StmtContext.Mutable<A, D, E> stmt) throws SourceException;
+ void onStatementDefinitionDeclared(StmtContext.Mutable<A, D, E> stmt) throws SourceException;
/**
*
* Context of added statement. Argument and statement parent is
* accessible.
*/
- void onFullDefinitionDeclared(StmtContext.Mutable<A, D, E> stmt) throws SourceException;
-
+ void onFullDefinitionDeclared(StmtContext.Mutable<A, D, E> stmt) throws SourceException;
}
\ No newline at end of file