Near-RT-RIC Simualator & README files
[nonrtric.git] / near-rt-ric-simulator / nearric-simulator / nearric-service / src / main / java / org / onap / nearric / simulator / model / PolicyType.java
1 package org.onap.nearric.simulator.model;
2
3 /*-
4  * ============LICENSE_START=======================================================
5  *  Copyright (C) 2019 Nordix Foundation.
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  *
19  * SPDX-License-Identifier: Apache-2.0
20  * ============LICENSE_END=========================================================
21  */
22
23 import java.io.Serializable;
24 import java.util.ArrayList;
25 import java.util.HashMap;
26 import java.util.List;
27 import java.util.Set;
28
29 import com.fasterxml.jackson.annotation.JsonProperty;
30
31 import org.oransc.ric.a1med.api.model.PolicyTypeSchema;
32
33 public class PolicyType implements Serializable {
34
35         /**
36          * 
37          */
38         private static final long serialVersionUID = 8719589957000170141L;
39         private Integer policyTypeId;
40         private PolicyTypeSchema policyTypeSchema;
41         private HashMap<String, PolicyInstance> policyInstances = new HashMap<String, PolicyInstance>();
42
43         public PolicyType(Integer policyTypeId, PolicyTypeSchema policyTypeSchema) {
44                 this.policyTypeId = policyTypeId;
45                 this.policyTypeSchema = policyTypeSchema;
46         }
47
48         public int getNumberInstances() {
49                 return policyInstances.size();
50         }
51
52         public PolicyInstance getInstance(String policyInstanceId) {
53                 return policyInstances.get(policyInstanceId);
54         }
55
56         public void delete(String policyInstanceId) {
57                 policyInstances.remove(policyInstanceId);
58         }
59
60         public PolicyTypeSchema getSchema() {
61                 return policyTypeSchema;
62         }
63
64         public void createReplaceInstance(String policyTypeId, PolicyInstance policyInstance) {
65                 policyInstances.put(policyTypeId, policyInstance);
66         }
67
68         public Set<String> getInstances() {
69                 return policyInstances.keySet();
70         }
71
72         public Integer getTypeId() {
73                 return policyTypeId;
74         }
75
76 }