Package net.dv8tion.jda.api.utils
Class Result<T>
- java.lang.Object
-
- net.dv8tion.jda.api.utils.Result<T>
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <E> Result<E>defer(java.util.function.Supplier<? extends E> supplier)Creates a result instance from the provided supplier.Result<T>expect(java.util.function.Predicate<? super java.lang.Throwable> predicate)Throws the wrapped exception if the provided predicate returns true.static <E> Result<E>failure(java.lang.Throwable error)Creates a failure result.<U> Result<U>flatMap(java.util.function.Function<? super T,? extends Result<U>> function)Composite function to convert a result value to another result.Tget()Unwraps the success value of this result.java.lang.ThrowablegetFailure()Unwraps the error for this result.booleanisFailure()True if this result is a failure.booleanisSuccess()True if this result is a success.<U> Result<U>map(java.util.function.Function<? super T,? extends U> function)Composite function to convert a result value to another value.Result<T>onFailure(java.util.function.Consumer<? super java.lang.Throwable> callback)Passive error handler.Result<T>onSuccess(java.util.function.Consumer<? super T> callback)Passive success handler.static <E> Result<E>success(E value)Creates a successful result.java.lang.StringtoString()
-
-
-
Method Detail
-
success
@Nonnull @CheckReturnValue public static <E> Result<E> success(@Nullable E value)
Creates a successful result.- Type Parameters:
E- The success type- Parameters:
value- The success value- Returns:
- Result
-
failure
@Nonnull @CheckReturnValue public static <E> Result<E> failure(@Nonnull java.lang.Throwable error)
Creates a failure result.- Type Parameters:
E- The success type- Parameters:
error- The failure throwable- Returns:
- Result
- Throws:
java.lang.IllegalArgumentException- If the provided error is null
-
defer
@Nonnull @CheckReturnValue public static <E> Result<E> defer(@Nonnull java.util.function.Supplier<? extends E> supplier)
Creates a result instance from the provided supplier.
If the supplier throws an exception, a failure result is returned.- Type Parameters:
E- The success type- Parameters:
supplier- The supplier- Returns:
- Result instance with the supplied value or exception failure
- Throws:
java.lang.IllegalArgumentException- If the supplier is null
-
isFailure
public boolean isFailure()
- Returns:
- True, if this is a failure result
-
isSuccess
public boolean isSuccess()
- Returns:
- True, if this is a successful result
-
onFailure
@Nonnull public Result<T> onFailure(@Nonnull java.util.function.Consumer<? super java.lang.Throwable> callback)
Passive error handler.
This will apply the provided callback ifisFailure()is true and return the same result for further chaining.- Parameters:
callback- The passive callback- Returns:
- The same result instance
- Throws:
java.lang.IllegalArgumentException- If the callback is null
-
onSuccess
@Nonnull public Result<T> onSuccess(@Nonnull java.util.function.Consumer<? super T> callback)
Passive success handler.
This will apply the provided callback ifisSuccess()is true and return the same result for further chaining.- Parameters:
callback- The passive callback- Returns:
- The same result instance
- Throws:
java.lang.IllegalArgumentException- If the callback is null
-
map
@Nonnull @CheckReturnValue public <U> Result<U> map(@Nonnull java.util.function.Function<? super T,? extends U> function)
Composite function to convert a result value to another value.
This will only apply the function isisSuccess()is true.- Type Parameters:
U- The result type- Parameters:
function- The conversion function- Returns:
- The mapped result
- Throws:
java.lang.IllegalArgumentException- If the provided function is null- See Also:
flatMap(Function)
-
flatMap
@Nonnull @CheckReturnValue public <U> Result<U> flatMap(@Nonnull java.util.function.Function<? super T,? extends Result<U>> function)
Composite function to convert a result value to another result.
This will only apply the function isisSuccess()is true.- Type Parameters:
U- The result type- Parameters:
function- The conversion function- Returns:
- The mapped result
- Throws:
java.lang.IllegalArgumentException- If the provided function is null
-
get
public T get()
Unwraps the success value of this result.
This only works ifisSuccess()is true and throws otherwise.- Returns:
- The result value
- Throws:
java.lang.IllegalStateException- If the result is not successful
-
getFailure
@Nullable public java.lang.Throwable getFailure()
- Returns:
- The error or null
-
expect
@Nonnull public Result<T> expect(@Nonnull java.util.function.Predicate<? super java.lang.Throwable> predicate)
Throws the wrapped exception if the provided predicate returns true.
This will never provide a null error to the predicate. A successful result will never throw.- Parameters:
predicate- The test predicate- Returns:
- The same result instance
- Throws:
java.lang.IllegalArgumentException- If the provided predicate is nulljava.lang.IllegalStateException- If the predicate returns true, thecausewill be the wrapped exception
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-