Return type | Name and parameters |
---|---|
boolean
|
asBoolean()
Coerce an Optional instance to a boolean value.
|
Optional
|
collect(Closure transform)
If a value is present in the Optional , returns transformed value
obtained using the transform closure or no value as an optional.
|
Optional
|
filter(Class type)
Tests given value against specified type and changes generics of result. |
Collection
|
flatten()
Flatten an Optional. |
Object
|
getAt(int index)
If a value is present in the Optional , returns the value or null.
|
OptionalDouble
|
mapToDouble(ToDoubleFunction mapper)
If a value is present in the Optional , returns an OptionalDouble
consisting of the result of applying the given function to the value or else empty.
|
OptionalInt
|
mapToInt(ToIntFunction mapper)
If a value is present in the Optional , returns an OptionalInt
consisting of the result of applying the given function to the value or else empty.
|
OptionalLong
|
mapToLong(ToLongFunction mapper)
If a value is present in the Optional , returns an OptionalLong
consisting of the result of applying the given function to the value or else empty.
|
Optional
|
orOptional(Supplier supplier)
Provides similar functionality to JDK9 or on JDK8.
|
Optional
|
peek(Consumer action)
If a value is present in the Optional , executes the specified
action with the value as input and then returns self .
|
Stream
|
stream()
If a value is present in the Optional, returns a Stream with the value as its source or else an empty stream. |
addShutdownHook
, any
, any
, asBoolean
, asType
, collect
, collect
, collect
, dump
, each
, eachMatch
, eachMatch
, eachWithIndex
, every
, every
, find
, find
, findAll
, findAll
, findIndexOf
, findIndexOf
, findIndexValues
, findIndexValues
, findLastIndexOf
, findLastIndexOf
, findResult
, findResult
, findResult
, findResult
, getAt
, getMetaClass
, getMetaPropertyValues
, getProperties
, grep
, grep
, hasProperty
, identity
, inject
, inject
, inspect
, invokeMethod
, is
, isCase
, isNotCase
, iterator
, metaClass
, print
, print
, printf
, printf
, println
, println
, println
, putAt
, respondsTo
, respondsTo
, setMetaClass
, split
, sprintf
, sprintf
, stream
, tap
, toString
, use
, use
, use
, with
, with
, withCloseable
, withMethodClosure
, withStream
, withTraits
Coerce an Optional
instance to a boolean
value.
assert !Optional.empty().asBoolean() assert Optional.of(1234).asBoolean()
true
if a value is present, false
otherwiseIf a value is present in the Optional
, returns transformed value
obtained using the transform
closure or no value as an optional.
assert Optional.of("foobar").collect{ it.size() }.get() == 6 assert !Optional.empty().collect{ it.size() }.isPresent()
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)
Flatten an Optional. This yields a collection containing the Optional value if the Optional is present, or an empty collect otherwise.
assert Optional.of(1).flatten() == [1] assert Optional.empty().flatten() == []
If a value is present in the Optional
, returns the value or null.
def opt = Optional.empty() assert opt[-1] == null assert opt[0] == null opt = Optional.of('') assert opt[-1] == '' assert opt[0] == '' groovy.test.GroovyAssert.shouldFail(IndexOutOfBoundsException) { opt[1] } // use via destructuring opt = Optional.empty() def (String s) = opt assert s == null opt = Optional.of('') (s) = opt assert s == ''
If a value is present in the Optional
, 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
If a value is present in the Optional
, 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
If a value is present in the Optional
, 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
Provides similar functionality to JDK9 or
on 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'
If a value is present in the Optional
, executes the specified
action
with the value as input and then returns self
.
boolean called = false def opt = Optional.empty() def out = opt.peek{ called = true } assert out === opt assert !called opt = Optional.of('x') out = opt.peek{ assert it == 'x'; called = true } assert out === opt assert called
If a value is present in the Optional, returns a Stream with the value as its source or else an empty stream.