@DeclareRoles(value="editor") public abstract class AbstractCrudService extends Object implements CrudReadService, CrudWriteService
This base class enables you to create minimal crud service beans. All you have to do is override, implement getEntityManager and add annotation @Stateless, @Local(CrudReadService.class, CrudWriteService.class).
Inject the crud interfaces using @Inject in your frontend (problems with inhertitance and @EJB).
This base class declares appropriate transactions and an EDITOR role to protect write operations.
An injected JpqlBuilder is used for building where and order by
clauses in dynamic queries, i.e. used in
findDynamic(java.lang.Integer, java.lang.Integer, java.util.Map, java.util.List, java.lang.Class).
CrudReadService.SORTORDER| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_PAGE_SIZE |
static String |
EDITOR |
| Constructor and Description |
|---|
AbstractCrudService() |
| Modifier and Type | Method and Description |
|---|---|
int |
count(String namedQuery,
List<Param> params)
|
int |
countDynamic(List<Param> params,
Class type) |
<T extends EntityInterface> |
createOrUpdate(T t) |
void |
delete(EntityInterface t) |
<T extends EntityInterface> |
find(Serializable id,
Class<T> type) |
<T extends EntityInterface> |
find(String namedQuery,
List<Param> params,
Integer first,
Integer max,
Class<T> type) |
<T extends EntityInterface> |
findAll(Class<T> type) |
<T extends EntityInterface> |
findDynamic(Integer first,
Integer pageSize,
Map<String,CrudReadService.SORTORDER> sort,
List<Param> params,
Class<T> type) |
<T extends EntityInterface> |
findNative(String namedNativeQuery,
List<Param> params,
Integer first,
Integer max,
Class<T> type) |
<T extends EntityInterface> |
findOne(String namedQuery,
List<Param> params,
Class<T> type)
return one result or null, multiple results throws an exception
|
protected abstract javax.persistence.EntityManager |
getEntityManager() |
<T extends EntityInterface> |
getRevision(Number n,
Class<T> type)
get historical data for a certain revision
|
<T extends EntityInterface> |
getRevisionInfo(T entity,
Integer max,
Class<T> type)
return a list holding revision information, newest come first
|
<T extends EntityInterface> |
getRevisionNumbers(Object id,
Class<T> type)
return list of revision numbers, first is the oldest
|
public static final int DEFAULT_PAGE_SIZE
public static final String EDITOR
protected abstract javax.persistence.EntityManager getEntityManager()
public <T extends EntityInterface> T find(Serializable id, Class<T> type)
find in interface CrudReadServicepublic <T extends EntityInterface> List<T> findAll(Class<T> type)
findAll in interface CrudReadServicepublic <T extends EntityInterface> List<T> findDynamic(Integer first, Integer pageSize, Map<String,CrudReadService.SORTORDER> sort, List<Param> params, Class<T> type)
findDynamic in interface CrudReadServiceT - first - defaults to 0pageSize - defaults to DEFAULT_PAGE_SIZE, negative value
means no limitsort - params - type - public int countDynamic(List<Param> params, Class type)
countDynamic in interface CrudReadServicepublic <T extends EntityInterface> List<T> find(String namedQuery, List<Param> params, Integer first, Integer max, Class<T> type)
find in interface CrudReadServiceT - namedQuery - params - first - defaults to 0max - defaults to DEFAULT_PAGE_SIZE, negative value means
no limittype - public <T extends EntityInterface> List<T> findNative(String namedNativeQuery, List<Param> params, Integer first, Integer max, Class<T> type)
findNative in interface CrudReadServicepublic int count(String namedQuery, List<Param> params)
CrudReadServiceCrudReadService.find(java.lang.String, java.util.List, java.lang.Integer, java.lang.Integer, java.lang.Class) or
CrudReadService.findNative(java.lang.String, java.util.List, java.lang.Integer, java.lang.Integer, java.lang.Class).count in interface CrudReadServicepublic <T extends EntityInterface> T findOne(String namedQuery, List<Param> params, Class<T> type)
CrudReadServicefindOne in interface CrudReadServicepublic <T extends EntityInterface> T getRevision(Number n, Class<T> type)
CrudReadServicegetRevision in interface CrudReadServicepublic <T extends EntityInterface> List<RevInfo<T>> getRevisionInfo(T entity, Integer max, Class<T> type)
CrudReadServicegetRevisionInfo in interface CrudReadServicemax - the maximum to number of results to return, defaults to 5@RolesAllowed(value="editor") public <T extends EntityInterface> T createOrUpdate(T t)
createOrUpdate in interface CrudWriteService@RolesAllowed(value="editor") public void delete(EntityInterface t)
delete in interface CrudWriteServicepublic <T extends EntityInterface> List<Number> getRevisionNumbers(Object id, Class<T> type)
CrudReadServicegetRevisionNumbers in interface CrudReadServiceCopyright © 2018 Fryske Akademy. All rights reserved.