| package net.onrc.onos.ofcontroller.networkgraph; |
| |
| /** |
| * Self-contained Topology event Object |
| * |
| * TODO: For now the topology event contains one of the following events: |
| * Switch, Port, Link, Device. In the future it will contain multiple events |
| * in a single transaction. |
| */ |
| public class TopologyEvent { |
| SwitchEvent switchEvent = null; // Set for Switch event |
| PortEvent portEvent = null; // Set for Port event |
| LinkEvent linkEvent = null; // Set for Link event |
| DeviceEvent deviceEvent = null; // Set for Device event |
| |
| /** |
| * Default constructor. |
| */ |
| public TopologyEvent() { |
| } |
| |
| /** |
| * Constructor for given Switch event. |
| * |
| * @param switchEvent the Switch event to use. |
| */ |
| TopologyEvent(SwitchEvent switchEvent) { |
| this.switchEvent = switchEvent; |
| } |
| |
| /** |
| * Constructor for given Port event. |
| * |
| * @param portEvent the Port event to use. |
| */ |
| TopologyEvent(PortEvent portEvent) { |
| this.portEvent = portEvent; |
| } |
| |
| /** |
| * Constructor for given Link event. |
| * |
| * @param linkEvent the Link event to use. |
| */ |
| TopologyEvent(LinkEvent linkEvent) { |
| this.linkEvent = linkEvent; |
| } |
| |
| /** |
| * Constructor for given Device event. |
| * |
| * @param deviceEvent the Device event to use. |
| */ |
| TopologyEvent(DeviceEvent deviceEvent) { |
| this.deviceEvent = deviceEvent; |
| } |
| |
| /** |
| * Get the string representation of the event. |
| * |
| * @return the string representation of the event. |
| */ |
| @Override |
| public String toString() { |
| if (switchEvent != null) |
| return switchEvent.toString(); |
| if (portEvent != null) |
| return portEvent.toString(); |
| if (linkEvent != null) |
| return linkEvent.toString(); |
| if (deviceEvent != null) |
| return deviceEvent.toString(); |
| return "[Empty TopologyEvent]"; |
| } |
| |
| /** |
| * Get the Topology event ID. |
| * |
| * @return the Topology event ID. |
| */ |
| public byte[] getID() { |
| if (switchEvent != null) |
| return switchEvent.getID(); |
| if (portEvent != null) |
| return portEvent.getID(); |
| if (linkEvent != null) |
| return linkEvent.getID(); |
| if (deviceEvent != null) |
| return deviceEvent.getID(); |
| return null; |
| } |
| } |