AttributeDefinition - Абстрактное описание атрибута

class axioma.core.dp.AttributeDefinition

Примечание

Абстрактный

Абстрактное описание атрибута

От него наследуются:

  • SimpleAttributeDefinitionInterface

  • GeometryAttributeDefinitionInterface

  • RenditionAttributeDefinition

    class NormalizeResult

    Статус проведения нормализации

    Наименование

    Значение

    Описание

    Примеры преобразования

    Norm_DirectUsage

    0

    Значение используется как есть, без преобразования

    Integer -> Integer; String -> String; …

    Norm_LosslessConversion

    1

    Преобразование без потери точности

    Integer -> String; WKB -> Geometry; …

    Norm_MinorValueChange

    2

    Преобразование с несущественной потерей точности

    Округление числа, например 3.1415 -> 3.14

    Norm_MajorValueChange

    3

    Преобразование с существенной потерей точности

    Переполнение числа, если схема не позволяет записывать числа нужной длины, например 12345 [Decimal(5)] → 999 [Decimal(3)]

    Norm_CouldNotConvert

    4

    Невозможно выполнить преобразование

    Несовместимые данные. В результате преобразования получается значение None

    alias()

    Псевдоним атрибута, который может использоваться как более удобная и наглядная метка имени поля. Если не установлен, возвращается имя поля.

    Тип результата

    str

    copyId(attr)

    Присвоить идентификатор другого атрибута

    Параметры

    attr (AttributeDefinition) – другой атрибут

    displayClassName()

    Имя класса атрибута человеческими буквами: «простой», «геометрия», «стиль», и т.д

    Тип результата

    str

    displayDescription()

    Описание внутреннего состояния атрибута

    Тип результата

    str

    getNormalizedValue(value)

    Пытается преобразовать значение value к типу данного атрибута

    Результат

    пара (value, result), где value - преобразованное значение, а result сообщает об уровне потери точности

    Тип результата

    (QVariant, NormalizeResult)

    id()

    Идентификатор данного конкретного атрибута, который не меняется в течение жизни объекта

    name()

    Имя атрибута

    Тип результата

    str

    newId()

    Сгенерировать новый идентификатор

    normalizeValue(value, acceptableError=Norm_CouldNotConvert)

    Выполняет преобразование значения value к типу данного атрибута. В случае, если уровень потери точности в ходе преобразования превысил acceptableError, бросается исключение LogicError.

    Параметры
    • value – заданное значение

    • acceptableError (NormalizeResult) – какой уровень ошибки допускается

    Результат

    преобразованное значение

    setAlias(alias)

    Установка псевдонима поля.

    Параметры

    alias (str) – псевдоним поля

    setName(name)

    Задать имя атрибута

    Параметры

    name (str) – новое имя

    Результат

    true, если изменение имени прошло успешно

    Тип результата

    bool

    toJson()

    Описание атрибута в формате JSON

    Тип результата

    QJsonObject

    type()

    Тип данных атрибута

    Тип результата

    QMetaType.Type

Пример см. TableSchema