@DeclareRoles(value="editor") public abstract class AbstractCrudService extends Object implements CrudWriteService, CrudReadService
This base class enables you to create minimal crud service beans. All you have to do is override, implement getEntityManager and annotate with
CrudReadService.SORTORDER| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_PAGE_SIZE
default page size (max results), used when no maximum is given.
|
static String |
EDITORROLE |
| Constructor and Description |
|---|
AbstractCrudService() |
| Modifier and Type | Method and Description |
|---|---|
int |
batchDelete(Collection<? extends EntityInterface> t,
Integer flushCount)
delete multiple entities, NOTE that normally, depending on isolation
level, only after commit or flush entitymanagers will reflect changes
caused by saving all entities, this may cause entitylisteners to fail.
|
<T extends EntityInterface> |
batchSave(Collection<T> entities,
Integer flushCount)
save multiple entities, NOTE that normally, depending on isolation level,
only after commit or flush entitymanagers will reflect changes caused by
saving all entities, this may cause entitylisteners to fail.
|
int |
count(String namedQuery,
List<Param> params)
Call this using the same parameters as in
CrudReadService.find(java.lang.String, java.util.List, java.lang.Integer, java.lang.Integer, java.lang.Class)
to get to know the total number of results |
int |
countDynamic(List<Param> params,
Class type)
Call this using the same parameters as in findDynamic to get to know the total number of results
|
<T extends Serializable> |
create(T t)
When overriding look into
Transactional and roles to use, these
are not inherited. |
void |
delete(EntityInterface t)
When overriding look into
Transactional and roles to use, these
are not inherited. |
<T extends Serializable> |
find(Serializable id,
Class<T> type) |
<T extends Serializable> |
find(String namedQuery,
List<Param> params,
Integer first,
Integer max,
Class<T> type) |
<T extends Serializable> |
findAll(Class<T> type) |
<T extends Serializable> |
findDynamic(Integer first,
Integer pageSize,
Map<String,CrudReadService.SORTORDER> sort,
List<Param> params,
Class<T> type) |
<T extends Serializable> |
findNative(String namedNativeQuery,
List<Param> params,
Integer first,
Integer max,
Class<T> type) |
<T extends Serializable> |
findOne(String namedQuery,
List<Param> params,
Class<T> type)
return one result or null, multiple results throws an exception
|
int |
getDefaultPageSize()
Return a default page size when no max is given, negative value means no limit
|
protected abstract javax.persistence.EntityManager |
getEntityManager() |
<T extends EntityInterface> |
save(T t)
When overriding look into
Transactional and roles to use, these
are not inherited. |
protected void |
setJpqlBuilder(JpqlBuilder jpqlBuilder)
override to inject your own version of JpqlBuilder
|
<T extends Serializable> |
update(T t)
When overriding look into
Transactional and roles to use, these
are not inherited. |
public static final int DEFAULT_PAGE_SIZE
public static final String EDITORROLE
protected abstract javax.persistence.EntityManager getEntityManager()
public <T extends Serializable> T find(Serializable id, Class<T> type)
find in interface CrudReadServicepublic <T extends Serializable> List<T> findAll(Class<T> type)
findAll in interface CrudReadServicepublic <T extends Serializable> List<T> findDynamic(Integer first, Integer pageSize, Map<String,CrudReadService.SORTORDER> sort, List<Param> params, Class<T> type)
findDynamic in interface CrudReadServicefirst - defaults to 0pageSize - defaults to CrudReadService.getDefaultPageSize()public int countDynamic(List<Param> params, Class type)
CrudReadServicecountDynamic in interface CrudReadServicepublic <T extends Serializable> List<T> find(String namedQuery, List<Param> params, Integer first, Integer max, Class<T> type)
find in interface CrudReadServicefirst - defaults to 0public <T extends Serializable> List<T> findNative(String namedNativeQuery, List<Param> params, Integer first, Integer max, Class<T> type)
findNative in interface CrudReadServicefirst - defaults to 0public int count(String namedQuery, List<Param> params)
CrudReadServiceCrudReadService.find(java.lang.String, java.util.List, java.lang.Integer, java.lang.Integer, java.lang.Class)
to get to know the total number of resultscount in interface CrudReadServicepublic int getDefaultPageSize()
CrudReadServicegetDefaultPageSize in interface CrudReadServiceDEFAULT_PAGE_SIZEpublic <T extends Serializable> T findOne(String namedQuery, List<Param> params, Class<T> type)
CrudReadServicefindOne in interface CrudReadService@RolesAllowed(value="editor") public <T extends Serializable> T create(T t)
Transactional and roles to use, these
are not inherited. If you don't need security, override and use
PermitAll.create in interface CrudWriteServiceT - t - @RolesAllowed(value="editor") public <T extends EntityInterface> T save(T t)
Transactional and roles to use, these
are not inherited. If you don't need security, override and use
PermitAll.save in interface CrudWriteServiceT - t - @RolesAllowed(value="editor") public <T extends Serializable> T update(T t)
Transactional and roles to use, these
are not inherited. If you don't need security, override and use
PermitAll.update in interface CrudWriteServiceT - t - @RolesAllowed(value="editor") public void delete(EntityInterface t)
Transactional and roles to use, these
are not inherited. If you don't need security, override and use
PermitAll.delete in interface CrudWriteServicet - @RolesAllowed(value="editor") public <T extends EntityInterface> Stream<T> batchSave(Collection<T> entities, Integer flushCount)
CrudWriteServiceEntityException in for example your
listeners to find out in case of failure which enitity caused it.batchSave in interface CrudWriteServiceflushCount - when not null try to optimize (flush/clear) every so
many entities@RolesAllowed(value="editor") public int batchDelete(Collection<? extends EntityInterface> t, Integer flushCount)
CrudWriteServiceEntityException in for example your
listeners to find out in case of failure which enitity caused it.batchDelete in interface CrudWriteServiceflushCount - when not null try to optimize (flush/clear) every so
many entities@Inject protected void setJpqlBuilder(JpqlBuilder jpqlBuilder)
jpqlBuilder - Copyright © 2018 Fryske Akademy. All rights reserved.