Changed identifiers to concept identifiers
[policy/models.git] / models-base / src / main / java / org / onap / policy / models / base / validation / annotations / PfItems.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.models.base.validation.annotations;
22
23 import static java.lang.annotation.ElementType.FIELD;
24 import static java.lang.annotation.RetentionPolicy.RUNTIME;
25
26 import java.lang.annotation.Retention;
27 import java.lang.annotation.Target;
28 import org.intellij.lang.annotations.Pattern;
29 import org.onap.policy.common.parameters.annotations.Max;
30 import org.onap.policy.common.parameters.annotations.Min;
31 import org.onap.policy.common.parameters.annotations.NotBlank;
32 import org.onap.policy.common.parameters.annotations.NotNull;
33 import org.onap.policy.common.parameters.annotations.Valid;
34
35 /**
36  * Validations on individual items, typically within a collection.
37  */
38 @Retention(RUNTIME)
39 @Target(FIELD)
40 public @interface PfItems {
41
42     /**
43      * Validates the item is not {@code null}.
44      */
45     NotNull[] notNull() default {};
46
47     /**
48      * Validates the item is not blank.
49      */
50     NotBlank[] notBlank() default {};
51
52     /**
53      * Validates the item matches a regular expression.
54      */
55     Pattern[] pattern() default {};
56
57     /**
58      * Validates the item is not greater than a certain value.
59      */
60     Max[] max() default {};
61
62     /**
63      * Validates the item is not less than a certain value.
64      */
65     Min[] min() default {};
66
67     /**
68      * Validates the item is not less than a certain value.
69      */
70     PfMin[] pfMin() default {};
71
72     /**
73      * Validates the item is valid, using a {@link BeanValidator}.
74      */
75     Valid[] valid() default {};
76
77     /**
78      * Validates a key.
79      */
80     VerifyKey[] key() default {};
81
82 }