|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Retention(value=RUNTIME) @Target(value={FIELD,PARAMETER}) @Documented @InjectionScope public @interface SideEffectFor
This annotation is required once in each SideEffect, to mark the field where the element providing the invocation result should be injected.
The type of the field must be of the same type as the SideEffect itself, or an InvocationHandler. Example;
public interface MyStuff
{
SomeResult doSomething();
}
public class MyStuffSideEffect
implements MyStuff
{
@SideEffectFor MyStuff next;
public SomeResult doSomething()
{
SomeResult result = next.doSomething();
// HERE DO THE SIDEEFFECT STUFF.
return result; // Result value is ignored, null would work too.
}
}
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |