Lisp processing additional fixes
[groupbasedpolicy.git] / renderers / vpp / src / main / java / org / opendaylight / groupbasedpolicy / renderer / vpp / lisp / info / container / states / SubnetHolder.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 java.util.HashMap;
11
12 public class SubnetHolder {
13     private HashMap<String, SubnetState> subnetUuidToSubnetStateMapper;
14
15     public SubnetHolder() {
16         subnetUuidToSubnetStateMapper = new HashMap<>();
17     }
18
19     public SubnetState getSubnetState(String subnetUuid) {
20         return  subnetUuidToSubnetStateMapper.get(subnetUuid);
21     }
22
23     public SubnetState initializeSubnetState (String subnetUuid) {
24         return subnetUuidToSubnetStateMapper.computeIfAbsent(subnetUuid,
25             key -> new SubnetState());
26     }
27
28     public void removeSubnetState(String subnetUuid) {
29         subnetUuidToSubnetStateMapper.remove(subnetUuid);
30     }
31
32     public int subnetHolderCount() {
33         return subnetUuidToSubnetStateMapper.size();
34     }
35
36     public boolean subnetStateContains(String subnetUuid) {
37         return subnetUuidToSubnetStateMapper.get(subnetUuid) != null;
38     }
39
40     @Override public String toString() {
41         return "SubnetHolder: { subnetUuidToSubnetStateMapper: {}" + subnetUuidToSubnetStateMapper + "}";
42     }
43 }