import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.qi4j.api.injection.InjectionScope;
/**
* This annotation is required once in each SideEffect, to mark the
* field where the element providing the invocation result should be
* injected.
* <p/>
* The type of the field must be of the same type as the SideEffect
* itself, or an InvocationHandler.
* <p/>
*/
@Retention( RetentionPolicy.RUNTIME )
@Target( { ElementType.FIELD, ElementType.PARAMETER } )
@Documented
@InjectionScope
public @interface SideEffectFor
{
}