[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-be / lib / openecomp-sdc-validation-lib / att-sdc-validation-impl / src / main / java / com / att / sdc / validation / datatypes / AttValetGroupTypeValues.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 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 com.att.sdc.validation.datatypes;
22
23 import java.util.ArrayList;
24 import java.util.List;
25 import java.util.Map;
26
27 public enum AttValetGroupTypeValues {
28   EXCLUSIVITY("exclusivity"),
29   AFFINITY("affinity"),
30   DIVERSITY("diversity");
31
32   private static List<String> groupTypeAsStrings;
33
34   static {
35     groupTypeAsStrings = new ArrayList<>();
36     for (AttValetGroupTypeValues attGroupTypeValue : AttValetGroupTypeValues.values()) {
37       groupTypeAsStrings.add(attGroupTypeValue.groupTypeValue);
38     }
39   }
40
41   private String groupTypeValue;
42
43   AttValetGroupTypeValues(String groupTypeValue) {
44     this.groupTypeValue = groupTypeValue;
45   }
46
47   public static boolean isGroupTypeValid(Object groupType) {
48     if (groupType instanceof Map) {
49       return true;
50     }
51     return groupTypeAsStrings.contains(groupType);
52   }
53 }