1 /*
2  * Jakarta Bean Validation API
3  *
4  * License: Apache License, Version 2.0
5  * See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>.
6  */

7 package javax.validation;
8
9 /**
10  * Enum of possible kinds of elements encountered in Jakarta Bean Validation.
11  * <p>
12  * Mostly elements that can be constrained and described in the metadata
13  * but also elements that can be part of a {@link Path} and represented
14  * by a {@link Path.Node}
15  *
16  * @author Emmanuel Bernard
17  * @author Gunnar Morling
18  * @author Guillaume Smet
19  *
20  * @since 1.1
21  */

22 public enum ElementKind {
23     /**
24      * A Java Bean or object.
25      */

26     BEAN,
27
28     /**
29      * A property of a Java Bean.
30      */

31     PROPERTY,
32
33     /**
34      * A method.
35      */

36     METHOD,
37
38     /**
39      * A constructor.
40      */

41     CONSTRUCTOR,
42
43     /**
44      * A parameter of a method or constructor.
45      */

46     PARAMETER,
47
48     /**
49      * Element holding cross-parameter constraints of a method or constructor.
50      */

51     CROSS_PARAMETER,
52
53     /**
54      * The return value of a method or constructor.
55      */

56     RETURN_VALUE,
57
58     /**
59      * An element stored in a container, e.g. a key or value of a {@code Map} or an element
60      * of a {@code List}.
61      *
62      * @since 2.0
63      */

64     CONTAINER_ELEMENT
65 }
66