Simplify overlay information mappers and managers
[groupbasedpolicy.git] / renderers / vpp / src / main / java / org / opendaylight / groupbasedpolicy / renderer / vpp / lisp / info / container / states / LispState.java
1 /*
2  * Copyright (c) 2017 Cisco Systems. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.groupbasedpolicy.renderer.vpp.lisp.info.container.states;
9
10 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.local.mapping.Eid;
12
13 import java.util.HashMap;
14 import java.util.HashSet;
15 import java.util.Map;
16 import java.util.Set;
17
18 /**
19  * Created by Shakib Ahmed on 3/29/17.
20  */
21 public class LispState {
22     private boolean lispEnabled;
23     private boolean gpeEnabled;
24     private HashMap<String, String> interfaceNameToLocatorSetNameMapper;
25     private Set<IpAddress> mapServerIpAddressSet;
26     private Set<IpAddress> mapResolverIpAddressSet;
27     private Set<Long> vniSet;
28     private Set<Eid> eidSet;
29
30     public LispState() {
31         lispEnabled = false;
32         interfaceNameToLocatorSetNameMapper = new HashMap<>();
33         mapServerIpAddressSet = new HashSet<>();
34         mapResolverIpAddressSet = new HashSet<>();
35         vniSet = new HashSet<>();
36         eidSet = new HashSet<>();
37     }
38
39     public boolean isLispEnabled() {
40         return lispEnabled;
41     }
42
43     public void setLispEnabled(boolean lispEnabled) {
44         this.lispEnabled = lispEnabled;
45     }
46
47     public boolean isGpeEnabled() {
48         return gpeEnabled;
49     }
50
51     public void setGpeEnabled(boolean gpeEnabled) {
52         this.gpeEnabled = gpeEnabled;
53     }
54
55     public String getLocIntfToLocSetNameMapping(String locatorIntf) {
56         return interfaceNameToLocatorSetNameMapper.get(locatorIntf);
57     }
58
59     public void setLocIntfToLocSetNameMapping(String locIntfName, String locSetName) {
60         interfaceNameToLocatorSetNameMapper.put(locIntfName, locSetName);
61     }
62
63     public Set<Map.Entry<String, String>> getLocatorSetEntry() {
64         return interfaceNameToLocatorSetNameMapper.entrySet();
65     }
66
67     public int getLocatorCount() {
68         return interfaceNameToLocatorSetNameMapper.size();
69     }
70
71     public boolean mapServerSetContains(IpAddress ip) {
72         return mapServerIpAddressSet.contains(ip);
73     }
74
75     public void addInMapServerSet(IpAddress ip) {
76         mapServerIpAddressSet.add(ip);
77     }
78
79     public boolean mapResolverSetContains(IpAddress ip) {
80         return mapResolverIpAddressSet.contains(ip);
81     }
82
83     public void addInMapResolverSet(IpAddress ip) {
84         mapResolverIpAddressSet.add(ip);
85     }
86
87     public boolean isVniConfigured(long vni) {
88         return vniSet.contains(vni);
89     }
90
91     public void addInVniSet(long vni) {
92         vniSet.add(vni);
93     }
94
95     public boolean eidSetContains(Eid eid) {
96         return eidSet.contains(eid);
97     }
98
99     public int eidCount() {
100         return eidSet.size();
101     }
102
103     public void addEidInEidSet(Eid eid) {
104         eidSet.add(eid);
105     }
106     public void deleteEid(Eid eid) {
107         eidSet.remove(eid);
108     }
109 }