FMPResult

data class FMPResult<out T>(val status: Boolean, val result: T, val response: FMPResponse? = null, val exception: FMPException? = null, val error: String = exception?.message.orEmpty())

Результат выполнения операции фреймворка.

Since

21.04.01

Samples

import ru.fsight.fmp.*
import ru.fsight.fmp.exception.*
fun main() { 
   //sampleStart 
   /*
 * Пример обработки статуса операции.
 */
if (result.status) {
	// Сделать что-то в случае успеха.
} else {
	// Сделать что-то в случае неуспешной попытки выполнения операции (ошибке запроса).
} 
   //sampleEnd
}
import ru.fsight.fmp.*
import ru.fsight.fmp.exception.*
fun main() { 
   //sampleStart 
   /*
 * Пример применения результата операции.
 */
if (result.result) {
	// Сделать что-то в случае положительного ответа операции. Например, если пользователь был успешно аутентифицирован.
} 
   //sampleEnd
}
import ru.fsight.fmp.*
import ru.fsight.fmp.exception.*
fun main() { 
   //sampleStart 
   /*
 * Пример применения ответа от сервера.
 */
result.response?.headers?.forEach { (k, v) ->
	println("header: $k, value: $v")
} // Вывести в logcat названия и значения HTTP заголовков от сервера. 
   //sampleEnd
}
import ru.fsight.fmp.*
import ru.fsight.fmp.exception.*
fun main() { 
   //sampleStart 
   /*
 * Пример применения Exception.
 */
when (result.exception) {
	is UnauthorizedException -> { /* Пользователь не аутентифицирован. */ }
	is ServerException       -> { /* Ошибка сервера. */ }
	else                     -> { /* Прочие ошибки. */ }
} 
   //sampleEnd
}

Constructors

Link copied to clipboard
constructor(status: Boolean, result: T, response: FMPResponse? = null, exception: FMPException? = null, error: String = exception?.message.orEmpty())

Properties

Link copied to clipboard

Описание ошибки.

Link copied to clipboard
val exception: FMPException? = null

Возникший при работе Exception.

Link copied to clipboard
val response: FMPResponse? = null

HTTP ответ от сервера. Null если запрос к серверу не выполнялся. В случае, когда метод выполняет несколько запросов к серверу, как, например, FMPQuery.download, то, в случае ошибки, возвращается первый ответ с ошибкой. В случае успеха возвращается последний успешный ответ.

Link copied to clipboard
val result: T

Результат запроса. В случае с Boolean обозначает, что цель запроса была выполнена успешно. Пожалуйста, смотрите документацию к конкретным методам для более подробной информации.

Link copied to clipboard

Статус успеха выполнения запроса. Обычно означает, что запрос выполнен до конца без критических ошибок и можно продолжать работу. Пожалуйста, смотрите документацию к конкретным методам для более подробной информации.

Functions

Link copied to clipboard
fun onError(action: (FMPException) -> Unit): FMPResult<T>

Выполнить код, если запрос не был успешен. it является exception запроса, например, AuthException. Неуспешным считается запрос, у которого status равен false.

Link copied to clipboard
fun onResult(action: (T) -> Unit): FMPResult<T>

Выполнить код в любом случае по результату, игнорируя ошибки. it является результатом запроса, например, статус аутентификации - при этом может быть "пустым" по умолчанию в случае ошибок.

Link copied to clipboard
fun onSuccess(action: (T) -> Unit): FMPResult<T>

Выполнить код, если запрос был успешен. it является результатом запроса, например, статус аутентификации. Успешным считается запрос, у которого status равен true.