BUG-7464: Refactor KVNode
[yangtools.git] / third-party / triemap / src / main / java / org / opendaylight / yangtools / triemap / SNode.java
index 0530b58b4d106409c866b2270e2405c8573e9a43..395c477b00ee90f5869bda1a0bb8e616eb8aebee 100644 (file)
  */
 package org.opendaylight.yangtools.triemap;
 
-import java.util.AbstractMap.SimpleImmutableEntry;
-import java.util.Map.Entry;
-
-final class SNode<K, V> extends BasicNode implements KVNode<K, V> {
+final class SNode<K, V> extends BasicNode implements EntryNode<K, V> {
     final K k;
     final V v;
     final int hc;
@@ -41,14 +38,34 @@ final class SNode<K, V> extends BasicNode implements KVNode<K, V> {
         return new SNode<>(k, v, hc);
     }
 
-    @Override
-    public Entry<K, V> kvPair() {
-        return new SimpleImmutableEntry<>(k, v);
-    }
-
     @Override
     String string(final int lev) {
         // ("  " * lev) + "SNode(%s, %s, %x)".format(k, v, hc);
         return "SNode";
     }
+
+    @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