Файл datatypes.xml
определяет доступные типы данных атрибутов сущностей, см. Раздел 4.2.2.3, «Datatype»
Файл по умолчанию расположен в пакете com.haulmont.chile.core.datatypes
базового проекта cuba. Если в прикладном проекте в модуле global создать аналогичный файл в корне CLASSPATH, то типы данных будут загружены из него.
Механизм загрузки не поддерживает расширение, т.е. все типы данных загружаются из одного файла - либо из корня CLASSPATH,
либо из пакета com.haulmont.chile.core.datatypes
.
Доступные типы данных описываются в элементах datatype
. Обязательным атрибутом является только class, в котором указывается класс типа данных, реализующий интерфейс Datatype
. Набор остальных атрибутов зависит от класса, объекту которого при создании передается соответствующий XML элемент, и разбор
атрибутов происходит в этом классе.
Типичные атрибуты:
-
format
- формат преобразования в строку без учета локали -
groupingSeparator
- символ-разделитель групп разрядов числа при форматировании без учета локали -
decimalSeparator
- символ-разделитель целой и дробной части числа при форматировании без учета локали
Пример:
<datatypes> <datatype class="com.haulmont.chile.core.datatypes.impl.BooleanDatatype"/> <datatype class="com.haulmont.chile.core.datatypes.impl.IntegerDatatype" format="0" groupingSeparator=""/> <datatype class="com.haulmont.chile.core.datatypes.impl.LongDatatype" format="0" groupingSeparator=""/> <datatype class="com.haulmont.chile.core.datatypes.impl.DoubleDatatype" format="0.###" decimalSeparator="." groupingSeparator=""/> <datatype class="com.haulmont.chile.core.datatypes.impl.BigDecimalDatatype" format="0.####" decimalSeparator="." groupingSeparator=""/> <datatype class="com.haulmont.chile.core.datatypes.impl.StringDatatype"/> <datatype class="com.haulmont.chile.core.datatypes.impl.DateTimeDatatype" format="yyyy-MM-dd'T'HH:mm:ss.SSS"/> <datatype class="com.haulmont.chile.core.datatypes.impl.DateDatatype" format="yyyy-MM-dd"/> <datatype class="com.haulmont.chile.core.datatypes.impl.TimeDatatype" format="HH:mm:ss"/> <datatype class="com.haulmont.chile.core.datatypes.impl.UUIDDatatype"/> <datatype class="com.haulmont.chile.core.datatypes.impl.ByteArrayDatatype"/> </datatypes>