4.5.3.1.3. Custom Implementation Classes
If you need to implement a custom mechanism of loading entities, create a custom datasource class inherited from CustomCollectionDatasource
, CustomGroupDatasource
, or CustomHierarchicalDatasource
, and implement the getEntities()
method.
For example:
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();
}
}
To create a custom datasource instance declaratively, specify the custom class name in the datasourceClass
attribute of the datasource XML element. In case of programmatic creation via DsBuilder
, specify the class by invoking setDsClass()
or as a parameter of one of the build*()
methods.