File D:\maven-qcr-plugin-testsunitaires\qcr4java\jenkins-master\target\site\qc\core\src\main\java\hudson\RelativePath.java.html

1 package hudson;
2
3 import org.kohsuke.stapler.QueryParameter;
4
5 import java.lang.annotation.Documented;
6 import java.lang.annotation.Retention;
7 import java.lang.annotation.Target;
8
9 import static java.lang.annotation.ElementType.*;
10 import static java.lang.annotation.RetentionPolicy.*;
11
12 /**
13 * Used in conjunction with {@link QueryParameter} to refer to
14 * nearby parameters that belong to different parents.
15 *
16 * <p>
17 * ".." refers
18 * to values in the parent object, and "foo" refers to the child
19 * object of the current object named "foo". They can be combined
20 * with '/' like path, such as "../foo/bar", "../..", and etc.
21 *
22 * <p>
23 * A good way to think about this is the file system structure.
24 * {@code @RelativePath} is like the dirname, and {@code QueryParameter}
25 * is like the basename. Together they form a relative path.
26 * And because of the structured form submissions,
27 * form elements are organized in a tree structure of JSON objects,
28 * which is akin to directories and files.
29 *
30 * <p>
31 * The relative path then points from the current input element
32 * (for which you are doing form validation, for example) to the target
33 * input element that you want to obtain the value.
34 *
35 * @author Kohsuke Kawaguchi
36 * @since 1.376
37 */
38 @Documented
39 @Target(PARAMETER)
40 @Retention(RUNTIME)
41 public @interface RelativePath {
42 String value();
43 }
44