W3cubDocs

/Kotlin

Result

Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)
inline class Result<out T> : Serializable

A discriminated union that encapsulates a successful outcome with a value of type T or a failure with an arbitrary Throwable exception.

Properties

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

isFailure

Returns true if this instance represents a failed outcome. In this case isSuccess returns false.

val isFailure: Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

isSuccess

Returns true if this instance represents a successful outcome. In this case isFailure returns false.

val isSuccess: Boolean

Functions

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

exceptionOrNull

Returns the encapsulated Throwable exception if this instance represents failure or null if it is success.

fun exceptionOrNull(): Throwable?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

getOrNull

Returns the encapsulated value if this instance represents success or null if it is failure.

fun getOrNull(): T?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

toString

Returns a string Success(v) if this instance represents success where v is a string representation of the value or a string Failure(x) if it is failure where x is a string representation of the exception.

fun toString(): String

Companion Object Functions

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

failure

Returns an instance that encapsulates the given Throwable as failure.

fun <T> failure(exception: Throwable): Result<T>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

success

Returns an instance that encapsulates the given value as successful value.

fun <T> success(value: T): Result<T>

Extension Functions

Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

fold

Returns the result of onSuccess for the encapsulated value if this instance represents success or the result of onFailure function for the encapsulated Throwable exception if it is failure.

fun <R, T> Result<T>.fold(
    onSuccess: (value: T) -> R, 
    onFailure: (exception: Throwable) -> R
): R
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

getOrDefault

Returns the encapsulated value if this instance represents success or the defaultValue if it is failure.

fun <R, T : R> Result<T>.getOrDefault(defaultValue: R): R
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

getOrElse

Returns the encapsulated value if this instance represents success or the result of onFailure function for the encapsulated Throwable exception if it is failure.

fun <R, T : R> Result<T>.getOrElse(
    onFailure: (exception: Throwable) -> R
): R
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

getOrThrow

Returns the encapsulated value if this instance represents success or throws the encapsulated Throwable exception if it is failure.

fun <T> Result<T>.getOrThrow(): T
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

map

Returns the encapsulated result of the given transform function applied to the encapsulated value if this instance represents success or the original encapsulated Throwable exception if it is failure.

fun <R, T> Result<T>.map(
    transform: (value: T) -> R
): Result<R>
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

mapCatching

Returns the encapsulated result of the given transform function applied to the encapsulated value if this instance represents success or the original encapsulated Throwable exception if it is failure.

fun <R, T> Result<T>.mapCatching(
    transform: (value: T) -> R
): Result<R>
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

onFailure

Performs the given action on the encapsulated Throwable exception if this instance represents failure. Returns the original Result unchanged.

fun <T> Result<T>.onFailure(
    action: (exception: Throwable) -> Unit
): Result<T>
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

onSuccess

Performs the given action on the encapsulated value if this instance represents success. Returns the original Result unchanged.

fun <T> Result<T>.onSuccess(
    action: (value: T) -> Unit
): Result<T>
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

recover

Returns the encapsulated result of the given transform function applied to the encapsulated Throwable exception if this instance represents failure or the original encapsulated value if it is success.

fun <R, T : R> Result<T>.recover(
    transform: (exception: Throwable) -> R
): Result<R>
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

recoverCatching

Returns the encapsulated result of the given transform function applied to the encapsulated Throwable exception if this instance represents failure or the original encapsulated value if it is success.

fun <R, T : R> Result<T>.recoverCatching(
    transform: (exception: Throwable) -> R
): Result<R>

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/index.html