@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 EDITORROLE role to protect write operations.
A JpqlBuilderImpl 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
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 |
count(String namedQuery,
List<Param> params)
|
int |
countDynamic(List<Param> params,
Class type) |
<T extends Serializable> |
create(T t) |
void |
delete(Serializable t) |
<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
|
protected abstract javax.persistence.EntityManager |
getEntityManager() |
<T extends Serializable> |
update(T t) |
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 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 Serializable> 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 Serializable> List<T> findNative(String namedNativeQuery, List<Param> params, Integer first, Integer max, Class<T> type)
findNative in interface CrudReadServiceT - namedNativeQuery - params - first - max - defaults to DEFAULT_PAGE_SIZE, negative value means
no limittype - public 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 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)
create in interface CrudWriteService@RolesAllowed(value="editor") public <T extends Serializable> T update(T t)
update in interface CrudWriteService@RolesAllowed(value="editor") public void delete(Serializable t)
delete in interface CrudWriteServiceCopyright © 2018 Fryske Akademy. All rights reserved.