/* * JBoss, Home of Professional Open Source * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.seam.annotations; import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.Target; import org.jboss.seam.ScopeType; /** * Specifies that a seam component should be injected to * the annotated field or setter method of a seam component. * * @author Gavin King */ @Target({FIELD, METHOD/*, PARAMETER*/}) @Retention(RUNTIME) @Documented public @interface In { /** * The context variable name. Defaults to the name of * the annotated field or getter method. */ String value() default ""; /** * Specifies that a component should be instantiated * if the context variable is null. */ boolean create() default false; /** * Specifies that the injected value must not be * null, by default. */ boolean required() default true; /** * Explicitly specify the scope to search, instead of * searching all scopes. * * More efficient as it avoids scanning all contexts */ ScopeType scope() default ScopeType.UNSPECIFIED; }