# Builder

abstract class Builder : FMPObject.Builder

#### Since

21.04.01

#### See also

FMPObject.Builder

## Functions

api
Link copied to clipboard
open override fun api(api: FMP.API): FMPFile.Builder

Быстрая смена версии API. Обязательно вызывать первым, ДО инициализации остальных параметров. Extremely ugly. Но меня заставили, чесслово.

build
Link copied to clipboard
abstract override fun build(): FMPFile
depth
Link copied to clipboard
abstract fun depth(depth: Int): FMPFile.Builder

Указать глубину, с которой работать с директориями. 0 - исключить даже содержимое самой директории. 1 - содержимое текущей директории. 2 - текущая директория и её под-директории. По умолчанию используется Int.MAX_VALUE.

directory
Link copied to clipboard
abstract fun directory(directory: Boolean): FMPFile.Builder

Указать тип: директория или файл.

encryption
Link copied to clipboard
abstract fun encryption(encryption: Boolean): FMPFile.Builder

Использовать ли шифрование при работе с файлом. ВНИМАНИЕ! если передать false, то файлы будут загружены с сервера без шифрования. Если использован FMP.Builder.debugNoEncryption, то этот метод не имеет никакого эффекта.

input
Link copied to clipboard
abstract fun input(stream: InputStream): FMPFile.Builder

InputStream для считывания файла. Возможно использовать как альтернативу local для выгрузки на сервер без записи файла на файловую систему. Например, для передачи ByteArray возможно использовать ByteArrayInputStream(ByteArray).

local
Link copied to clipboard
abstract fun local(path: String): FMPFile.Builder

Полный путь к файлу на локальной файловой системе, например "/path/to/file.jpg".

mount
Link copied to clipboard
abstract fun mount(mount: String): FMPFile.Builder

Указать точку монтирования файла.

output
Link copied to clipboard
abstract fun output(stream: OutputStream): FMPFile.Builder

OutputStream для записи файла. Возможно использовать как альтернативу local для загрузки с сервера без записи файла на файловую систему. Файл будет записан без шифрования. Для шифрования на файловой системе используйте передачу пути через path и read для последующего чтения расшифрованного файла. Например, для записи в ByteArray возможно использовать ByteArrayOutputStream().toByteArray().

remote
Link copied to clipboard
abstract fun remote(path: String): FMPFile.Builder

Указать относительный путь к файлу на сервере.