5.5.3.1.3. Собственные классы реализации
Как правило, нестандартная реализация источника данных требуется для изменения процесса загрузки коллекции сущностей. При создании класса такого источника рекомендуется унаследовать его от CustomCollectionDatasource
, либо от CustomGroupDatasource
или CustomHierarchicalDatasource
, и определить метод getEntities()
.
Пример:
public class MyDatasource extends CustomCollectionDatasource<SomeEntity, UUID> {
private SomeService someService = AppBeans.get(SomeService.NAME);
@Override
protected Collection<SomeEntity> getEntities(Map<String, Object> params) {
return someService.getEntities();
}
}
Для создания экземпляра нестандартного источника данных декларативным способом необходимо указать класс в атрибуте datasourceClass
элемента XML. При программном создании через DsBuilder
класс источника указывается вызовом setDsClass()
или в параметре одного из методов build*()
.