3.6.2.1.3. Собственные классы реализации
Это устаревший API. Новый API, доступный начиная с v.7.0, описан в разделе Компоненты данных. |
Как правило, нестандартная реализация источника данных требуется для изменения процесса загрузки коллекции сущностей. При создании класса такого источника рекомендуется унаследовать его от 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*()
.