Аннотации

UIField — настройка индексируемых POJO объектов

Что именно и как попадает под индексацию, настраивается аннотацией @UIField:

  • sort = SUPPORTED или sort = BY_DEFAULT: поле индексируется и хранится в индексе; по полю возможен расширенный поиск и сортировка.
  • filter = true: поле индексируется и хранится в индексе; по полю возможен расширенный поиск.
  • search = true: поле индексируется, но в индексе не хранится; по полю возможен обычный поиск.
  • filter = .* (например, filter = UIField.Filter.WHOLE): по полю возможен расширенный поиск.

Если для поля установлен флаг filter = true и оно в GUI выведено в таблицу клиентов, то по нему дополнительно возможна фильтрация средствами GUI.

Если аннотация @UIField на поле вообще не назначена, то поле не индексируется, а сортировка и поиск невозможны.

Параметры можно комбинировать, например:

/* По полю возможны сортировка, расширенный поиск, обычный поиск */
@UIField(sort = SUPPORTED, filter = true, search = true)
@UIField(sort = SUPPORTED, search = true)
 
/* По полю возможны сортировка и расширенный поиск */
@UIField(sort = SUPPORTED, filter = true)
@UIField(sort = SUPPORTED)
 
/* По полю возможен только обычный поиск */
@UIField(search = true)

В коде вы можете подсмотреть все то же самое в классе Searchable