X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=third-party%2Ftriemap%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Ftriemap%2FAbstractEntrySet.java;h=e82ba87a345b0febdc9d12372b5fecb82a16ee1e;hb=b0dca1bba3201625b65a86b669970561cb5e3ce0;hp=c915945d77c43f58eeedfa82a33337bb5bd70e39;hpb=d57d376dcb0d30ff28fb034aec0fb5db2100429d;p=yangtools.git diff --git a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/AbstractEntrySet.java b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/AbstractEntrySet.java index c915945d77..e82ba87a34 100644 --- a/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/AbstractEntrySet.java +++ b/third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/AbstractEntrySet.java @@ -15,10 +15,12 @@ */ package org.opendaylight.yangtools.triemap; -import static com.google.common.base.Preconditions.checkNotNull; +import static java.util.Objects.requireNonNull; import java.util.AbstractSet; import java.util.Map.Entry; +import java.util.Spliterator; +import java.util.Spliterators; /** * Abstract base class for implementing {@link TrieMap} entry sets. @@ -32,7 +34,7 @@ abstract class AbstractEntrySet extends AbstractSet> { private final TrieMap map; AbstractEntrySet(final TrieMap map) { - this.map = checkNotNull(map); + this.map = requireNonNull(map); } final TrieMap map() { @@ -40,6 +42,7 @@ abstract class AbstractEntrySet extends AbstractSet> { } @Override + @SuppressWarnings("checkstyle:parameterName") public final boolean contains(final Object o) { if (!(o instanceof Entry)) { return false; @@ -59,4 +62,12 @@ abstract class AbstractEntrySet extends AbstractSet> { public final int size() { return map.size(); } + + @Override + public final Spliterator> spliterator() { + // TODO: this is backed by an Iterator, we should be able to do better + return Spliterators.spliterator(map.immutableIterator(), Long.MAX_VALUE, characteristics()); + } + + abstract int characteristics(); }