3.6.2.1.3. 自定义实现类

如果需要实现使用自定义方法来加载实体,可以创建自定义的数据源类,从 CustomCollectionDatasourceCustomGroupDatasource, 或者 CustomHierarchicalDatasource 继承,然后实现 getEntities() 方法。

示例:

  1. public class MyDatasource extends CustomCollectionDatasource<SomeEntity, UUID> {
  2. private SomeService someService = AppBeans.get(SomeService.NAME);
  3. @Override
  4. protected Collection<SomeEntity> getEntities(Map<String, Object> params) {
  5. return someService.getEntities();
  6. }
  7. }

还可以通过声明的方式创建自定义数据源,在数据源的 XML 元素中,通过 datasourceClass 属性指定自定义的类名即可。通过 DsBuilder 类采用编程的方式创建的话,使用 setDsClass() 方法来指定自定义类,或者在 build*() 方法中将类以参数的形式传入。