NaurtResult Sealed Class

A sealed class that contains either the JSON result of a successful request, or the error code and response of a failed request.

Import

Kotlin
import com.naurt.sdk.enums.NaurtResult

Signature

Kotlin
sealed class NaurtResult<out T>{
    data class Success<out R>(val value: R): NaurtResult<R>()

    data class Failure(val code: Int, val message: JSONObject): NaurtResult<Nothing>()

    fun isSuccess(): Boolean{
        return when(this){
            is Success -> true
            is Failure -> false
        }
    }
}

Parameters

  • value: A generic type that is used to return a successful result. This will usually be of type JSONObject.
  • code: The error code of the failed request.
  • message: The error message of the failed request.

Example

Kotlin
import com.naurt.sdk.poi.PoiCallback
import com.naurt.sdk.enums.NaurtResult

class MyNaurtCallback() : PoiCallback<JSONObject> {
    override fun onComplete(result: NaurtResult<JSONObject>) {
        when (result) {
            is NaurtResult.Success -> {
                println("Success!: ${result.value}")
            }
            is NaurtResult.Failure -> {
                println("Oh no, an Error! Code: ${result.code}, Message: ${result.message}")
            }
        }
    }
}