[Java] Class PluginDefaultGroovyMethods
- 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
Methods Summary
| Type Params | Return Type | Name and description |
|---|---|---|
public static boolean |
asBoolean(Optional<?> optional)Coerce an Optional instance to a boolean value. | |
<S, T> | public static Optional<T> |
collect(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. |
<S, T> | public static Future<T> |
collect(Future<S> self, Closure<T> transform)Returns a Future asynchronously returning a transformed result. |
<T> | public static Optional<T> |
filter(Optional<?> self, Class<T> type)Tests given value against specified type and changes generics of result. |
public static OptionalInt |
filter(OptionalInt self, 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. | |
public static OptionalLong |
filter(OptionalLong self, 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. | |
public static OptionalDouble |
filter(OptionalDouble self, 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. | |
public void |
forEachRemaining(Consumer<? super T> action) | |
public static int |
get(OptionalInt self)If a value is present in the OptionalInt, returns the value, otherwise throws NoSuchElementException. | |
public static long |
get(OptionalLong self)If a value is present in the OptionalLong, returns the value, otherwise throws NoSuchElementException. | |
public static double |
get(OptionalDouble self)If a value is present in the OptionalDouble, returns the value, otherwise throws NoSuchElementException. | |
public static StringBuilder |
leftShift(StringBuilder self, Object value)Overloads the left shift operator to provide an easy way to append multiple objects as string representations to a StringBuilder. | |
<T> | public static OptionalDouble |
mapToDouble(Optional<T> self, 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. |
<T> | public static OptionalInt |
mapToInt(Optional<T> self, 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. |
<T> | public static OptionalLong |
mapToLong(Optional<T> self, 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. |
<T> | public static Optional<T> |
mapToObj(OptionalInt self, 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. |
<T> | public static Optional<T> |
mapToObj(OptionalLong self, 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. |
<T> | public static Optional<T> |
mapToObj(OptionalDouble self, 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. |
public static Object |
next(Enum self)Overloads the ++ operator for enums. | |
<T> | public static Optional<T> |
orOptional(Optional<T> self, Supplier<? extends Optional<? extends T>> supplier)Provide similar functionality to JDK9 or on JDK8. |
public static String |
plus(StringBuilder self, String value)Appends a String to this StringBuilder. | |
public static Object |
previous(Enum self)Overloads the -- operator for enums. | |
public static void |
putAt(StringBuilder self, IntRange range, Object value)Supports the range subscript operator for StringBuilder. | |
public static void |
putAt(StringBuilder self, EmptyRange range, Object value)Supports the range subscript operator for StringBuilder. | |
public static int |
size(StringBuilder self)Provides the standard Groovy size() method for StringBuilder. | |
<T> | public static Stream<T> |
stream(NullObject self)Returns an empty sequential Stream. |
<T> | public static Stream<T> |
stream(T self)Returns a sequential Stream containing a single element. |
<T> | public static Stream<T> |
stream(T[] self)Returns a sequential Stream with the specified array as its source. |
public static Stream<Integer> |
stream(int[] self)Returns a sequential Stream with the specified array as its source. | |
public static Stream<Long> |
stream(long[] self)Returns a sequential Stream with the specified array as its source. | |
public static Stream<Double> |
stream(double[] self)Returns a sequential Stream with the specified array as its source. | |
public static Stream<Character> |
stream(char[] self)Returns a sequential Stream with the specified array as its source. | |
public static Stream<Byte> |
stream(byte[] self)Returns a sequential Stream with the specified array as its source. | |
public static Stream<Short> |
stream(short[] self)Returns a sequential Stream with the specified array as its source. | |
public static Stream<Boolean> |
stream(boolean[] self)Returns a sequential Stream with the specified array as its source. | |
public static Stream<Float> |
stream(float[] self)Returns a sequential Stream with the specified array as its source. | |
<T> | public static Stream<T> |
stream(Enumeration<T> self)Returns a sequential Stream with the specified element(s) as its source. |
<T> | public static Stream<T> |
stream(Iterable<T> self)Returns a sequential Stream with the specified element(s) as its source. |
<T> | public static Stream<T> |
stream(Iterator<T> self)Returns a sequential Stream with the specified element(s) as its source. |
<T> | public static Stream<T> |
stream(Spliterator<T> self)Returns a sequential Stream with the specified element(s) as its source. |
<T> | public static Stream<T> |
stream(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. |
public static IntStream |
stream(OptionalInt self)If a value is present in the OptionalInt, returns an IntStream with the value as its source or else an empty stream. | |
public static LongStream |
stream(OptionalLong self)If a value is present in the OptionalLong, returns a LongStream with the value as its source or else an empty stream. | |
public static DoubleStream |
stream(OptionalDouble self)If a value is present in the OptionalDouble, returns a DoubleStream with the value as its source or else an empty stream. | |
<T> | public static T[] |
toArray(Stream<? extends T> self, Class<T> type)Returns an array containing the elements of the stream. |
<T> | public static List<T> |
toList(Stream<T> self)Accumulates the elements of stream into a new List. |
<T> | public static List<T> |
toList(BaseStream<T, ? extends BaseStream> self)Accumulates the elements of stream into a new List. |
<T> | public static Set<T> |
toSet(Stream<T> self)Accumulates the elements of stream into a new Set. |
<T> | public static Set<T> |
toSet(BaseStream<T, ? extends BaseStream> self)Accumulates the elements of stream into a new Set. |
public boolean |
tryAdvance(Consumer<? super T> action) |
Inherited Methods Summary
Method Detail
public static boolean asBoolean(Optional<?> optional)
Coerce an Optional instance to a boolean value.
assert !Optional.empty().asBoolean() assert Optional.of(1234).asBoolean()
- Parameters:
-
optional- the Optional
- Returns:
-
trueif a value is present, otherwisefalse
- Since:
- 2.5.0
<S, T> public static Optional<T> collect(Optional<S> self, @ClosureParams(FirstParam.FirstGenericType.class) 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
<S, T> public static Future<T> collect(Future<S> self, @ClosureParams(FirstParam.FirstGenericType.class) Closure<T> transform)
Returns a Future asynchronously returning a transformed result.
import java.util.concurrent.* def executor = Executors.newSingleThreadExecutor() Futurefoobar = 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
<T> public static Optional<T> filter(Optional<?> self, 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
public static OptionalInt filter(OptionalInt self, 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
public static OptionalLong filter(OptionalLong self, 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
public static OptionalDouble filter(OptionalDouble self, 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
@Override public void forEachRemaining(Consumer<? super T> action)
public static int get(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
public static long get(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
public static double get(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
public static StringBuilder leftShift(StringBuilder self, 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
<T> public static OptionalDouble mapToDouble(Optional<T> self, 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
<T> public static OptionalInt mapToInt(Optional<T> self, 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
<T> public static OptionalLong mapToLong(Optional<T> self, 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
<T> public static Optional<T> mapToObj(OptionalInt self, 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
<T> public static Optional<T> mapToObj(OptionalLong self, 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
<T> public static Optional<T> mapToObj(OptionalDouble self, 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
public static Object next(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
<T> public static Optional<T> orOptional(Optional<T> self, Supplier<? extends Optional<? extends T>> supplier)
Provide similar functionality to JDK9 or on JDK8.
public static String plus(StringBuilder self, String value)
Appends a String to this StringBuilder.
- Parameters:
-
self- a StringBuilder -
value- a String
- Returns:
- a String
- Since:
- 1.5.2
public static Object previous(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
public static void putAt(StringBuilder self, IntRange range, 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
public static void putAt(StringBuilder self, EmptyRange range, 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
@Deprecated public static int size(StringBuilder self)
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
<T> public static 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
<T> public static 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
<T> public static 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
Streamfor the array
- Since:
- 2.5.0
public static Stream<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
Streamfor the array
- Since:
- 2.5.0
public static Stream<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
Streamfor the array
- Since:
- 2.5.0
public static Stream<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
Streamfor the array
- Since:
- 2.5.0
public static Stream<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
Streamfor the array
- Since:
- 2.5.0
public static Stream<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
Streamfor the array
- Since:
- 2.5.0
public static Stream<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
Streamfor the array
- Since:
- 2.5.0
public static Stream<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
Streamfor the array
- Since:
- 2.5.0
public static Stream<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
Streamfor the array
- Since:
- 2.5.0
<T> public static Stream<T> stream(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
<T> public static Stream<T> stream(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
<T> public static Stream<T> stream(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
<T> public static Stream<T> stream(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
<T> public static Stream<T> stream(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
public static IntStream stream(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
public static LongStream stream(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
public static DoubleStream stream(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
<T> public static T[] toArray(Stream<? extends T> self, 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
<T> public static List<T> toList(Stream<T> self)
Accumulates the elements of stream into a new List.
- Parameters:
-
self- the stream
- Type Parameters:
-
T- the type of element
- Returns:
- a new
java.util.Listinstance
- Since:
- 2.5.0
<T> public static List<T> toList(BaseStream<T, ? extends BaseStream> self)
Accumulates the elements of stream into a new List.
- Parameters:
-
self- thejava.util.stream.BaseStream
- Type Parameters:
-
T- the type of element
- Returns:
- a new
java.util.Listinstance
- Since:
- 2.5.0
<T> public static Set<T> toSet(Stream<T> self)
Accumulates the elements of stream into a new Set.
- Parameters:
-
self- the stream
- Type Parameters:
-
T- the type of element
- Returns:
- a new
java.util.Setinstance
- Since:
- 2.5.0
<T> public static Set<T> toSet(BaseStream<T, ? extends BaseStream> self)
Accumulates the elements of stream into a new Set.
- Parameters:
-
self- thejava.util.stream.BaseStream
- Type Parameters:
-
T- the type of element
- Returns:
- a new
java.util.Setinstance
- Since:
- 2.5.0
@Override public boolean tryAdvance(Consumer<? super T> action)
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.html