Improve SingletonSet.spliterator()
[yangtools.git] / common / util / src / main / java / org / opendaylight / yangtools / util / SingletonSet.java
index 76359e2f7ccf85b4a10facef097a36ddee7adcc4..091ae4c1dba6b3e4ca67a3021a36c43b5043fbea 100644 (file)
@@ -15,6 +15,7 @@ import java.io.Serializable;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.Set;
+import java.util.Spliterator;
 import javax.annotation.Nonnull;
 import org.opendaylight.yangtools.concepts.Immutable;
 
@@ -46,6 +47,11 @@ public abstract class SingletonSet<E> implements Set<E>, Immutable, Serializable
             return null;
         }
 
+        @Override
+        public Spliterator<Object> spliterator() {
+            return SingletonSpliterators.immutableOfNull();
+        }
+
         @Override
         public String toString() {
             return "[null]";
@@ -81,6 +87,9 @@ public abstract class SingletonSet<E> implements Set<E>, Immutable, Serializable
         return Iterators.singletonIterator(getElement());
     }
 
+    @Override
+    public abstract Spliterator<E> spliterator();
+
     @Nonnull
     @Override
     public final Object[] toArray() {
@@ -201,5 +210,10 @@ public abstract class SingletonSet<E> implements Set<E>, Immutable, Serializable
         public String toString() {
             return "[" + element + ']';
         }
+
+        @Override
+        public Spliterator<E> spliterator() {
+            return SingletonSpliterators.immutableOf(element);
+        }
     }
 }