* Added a new class TopologyEvents that encapsulated the collections
  of all possible topology-related events.
* Updated the ITopologyListener API to use the new class TopologyEvents
* Updated the code that is affected by the ITopologyListener API change.

Change-Id: Ib836141d6a21e5317d645619eb685ff0b13788a2
diff --git a/src/main/java/net/onrc/onos/core/topology/ITopologyListener.java b/src/main/java/net/onrc/onos/core/topology/ITopologyListener.java
index 889db03..aa02da0 100644
--- a/src/main/java/net/onrc/onos/core/topology/ITopologyListener.java
+++ b/src/main/java/net/onrc/onos/core/topology/ITopologyListener.java
@@ -1,46 +1,15 @@
 package net.onrc.onos.core.topology;
 
-import java.util.Collection;
-
 /**
- * Interface which needs to be implemented to receive Topology events from
+ * Interface that needs to be implemented to receive Topology events from
  * the Topology.
  */
 public interface ITopologyListener {
     /**
-     * Topology events.
-     * <p/>
-     * The recommended ordering rules for applying/processing the events is:
-     * (a) Process "added" events before "removed" events.
-     * (b) The ordering of the "added" events should be:
-     * addedSwitchEvents, addedPortEvents, addedLinkEvents,
-     * addedDeviceEvents
-     * The above ordering guarantees that adding a port for example
-     * will be processed after the corresponding switch itself is added.
-     * (c) The ordering of the "removed" events should be:
-     * removedDeviceEvents, removedLinkEvents, removedPortEvents,
-     * removedSwitchEvents
-     * The above ordering guarantees that removing a port for example
-     * will be processed before the corresponding switch itself is
-     * removed.
+     * Topology events that have been generated.
      *
-     * @param addedSwitchEvents   the Added Switch Events.
-     * @param removedSwitchEvents the Removed Switch Events.
-     * @param addedPortEvents     the Added Port Events.
-     * @param removedPortEvents   the Removed Port Events.
-     * @param addedLinkEvents     the Added Link Events.
-     * @param removedLinkEvents   the Removed Link Events.
-     * @param addedDeviceEvents   the Added Device Events.
-     * @param removedDeviceEvents the Removed Device Events.
+     * @param topologyEvents the generated Topology Events
+     * @see TopologyEvents
      */
-    // CHECKSTYLE:OFF suppress warning about too many parameters
-    public void topologyEvents(Collection<SwitchEvent> addedSwitchEvents,
-                                   Collection<SwitchEvent> removedSwitchEvents,
-                                   Collection<PortEvent> addedPortEvents,
-                                   Collection<PortEvent> removedPortEvents,
-                                   Collection<LinkEvent> addedLinkEvents,
-                                   Collection<LinkEvent> removedLinkEvents,
-                                   Collection<DeviceEvent> addedDeviceEvents,
-                                   Collection<DeviceEvent> removedDeviceEvents);
-    // CHECKSTYLE:ON
+    public void topologyEvents(TopologyEvents topologyEvents);
 }