Class PluginDefaultGroovyMethods

java.lang.Object
org.codehaus.groovy.runtime.DefaultGroovyMethodsSupport
org.codehaus.groovy.vmplugin.v8.PluginDefaultGroovyMethods

public class PluginDefaultGroovyMethods
extends DefaultGroovyMethodsSupport
Defines new Groovy methods which appear on standard Java 8 classes within the Groovy environment.
Since:
2.5.0
  • Method Summary

    Modifier and Type Method Description
    static boolean asBoolean​(java.util.Optional<?> optional)
    Coerce an Optional instance to a boolean value.
    static <S,​ T> java.util.concurrent.Future<T> collect​(java.util.concurrent.Future<S> self, Closure<T> transform)
    Returns a Future asynchronously returning a transformed result.
    static <S,​ T> java.util.Optional<T> collect​(java.util.Optional<S> self, Closure<T> transform)
    If the optional contains a value, returns an optional containing the transformed value obtained using the transform closure or otherwise an empty optional.
    static java.util.stream.DoubleStream doubleStream​(double[] self)
    Returns a sequential DoubleStream with the specified array as its source.
    static <T> java.util.Optional<T> filter​(java.util.Optional<?> self, java.lang.Class<T> type)
    Tests given value against specified type and changes generics of result.
    static java.util.OptionalDouble filter​(java.util.OptionalDouble self, java.util.function.DoublePredicate test)
    If a value is present in the OptionalDouble, tests the value using the given predicate and returns the optional if the test returns true or empty otherwise.
    static java.util.OptionalInt filter​(java.util.OptionalInt self, java.util.function.IntPredicate test)
    If a value is present in the OptionalInt, tests the value using the given predicate and returns the optional if the test returns true or else empty.
    static java.util.OptionalLong filter​(java.util.OptionalLong self, java.util.function.LongPredicate test)
    If a value is present in the OptionalLong, tests the value using the given predicate and returns the optional if the test returns true or else empty.
    static double get​(java.util.OptionalDouble self)
    If a value is present in the OptionalDouble, returns the value, otherwise throws NoSuchElementException.
    static int get​(java.util.OptionalInt self)
    If a value is present in the OptionalInt, returns the value, otherwise throws NoSuchElementException.
    static long get​(java.util.OptionalLong self)
    If a value is present in the OptionalLong, returns the value, otherwise throws NoSuchElementException.
    static java.util.stream.IntStream intStream​(int[] self)
    Returns a sequential IntStream with the specified array as its source.
    static java.lang.StringBuilder leftShift​(java.lang.StringBuilder self, java.lang.Object value)
    Overloads the left shift operator to provide an easy way to append multiple objects as string representations to a StringBuilder.
    static java.util.stream.LongStream longStream​(long[] self)
    Returns a sequential LongStream with the specified array as its source.
    static <T> java.util.OptionalDouble mapToDouble​(java.util.Optional<T> self, java.util.function.ToDoubleFunction<? super T> mapper)
    If a value is present in the OptionalDouble, returns an OptionalDouble consisting of the result of applying the given function to the value or else empty.
    static <T> java.util.OptionalInt mapToInt​(java.util.Optional<T> self, java.util.function.ToIntFunction<? super T> mapper)
    If a value is present in the OptionalInt, returns an OptionalInt consisting of the result of applying the given function to the value or else empty.
    static <T> java.util.OptionalLong mapToLong​(java.util.Optional<T> self, java.util.function.ToLongFunction<? super T> mapper)
    If a value is present in the OptionalLong, returns an OptionalLong consisting of the result of applying the given function to the value or else empty.
    static <T> java.util.Optional<T> mapToObj​(java.util.OptionalDouble self, java.util.function.DoubleFunction<? extends T> mapper)
    If a value is present in the OptionalDouble, returns an Optional consisting of the result of applying the given function to the value or else empty.
    static <T> java.util.Optional<T> mapToObj​(java.util.OptionalInt self, java.util.function.IntFunction<? extends T> mapper)
    If a value is present in the OptionalInt, returns an Optional consisting of the result of applying the given function to the value or else empty.
    static <T> java.util.Optional<T> mapToObj​(java.util.OptionalLong self, java.util.function.LongFunction<? extends T> mapper)
    If a value is present in the OptionalLong, returns an Optional consisting of the result of applying the given function to the value or else empty.
    static java.lang.Object next​(java.lang.Enum self)
    Overloads the ++ operator for enums.
    static <T> java.util.Optional<T> orOptional​(java.util.Optional<T> self, java.util.function.Supplier<? extends java.util.Optional<? extends T>> supplier)
    Provide similar functionality to JDK9 or on JDK8.
    static java.lang.String plus​(java.lang.StringBuilder self, java.lang.String value)
    Appends a String to this StringBuilder.
    static java.lang.Object previous​(java.lang.Enum self)
    Overloads the -- operator for enums.
    static void putAt​(java.lang.StringBuilder self, EmptyRange range, java.lang.Object value)
    Supports the range subscript operator for StringBuilder.
    static void putAt​(java.lang.StringBuilder self, IntRange range, java.lang.Object value)
    Supports the range subscript operator for StringBuilder.
    static int size​(java.lang.StringBuilder self)
    Deprecated.
    static java.util.stream.Stream<java.lang.Boolean> stream​(boolean[] self)
    Returns a sequential Stream with the specified array as its source.
    static java.util.stream.Stream<java.lang.Byte> stream​(byte[] self)
    Returns a sequential Stream with the specified array as its source.
    static java.util.stream.Stream<java.lang.Character> stream​(char[] self)
    Returns a sequential Stream with the specified array as its source.
    static java.util.stream.Stream<java.lang.Double> stream​(double[] self)
    Returns a sequential Stream with the specified array as its source.
    static java.util.stream.Stream<java.lang.Float> stream​(float[] self)
    Returns a sequential Stream with the specified array as its source.
    static java.util.stream.Stream<java.lang.Integer> stream​(int[] self)
    Returns a sequential Stream with the specified array as its source.
    static java.util.stream.Stream<java.lang.Long> stream​(long[] self)
    Returns a sequential Stream with the specified array as its source.
    static java.util.stream.Stream<java.lang.Short> stream​(short[] self)
    Returns a sequential Stream with the specified array as its source.
    static <T> java.util.stream.Stream<T> stream​(java.lang.Iterable<T> self)
    Returns a sequential Stream with the specified element(s) as its source.
    static <T> java.util.stream.Stream<T> stream​(java.util.Enumeration<T> self)
    Returns a sequential Stream with the specified element(s) as its source.
    static <T> java.util.stream.Stream<T> stream​(java.util.Iterator<T> self)
    Returns a sequential Stream with the specified element(s) as its source.
    static <T> java.util.stream.Stream<T> stream​(java.util.Optional<T> self)
    If a value is present in the Optional, returns a Stream with the value as its source or else an empty stream.
    static java.util.stream.DoubleStream stream​(java.util.OptionalDouble self)
    If a value is present in the OptionalDouble, returns a DoubleStream with the value as its source or else an empty stream.
    static java.util.stream.IntStream stream​(java.util.OptionalInt self)
    If a value is present in the OptionalInt, returns an IntStream with the value as its source or else an empty stream.
    static java.util.stream.LongStream stream​(java.util.OptionalLong self)
    If a value is present in the OptionalLong, returns a LongStream with the value as its source or else an empty stream.
    static <T> java.util.stream.Stream<T> stream​(java.util.Spliterator<T> self)
    Returns a sequential Stream with the specified element(s) as its source.
    static <T> java.util.stream.Stream<T> stream​(NullObject self)
    Returns an empty sequential Stream.
    static <T> java.util.stream.Stream<T> stream​(T self)
    Returns a sequential Stream containing a single element.
    static <T> java.util.stream.Stream<T> stream​(T[] self)
    Returns a sequential Stream with the specified array as its source.
    static <T> T[] toArray​(java.util.stream.Stream<? extends T> self, java.lang.Class<T> type)
    Returns an array containing the elements of the stream.
    static <T> java.util.List<T> toList​(java.util.stream.BaseStream<T,​? extends java.util.stream.BaseStream> self)
    Accumulates the elements of stream into a new List.
    static <T> java.util.List<T> toList​(java.util.stream.Stream<T> self)
    Accumulates the elements of stream into a new List.
    static <T> java.util.Set<T> toSet​(java.util.stream.BaseStream<T,​? extends java.util.stream.BaseStream> self)
    Accumulates the elements of stream into a new Set.
    static <T> java.util.Set<T> toSet​(java.util.stream.Stream<T> self)
    Accumulates the elements of stream into a new Set.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • asBoolean

      public static boolean asBoolean​(java.util.Optional<?> optional)
      Coerce an Optional instance to a boolean value.
       assert !Optional.empty().asBoolean()
       assert Optional.of(1234).asBoolean()
       
      Parameters:
      optional - the Optional
      Returns:
      true if a value is present, otherwise false
      Since:
      2.5.0
    • get

      public static int get​(java.util.OptionalInt self)
      If a value is present in the OptionalInt, returns the value, otherwise throws NoSuchElementException.
       assert OptionalInt.of(1234).get() == 1234
       
      Since:
      3.0.0
    • get

      public static long get​(java.util.OptionalLong self)
      If a value is present in the OptionalLong, returns the value, otherwise throws NoSuchElementException.
       assert OptionalLong.of(1234L).get() == 1234L
       
      Since:
      3.0.0
    • get

      public static double get​(java.util.OptionalDouble self)
      If a value is present in the OptionalDouble, returns the value, otherwise throws NoSuchElementException.
       assert OptionalDouble.of(Math.PI).get() == Math.PI
       
      Since:
      3.0.0
    • filter

      public static <T> java.util.Optional<T> filter​(java.util.Optional<?> self, java.lang.Class<T> type)
      Tests given value against specified type and changes generics of result. This is equivalent to: self.filter(it -> it instanceof Type).map(it -> (Type) it)
       assert !Optional.empty().filter(Number).isPresent()
       assert !Optional.of('x').filter(Number).isPresent()
       assert Optional.of(1234).filter(Number).isPresent()
       assert Optional.of(1234).filter(Number).get().equals(1234)
       
      Since:
      3.0.0
    • filter

      public static java.util.OptionalInt filter​(java.util.OptionalInt self, java.util.function.IntPredicate test)
      If a value is present in the OptionalInt, tests the value using the given predicate and returns the optional if the test returns true or else empty.
       assert !OptionalInt.empty().filter(i -> true).isPresent()
       assert  OptionalInt.of(1234).filter(i -> true).isPresent()
       assert !OptionalInt.of(1234).filter(i -> false).isPresent()
       assert  OptionalInt.of(1234).filter(i -> true).getAsInt() == 1234
       
      Since:
      3.0.0
    • filter

      public static java.util.OptionalLong filter​(java.util.OptionalLong self, java.util.function.LongPredicate test)
      If a value is present in the OptionalLong, tests the value using the given predicate and returns the optional if the test returns true or else empty.
       assert !OptionalLong.empty().filter(n -> true).isPresent()
       assert  OptionalLong.of(123L).filter(n -> true).isPresent()
       assert !OptionalLong.of(123L).filter(n -> false).isPresent()
       assert  OptionalLong.of(123L).filter(n -> true).getAsLong() == 123L
       
      Since:
      3.0.0
    • filter

      public static java.util.OptionalDouble filter​(java.util.OptionalDouble self, java.util.function.DoublePredicate test)
      If a value is present in the OptionalDouble, tests the value using the given predicate and returns the optional if the test returns true or empty otherwise.
       assert !OptionalDouble.empty().filter(n -> true).isPresent()
       assert  OptionalDouble.of(Math.PI).filter(n -> true).isPresent()
       assert !OptionalDouble.of(Math.PI).filter(n -> false).isPresent()
       assert  OptionalDouble.of(Math.PI).filter(n -> true).getAsDouble() == Math.PI
       
      Since:
      3.0.0
    • mapToObj

      public static <T> java.util.Optional<T> mapToObj​(java.util.OptionalInt self, java.util.function.IntFunction<? extends T> mapper)
      If a value is present in the OptionalInt, returns an Optional consisting of the result of applying the given function to the value or else empty.
       assert !OptionalInt.empty().mapToObj(x -> new Object()).isPresent()
       assert  OptionalInt.of(1234).mapToObj(x -> new Object()).isPresent()
       assert !OptionalInt.of(1234).mapToObj(x -> null).isPresent()
       assert  OptionalInt.of(1234).mapToObj(Integer::toString).get() == '1234'
       
      Since:
      3.0.0
    • mapToObj

      public static <T> java.util.Optional<T> mapToObj​(java.util.OptionalLong self, java.util.function.LongFunction<? extends T> mapper)
      If a value is present in the OptionalLong, returns an Optional consisting of the result of applying the given function to the value or else empty.
       assert !OptionalLong.empty().mapToObj(x -> new Object()).isPresent()
       assert  OptionalLong.of(123L).mapToObj(x -> new Object()).isPresent()
       assert !OptionalLong.of(123L).mapToObj(x -> null).isPresent()
       assert  OptionalLong.of(1234L).mapToObj(Long::toString).get() == '1234'
       
      Since:
      3.0.0
    • mapToObj

      public static <T> java.util.Optional<T> mapToObj​(java.util.OptionalDouble self, java.util.function.DoubleFunction<? extends T> mapper)
      If a value is present in the OptionalDouble, returns an Optional consisting of the result of applying the given function to the value or else empty.
       assert !OptionalDouble.empty().mapToObj(x -> new Object()).isPresent()
       assert  OptionalDouble.of(Math.PI).mapToObj(x -> new Object()).isPresent()
       assert !OptionalDouble.of(Math.PI).mapToObj(x -> null).isPresent()
       assert  OptionalDouble.of(Math.PI).mapToObj(Double::toString).get().startsWith('3.14')
       
      Since:
      3.0.0
    • mapToInt

      public static <T> java.util.OptionalInt mapToInt​(java.util.Optional<T> self, java.util.function.ToIntFunction<? super T> mapper)
      If a value is present in the OptionalInt, returns an OptionalInt consisting of the result of applying the given function to the value or else empty.
       assert !Optional.empty().mapToInt(x -> 42).isPresent()
       assert  Optional.of('x').mapToInt(x -> 42).getAsInt() == 42
       
      Since:
      3.0.0
    • mapToLong

      public static <T> java.util.OptionalLong mapToLong​(java.util.Optional<T> self, java.util.function.ToLongFunction<? super T> mapper)
      If a value is present in the OptionalLong, returns an OptionalLong consisting of the result of applying the given function to the value or else empty.
       assert !Optional.empty().mapToLong(x -> 42L).isPresent()
       assert  Optional.of('x').mapToLong(x -> 42L).getAsLong() == 42L
       
      Since:
      3.0.0
    • mapToDouble

      public static <T> java.util.OptionalDouble mapToDouble​(java.util.Optional<T> self, java.util.function.ToDoubleFunction<? super T> mapper)
      If a value is present in the OptionalDouble, returns an OptionalDouble consisting of the result of applying the given function to the value or else empty.
       assert !Optional.empty().mapToDouble(x -> Math.PI).isPresent()
       assert  Optional.of('x').mapToDouble(x -> Math.PI).getAsDouble() == Math.PI
       
      Since:
      3.0.0
    • collect

      public static <S,​ T> java.util.Optional<T> collect​(java.util.Optional<S> self, Closure<T> transform)
      If the optional contains a value, returns an optional containing the transformed value obtained using the transform closure or otherwise an empty optional.
       assert Optional.of("foobar").collect{ it.size() }.get() == 6
       assert !Optional.empty().collect{ it.size() }.isPresent()
       
      Parameters:
      self - an Optional
      transform - the closure used to transform the optional value if present
      Returns:
      an Optional containing the transformed value or empty if the optional is empty or the transform returns null
      Since:
      3.0.0
    • collect

      public static <S,​ T> java.util.concurrent.Future<T> collect​(java.util.concurrent.Future<S> self, Closure<T> transform)
      Returns a Future asynchronously returning a transformed result.
       import java.util.concurrent.*
       def executor = Executors.newSingleThreadExecutor()
       Future foobar = executor.submit{ "foobar" }
       Future foobarSize = foobar.collect{ it.size() }
       assert foobarSize.get() == 6
       executor.shutdown()
       
      Parameters:
      self - a Future
      transform - the closure used to transform the Future value
      Returns:
      a Future allowing the transformed value to be obtained asynchronously
      Since:
      3.0.0
    • next

      public static java.lang.Object next​(java.lang.Enum self)
      Overloads the ++ operator for enums. It will invoke Groovy's default next behaviour for enums that do not have their own next method.
      Parameters:
      self - an Enum
      Returns:
      the next defined enum from the enum class
      Since:
      1.5.2
    • previous

      public static java.lang.Object previous​(java.lang.Enum self)
      Overloads the -- operator for enums. It will invoke Groovy's default previous behaviour for enums that do not have their own previous method.
      Parameters:
      self - an Enum
      Returns:
      the previous defined enum from the enum class
      Since:
      1.5.2
    • size

      @Deprecated public static int size​(java.lang.StringBuilder self)
      Deprecated.
      Provides the standard Groovy size() method for StringBuilder.
      Parameters:
      self - a StringBuilder
      Returns:
      the length of the StringBuilder
      Since:
      1.5.2
      See Also:
      StringGroovyMethods.size(CharSequence)
    • leftShift

      public static java.lang.StringBuilder leftShift​(java.lang.StringBuilder self, java.lang.Object value)
      Overloads the left shift operator to provide an easy way to append multiple objects as string representations to a StringBuilder.
      Parameters:
      self - a StringBuilder
      value - a value to append
      Returns:
      the StringBuilder on which this operation was invoked
      Since:
      1.5.2
    • putAt

      public static void putAt​(java.lang.StringBuilder self, IntRange range, java.lang.Object value)
      Supports the range subscript operator for StringBuilder. Index values are treated as characters within the builder.
      Parameters:
      self - a StringBuilder
      range - a Range
      value - the object that's toString() will be inserted
      Since:
      1.5.2
    • putAt

      public static void putAt​(java.lang.StringBuilder self, EmptyRange range, java.lang.Object value)
      Supports the range subscript operator for StringBuilder.
      Parameters:
      self - a StringBuilder
      range - a Range
      value - the object that's toString() will be inserted
      Since:
      1.5.2
    • plus

      public static java.lang.String plus​(java.lang.StringBuilder self, java.lang.String value)
      Appends a String to this StringBuilder.
      Parameters:
      self - a StringBuilder
      value - a String
      Returns:
      a String
      Since:
      1.5.2
    • toArray

      public static <T> T[] toArray​(java.util.stream.Stream<? extends T> self, java.lang.Class<T> type)
      Returns an array containing the elements of the stream.
       import static groovy.test.GroovyAssert.shouldFail
      
       assert Arrays.equals([].stream().toArray(Object), new Object[0])
       assert Arrays.equals([].stream().toArray(String), new String[0])
       assert Arrays.equals([].stream().toArray(String[]), new String[0][])
       assert Arrays.equals(['x'].stream().toArray(Object), ['x'].toArray())
       assert Arrays.equals(['x'].stream().toArray(String), ['x'] as String[])
       assert Arrays.deepEquals([['x'] as String[]].stream().toArray(String[]), [['x'] as String[]] as String[][])
       assert Arrays.equals(['x'].stream().toArray(CharSequence), ['x'] as CharSequence[])
      
       shouldFail(ArrayStoreException) {
           ['x'].stream().toArray(Thread)
       }
      
       shouldFail(IllegalArgumentException) {
           ['x'].stream().toArray((Class) null)
       }
      
       // Stream#toArray(IntFunction) should still be used for closure literal:
       assert Arrays.equals(['x'].stream().toArray { n -> new String[n] }, ['x'] as String[])
      
       // Stream#toArray(IntFunction) should still be used for method reference:
       assert Arrays.equals(['x'].stream().toArray(String[]::new), ['x'] as String[])
       
      Parameters:
      self - the stream
      type - the array element type
      Since:
      3.0.4
    • toList

      public static <T> java.util.List<T> toList​(java.util.stream.Stream<T> self)
      Accumulates the elements of stream into a new List.
      Type Parameters:
      T - the type of element
      Parameters:
      self - the stream
      Returns:
      a new java.util.List instance
      Since:
      2.5.0
    • toSet

      public static <T> java.util.Set<T> toSet​(java.util.stream.Stream<T> self)
      Accumulates the elements of stream into a new Set.
      Type Parameters:
      T - the type of element
      Parameters:
      self - the stream
      Returns:
      a new java.util.Set instance
      Since:
      2.5.0
    • toList

      public static <T> java.util.List<T> toList​(java.util.stream.BaseStream<T,​? extends java.util.stream.BaseStream> self)
      Accumulates the elements of stream into a new List.
      Type Parameters:
      T - the type of element
      Parameters:
      self - the java.util.stream.BaseStream
      Returns:
      a new java.util.List instance
      Since:
      2.5.0
    • toSet

      public static <T> java.util.Set<T> toSet​(java.util.stream.BaseStream<T,​? extends java.util.stream.BaseStream> self)
      Accumulates the elements of stream into a new Set.
      Type Parameters:
      T - the type of element
      Parameters:
      self - the java.util.stream.BaseStream
      Returns:
      a new java.util.Set instance
      Since:
      2.5.0
    • stream

      public static <T> java.util.stream.Stream<T> stream​(NullObject self)
      Returns an empty sequential Stream.
       def item = null
       assert item.stream().toList() == []
       assert !item.stream().findFirst().isPresent()
       
      Since:
      3.0.0
    • stream

      public static <T> java.util.stream.Stream<T> stream​(T self)
      Returns a sequential Stream containing a single element.
       def item = 'string'
       assert item.stream().toList() == ['string']
       assert item.stream().findFirst().isPresent()
       
      Since:
      3.0.0
    • stream

      public static <T> java.util.stream.Stream<T> stream​(T[] self)
      Returns a sequential Stream with the specified array as its source.
      Type Parameters:
      T - The type of the array elements
      Parameters:
      self - The array, assumed to be unmodified during use
      Returns:
      a Stream for the array
      Since:
      2.5.0
    • stream

      public static java.util.stream.Stream<java.lang.Integer> stream​(int[] self)
      Returns a sequential Stream with the specified array as its source.
      Parameters:
      self - The array, assumed to be unmodified during use
      Returns:
      a Stream for the array
      Since:
      2.5.0
    • intStream

      public static java.util.stream.IntStream intStream​(int[] self)
      Returns a sequential IntStream with the specified array as its source.
      Parameters:
      self - The array, assumed to be unmodified during use
      Returns:
      a Stream for the array
      Since:
      3.0.8
    • stream

      public static java.util.stream.Stream<java.lang.Long> stream​(long[] self)
      Returns a sequential Stream with the specified array as its source.
      Parameters:
      self - The array, assumed to be unmodified during use
      Returns:
      a Stream for the array
      Since:
      2.5.0
    • longStream

      public static java.util.stream.LongStream longStream​(long[] self)
      Returns a sequential LongStream with the specified array as its source.
      Parameters:
      self - The array, assumed to be unmodified during use
      Returns:
      a Stream for the array
      Since:
      3.0.8
    • stream

      public static java.util.stream.Stream<java.lang.Double> stream​(double[] self)
      Returns a sequential Stream with the specified array as its source.
      Parameters:
      self - The array, assumed to be unmodified during use
      Returns:
      a Stream for the array
      Since:
      2.5.0
    • doubleStream

      public static java.util.stream.DoubleStream doubleStream​(double[] self)
      Returns a sequential DoubleStream with the specified array as its source.
      Parameters:
      self - The array, assumed to be unmodified during use
      Returns:
      a Stream for the array
      Since:
      3.0.8
    • stream

      public static java.util.stream.Stream<java.lang.Character> stream​(char[] self)
      Returns a sequential Stream with the specified array as its source.
      Parameters:
      self - The array, assumed to be unmodified during use
      Returns:
      a Stream for the array
      Since:
      2.5.0
    • stream

      public static java.util.stream.Stream<java.lang.Byte> stream​(byte[] self)
      Returns a sequential Stream with the specified array as its source.
      Parameters:
      self - The array, assumed to be unmodified during use
      Returns:
      a Stream for the array
      Since:
      2.5.0
    • stream

      public static java.util.stream.Stream<java.lang.Short> stream​(short[] self)
      Returns a sequential Stream with the specified array as its source.
      Parameters:
      self - The array, assumed to be unmodified during use
      Returns:
      a Stream for the array
      Since:
      2.5.0
    • stream

      public static java.util.stream.Stream<java.lang.Boolean> stream​(boolean[] self)
      Returns a sequential Stream with the specified array as its source.
      Parameters:
      self - The array, assumed to be unmodified during use
      Returns:
      a Stream for the array
      Since:
      2.5.0
    • stream

      public static java.util.stream.Stream<java.lang.Float> stream​(float[] self)
      Returns a sequential Stream with the specified array as its source.
      Parameters:
      self - The array, assumed to be unmodified during use
      Returns:
      a Stream for the array
      Since:
      2.5.0
    • stream

      public static <T> java.util.stream.Stream<T> stream​(java.util.Enumeration<T> self)
      Returns a sequential Stream with the specified element(s) as its source.
       def tokens = new StringTokenizer('one two')
       assert tokens.stream().toList() == ['one', 'two']
       
      Since:
      3.0.0
    • stream

      public static <T> java.util.stream.Stream<T> stream​(java.lang.Iterable<T> self)
      Returns a sequential Stream with the specified element(s) as its source.
       class Items implements Iterable {
         Iterator iterator() {
           ['one', 'two'].iterator()
         }
       }
       def items = new Items()
       assert items.stream().toList() == ['one', 'two']
       
      Since:
      3.0.0
    • stream

      public static <T> java.util.stream.Stream<T> stream​(java.util.Iterator<T> self)
      Returns a sequential Stream with the specified element(s) as its source.
       [].iterator().stream().toList().isEmpty()
       ['one', 'two'].iterator().stream().toList() == ['one', 'two']
       
      Since:
      3.0.0
    • stream

      public static <T> java.util.stream.Stream<T> stream​(java.util.Spliterator<T> self)
      Returns a sequential Stream with the specified element(s) as its source.
       [].spliterator().stream().toList().isEmpty()
       ['one', 'two'].spliterator().stream().toList() == ['one', 'two']
       
      Since:
      3.0.0
    • stream

      public static <T> java.util.stream.Stream<T> stream​(java.util.Optional<T> self)
      If a value is present in the Optional, returns a Stream with the value as its source or else an empty stream.
      Since:
      3.0.0
    • stream

      public static java.util.stream.IntStream stream​(java.util.OptionalInt self)
      If a value is present in the OptionalInt, returns an IntStream with the value as its source or else an empty stream.
      Since:
      3.0.0
    • stream

      public static java.util.stream.LongStream stream​(java.util.OptionalLong self)
      If a value is present in the OptionalLong, returns a LongStream with the value as its source or else an empty stream.
      Since:
      3.0.0
    • stream

      public static java.util.stream.DoubleStream stream​(java.util.OptionalDouble self)
      If a value is present in the OptionalDouble, returns a DoubleStream with the value as its source or else an empty stream.
      Since:
      3.0.0
    • orOptional

      public static <T> java.util.Optional<T> orOptional​(java.util.Optional<T> self, java.util.function.Supplier<? extends java.util.Optional<? extends T>> supplier)
      Provide similar functionality to JDK9 or on JDK8.
      Since:
      3.0.6