FMPResource

Описание

Класс FMPResource предназначен для описания ресурса.

class FMPResource

Свойства

Свойство Описание

name

Название ресурса.
var name: String { get }
params Входные параметры для запроса ресурса.
var params: RequestParameters? { get }
isDelta Использование метода deltaStream при запросе к серверу.
var isDelta: Bool { get }

isLocalCached

Использование кэширования таблиц в локальной базе данных.
var isLocalCached: Bool { get }

isFiltered

Использование фильтрации по столбцам при запросе к серверу.
var isFiltered: Bool { get }

scheme

Информация о ресурсе, содержащемся в схеме ресурсов. При инициализации через FMPResource.Builder свойство будет принимать значение nil по умолчанию. После вызова метода updateScheme() или при получении объекта через метод getResources() класса FMPScheme свойство принимает значение, отличное от nil.
var scheme: Scheme? { get }

Методы

Метод Описание

updateSheme()

Обновление текущей схемы ресурса из локальной базы данных в свойстве scheme.
func updateScheme() throws

getTransactions(completion:)

Получение списка транзакций, связанных с ресурсом.
func getTransactions(completion: @escaping (TransactionsResult) -> Void)

Параметры:

  • completion. Замыкающее выражение, содержащее результат выполнения метода.

copy() Получение экземпляра класса-строителя для копирования FMPResource. Возвращает экземпляр класса-строителя FMPResource.Builder.
func copy() -> FMPResource.Builder

Примеры

Обновление информации о ресурсе, содержащемся в схеме ресурсов:

// Построим экземпляр класса FMPResource
let resource: FMPResource = fmp.resource.build()
 
// Обновим свойство scheme
do {
    try resource.updateScheme()
} catch let error {
    // Выведем код и описание ошибки
    print((error as? FMPError)?.code, (error as? FMPError)?.description)
}

Получение списка транзакций:

// Построим экземпляр класса FMPResource
let resource: FMPResource = fmp.resource.build()
 
// Получим список связанных с ресурсом транзакций
resource.getTransactions { (result) in
    switch result {
    case .success(let transactions):
        // Выведем список идентификаторов транзакций
        print(transactions.map { $0.id })
    case .failure(let error):
        // Выведем код и описание ошибки
        print((error as? FMPError)?.code, (error as? FMPError)?.description)
    }
}

Копирование экземпляра класса FMPResource:

// Построим экземпляр класса FMPResource
let resource: FMPResource = fmp.resource.build()
 
// Скопируем экземпляр класса FMPResource
let resourceCopy: FMPResource = resource.copy().build()

См. также:

Фреймворк FMPKit | Классы