package xdi2.messaging.container; import xdi2.core.Graph; import xdi2.core.syntax.XDIStatement; import xdi2.messaging.container.exceptions.Xdi2MessagingException; import xdi2.messaging.container.execution.ExecutionContext; import xdi2.messaging.operations.Operation; /** * A StatementHandler can execute an XDI operation against a statement given in a cross-reference. * * The AbstractMessagingContainer requests StatementHandler implementations for each * statement given as part of an operation. * * @author markus */ public interface StatementHandler { /** * Executes an XDI operation on a statement. * @param targetStatement The target statement. * @param operation The operation that is being executed. * @param operationResultGraph The result graph. * @param executionContext An "execution context" object for the entire XDI message envelope. */ public void executeOnStatement(XDIStatement targetStatement, Operation operation, Graph operationResultGraph, ExecutionContext executionContext) throws Xdi2MessagingException; }