Package org.codehaus.groovy.vmplugin.v8
Class PluginDefaultGroovyMethods
java.lang.Object
org.codehaus.groovy.runtime.DefaultGroovyMethodsSupport
org.codehaus.groovy.vmplugin.v8.PluginDefaultGroovyMethods
Defines new Groovy methods which appear on standard Java 8 classes within the
Groovy environment.
- Since:
- 2.5.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleanCoerce anOptionalinstance to abooleanvalue.static <S,T> Future<T> Returns a Future asynchronously returning a transformed result.static <S,T> Optional<T> If the optional contains a value, returns an optional containing the transformed value obtained using thetransformclosure or otherwise an empty optional.static DoubleStreamdoubleStream(double[] self) Deprecated.static <T> Optional<T>Tests given value against specified type and changes generics of result.static OptionalDoublefilter(OptionalDouble self, DoublePredicate test) If a value is present in theOptionalDouble, tests the value using the given predicate and returns the optional if the test returns true or empty otherwise.static OptionalIntfilter(OptionalInt self, IntPredicate test) If a value is present in theOptionalInt, tests the value using the given predicate and returns the optional if the test returns true or else empty.static OptionalLongfilter(OptionalLong self, LongPredicate test) If a value is present in theOptionalLong, tests the value using the given predicate and returns the optional if the test returns true or else empty.static doubleget(OptionalDouble self) If a value is present in theOptionalDouble, returns the value, otherwise throwsNoSuchElementException.static intget(OptionalInt self) If a value is present in theOptionalInt, returns the value, otherwise throwsNoSuchElementException.static longget(OptionalLong self) If a value is present in theOptionalLong, returns the value, otherwise throwsNoSuchElementException.static StringGets the pid of the current Java process.static IntStreamintStream(int[] self) Deprecated.static StringBuilderleftShift(StringBuilder self, Object value) Overloads the left shift operator to provide an easy way to append multiple objects as string representations to a StringBuilder.static LongStreamlongStream(long[] self) Deprecated.static <T> OptionalDoublemapToDouble(Optional<T> self, ToDoubleFunction<? super T> mapper) If a value is present in theOptional, returns anOptionalDoubleconsisting of the result of applying the given function to the value or else empty.static <T> OptionalIntmapToInt(Optional<T> self, ToIntFunction<? super T> mapper) If a value is present in theOptional, returns anOptionalIntconsisting of the result of applying the given function to the value or else empty.static <T> OptionalLongmapToLong(Optional<T> self, ToLongFunction<? super T> mapper) If a value is present in theOptional, returns anOptionalLongconsisting of the result of applying the given function to the value or else empty.static <T> Optional<T>mapToObj(OptionalDouble self, DoubleFunction<? extends T> mapper) If a value is present in theOptionalDouble, returns anOptionalconsisting of the result of applying the given function to the value or else empty.static <T> Optional<T>mapToObj(OptionalInt self, IntFunction<? extends T> mapper) If a value is present in theOptionalInt, returns anOptionalconsisting of the result of applying the given function to the value or else empty.static <T> Optional<T>mapToObj(OptionalLong self, LongFunction<? extends T> mapper) If a value is present in theOptionalLong, returns anOptionalconsisting of the result of applying the given function to the value or else empty.static ObjectOverloads the++operator for enums.static <T> Optional<T>orOptional(Optional<T> self, Supplier<Optional<? extends T>> supplier) Provides similar functionality to JDK9oron JDK8.static Stringplus(StringBuilder self, String value) Appends a String to this StringBuilder.static ObjectOverloads the--operator for enums.static voidputAt(StringBuilder self, EmptyRange range, Object value) Supports the range subscript operator for StringBuilder.static voidputAt(StringBuilder self, IntRange range, Object value) Supports the range subscript operator for StringBuilder.static intsize(StringBuilder self) Deprecated.stream(boolean[] self) Deprecated.stream(byte[] self) Deprecated.stream(char[] self) Deprecated.stream(double[] self) Deprecated.stream(float[] self) Deprecated.stream(int[] self) Deprecated.stream(long[] self) Deprecated.stream(short[] self) Deprecated.static <T> Stream<T>Deprecated.static <T> Stream<T>stream(Enumeration<T> self) Deprecated.static <T> Stream<T>Deprecated.static <T> Stream<T>Deprecated.static DoubleStreamstream(OptionalDouble self) Deprecated.static IntStreamstream(OptionalInt self) Deprecated.static LongStreamstream(OptionalLong self) Deprecated.static <T> Stream<T>stream(Spliterator<T> self) Deprecated.static <T> Stream<T>stream(NullObject self) Deprecated.static <T> Stream<T>stream(T self) Deprecated.static <T> Stream<T>stream(T[] self) Deprecated.static <T> T[]Deprecated.static <T> List<T>toList(BaseStream<T, ? extends BaseStream> self) Deprecated.static <T> List<T>Deprecated.static <T> Set<T>toSet(BaseStream<T, ? extends BaseStream> self) Deprecated.static <T> Set<T>Deprecated.Methods inherited from class org.codehaus.groovy.runtime.DefaultGroovyMethodsSupport
cloneSimilarCollection, cloneSimilarMap, closeQuietly, closeWithWarning, createSimilarArray, createSimilarCollection, createSimilarCollection, createSimilarCollection, createSimilarList, createSimilarMap, createSimilarOrDefaultCollection, createSimilarQueue, createSimilarSet, normaliseIndex, sameType, subListBorders, subListBorders, subListRange, writeUTF16BomIfRequired, writeUTF16BomIfRequired, writeUTF16BomIfRequired, writeUTF16BomIfRequired
-
Method Details
-
next
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
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
-
collect
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 Futuretransform- the closure used to transform the Future value- Returns:
- a Future allowing the transformed value to be obtained asynchronously
- Since:
- 3.0.0
-
asBoolean
Coerce anOptionalinstance to abooleanvalue.assert !Optional.empty().asBoolean() assert Optional.of(1234).asBoolean()
- Parameters:
optional- the Optional- Returns:
trueif a value is present, otherwisefalse- Since:
- 2.5.0
-
get
If a value is present in theOptionalInt, returns the value, otherwise throwsNoSuchElementException.assert OptionalInt.of(1234).get() == 1234
- Since:
- 3.0.0
-
get
If a value is present in theOptionalLong, returns the value, otherwise throwsNoSuchElementException.assert OptionalLong.of(1234L).get() == 1234L
- Since:
- 3.0.0
-
get
If a value is present in theOptionalDouble, returns the value, otherwise throwsNoSuchElementException.assert OptionalDouble.of(Math.PI).get() == Math.PI
- Since:
- 3.0.0
-
collect
If the optional contains a value, returns an optional containing the transformed value obtained using thetransformclosure or otherwise an empty optional.assert Optional.of("foobar").collect{ it.size() }.get() == 6 assert !Optional.empty().collect{ it.size() }.isPresent()- Parameters:
self- an Optionaltransform- 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
-
filter
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
If a value is present in theOptionalInt, 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
If a value is present in theOptionalLong, 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
If a value is present in theOptionalDouble, 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
If a value is present in theOptionalInt, returns anOptionalconsisting 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
If a value is present in theOptionalLong, returns anOptionalconsisting 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
If a value is present in theOptionalDouble, returns anOptionalconsisting 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
If a value is present in theOptional, returns anOptionalIntconsisting 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
If a value is present in theOptional, returns anOptionalLongconsisting 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
If a value is present in theOptional, returns anOptionalDoubleconsisting 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
-
orOptional
public static <T> Optional<T> orOptional(Optional<T> self, Supplier<Optional<? extends T>> supplier) Provides similar functionality to JDK9oron JDK8.def x = Optional.empty() def y = Optional.of('y') assert y.orOptional(() -> Optional.of('z')).get() == 'y' assert x.orOptional(() -> Optional.of('z')).get() == 'z'- Since:
- 3.0.6
-
getPid
Gets the pid of the current Java process.- Since:
- 4.0.0
-
leftShift
Overloads the left shift operator to provide an easy way to append multiple objects as string representations to a StringBuilder.- Parameters:
self- a StringBuildervalue- a value to append- Returns:
- the StringBuilder on which this operation was invoked
- Since:
- 1.5.2
-
plus
Appends a String to this StringBuilder.- Parameters:
self- a StringBuildervalue- a String- Returns:
- a String
- Since:
- 1.5.2
-
putAt
Supports the range subscript operator for StringBuilder.- Parameters:
self- a StringBuilderrange- a Rangevalue- the object that's toString() will be inserted- Since:
- 1.5.2
-
putAt
Supports the range subscript operator for StringBuilder. Index values are treated as characters within the builder.- Parameters:
self- a StringBuilderrange- a Rangevalue- the object that's toString() will be inserted- Since:
- 1.5.2
-
size
Deprecated.Provides the standard Groovysize()method for StringBuilder.- Parameters:
self- a StringBuilder- Returns:
- the length of the StringBuilder
- Since:
- 1.5.2
- See Also:
-
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
stream
Deprecated. -
intStream
Deprecated. -
longStream
Deprecated. -
doubleStream
Deprecated. -
toArray
Deprecated. -
toList
Deprecated. -
toList
Deprecated. -
toSet
Deprecated. -
toSet
Deprecated.
-