Семантика¶
Семантика - используется для вывода объекта класса в качестве одной строки заголовка класса.
В мете классов поле "semantic"
встречается дважды:
- в общей части меты класса, где формирует строковое представление для данного класса,
- в мете атрибута класса, где формирует строковое представление объектов класса, на который ссылается атрибут, т.е. используется для ссылочных атрибутов.
Цель использования¶
Используется для корректировки отображения атрибутов и значений атрибутов в списке. В атрибутах, которые выводят табличные данные, семантика используется для ограничения вывода колонок.
Примеры использования в ссылочных атрибутах¶
Например, есть класс class
, у которого есть атрибуты: id
, name
, link
, date
. Есть второй класс classTable
, у которого есть ссылочный атрибут table
на класс class
.
Без использования семантики в объектах класса classTable
в атрибуте table
будут выводится значения идентификаторов объектов класса class
.
Атрибуты, используемые как идентификаторы, указаны в мете класса class
.
Чтобы вывести значения атрибутов name
и link
в атрибуте table
, а не значения идентификаторов, нужно прописать "semantic": "name|link"
. В зависимости от типа атрибута результат будет разный:
- Если атрибут
table
является ссылкой, то в нем будут заполнены значения атрибутовname
иlink
через пробел. Тут можно использовать дополнительные слова и выражения через знак|
, например"semantic": "name|, |link"
или"semantic": "У объекта есть 2 атрибута:|name|, |link"
. - Если атрибут
table
является коллекцией объектов классаclass
, то в нем будут выведеные колонкиname
иlink
.
Формат отображения в семантике¶
Можно обрезать вывод с помощью:
[]
."name[0,50]|..." Указываем позицию и количество выводимых букв из семантики атрибута. Из атрибута name выводим 50 символов семантики (значение атрибута), начиная с первого.
Доступно разыменование через
.
т.е. доступ во вложенный объект."semantic": "digitalTV|kachestvoCTB|analogTV.name|kachestvoAnal|period" где ``analogTV`` - ссылочный атрибут класса, для которого задается семантика, а ``name`` - атрибут класса по ссылке.
Отображение семантики на форме¶
- В списках первого уровня (открываемые непосредственно по узлу навигации), в качестве заголовка выводим только значение из поля «caption» узла навигации.
- В списках выбора в заголовок выводим только значение из поля «caption» класса объектов списка.
- В форме редактирования в заголовок выводим только семантику объекта.
- В форме создания в заголовок выводим только значение из поля «caption» класса.
- В списках выбора над заголовком мелким шрифтом выводим строку «Выбор значения атрибута <…> объекта <…>».
- В форме создания, если создается объект в коллекции или ссылке, над заголовком мелким шрифтом выводим строку «Создание объекта в коллекции/по ссылке <…> объекта <…>».