Move indices to TopologyImpl.

Change-Id: I3efd73129fafb786e959810e8239ce14d26af6d7
diff --git a/src/main/java/net/onrc/onos/core/topology/Topology.java b/src/main/java/net/onrc/onos/core/topology/Topology.java
index 3bef1e2..089d0e1 100644
--- a/src/main/java/net/onrc/onos/core/topology/Topology.java
+++ b/src/main/java/net/onrc/onos/core/topology/Topology.java
@@ -1,5 +1,7 @@
 package net.onrc.onos.core.topology;
 
+import java.util.Collection;
+
 import net.floodlightcontroller.util.MACAddress;
 import net.onrc.onos.core.topology.web.serializers.TopologySerializer;
 import net.onrc.onos.core.util.Dpid;
@@ -49,6 +51,14 @@
     public Port getPort(SwitchPort port);
 
     /**
+     * Gets all ports on a switch specified.
+     *
+     * @param dpid Switch dpid
+     * @return ports.
+     */
+    public Collection<Port> getPorts(Dpid dpid);
+
+    /**
      * Gets the outgoing link from a switch port.
      *
      * @param dpid   the switch DPID.
@@ -113,6 +123,21 @@
     public Device getDeviceByMac(MACAddress address);
 
     /**
+     * Gets all devices in the network.
+     *
+     * @return all devices in the network
+     */
+    public Iterable<Device> getDevices();
+
+    /**
+     * Gets all devices on specified port.
+     *
+     * @param port port which the device is attached
+     * @return all devices attached to the port.
+     */
+    public Collection<Device> getDevices(SwitchPort port);
+
+    /**
      * Acquire a read lock on the entire topology. The topology will not
      * change while readers have the lock. Must be released using
      * {@link #releaseReadLock()}. This method will block until a read lock is
@@ -124,6 +149,4 @@
      * Release the read lock on the topology.
      */
     public void releaseReadLock();
-
-    public Iterable<Device> getDevices();
 }