Package name changes to reflect functionality differences between Library and Plugin.
[netvirt.git] / ovsdb / src / main / java / org / opendaylight / ovsdb / lib / message / TableUpdates.java
1 package org.opendaylight.ovsdb.lib.message;
2
3 import com.fasterxml.jackson.annotation.JsonProperty;
4 import com.google.common.collect.Maps;
5
6 import java.util.Map;
7 import java.util.Set;
8
9 import org.opendaylight.ovsdb.lib.table.*;
10 import org.opendaylight.ovsdb.lib.table.internal.Table;
11
12
13 public  class TableUpdates {
14
15     Map<Table.Name, TableUpdate> map = Maps.newHashMap();
16
17     public Set<Table.Name> availableUpdates() {
18         return map.keySet();
19     }
20
21     @SuppressWarnings("unchecked")
22     public <T extends Table> TableUpdate<T> getUpdate(Table.Name<T> name) {
23         return map.get(name);
24     }
25
26
27     private <T extends Table> void put(Table.Name<T> name, TableUpdate<T> update) {
28         map.put(name, update);
29     }
30
31
32     @JsonProperty("Interface")
33     public TableUpdate<Interface> getInterfaceUpdate() {
34         return getUpdate(Interface.NAME);
35     }
36
37     public void setInterfaceUpdate(TableUpdate<Interface> interfaceUpdate) {
38         put(Interface.NAME, interfaceUpdate);
39     }
40
41     @JsonProperty("Bridge")
42     TableUpdate<Bridge> getBridgeUpdate() {
43         return getUpdate(Bridge.NAME);
44     }
45
46     public void setBridgeUpdate(TableUpdate<Bridge> bridgeUpdate) {
47         put(Bridge.NAME, bridgeUpdate);
48     }
49
50     @JsonProperty("Port")
51     TableUpdate<Port> getPortUpdate() {
52         return getUpdate(Port.NAME);
53     }
54
55     void setPortUpdate(TableUpdate<Port> portUpdate) {
56         put(Port.NAME, portUpdate);
57     }
58
59     @JsonProperty("Capability")
60     public TableUpdate<Capability> getCapabilityUpdate() {
61         return getUpdate(Capability.NAME);
62     }
63
64     public void setCapabilityUpdate(TableUpdate<Capability> capabilityUpdate) {
65         put(Capability.NAME, capabilityUpdate);
66     }
67
68     @JsonProperty("Controller")
69     public TableUpdate<Controller> getControllerUpdate() {
70         return getUpdate(Controller.NAME);
71     }
72
73     public void setControllerUpdate(TableUpdate<Controller> controllerUpdate) {
74         put(Controller.NAME, controllerUpdate);
75     }
76
77     @JsonProperty("Manager")
78     public TableUpdate<Manager> getManagerUpdate() {
79         return getUpdate(Manager.NAME);
80     }
81
82     public void setManagerUpdate(TableUpdate<Manager> managerUpdate) {
83         put(Manager.NAME, managerUpdate);
84     }
85
86     @JsonProperty("Mirror")
87     public TableUpdate<Mirror> getMirrorUpdate() {
88         return getUpdate(Mirror.NAME);
89     }
90
91     public void setMirrorUpdate(TableUpdate<Mirror> mirrorUpdate) {
92         put(Mirror.NAME, mirrorUpdate);
93     }
94
95     @JsonProperty("NetFlow")
96     public TableUpdate<NetFlow> getNetFlowUpdate() {
97         return getUpdate(NetFlow.NAME);
98     }
99
100     public void setNetFlowUpdate(TableUpdate<NetFlow> netFlowUpdate) {
101         put(NetFlow.NAME, netFlowUpdate);
102     }
103
104     @JsonProperty("Open_vSwitch")
105     public TableUpdate<Open_vSwitch> getOpen_vSwitchUpdate() {
106         return getUpdate(Open_vSwitch.NAME);
107     }
108
109     public void setOpen_vSwitchUpdate(TableUpdate<Open_vSwitch> openVSwitchUpdate) {
110         put(Open_vSwitch.NAME, openVSwitchUpdate);
111     }
112
113     @JsonProperty("QoS")
114     public TableUpdate<Qos> getQosUpdate() {
115         return getUpdate(Qos.NAME);
116     }
117
118     public void setQosUpdate(TableUpdate<Qos> qosUpdate) {
119         put(Qos.NAME, qosUpdate);
120     }
121
122     @JsonProperty("Queue")
123     public TableUpdate<Queue> getQueueUpdate() {
124         return getUpdate(Queue.NAME);
125     }
126
127     public void setQueueUpdate(TableUpdate<Queue> queueUpdate) {
128         put(Queue.NAME, queueUpdate);
129     }
130
131     @JsonProperty("sFlow")
132     public TableUpdate<SFlow> getSFlowUpdate() {
133         return getUpdate(SFlow.NAME);
134     }
135
136     public void setSFlowUpdate(TableUpdate<SFlow> sFlowUpdate) {
137         put(SFlow.NAME, sFlowUpdate);
138     }
139
140     @JsonProperty("SSL")
141     public TableUpdate<SSL> getSSLUpdate() {
142         return getUpdate(SSL.NAME);
143     }
144
145     public void setSSLUpdate(TableUpdate<SSL> sslUpdate) {
146         put(SSL.NAME, sslUpdate);
147     }
148 }