Class Try<T>
- java.lang.Object
-
- io.vavr.control.Try<T>
-
- Type Parameters:
T
- Value type in the case of success.
- Direct Known Subclasses:
Try.Failure
,Try.Success
public abstract class Try<T> extends java.lang.Object implements Iterable<T>, Value<T>, java.io.Serializable
The Try control gives us the ability write safe code without focusing on try-catch blocks in the presence of exceptions.The following exceptions are considered to be fatal/non-recoverable:
- InterruptedException
- LinkageError
- ThreadDeath
- VirtualMachineError (i.e. OutOfMemoryError or StackOverflowError)
Important note: Try may re-throw (undeclared) exceptions, e.g. on
get()
. From within a dynamic proxyInvocationHandler
this will lead to anUndeclaredThrowableException
. For more information, please read Dynamic Proxy Classes.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Try.Failure<T>
Deprecated.will be removed from the public APIstatic class
Try.Success<T>
Deprecated.will be removed from the public APIstatic class
Try.WithResources1<T1 extends java.lang.AutoCloseable>
ATry
-with-resources builder that operates on oneAutoCloseable
resource.static class
Try.WithResources2<T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable>
ATry
-with-resources builder that operates on twoAutoCloseable
resources.static class
Try.WithResources3<T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable>
ATry
-with-resources builder that operates on threeAutoCloseable
resources.static class
Try.WithResources4<T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable>
ATry
-with-resources builder that operates on fourAutoCloseable
resources.static class
Try.WithResources5<T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable,T5 extends java.lang.AutoCloseable>
ATry
-with-resources builder that operates on fiveAutoCloseable
resources.static class
Try.WithResources6<T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable,T5 extends java.lang.AutoCloseable,T6 extends java.lang.AutoCloseable>
ATry
-with-resources builder that operates on sixAutoCloseable
resources.static class
Try.WithResources7<T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable,T5 extends java.lang.AutoCloseable,T6 extends java.lang.AutoCloseable,T7 extends java.lang.AutoCloseable>
ATry
-with-resources builder that operates on sevenAutoCloseable
resources.static class
Try.WithResources8<T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable,T5 extends java.lang.AutoCloseable,T6 extends java.lang.AutoCloseable,T7 extends java.lang.AutoCloseable,T8 extends java.lang.AutoCloseable>
ATry
-with-resources builder that operates on eightAutoCloseable
resources.
-
Method Summary
Modifier and Type Method Description Try<T>
andFinally(java.lang.Runnable runnable)
Provides try's finally behavior no matter what the result of the operation is.Try<T>
andFinallyTry(CheckedRunnable runnable)
Provides try's finally behavior no matter what the result of the operation is.Try<T>
andThen(java.lang.Runnable runnable)
Shortcut forandThenTry(runnable::run)
, seeandThenTry(CheckedRunnable)
.Try<T>
andThen(java.util.function.Consumer<? super T> consumer)
Shortcut forandThenTry(consumer::accept)
, seeandThenTry(CheckedConsumer)
.Try<T>
andThenTry(CheckedConsumer<? super T> consumer)
Passes the result to the givenconsumer
if this is aSuccess
.Try<T>
andThenTry(CheckedRunnable runnable)
Runs the given runnable if this is aSuccess
, otherwise returns thisFailure
.<R> Try<R>
collect(PartialFunction<? super T,? extends R> partialFunction)
Collects value that is in the domain of the givenpartialFunction
by mapping the value to typeR
.Try<java.lang.Throwable>
failed()
ReturnsSuccess(throwable)
if this is aFailure(throwable)
, otherwise aFailure(new NoSuchElementException("Success.failed()"))
if this is a Success.static <T> Try<T>
failure(java.lang.Throwable exception)
Creates aTry.Failure
that contains the givenexception
.Try<T>
filter(java.util.function.Predicate<? super T> predicate)
Shortcut forfilterTry(predicate::test)
, seefilterTry(CheckedPredicate)
}.Try<T>
filter(java.util.function.Predicate<? super T> predicate, java.util.function.Function<? super T,? extends java.lang.Throwable> errorProvider)
Shortcut forfilterTry(predicate::test, errorProvider::apply)
, seefilterTry(CheckedPredicate, CheckedFunction1)
}.Try<T>
filter(java.util.function.Predicate<? super T> predicate, java.util.function.Supplier<? extends java.lang.Throwable> throwableSupplier)
Shortcut forfilterTry(predicate::test, throwableSupplier)
, seefilterTry(CheckedPredicate, Supplier)
}.Try<T>
filterNot(java.util.function.Predicate<? super T> predicate)
Contrary to filter, seefilter(Predicate)
.Try<T>
filterNot(java.util.function.Predicate<? super T> predicate, java.util.function.Function<? super T,? extends java.lang.Throwable> errorProvider)
Contrary to filter, seefilter(Predicate, Function)
.Try<T>
filterNot(java.util.function.Predicate<? super T> predicate, java.util.function.Supplier<? extends java.lang.Throwable> throwableSupplier)
Contrary to filter, seefilter(Predicate, Supplier)
.Try<T>
filterTry(CheckedPredicate<? super T> predicate)
Returnsthis
if this is a Failure or this is a Success and the value satisfies the predicate.Try<T>
filterTry(CheckedPredicate<? super T> predicate, CheckedFunction1<? super T,? extends java.lang.Throwable> errorProvider)
Returnsthis
if this is a Failure or this is a Success and the value satisfies the predicate.Try<T>
filterTry(CheckedPredicate<? super T> predicate, java.util.function.Supplier<? extends java.lang.Throwable> throwableSupplier)
Returnsthis
if this is a Failure or this is a Success and the value satisfies the predicate.<U> Try<U>
flatMap(java.util.function.Function<? super T,? extends Try<? extends U>> mapper)
Shortcut forflatMapTry(mapper::apply)
, seeflatMapTry(CheckedFunction1)
.<U> Try<U>
flatMapTry(CheckedFunction1<? super T,? extends Try<? extends U>> mapper)
FlatMaps the value of a Success or returns a Failure.<X> X
fold(java.util.function.Function<? super java.lang.Throwable,? extends X> ifFail, java.util.function.Function<? super T,? extends X> f)
Folds either theFailure
or theSuccess
side of the Try value.abstract T
get()
Gets the result of this Try if this is aSuccess
or throws if this is aFailure
.abstract java.lang.Throwable
getCause()
Gets the cause if this is a Failure or throws if this is a Success.T
getOrElseGet(java.util.function.Function<? super java.lang.Throwable,? extends T> other)
<X extends java.lang.Throwable>
TgetOrElseThrow(java.util.function.Function<? super java.lang.Throwable,X> exceptionProvider)
boolean
isAsync()
ATry
's value is computed synchronously.abstract boolean
isEmpty()
Checks whether this Try has no result, i.e.abstract boolean
isFailure()
Checks if this is a Failure.boolean
isLazy()
ATry
's value is computed eagerly.boolean
isSingleValued()
ATry
is a single-valued.abstract boolean
isSuccess()
Checks if this is a Success.Iterator<T>
iterator()
Returns a richIterator
that allows us to perform intermediate, sequential operations known from Vavr's collection library.<U> Try<U>
map(java.util.function.Function<? super T,? extends U> mapper)
Shortcut formapTry(mapper::apply)
, seemapTry(CheckedFunction1)
.Try<T>
mapFailure(API.Match.Case<? extends java.lang.Throwable,? extends java.lang.Throwable>... cases)
Maps the cause to a new exception if this is aFailure
or returns this instance if this is aSuccess
.<U> Try<U>
mapTry(CheckedFunction1<? super T,? extends U> mapper)
Runs the given checked function if this is aTry.Success
, passing the result of the current expression to it.static <T> Try<T>
narrow(Try<? extends T> t)
Narrows a widenedTry<? extends T>
toTry<T>
by performing a type-safe cast.static <T> Try<T>
of(CheckedFunction0<? extends T> supplier)
Creates a Try of a CheckedFunction0.static <T> Try<T>
ofCallable(java.util.concurrent.Callable<? extends T> callable)
Creates a Try of a Callable.static <T> Try<T>
ofSupplier(java.util.function.Supplier<? extends T> supplier)
Creates a Try of a Supplier.<X extends java.lang.Throwable>
Try<T>onFailure(java.lang.Class<X> exceptionType, java.util.function.Consumer<? super X> action)
Consumes the cause if this is aTry.Failure
and the cause is instance ofX
.Try<T>
onFailure(java.util.function.Consumer<? super java.lang.Throwable> action)
Consumes the cause if this is aTry.Failure
.Try<T>
onSuccess(java.util.function.Consumer<? super T> action)
Consumes the value if this is aTry.Success
.Try<T>
orElse(Try<? extends T> other)
Try<T>
orElse(java.util.function.Supplier<? extends Try<? extends T>> supplier)
void
orElseRun(java.util.function.Consumer<? super java.lang.Throwable> action)
Try<T>
peek(java.util.function.Consumer<? super T> action)
Applies the action to the value of a Success or does nothing in the case of a Failure.<X extends java.lang.Throwable>
Try<T>recover(java.lang.Class<X> exceptionType, java.util.function.Function<? super X,? extends T> f)
Returnsthis
, if this is aSuccess
or this is aFailure
and the cause is not assignable fromcause.getClass()
.<X extends java.lang.Throwable>
Try<T>recover(java.lang.Class<X> exceptionType, T value)
Returnsthis
, if this is aTry.Success
or this is aFailure
and the cause is not assignable fromcause.getClass()
.Try<T>
recover(java.util.function.Function<? super java.lang.Throwable,? extends T> f)
Returnsthis
, if this is aSuccess
, otherwise tries to recover the exception of the failure withf
, i.e.<X extends java.lang.Throwable>
Try<T>recoverWith(java.lang.Class<X> exceptionType, Try<? extends T> recovered)
Recovers thisTry
with the givenrecovered
, if this is aTry.Failure
and the givenexceptionType
is assignable to the underlying cause type.<X extends java.lang.Throwable>
Try<T>recoverWith(java.lang.Class<X> exceptionType, java.util.function.Function<? super X,Try<? extends T>> f)
Returnsthis
, if this is aSuccess
or this is aFailure
and the cause is not assignable fromcause.getClass()
.Try<T>
recoverWith(java.util.function.Function<? super java.lang.Throwable,? extends Try<? extends T>> f)
Returnsthis
, if this is a Success, otherwise tries to recover the exception of the failure withf
, i.e.static Try<java.lang.Void>
run(CheckedRunnable runnable)
Creates a Try of a CheckedRunnable.static Try<java.lang.Void>
runRunnable(java.lang.Runnable runnable)
Creates a Try of a Runnable.static <T> Try<Seq<T>>
sequence(java.lang.Iterable<? extends Try<? extends T>> values)
Reduces manyTry
s into a singleTry
by transforming anIterable<Try<? extends T>>
into aTry<Seq<T>>
.static <T> Try<T>
success(T value)
Creates aTry.Success
that contains the givenvalue
.Either<java.lang.Throwable,T>
toEither()
Converts thisTry
to anEither
.Validation<java.lang.Throwable,T>
toValidation()
Converts thisTry
to aValidation
.<U> Validation<U,T>
toValidation(java.util.function.Function<? super java.lang.Throwable,? extends U> throwableMapper)
Converts thisTry
to aValidation
, converting the Throwable (if present) to another object using passedFunction
.<U> U
transform(java.util.function.Function<? super Try<T>,? extends U> f)
Transforms thisTry
.static <T,U>
Try<Seq<U>>traverse(java.lang.Iterable<? extends T> values, java.util.function.Function<? super T,? extends Try<? extends U>> mapper)
Maps the values of an iterable to a sequence of mapped values into a singleTry
by transforming anIterable<? extends T>
into aTry<Seq<U>>
.static <T1 extends java.lang.AutoCloseable>
Try.WithResources1<T1>withResources(CheckedFunction0<? extends T1> t1Supplier)
Creates aTry
-with-resources builder that operates on oneAutoCloseable
resource.static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable>
Try.WithResources2<T1,T2>withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier)
Creates aTry
-with-resources builder that operates on twoAutoCloseable
resources.static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable>
Try.WithResources3<T1,T2,T3>withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier)
Creates aTry
-with-resources builder that operates on threeAutoCloseable
resources.static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable>
Try.WithResources4<T1,T2,T3,T4>withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier)
Creates aTry
-with-resources builder that operates on fourAutoCloseable
resources.static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable,T5 extends java.lang.AutoCloseable>
Try.WithResources5<T1,T2,T3,T4,T5>withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier, CheckedFunction0<? extends T5> t5Supplier)
Creates aTry
-with-resources builder that operates on fiveAutoCloseable
resources.static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable,T5 extends java.lang.AutoCloseable,T6 extends java.lang.AutoCloseable>
Try.WithResources6<T1,T2,T3,T4,T5,T6>withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier, CheckedFunction0<? extends T5> t5Supplier, CheckedFunction0<? extends T6> t6Supplier)
Creates aTry
-with-resources builder that operates on sixAutoCloseable
resources.static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable,T5 extends java.lang.AutoCloseable,T6 extends java.lang.AutoCloseable,T7 extends java.lang.AutoCloseable>
Try.WithResources7<T1,T2,T3,T4,T5,T6,T7>withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier, CheckedFunction0<? extends T5> t5Supplier, CheckedFunction0<? extends T6> t6Supplier, CheckedFunction0<? extends T7> t7Supplier)
Creates aTry
-with-resources builder that operates on sevenAutoCloseable
resources.static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable,T5 extends java.lang.AutoCloseable,T6 extends java.lang.AutoCloseable,T7 extends java.lang.AutoCloseable,T8 extends java.lang.AutoCloseable>
Try.WithResources8<T1,T2,T3,T4,T5,T6,T7,T8>withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier, CheckedFunction0<? extends T5> t5Supplier, CheckedFunction0<? extends T6> t6Supplier, CheckedFunction0<? extends T7> t7Supplier, CheckedFunction0<? extends T8> t8Supplier)
Creates aTry
-with-resources builder that operates on eightAutoCloseable
resources.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.vavr.Value
collect, collect, contains, corresponds, eq, equals, exists, forAll, forEach, getOrElse, getOrElse, getOrElseThrow, getOrElseTry, getOrNull, hashCode, out, out, spliterator, stderr, stdout, stringPrefix, toArray, toCharSeq, toCompletableFuture, toEither, toEither, toInvalid, toInvalid, toJavaArray, toJavaArray, toJavaArray, toJavaCollection, toJavaList, toJavaList, toJavaMap, toJavaMap, toJavaMap, toJavaOptional, toJavaParallelStream, toJavaSet, toJavaSet, toJavaStream, toLeft, toLeft, toLinkedMap, toLinkedMap, toLinkedSet, toList, toMap, toMap, toOption, toPriorityQueue, toPriorityQueue, toQueue, toRight, toRight, toSet, toSortedMap, toSortedMap, toSortedMap, toSortedMap, toSortedSet, toSortedSet, toStream, toString, toTree, toTree, toTry, toTry, toValid, toValid, toValidation, toValidation, toVector
-
-
-
-
Method Detail
-
of
public static <T> Try<T> of(CheckedFunction0<? extends T> supplier)
Creates a Try of a CheckedFunction0.- Type Parameters:
T
- Component type- Parameters:
supplier
- A checked supplier- Returns:
Success(supplier.apply())
if no exception occurs, otherwiseFailure(throwable)
if an exception occurs callingsupplier.apply()
.
-
ofSupplier
public static <T> Try<T> ofSupplier(java.util.function.Supplier<? extends T> supplier)
Creates a Try of a Supplier.- Type Parameters:
T
- Component type- Parameters:
supplier
- A supplier- Returns:
Success(supplier.get())
if no exception occurs, otherwiseFailure(throwable)
if an exception occurs callingsupplier.get()
.
-
ofCallable
public static <T> Try<T> ofCallable(java.util.concurrent.Callable<? extends T> callable)
Creates a Try of a Callable.- Type Parameters:
T
- Component type- Parameters:
callable
- A callable- Returns:
Success(callable.call())
if no exception occurs, otherwiseFailure(throwable)
if an exception occurs callingcallable.call()
.
-
run
public static Try<java.lang.Void> run(CheckedRunnable runnable)
Creates a Try of a CheckedRunnable.- Parameters:
runnable
- A checked runnable- Returns:
Success(null)
if no exception occurs, otherwiseFailure(throwable)
if an exception occurs callingrunnable.run()
.
-
runRunnable
public static Try<java.lang.Void> runRunnable(java.lang.Runnable runnable)
Creates a Try of a Runnable.- Parameters:
runnable
- A runnable- Returns:
Success(null)
if no exception occurs, otherwiseFailure(throwable)
if an exception occurs callingrunnable.run()
.
-
sequence
public static <T> Try<Seq<T>> sequence(java.lang.Iterable<? extends Try<? extends T>> values)
Reduces manyTry
s into a singleTry
by transforming anIterable<Try<? extends T>>
into aTry<Seq<T>>
. If any of theTry
s areTry.Failure
, then this returns aTry.Failure
.- Type Parameters:
T
- type of the Trys- Parameters:
values
- AnIterable
ofTry
s- Returns:
- A
Try
of aSeq
of results - Throws:
java.lang.NullPointerException
- ifvalues
is null
-
traverse
public static <T,U> Try<Seq<U>> traverse(java.lang.Iterable<? extends T> values, java.util.function.Function<? super T,? extends Try<? extends U>> mapper)
Maps the values of an iterable to a sequence of mapped values into a singleTry
by transforming anIterable<? extends T>
into aTry<Seq<U>>
.- Type Parameters:
T
- The type of the given values.U
- The mapped value type.- Parameters:
values
- AnIterable
of values.mapper
- A mapper of values to Trys- Returns:
- A
Try
of aSeq
of results. - Throws:
java.lang.NullPointerException
- if values or f is null.
-
success
public static <T> Try<T> success(T value)
- Type Parameters:
T
- Type of the givenvalue
.- Parameters:
value
- A value.- Returns:
- A new
Success
.
-
failure
public static <T> Try<T> failure(java.lang.Throwable exception)
- Type Parameters:
T
- Component type of theTry
.- Parameters:
exception
- An exception.- Returns:
- A new
Failure
.
-
narrow
public static <T> Try<T> narrow(Try<? extends T> t)
Narrows a widenedTry<? extends T>
toTry<T>
by performing a type-safe cast. This is eligible because immutable/read-only collections are covariant.- Type Parameters:
T
- Component type of theTry
.- Parameters:
t
- ATry
.- Returns:
- the given
t
instance as narrowed typeTry<T>
.
-
andThen
public final Try<T> andThen(java.util.function.Consumer<? super T> consumer)
Shortcut forandThenTry(consumer::accept)
, seeandThenTry(CheckedConsumer)
.- Parameters:
consumer
- A consumer- Returns:
- this
Try
if this is aFailure
or the consumer succeeded, otherwise theFailure
of the consumption. - Throws:
java.lang.NullPointerException
- ifconsumer
is null
-
andThenTry
public final Try<T> andThenTry(CheckedConsumer<? super T> consumer)
Passes the result to the givenconsumer
if this is aSuccess
.The main use case is chaining checked functions using method references:
Try.of(() -> 100) .andThen(i -> System.out.println(i));
- Parameters:
consumer
- A checked consumer- Returns:
- this
Try
if this is aFailure
or the consumer succeeded, otherwise theFailure
of the consumption. - Throws:
java.lang.NullPointerException
- ifconsumer
is null
-
andThen
public final Try<T> andThen(java.lang.Runnable runnable)
Shortcut forandThenTry(runnable::run)
, seeandThenTry(CheckedRunnable)
.- Parameters:
runnable
- A runnable- Returns:
- this
Try
if this is aFailure
or the runnable succeeded, otherwise theFailure
of the run. - Throws:
java.lang.NullPointerException
- ifrunnable
is null
-
andThenTry
public final Try<T> andThenTry(CheckedRunnable runnable)
Runs the given runnable if this is aSuccess
, otherwise returns thisFailure
.The main use case is chaining runnables using method references:
Try.run(A::methodRef).andThen(B::methodRef).andThen(C::methodRef);
Try.run(this::doStuff) .andThen(this::doMoreStuff) .andThen(this::doEvenMoreStuff); Try.run(() -> { doStuff(); doMoreStuff(); doEvenMoreStuff(); });
- Parameters:
runnable
- A checked runnable- Returns:
- this
Try
if this is aFailure
or the runnable succeeded, otherwise theFailure
of the run. - Throws:
java.lang.NullPointerException
- ifrunnable
is null
-
collect
public final <R> Try<R> collect(PartialFunction<? super T,? extends R> partialFunction)
Collects value that is in the domain of the givenpartialFunction
by mapping the value to typeR
.
If the element makes it through that filter, the mapped instance is wrapped inpartialFunction.isDefinedAt(value)
Try
R newValue = partialFunction.apply(value)
- Type Parameters:
R
- The new value type- Parameters:
partialFunction
- A function that is not necessarily defined on value of this try.- Returns:
- A new
Try
instance containing value of typeR
- Throws:
java.lang.NullPointerException
- ifpartialFunction
is null
-
failed
public final Try<java.lang.Throwable> failed()
ReturnsSuccess(throwable)
if this is aFailure(throwable)
, otherwise aFailure(new NoSuchElementException("Success.failed()"))
if this is a Success.- Returns:
- a new Try
-
filter
public final Try<T> filter(java.util.function.Predicate<? super T> predicate, java.util.function.Supplier<? extends java.lang.Throwable> throwableSupplier)
Shortcut forfilterTry(predicate::test, throwableSupplier)
, seefilterTry(CheckedPredicate, Supplier)
}.- Parameters:
predicate
- A predicatethrowableSupplier
- A supplier of a throwable- Returns:
- a
Try
instance - Throws:
java.lang.NullPointerException
- ifpredicate
orthrowableSupplier
is null
-
filter
public final Try<T> filter(java.util.function.Predicate<? super T> predicate, java.util.function.Function<? super T,? extends java.lang.Throwable> errorProvider)
Shortcut forfilterTry(predicate::test, errorProvider::apply)
, seefilterTry(CheckedPredicate, CheckedFunction1)
}.- Parameters:
predicate
- A predicateerrorProvider
- A function that provides some kind of Throwable for T- Returns:
- a
Try
instance - Throws:
java.lang.NullPointerException
- ifpredicate
orerrorProvider
is null
-
filter
public final Try<T> filter(java.util.function.Predicate<? super T> predicate)
Shortcut forfilterTry(predicate::test)
, seefilterTry(CheckedPredicate)
}.- Parameters:
predicate
- A predicate- Returns:
- a
Try
instance - Throws:
java.lang.NullPointerException
- ifpredicate
is null
-
filterNot
public final Try<T> filterNot(java.util.function.Predicate<? super T> predicate, java.util.function.Supplier<? extends java.lang.Throwable> throwableSupplier)
Contrary to filter, seefilter(Predicate, Supplier)
.- Parameters:
predicate
- A predicatethrowableSupplier
- A supplier of a throwable- Returns:
- a
Try
instance - Throws:
java.lang.NullPointerException
- ifpredicate
orthrowableSupplier
is null
-
filterNot
public final Try<T> filterNot(java.util.function.Predicate<? super T> predicate, java.util.function.Function<? super T,? extends java.lang.Throwable> errorProvider)
Contrary to filter, seefilter(Predicate, Function)
.- Parameters:
predicate
- A predicateerrorProvider
- A function that provides some kind of Throwable for T- Returns:
- a
Try
instance - Throws:
java.lang.NullPointerException
- ifpredicate
orerrorProvider
is null
-
filterNot
public final Try<T> filterNot(java.util.function.Predicate<? super T> predicate)
Contrary to filter, seefilter(Predicate)
.- Parameters:
predicate
- A predicate- Returns:
- a
Try
instance - Throws:
java.lang.NullPointerException
- ifpredicate
is null
-
filterTry
public final Try<T> filterTry(CheckedPredicate<? super T> predicate, java.util.function.Supplier<? extends java.lang.Throwable> throwableSupplier)
Returnsthis
if this is a Failure or this is a Success and the value satisfies the predicate.Returns a new Failure, if this is a Success and the value does not satisfy the Predicate or an exception occurs testing the predicate. The returned Failure wraps a Throwable instance provided by the given
throwableSupplier
.- Parameters:
predicate
- A checked predicatethrowableSupplier
- A supplier of a throwable- Returns:
- a
Try
instance - Throws:
java.lang.NullPointerException
- ifpredicate
orthrowableSupplier
is null
-
filterTry
public final Try<T> filterTry(CheckedPredicate<? super T> predicate, CheckedFunction1<? super T,? extends java.lang.Throwable> errorProvider)
Returnsthis
if this is a Failure or this is a Success and the value satisfies the predicate.Returns a new Failure, if this is a Success and the value does not satisfy the Predicate or an exception occurs testing the predicate. The returned Failure wraps a Throwable instance provided by the given
errorProvider
.- Parameters:
predicate
- A checked predicateerrorProvider
- A provider of a throwable- Returns:
- a
Try
instance - Throws:
java.lang.NullPointerException
- ifpredicate
orerrorProvider
is null
-
filterTry
public final Try<T> filterTry(CheckedPredicate<? super T> predicate)
Returnsthis
if this is a Failure or this is a Success and the value satisfies the predicate.Returns a new Failure, if this is a Success and the value does not satisfy the Predicate or an exception occurs testing the predicate. The returned Failure wraps a
NoSuchElementException
instance.- Parameters:
predicate
- A checked predicate- Returns:
- a
Try
instance - Throws:
java.lang.NullPointerException
- ifpredicate
is null
-
flatMap
public final <U> Try<U> flatMap(java.util.function.Function<? super T,? extends Try<? extends U>> mapper)
Shortcut forflatMapTry(mapper::apply)
, seeflatMapTry(CheckedFunction1)
.- Type Parameters:
U
- The new component type- Parameters:
mapper
- A mapper- Returns:
- a
Try
- Throws:
java.lang.NullPointerException
- ifmapper
is null
-
flatMapTry
public final <U> Try<U> flatMapTry(CheckedFunction1<? super T,? extends Try<? extends U>> mapper)
FlatMaps the value of a Success or returns a Failure.- Type Parameters:
U
- The new component type- Parameters:
mapper
- A mapper- Returns:
- a
Try
- Throws:
java.lang.NullPointerException
- ifmapper
is null
-
get
public abstract T get()
Gets the result of this Try if this is aSuccess
or throws if this is aFailure
.IMPORTANT! If this is a
Try.Failure
, the underlyingcause
of typeThrowable
is thrown.The thrown exception is exactly the same as the result of
getCause()
.
-
getCause
public abstract java.lang.Throwable getCause()
Gets the cause if this is a Failure or throws if this is a Success.- Returns:
- The cause if this is a Failure
- Throws:
java.lang.UnsupportedOperationException
- if this is a Success
-
isAsync
public final boolean isAsync()
ATry
's value is computed synchronously.
-
isEmpty
public abstract boolean isEmpty()
Checks whether this Try has no result, i.e. is a Failure.
-
isFailure
public abstract boolean isFailure()
Checks if this is a Failure.- Returns:
- true, if this is a Failure, otherwise false, if this is a Success
-
isLazy
public final boolean isLazy()
ATry
's value is computed eagerly.
-
isSingleValued
public final boolean isSingleValued()
ATry
is a single-valued.- Specified by:
isSingleValued
in interfaceValue<T>
- Returns:
true
-
isSuccess
public abstract boolean isSuccess()
Checks if this is a Success.- Returns:
- true, if this is a Success, otherwise false, if this is a Failure
-
iterator
public final Iterator<T> iterator()
Description copied from interface:Iterable
Returns a richIterator
that allows us to perform intermediate, sequential operations known from Vavr's collection library.
-
map
public final <U> Try<U> map(java.util.function.Function<? super T,? extends U> mapper)
Shortcut formapTry(mapper::apply)
, seemapTry(CheckedFunction1)
.
-
mapFailure
@GwtIncompatible public final Try<T> mapFailure(API.Match.Case<? extends java.lang.Throwable,? extends java.lang.Throwable>... cases)
Maps the cause to a new exception if this is aFailure
or returns this instance if this is aSuccess
.If none of the given cases matches the cause, the same
Failure
is returned.- Parameters:
cases
- A not necessarily exhaustive sequence of cases that will be matched against a cause.- Returns:
- A new
Try
if this is aFailure
, otherwise this.
-
mapTry
public final <U> Try<U> mapTry(CheckedFunction1<? super T,? extends U> mapper)
Runs the given checked function if this is aTry.Success
, passing the result of the current expression to it. If this expression is aTry.Failure
then it'll return a newTry.Failure
of type R with the original exception.The main use case is chaining checked functions using method references:
Try.of(() -> 0) .map(x -> 1 / x); // division by zero
- Type Parameters:
U
- The new component type- Parameters:
mapper
- A checked function- Returns:
- a
Try
- Throws:
java.lang.NullPointerException
- ifmapper
is null
-
onFailure
public final Try<T> onFailure(java.util.function.Consumer<? super java.lang.Throwable> action)
Consumes the cause if this is aTry.Failure
.// (does not print anything) Try.success(1).onFailure(System.out::println); // prints "java.lang.Error" Try.failure(new Error()).onFailure(System.out::println);
- Parameters:
action
- An exception consumer- Returns:
- this
- Throws:
java.lang.NullPointerException
- ifaction
is null
-
onFailure
@GwtIncompatible public final <X extends java.lang.Throwable> Try<T> onFailure(java.lang.Class<X> exceptionType, java.util.function.Consumer<? super X> action)
Consumes the cause if this is aTry.Failure
and the cause is instance ofX
.// (does not print anything) Try.success(1).onFailure(Error.class, System.out::println); // prints "Error" Try.failure(new Error()) .onFailure(RuntimeException.class, x -> System.out.println("Runtime exception")) .onFailure(Error.class, x -> System.out.println("Error"));
- Type Parameters:
X
- the exception type that should be handled- Parameters:
exceptionType
- the exception type that is handledaction
- an excpetion consumer- Returns:
- this
- Throws:
java.lang.NullPointerException
- ifexceptionType
oraction
is null
-
onSuccess
public final Try<T> onSuccess(java.util.function.Consumer<? super T> action)
Consumes the value if this is aTry.Success
.// prints "1" Try.success(1).onSuccess(System.out::println); // (does not print anything) Try.failure(new Error()).onSuccess(System.out::println);
- Parameters:
action
- A value consumer- Returns:
- this
- Throws:
java.lang.NullPointerException
- ifaction
is null
-
orElse
public final Try<T> orElse(java.util.function.Supplier<? extends Try<? extends T>> supplier)
-
getOrElseGet
public final T getOrElseGet(java.util.function.Function<? super java.lang.Throwable,? extends T> other)
-
orElseRun
public final void orElseRun(java.util.function.Consumer<? super java.lang.Throwable> action)
-
getOrElseThrow
public final <X extends java.lang.Throwable> T getOrElseThrow(java.util.function.Function<? super java.lang.Throwable,X> exceptionProvider) throws X extends java.lang.Throwable
- Throws:
X extends java.lang.Throwable
-
fold
public final <X> X fold(java.util.function.Function<? super java.lang.Throwable,? extends X> ifFail, java.util.function.Function<? super T,? extends X> f)
Folds either theFailure
or theSuccess
side of the Try value.- Type Parameters:
X
- type of the folded value- Parameters:
ifFail
- maps the left value if this is aFailure
f
- maps the value if this is aSuccess
- Returns:
- A value of type X
-
peek
public final Try<T> peek(java.util.function.Consumer<? super T> action)
Applies the action to the value of a Success or does nothing in the case of a Failure.
-
recover
@GwtIncompatible public final <X extends java.lang.Throwable> Try<T> recover(java.lang.Class<X> exceptionType, java.util.function.Function<? super X,? extends T> f)
Returnsthis
, if this is aSuccess
or this is aFailure
and the cause is not assignable fromcause.getClass()
. Otherwise tries to recover the exception of the failure withf
, i.e. callingTry.of(() -> f.apply((X) getCause())
.// = Success(13) Try.of(() -> 27/2).recover(ArithmeticException.class, x -> Integer.MAX_VALUE); // = Success(2147483647) Try.of(() -> 1/0) .recover(Error.class, x -> -1) .recover(ArithmeticException.class, x -> Integer.MAX_VALUE); // = Failure(java.lang.ArithmeticException: / by zero) Try.of(() -> 1/0).recover(Error.class, x -> Integer.MAX_VALUE);
- Type Parameters:
X
- Exception type- Parameters:
exceptionType
- The specific exception type that should be handledf
- A recovery function taking an exception of typeX
- Returns:
- a
Try
- Throws:
java.lang.NullPointerException
- ifexception
is null orf
is null
-
recoverWith
@GwtIncompatible public final <X extends java.lang.Throwable> Try<T> recoverWith(java.lang.Class<X> exceptionType, java.util.function.Function<? super X,Try<? extends T>> f)
Returnsthis
, if this is aSuccess
or this is aFailure
and the cause is not assignable fromcause.getClass()
. Otherwise tries to recover the exception of the failure withf
which returns Try. IfisFailure()
returned byf
function istrue
it means that recovery cannot take place due to some circumstances.// = Success(13) Try.of(() -> 27/2).recoverWith(ArithmeticException.class, x -> Try.success(Integer.MAX_VALUE)); // = Success(2147483647) Try.of(() -> 1/0) .recoverWith(Error.class, x -> Try.success(-1)) .recoverWith(ArithmeticException.class, x -> Try.success(Integer.MAX_VALUE)); // = Failure(java.lang.ArithmeticException: / by zero) Try.of(() -> 1/0).recoverWith(Error.class, x -> Try.success(Integer.MAX_VALUE));
- Type Parameters:
X
- Exception type- Parameters:
exceptionType
- The specific exception type that should be handledf
- A recovery function taking an exception of typeX
and returning Try as a result of recovery. If Try isisSuccess()
then recovery ends up successfully. Otherwise the function was not able to recover.- Returns:
- a
Try
- Throws:
java.lang.NullPointerException
- ifexceptionType
orf
is null
-
recoverWith
@GwtIncompatible public final <X extends java.lang.Throwable> Try<T> recoverWith(java.lang.Class<X> exceptionType, Try<? extends T> recovered)
Recovers thisTry
with the givenrecovered
, if this is aTry.Failure
and the givenexceptionType
is assignable to the underlying cause type.// = Success(13) Try.of(() -> 27/2).recoverWith(ArithmeticException.class, Try.success(Integer.MAX_VALUE)); // = Success(2147483647) Try.of(() -> 1/0) .recoverWith(Error.class, Try.success(-1)) .recoverWith(ArithmeticException.class, Try.success(Integer.MAX_VALUE)); // = Failure(java.lang.ArithmeticException: / by zero) Try.of(() -> 1/0).recoverWith(Error.class, Try.success(Integer.MAX_VALUE));
- Type Parameters:
X
- type of the exception that should be recovered- Parameters:
exceptionType
- the exception type that is recoveredrecovered
- the substitute for a matchingFailure
- Returns:
- the given
recovered
if this is aTry.Failure
and the cause is of typeX
, elsethis
- Throws:
java.lang.NullPointerException
- ifexceptionType
orrecovered
is null
-
recover
@GwtIncompatible public final <X extends java.lang.Throwable> Try<T> recover(java.lang.Class<X> exceptionType, T value)
Returnsthis
, if this is aTry.Success
or this is aFailure
and the cause is not assignable fromcause.getClass()
. Otherwise returns aTry.Success
containing the givenvalue
.// = Success(13) Try.of(() -> 27/2).recover(ArithmeticException.class, Integer.MAX_VALUE); // = Success(2147483647) Try.of(() -> 1/0) .recover(Error.class, -1); .recover(ArithmeticException.class, Integer.MAX_VALUE); // = Failure(java.lang.ArithmeticException: / by zero) Try.of(() -> 1/0).recover(Error.class, Integer.MAX_VALUE);
- Type Parameters:
X
- Exception type- Parameters:
exceptionType
- The specific exception type that should be handledvalue
- A value that is used in case of a recovery- Returns:
- a
Try
- Throws:
java.lang.NullPointerException
- ifexception
is null
-
recover
public final Try<T> recover(java.util.function.Function<? super java.lang.Throwable,? extends T> f)
Returnsthis
, if this is aSuccess
, otherwise tries to recover the exception of the failure withf
, i.e. callingTry.of(() -> f.apply(throwable))
.// = Success(13) Try.of(() -> 27/2).recover(x -> Integer.MAX_VALUE); // = Success(2147483647) Try.of(() -> 1/0).recover(x -> Integer.MAX_VALUE);
- Parameters:
f
- A recovery function taking a Throwable- Returns:
- a
Try
- Throws:
java.lang.NullPointerException
- iff
is null
-
recoverWith
public final Try<T> recoverWith(java.util.function.Function<? super java.lang.Throwable,? extends Try<? extends T>> f)
Returnsthis
, if this is a Success, otherwise tries to recover the exception of the failure withf
, i.e. callingf.apply(cause.getCause())
. If an error occurs recovering a Failure, then the new Failure is returned.// = Success(13) Try.of(() -> 27/2).recoverWith(x -> Try.success(Integer.MAX_VALUE)); // = Success(2147483647) Try.of(() -> 1/0).recoverWith(x -> Try.success(Integer.MAX_VALUE));
- Parameters:
f
- A recovery function taking a Throwable- Returns:
- a
Try
- Throws:
java.lang.NullPointerException
- iff
is null
-
toEither
public final Either<java.lang.Throwable,T> toEither()
Converts thisTry
to anEither
.- Returns:
- A new
Either
-
toValidation
public final Validation<java.lang.Throwable,T> toValidation()
Converts thisTry
to aValidation
.- Returns:
- A new
Validation
-
toValidation
public final <U> Validation<U,T> toValidation(java.util.function.Function<? super java.lang.Throwable,? extends U> throwableMapper)
Converts thisTry
to aValidation
, converting the Throwable (if present) to another object using passedFunction
.Validation<String, Integer> = Try.of(() -> 1/0).toValidation(Throwable::getMessage));
- Type Parameters:
U
- result type of the throwable mapper- Parameters:
throwableMapper
- A transformation from throwable to desired invalid type of newValidation
- Returns:
- A new
Validation
- Throws:
java.lang.NullPointerException
- if the giventhrowableMapper
is null.
-
transform
public final <U> U transform(java.util.function.Function<? super Try<T>,? extends U> f)
Transforms thisTry
.- Type Parameters:
U
- Type of transformation result- Parameters:
f
- A transformation- Returns:
- An instance of type
U
- Throws:
java.lang.NullPointerException
- iff
is null
-
andFinally
public final Try<T> andFinally(java.lang.Runnable runnable)
Provides try's finally behavior no matter what the result of the operation is.- Parameters:
runnable
- A runnable- Returns:
- this
Try
. - Throws:
java.lang.NullPointerException
- ifrunnable
is null
-
andFinallyTry
public final Try<T> andFinallyTry(CheckedRunnable runnable)
Provides try's finally behavior no matter what the result of the operation is.- Parameters:
runnable
- A runnable- Returns:
- this
Try
. - Throws:
java.lang.NullPointerException
- ifrunnable
is null
-
withResources
public static <T1 extends java.lang.AutoCloseable> Try.WithResources1<T1> withResources(CheckedFunction0<? extends T1> t1Supplier)
Creates aTry
-with-resources builder that operates on oneAutoCloseable
resource.- Type Parameters:
T1
- Type of the 1st resource.- Parameters:
t1Supplier
- The supplier of the first resource.- Returns:
- a new
Try.WithResources1
instance.
-
withResources
public static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable> Try.WithResources2<T1,T2> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier)
Creates aTry
-with-resources builder that operates on twoAutoCloseable
resources.- Type Parameters:
T1
- Type of the 1st resource.T2
- Type of the 2nd resource.- Parameters:
t1Supplier
- The supplier of the 1st resource.t2Supplier
- The supplier of the 2nd resource.- Returns:
- a new
Try.WithResources2
instance.
-
withResources
public static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable> Try.WithResources3<T1,T2,T3> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier)
Creates aTry
-with-resources builder that operates on threeAutoCloseable
resources.- Type Parameters:
T1
- Type of the 1st resource.T2
- Type of the 2nd resource.T3
- Type of the 3rd resource.- Parameters:
t1Supplier
- The supplier of the 1st resource.t2Supplier
- The supplier of the 2nd resource.t3Supplier
- The supplier of the 3rd resource.- Returns:
- a new
Try.WithResources3
instance.
-
withResources
public static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable> Try.WithResources4<T1,T2,T3,T4> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier)
Creates aTry
-with-resources builder that operates on fourAutoCloseable
resources.- Type Parameters:
T1
- Type of the 1st resource.T2
- Type of the 2nd resource.T3
- Type of the 3rd resource.T4
- Type of the 4th resource.- Parameters:
t1Supplier
- The supplier of the 1st resource.t2Supplier
- The supplier of the 2nd resource.t3Supplier
- The supplier of the 3rd resource.t4Supplier
- The supplier of the 4th resource.- Returns:
- a new
Try.WithResources4
instance.
-
withResources
public static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable,T5 extends java.lang.AutoCloseable> Try.WithResources5<T1,T2,T3,T4,T5> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier, CheckedFunction0<? extends T5> t5Supplier)
Creates aTry
-with-resources builder that operates on fiveAutoCloseable
resources.- Type Parameters:
T1
- Type of the 1st resource.T2
- Type of the 2nd resource.T3
- Type of the 3rd resource.T4
- Type of the 4th resource.T5
- Type of the 5th resource.- Parameters:
t1Supplier
- The supplier of the 1st resource.t2Supplier
- The supplier of the 2nd resource.t3Supplier
- The supplier of the 3rd resource.t4Supplier
- The supplier of the 4th resource.t5Supplier
- The supplier of the 5th resource.- Returns:
- a new
Try.WithResources5
instance.
-
withResources
public static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable,T5 extends java.lang.AutoCloseable,T6 extends java.lang.AutoCloseable> Try.WithResources6<T1,T2,T3,T4,T5,T6> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier, CheckedFunction0<? extends T5> t5Supplier, CheckedFunction0<? extends T6> t6Supplier)
Creates aTry
-with-resources builder that operates on sixAutoCloseable
resources.- Type Parameters:
T1
- Type of the 1st resource.T2
- Type of the 2nd resource.T3
- Type of the 3rd resource.T4
- Type of the 4th resource.T5
- Type of the 5th resource.T6
- Type of the 6th resource.- Parameters:
t1Supplier
- The supplier of the 1st resource.t2Supplier
- The supplier of the 2nd resource.t3Supplier
- The supplier of the 3rd resource.t4Supplier
- The supplier of the 4th resource.t5Supplier
- The supplier of the 5th resource.t6Supplier
- The supplier of the 6th resource.- Returns:
- a new
Try.WithResources6
instance.
-
withResources
public static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable,T5 extends java.lang.AutoCloseable,T6 extends java.lang.AutoCloseable,T7 extends java.lang.AutoCloseable> Try.WithResources7<T1,T2,T3,T4,T5,T6,T7> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier, CheckedFunction0<? extends T5> t5Supplier, CheckedFunction0<? extends T6> t6Supplier, CheckedFunction0<? extends T7> t7Supplier)
Creates aTry
-with-resources builder that operates on sevenAutoCloseable
resources.- Type Parameters:
T1
- Type of the 1st resource.T2
- Type of the 2nd resource.T3
- Type of the 3rd resource.T4
- Type of the 4th resource.T5
- Type of the 5th resource.T6
- Type of the 6th resource.T7
- Type of the 7th resource.- Parameters:
t1Supplier
- The supplier of the 1st resource.t2Supplier
- The supplier of the 2nd resource.t3Supplier
- The supplier of the 3rd resource.t4Supplier
- The supplier of the 4th resource.t5Supplier
- The supplier of the 5th resource.t6Supplier
- The supplier of the 6th resource.t7Supplier
- The supplier of the 7th resource.- Returns:
- a new
Try.WithResources7
instance.
-
withResources
public static <T1 extends java.lang.AutoCloseable,T2 extends java.lang.AutoCloseable,T3 extends java.lang.AutoCloseable,T4 extends java.lang.AutoCloseable,T5 extends java.lang.AutoCloseable,T6 extends java.lang.AutoCloseable,T7 extends java.lang.AutoCloseable,T8 extends java.lang.AutoCloseable> Try.WithResources8<T1,T2,T3,T4,T5,T6,T7,T8> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier, CheckedFunction0<? extends T5> t5Supplier, CheckedFunction0<? extends T6> t6Supplier, CheckedFunction0<? extends T7> t7Supplier, CheckedFunction0<? extends T8> t8Supplier)
Creates aTry
-with-resources builder that operates on eightAutoCloseable
resources.- Type Parameters:
T1
- Type of the 1st resource.T2
- Type of the 2nd resource.T3
- Type of the 3rd resource.T4
- Type of the 4th resource.T5
- Type of the 5th resource.T6
- Type of the 6th resource.T7
- Type of the 7th resource.T8
- Type of the 8th resource.- Parameters:
t1Supplier
- The supplier of the 1st resource.t2Supplier
- The supplier of the 2nd resource.t3Supplier
- The supplier of the 3rd resource.t4Supplier
- The supplier of the 4th resource.t5Supplier
- The supplier of the 5th resource.t6Supplier
- The supplier of the 6th resource.t7Supplier
- The supplier of the 7th resource.t8Supplier
- The supplier of the 8th resource.- Returns:
- a new
Try.WithResources8
instance.
-
-