# FMPObject

interface FMPObject

Базовый объект для объектов FMP.

#### Since

21.04.01

#### Samples

    import ru.fsight.fmp.FMPResource
    import ru.fsight.fmp.FMPTable
    import ru.fsight.fmp.FMPUser
    fun main() {
       //sampleStart
       /*
     * Пример копирования объекта без сохранения состояния для корректировки параметров инициализации.
     */
    val newObj: FMPResource = obj.rebuild() // Создать FMPResource.Builder с сохранёнными параметрами конструктора.
    	.name("different_resource") // Изменить название.
    	.build() // Создать новый FMPResource который отличается только названием.
       //sampleEnd
    }

    import ru.fsight.fmp.FMPResource
    import ru.fsight.fmp.FMPTable
    import ru.fsight.fmp.FMPUser
    fun main() {
       //sampleStart
       /*
     * Пример сравнения двух объектов.
     * Обращаем внимание, что объекты, созданные от разных объектов FMP никогда не будут равны.
     */
    obj1 == obj2 // True если они имеют одинаковые ключевые параметры, например одинаковый username для FMPUser.
       //sampleEnd
    }

    import ru.fsight.fmp.FMPResource
    import ru.fsight.fmp.FMPTable
    import ru.fsight.fmp.FMPUser
    fun main() {
       //sampleStart
       /*
     * Пример использования toString() на объектах FMP.
     */
    "SELECT * FROM $table WHERE $table.user = '$user';" == "SELECT * FROM resource_table WHERE resource_table.user = 'username';" // равны.
       //sampleEnd
    }

#### Inheritors

FMPDatabase
FMPFile
FMPPush
FMPQuery
FMPResource
FMPTable
FMPTransaction
FMPWeb

## Types

Builder
Link copied to clipboard
fun interface Builder

Базовый Builder объект для строителей объектов FMP.

## Functions

equals
Link copied to clipboard
abstract operator override fun equals(other: Any?): Boolean

Сравнить объекты между собой.

hashCode
Link copied to clipboard
abstract override fun hashCode(): Int

Хэш-код объектов. В отличие от equals он будет одинаков для объектов с одинаковыми ключевыми параметрами, но созданными от разных объектов FMP.

rebuild
Link copied to clipboard
abstract fun rebuild(): FMPObject.Builder

Создать копию Builder с параметрами, аналогичными текущему объекту. Полезно для изменения параметров или создания копии без сохранения состояния объекта. Для сохранения состояния текущего объекта используйте copy.

toString
Link copied to clipboard
abstract override fun toString(): String

Получить ключевые параметры объекта в виде строки.