DMAAP-83 Initial code import
[dmaap/dbcapi.git] / src / main / java / org / onap / dmaap / dbcapi / model / ReplicationType.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * org.onap.dmaap
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 package org.onap.dmaap.dbcapi.model;
21
22 import java.util.HashMap;
23 import java.util.Map;
24
25 import javax.xml.bind.annotation.XmlRootElement;
26
27
28 @XmlRootElement
29 public enum ReplicationType {
30         REPLICATION_NOT_SPECIFIED(0),
31         REPLICATION_NONE(1),
32         REPLICATION_EDGE_TO_CENTRAL(10),
33         REPLICATION_EDGE_TO_CENTRAL_TO_GLOBAL(110),
34         REPLICATION_CENTRAL_TO_EDGE(20),
35         REPLICATION_CENTRAL_TO_GLOBAL(21),
36         REPLICATION_GLOBAL_TO_CENTRAL(30),
37         REPLICATION_GLOBAL_TO_CENTRAL_TO_EDGE(120);
38
39     private int value;
40     private static Map map = new HashMap<>();
41
42     private ReplicationType(int value) {
43         this.value = value;
44     }
45
46     static {
47         for (ReplicationType repType : ReplicationType.values()) {
48             map.put(repType.value, repType);
49         }
50     }
51
52     public static ReplicationType valueOf(int repType) {
53         return (ReplicationType) map.get(repType);
54     }
55
56     public int getValue() {
57         return value;
58     }
59
60     static public ReplicationType Validator( String input ){
61    
62                 ReplicationType t;
63                 try {
64                         t = ReplicationType.valueOf( input );
65                 } catch ( IllegalArgumentException e ) {
66                         t = REPLICATION_NOT_SPECIFIED;
67                 }
68                 return t;
69         }
70
71         public boolean involvesGlobal() {
72                 if ( this.compareTo(REPLICATION_CENTRAL_TO_GLOBAL) == 0 ||
73                                 this.compareTo(REPLICATION_GLOBAL_TO_CENTRAL) == 0 ||
74                                 this.compareTo(REPLICATION_EDGE_TO_CENTRAL_TO_GLOBAL) == 0 ||
75                                 this.compareTo(REPLICATION_GLOBAL_TO_CENTRAL_TO_EDGE) == 0) {
76                         return true;
77                 }
78                 return false;
79         }
80
81
82
83 }