# Attribute - Атрибут схемы таблицы

class axipy.Attribute

  Атрибут схемы таблицы.

  Используется для создания и инспектирования атрибутов и схем `axipy.Schema`. Для создания атрибутов используйте функции `string()`, `decimal()` и другие.

  Пример создания

      attr = Attribute.string('attribute_name', 80)
      attr.alias = 'Alias for attribute'
      attr.readonly = True
      attr.comments = 'Текстовое описание поля'

  Конструктор класса:

  `__init__`(name, typedef) | Конструктор класса.

  Классовые методы:

  `bool`(name) | Создает атрибут логического типа.
  `date`(name) | Создает атрибут типа дата.
  `datetime`(name) | Создает атрибут типа дата и время.
  `decimal`(name[, length, precision]) | Создает атрибут десятичного типа.
  `double`(name) | Создает атрибут вещественного типа.
  `float`(name) | Создает атрибут вещественного типа.
  `integer`(name) | Создает атрибут целого типа.
  `large`(name) | Создает атрибут целого 64-битного типа.
  `short`(name) | Создает атрибут целого 16-битного типа.
  `string`(name[, length]) | Создает атрибут строкового типа.
  `time`(name) | Создает атрибут типа время.

  Свойства:

  `alias` | Устанавливает или возвращает псевдоним.
  `comments` | Устанавливает или возвращает дополнительную текстовую информацию к полю.
  `length` | Возвращает длину атрибута.
  `name` | Возвращает имя атрибута.
  `precision` | Возвращает точность.
  `readOnly` | Устанавливает или возвращает признак "Поле только для чтения".
  `type_string` | Возвращает тип в виде строки без длины и точности.
  `typedef` | Возвращает описание типа.
  `unique` | Устанавливает или возвращает признак "Поле является уникальным".

  Атрибуты:

  `DEFAULT_DECIMAL_LENGTH` | Длина поля типа decimal по умолчанию.
  `DEFAULT_DECIMAL_PRECISION` | Точность поля типа decimal по умолчанию.
  `DEFAULT_STRING_LENGTH` | Длина строки по умолчанию.

  Специальные методы:

  `__eq__`(other) | Оператор равенства (==).
  `__repr__`() | Официальное строковое представление объекта при вызове `repr()`.

  DEFAULT_DECIMAL_LENGTH: Final[int]

    Длина поля типа decimal по умолчанию.

  DEFAULT_DECIMAL_PRECISION: Final[int]

    Точность поля типа decimal по умолчанию.

  DEFAULT_STRING_LENGTH: Final[int]

    Длина строки по умолчанию.

  __eq__(other: object) → bool

    Оператор равенства (==).

  __init__(name: str, typedef: str)

    Конструктор класса.

    Параметры:

      - name – Имя атрибута.

      - typedef – Описание типа в формате `<тип>[:длина][.точность]`.

  __repr__() → str

    Официальное строковое представление объекта при вызове `repr()`.

  property alias: Optional[str]

    Устанавливает или возвращает псевдоним.

  static bool(name: str) → Attribute

    Создает атрибут логического типа.

    Параметры:

      name – Имя атрибута.

  property comments: Optional[str]

    Устанавливает или возвращает дополнительную текстовую информацию к полю.

  static date(name: str) → Attribute

    Создает атрибут типа дата.

    Параметры:

      name – Имя атрибута.

  static datetime(name: str) → Attribute

    Создает атрибут типа дата и время.

    Параметры:

      name – Имя атрибута.

  static decimal(name: str, length: int = DEFAULT_DECIMAL_LENGTH, precision: int = DEFAULT_DECIMAL_PRECISION) → Attribute

    Создает атрибут десятичного типа.

    Параметры:

      - name – Имя атрибута.

      - length – Длина атрибута. Количество символов, включая запятую.

      - precision – Число знаков после запятой.

  static double(name: str) → Attribute

    Создает атрибут вещественного типа.

    Параметры:

      name – Имя атрибута.

  static float(name: str) → Attribute

    Создает атрибут вещественного типа.

    То же, что и `double()`

    Параметры:

      name – Имя атрибута.

  static integer(name: str) → Attribute

    Создает атрибут целого типа.

    Параметры:

      name – Имя атрибута.

  static large(name: str) → Attribute

    Создает атрибут целого 64-битного типа.

    Параметры:

      name – Имя атрибута.

  property length: int

    Возвращает длину атрибута.

  property name: str

    Возвращает имя атрибута.

  property precision: int

    Возвращает точность.

  property readOnly: bool

    Устанавливает или возвращает признак «Поле только для чтения».

  static short(name: str) → Attribute

    Создает атрибут целого 16-битного типа.

    Параметры:

      name – Имя атрибута.

  static string(name: str, length: int = DEFAULT_STRING_LENGTH) → Attribute

    Создает атрибут строкового типа.

    Параметры:

      - name – Имя атрибута.

      - length – Длина атрибута.

  static time(name: str) → Attribute

    Создает атрибут типа время.

    Параметры:

      name – Имя атрибута.

  property type_string: str

    Возвращает тип в виде строки без длины и точности.

  property typedef: str

    Возвращает описание типа.

    Строка вида `<тип>[:длина][.точность]`.

  property unique: bool

    Устанавливает или возвращает признак «Поле является уникальным».