001package org.kohsuke.stapler;
002
003import java.lang.annotation.Documented;
004import java.lang.annotation.Retention;
005import java.lang.annotation.Target;
006
007import static java.lang.annotation.ElementType.*;
008import static java.lang.annotation.RetentionPolicy.RUNTIME;
009
010/**
011 * Used on annotations to indicate that it signals a parameter injection in web-bound "doXyz" methods.
012 *
013 * @author Kohsuke Kawaguchi
014 */
015@Retention(RUNTIME)
016@Target(ANNOTATION_TYPE)
017@Documented
018public @interface InjectedParameter {
019    /**
020     * Code that computes the actual value to inject.
021     *
022     * One instance of this is created lazily and reused concurrently.
023     */
024    Class<? extends AnnotationHandler> value();
025}