interface @ConcernFor

Exactly one of this annotation is needed in each Concern. It will be populated with the reference to the next Concern in the Invocation Stack or to the underlying Mixin instance if it is the last Modifier in the Invocation Stack.

If there is no @ConcernFor annotation on any of the member fields of a Modifier, or if there are more than one member field annotated with this annotation, then there will be a RuntimeException thrown.

NOTE: The @ConcernFor annotation should typically not be used. Instead, extend the class ConcernOf<mixintype> for effectively the same thing.

Description

Description goes here...

Declaration

package org.qi4j.api.concern.internal;

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 Concern, to mark the
* field where the next element in the call sequence should be
* injected.
* <p/>
* The type of the field must be of the same type as the Concern
* itself, or an InvocationHandler.
* <p/>
*/
@Retention( RetentionPolicy.RUNTIME )
@Target( { ElementType.FIELD, ElementType.PARAMETER } )
@Documented
@InjectionScope
public @interface ConcernFor
{
}

Example

Example(s) goes here...

Qi4j and the Qi4j logo are trademarks of Richard Öberg, Niclas Hedhman and the members of the Qi4j Core Team. See Qi4j licensing for more information.
Powered by SiteVisionexternal link.