package org.opendaylight.ovsdb.lib.message; import com.fasterxml.jackson.annotation.JsonProperty; import com.google.common.collect.Maps; import java.util.Map; import java.util.Set; import org.opendaylight.ovsdb.lib.table.*; import org.opendaylight.ovsdb.lib.table.internal.Table; public class TableUpdates extends Response { Map map = Maps.newHashMap(); public Set availableUpdates() { return map.keySet(); } @SuppressWarnings("unchecked") public TableUpdate getUpdate(Table.Name name) { return map.get(name); } private void put(Table.Name name, TableUpdate update) { map.put(name, update); } @JsonProperty("Interface") public TableUpdate getInterfaceUpdate() { return getUpdate(Interface.NAME); } public void setInterfaceUpdate(TableUpdate interfaceUpdate) { put(Interface.NAME, interfaceUpdate); } @JsonProperty("Bridge") TableUpdate getBridgeUpdate() { return getUpdate(Bridge.NAME); } public void setBridgeUpdate(TableUpdate bridgeUpdate) { put(Bridge.NAME, bridgeUpdate); } @JsonProperty("Port") TableUpdate getPortUpdate() { return getUpdate(Port.NAME); } void setPortUpdate(TableUpdate portUpdate) { put(Port.NAME, portUpdate); } @JsonProperty("Capability") public TableUpdate getCapabilityUpdate() { return getUpdate(Capability.NAME); } public void setCapabilityUpdate(TableUpdate capabilityUpdate) { put(Capability.NAME, capabilityUpdate); } @JsonProperty("Controller") public TableUpdate getControllerUpdate() { return getUpdate(Controller.NAME); } public void setControllerUpdate(TableUpdate controllerUpdate) { put(Controller.NAME, controllerUpdate); } @JsonProperty("Manager") public TableUpdate getManagerUpdate() { return getUpdate(Manager.NAME); } public void setManagerUpdate(TableUpdate managerUpdate) { put(Manager.NAME, managerUpdate); } @JsonProperty("Mirror") public TableUpdate getMirrorUpdate() { return getUpdate(Mirror.NAME); } public void setMirrorUpdate(TableUpdate mirrorUpdate) { put(Mirror.NAME, mirrorUpdate); } @JsonProperty("NetFlow") public TableUpdate getNetFlowUpdate() { return getUpdate(NetFlow.NAME); } public void setNetFlowUpdate(TableUpdate netFlowUpdate) { put(NetFlow.NAME, netFlowUpdate); } @JsonProperty("Open_vSwitch") public TableUpdate getOpen_vSwitchUpdate() { return getUpdate(Open_vSwitch.NAME); } public void setOpen_vSwitchUpdate(TableUpdate openVSwitchUpdate) { put(Open_vSwitch.NAME, openVSwitchUpdate); } @JsonProperty("QoS") public TableUpdate getQosUpdate() { return getUpdate(Qos.NAME); } public void setQosUpdate(TableUpdate qosUpdate) { put(Qos.NAME, qosUpdate); } @JsonProperty("Queue") public TableUpdate getQueueUpdate() { return getUpdate(Queue.NAME); } public void setQueueUpdate(TableUpdate queueUpdate) { put(Queue.NAME, queueUpdate); } @JsonProperty("sFlow") public TableUpdate getSFlowUpdate() { return getUpdate(SFlow.NAME); } public void setSFlowUpdate(TableUpdate sFlowUpdate) { put(SFlow.NAME, sFlowUpdate); } @JsonProperty("SSL") public TableUpdate getSSLUpdate() { return getUpdate(SSL.NAME); } public void setSSLUpdate(TableUpdate sslUpdate) { put(SSL.NAME, sslUpdate); } }