Package com.tnsai.actions.contracts
Interface ActionContract
public interface ActionContract
Optional contract interface for roles that want to enforce pre/post conditions.
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidRuns before and after to ensure invariants hold.default voidvalidatePostConditions(ActionMetadata action, Object result) Runs after the action returns.default voidvalidatePreConditions(ActionMetadata action, Map<String, Object> parameters) Runs before the action is invoked.
-
Method Details
-
validatePreConditions
default void validatePreConditions(ActionMetadata action, Map<String, Object> parameters) throws ValidationExceptionRuns before the action is invoked. ThrowValidationExceptionto cancel execution.- Throws:
ValidationException
-
validatePostConditions
default void validatePostConditions(ActionMetadata action, Object result) throws ValidationException Runs after the action returns. ThrowValidationExceptionto signal invalid result.- Throws:
ValidationException
-
validateInvariants
Runs before and after to ensure invariants hold.- Throws:
ValidationException
-