A.12. views.xml
Файлы данного типа используются для описания представлений, см. Представления.
Схема XML доступна по адресу http://schemas.haulmont.com/cuba/6.10/view.xsd.
views
- корневой элемент
Элементы views
:
-
view
- описательView
Атрибуты
view
:-
class
- класс сущности. -
entity
- имя сущности, напримерsales$Order
. Может быть использован вместо атрибутаclass
. -
name
- имя представления, должно быть уникальным в пределах сущности. -
systemProperties
- признак включения системных атрибутов сущности (входящих в состав базовых интерфейсов персистентных сущностейBaseEntity
иUpdatable
). Необязательный атрибут, по умолчаниюtrue
. -
overwrite
- признак того, что данный описатель должен переопределить представление с таким же классом и именем, уже развернутое в репозитории. Необязательный атрибут, по умолчаниюfalse
. -
extends
- указывает имя представления той же сущности, от которого нужно унаследовать атрибуты. Порядок следования описателей в файле при этом не важен. Например, при указанииextends="_local"
в текущее представление будут включены все локальные атрибуты сущности. Необязательный атрибут.
Элементы
view
:-
property
- описательViewProperty
.
Атрибуты
property
:-
name
- имя атрибута сущности. -
view
- для ссылочного атрибута указывает имя представления, с которым должна загружаться ассоциированная сущность. Порядок следования описателей в файле при этом не важен. -
fetch
- для ссылочного атрибута указывает как следует загружать сущность из базы данных. Подробнее см. Представления.
Элементы
property
:-
property
- описатель атрибута связанной сущности. Таким способом можно определить неименованное представление для связанной сущности прямо внутри текущего описателя (inline).
-
-
include
- включение другого файла типа views.xmlАтрибуты
include
:-
file
- путь к файлу по правилам интерфейса Resources.
-
Пример:
<views xmlns="http://schemas.haulmont.com/cuba/view.xsd">
<view class="com.sample.sales.entity.Order"
name="order-with-customer"
extends="_local">
<property name="customer" view="_minimal"/>
</view>
<view class="com.sample.sales.entity.Item"
name="itemsInOrder">
<property name="quantity"/>
<property name="product" view="_minimal"/>
</view>
<view class="com.sample.sales.entity.Order"
name="order-with-customer-defined-inline"
extends="_local">
<property name="customer">
<property name="name"/>
<property name="email"/>
</property>
</view>
</views>
См. также свойство приложения cuba.viewsConfig.