X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=third-party%2Ftriemap%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Ftriemap%2FTrieMap.java;h=66019e3f27092a5dafdfbf800529c177b6f32a0e;hb=a022500bed967d2726e9daf5b9bece77f88488f8;hp=cc6a33b3287a41217a376104440af1703b3fca15;hpb=a73568f94bd0a351c3da54394a51c05e3e598222;p=yangtools.git diff --git a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/TrieMap.java b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/TrieMap.java index cc6a33b328..66019e3f27 100644 --- a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/TrieMap.java +++ b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/TrieMap.java @@ -87,37 +87,20 @@ public class TrieMap extends AbstractMap implements ConcurrentMap hashingobj; - private final Equiv equalityobj; - - Hashing hashing () { - return hashingobj; - } - - Equiv equality () { - return equalityobj; - } + private final Equivalence equiv; private transient volatile Object root; private final transient boolean readOnly; - TrieMap (final Hashing hashf, final Equiv ef, final boolean readOnly) { - this.hashingobj = hashf; - this.equalityobj = ef; - this.readOnly = readOnly; - } - - TrieMap (final Object r, final Hashing hashf, final Equiv ef, final boolean readOnly) { - this(hashf, ef, readOnly); + TrieMap (final Object r, final Equivalence equiv, final boolean readOnly) { this.root = r; - } + this.equiv = equiv; + this.readOnly = readOnly; - public TrieMap (final Hashing hashf, final Equiv ef) { - this(newRootNode(), hashf, ef, false); } - public TrieMap () { - this (new Hashing.Default(), Equiv.universal); + public TrieMap() { + this(newRootNode(), Equivalence.equals(), false); } /* internal methods */ @@ -350,7 +333,7 @@ public class TrieMap extends AbstractMap implements ConcurrentMap r = RDCSS_READ_ROOT (); final MainNode expmain = r.gcasRead (this); if (RDCSS_ROOT (r, expmain, r.copyToGen (new Gen (), this))) { - return new TrieMap<> (r.copyToGen (new Gen (), this), hashing (), equality (), readOnly); + return new TrieMap<> (r.copyToGen (new Gen (), this), equiv, readOnly); } else { // return snapshot (); // tailrec @@ -382,7 +365,7 @@ public class TrieMap extends AbstractMap implements ConcurrentMap r = RDCSS_READ_ROOT (); MainNode expmain = r.gcasRead (this); if (RDCSS_ROOT (r, expmain, r.copyToGen (new Gen (), this))) { - return new TrieMap<> (r, hashing (), equality (), true); + return new TrieMap<> (r, equiv, true); } else { // return readOnlySnapshot (); continue; @@ -402,9 +385,12 @@ public class TrieMap extends AbstractMap implements ConcurrentMap