Annotation Interface InterceptApply


@Documented @Retention(RUNTIME) @Target(METHOD) public @interface InterceptApply
Annotation on methods that intercept events before they are applied to an entity (and before any @AssertLegal methods are invoked).

Methods may return null or void to indicate that the event should not be applied. Alternatively, a Stream, Collection or Optional may be returned to map the event into 0 or more (different) events. Any other value that's returned will be applied instead of the input event.

Annotated methods may consist of any number of parameters. If any parameter type is assignable to the loaded aggregate type or any matching child entities it will be injected. Other parameters like event Message will be automatically injected.