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()

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

    Тип результата:PyQt5.QtCore.QMetaType.Type

Пример см. TableSchema