BUG-7464: Refactor KVNode
[yangtools.git] / third-party / triemap / src / main / java / org / opendaylight / yangtools / triemap / TNode.java
index 27a925cc8ef094214b36c6fd6ce843e94c303d77..45913d1b416fdcaf3966c3a3404131dd46b865da 100644 (file)
  */
 package org.opendaylight.yangtools.triemap;
 
-import java.util.AbstractMap.SimpleImmutableEntry;
-import java.util.Map.Entry;
-
-final class TNode<K, V> extends MainNode<K, V> implements KVNode<K, V> {
+final class TNode<K, V> extends MainNode<K, V> implements EntryNode<K, V> {
     final K k;
     final V v;
     final int hc;
@@ -41,11 +38,6 @@ final class TNode<K, V> extends MainNode<K, V> implements KVNode<K, V> {
         return new SNode<>(k, v, hc);
     }
 
-    @Override
-    public Entry<K, V> kvPair () {
-        return new SimpleImmutableEntry<>(k, v);
-    }
-
     @Override
     int cachedSize(final TrieMap<K, V> ct) {
         return 1;
@@ -56,4 +48,29 @@ final class TNode<K, V> extends MainNode<K, V> implements KVNode<K, V> {
         // ("  " * lev) + "TNode(%s, %s, %x, !)".format(k, v, hc);
         return "TNode";
     }
+
+    @Override
+    public K getKey() {
+        return k;
+    }
+
+    @Override
+    public V getValue() {
+        return v;
+    }
+
+    @Override
+    public int hashCode() {
+        return EntryUtil.hash(k, v);
+    }
+
+    @Override
+    public boolean equals(final Object o) {
+        return EntryUtil.equal(o, k, v);
+    }
+
+    @Override
+    public String toString() {
+        return EntryUtil.string(k, v);
+    }
 }
\ No newline at end of file