Changing tree map interface to only allow a value type parameter, key is always string.

Change-Id: I727e62401998fec63acf9e584cfb79a6ed02b569
diff --git a/core/api/src/main/java/org/onosproject/store/service/ConsistentTreeMap.java b/core/api/src/main/java/org/onosproject/store/service/ConsistentTreeMap.java
index 18a3410..eb62cac 100644
--- a/core/api/src/main/java/org/onosproject/store/service/ConsistentTreeMap.java
+++ b/core/api/src/main/java/org/onosproject/store/service/ConsistentTreeMap.java
@@ -17,26 +17,27 @@
 package org.onosproject.store.service;
 
 import java.util.Map;
+import java.util.NavigableMap;
 import java.util.NavigableSet;
 
 /**
  * Tree map interface counterpart to {@link AsyncConsistentTreeMap}.
  */
- public interface ConsistentTreeMap<K, V> extends ConsistentMap<K, V> {
+ public interface ConsistentTreeMap<V> extends ConsistentMap<String, V> {
 
     /**
      * Returns the lowest key in the map.
      *
      * @return the key or null if none exist
      */
-     K firstKey();
+     String firstKey();
 
     /**
      * Returns the highest key in the map.
      *
      * @return the key or null if none exist
      */
-     K lastKey();
+     String lastKey();
 
     /**
      * Returns the entry associated with the least key greater than or equal to the key.
@@ -44,7 +45,7 @@
      * @param key the key
      * @return the entry or null
      */
-     Map.Entry<K, Versioned<V>> ceilingEntry(K key);
+     Map.Entry<String, Versioned<V>> ceilingEntry(String key);
 
     /**
      * Returns the entry associated with the greatest key less than or equal to key.
@@ -52,7 +53,7 @@
      * @param key the key
      * @return the entry or null
      */
-     Map.Entry<K, Versioned<V>> floorEntry(K key);
+     Map.Entry<String, Versioned<V>> floorEntry(String key);
 
     /**
      * Returns the entry associated with the lest key greater than key.
@@ -60,7 +61,7 @@
      * @param key the key
      * @return the entry or null
      */
-     Map.Entry<K, Versioned<V>> higherEntry(K key);
+     Map.Entry<String, Versioned<V>> higherEntry(String key);
 
     /**
      * Returns the entry associated with the largest key less than key.
@@ -68,35 +69,35 @@
      * @param key the key
      * @return the entry or null
      */
-     Map.Entry<K, Versioned<V>> lowerEntry(K key);
+     Map.Entry<String, Versioned<V>> lowerEntry(String key);
 
     /**
      * Returns the entry associated with the lowest key in the map.
      *
      * @return the entry or null
      */
-     Map.Entry<K, Versioned<V>> firstEntry();
+     Map.Entry<String, Versioned<V>> firstEntry();
 
     /**
      * Returns the entry associated with the highest key in the map.
      *
      * @return the entry or null
      */
-     Map.Entry<K, Versioned<V>> lastEntry();
+     Map.Entry<String, Versioned<V>> lastEntry();
 
     /**
      * Returns and removes the entry associated with the lowest key.
      *
      * @return the entry or null
      */
-     Map.Entry<K, Versioned<V>> pollFirstEntry();
+     Map.Entry<String, Versioned<V>> pollFirstEntry();
 
     /**
      * Returns and removes the entry associated with the highest key.
      *
      * @return the entry or null
      */
-     Map.Entry<K, Versioned<V>> pollLastEntry();
+     Map.Entry<String, Versioned<V>> pollLastEntry();
 
     /**
      * Returns the entry associated with the greatest key less than key.
@@ -104,7 +105,7 @@
      * @param key the key
      * @return the entry or null
      */
-     K lowerKey(K key);
+     String lowerKey(String key);
 
     /**
      * Returns the entry associated with the highest key less than or equal to key.
@@ -112,7 +113,7 @@
      * @param key the key
      * @return the entry or null
      */
-     K floorKey(K key);
+     String floorKey(String key);
 
     /**
      * Returns the lowest key greater than or equal to key.
@@ -120,7 +121,7 @@
      * @param key the key
      * @return the key or null
      */
-     K ceilingKey(K key);
+     String ceilingKey(String key);
 
     /**
      * Returns the lowest key greater than key.
@@ -128,13 +129,32 @@
      * @param key the key
      * @return the key or null
      */
-     K higherKey(K key);
+     String higherKey(String key);
 
     /**
      * Returns a navigable set of the keys in this map.
      *
      * @return a navigable key set
      */
-     NavigableSet<K> navigableKeySet();
+     NavigableSet<String> navigableKeySet();
+
+    /**
+     * Returns a navigable map containing the entries from the original map
+     * which are larger than (or if specified equal to) {@code lowerKey} AND
+     * less than (or if specified equal to) {@code upperKey}.
+     *
+     * @param upperKey the upper bound for the keys in this map
+     * @param lowerKey the lower bound for the keys in this map
+     * @param inclusiveUpper whether keys equal to the upperKey should be
+     *                       included
+     * @param inclusiveLower whether keys equal to the lowerKey should be
+     *                       included
+     * @return a navigable map containing entries in the specified range (this
+     * may be empty)
+     */
+    NavigableMap<String, V> subMap(String upperKey,
+                                   String lowerKey,
+                                   boolean inclusiveUpper,
+                                   boolean inclusiveLower);
 
 }