Package de.xima.fc.api.entity
Class GenericAPI
- java.lang.Object
-
- de.xima.fc.api.ASubAPI
-
- de.xima.fc.api.entity.GenericAPI
-
public class GenericAPI extends ASubAPI
Generic API class for manipulation of entities.
The class provides methods for the basic CRUD functions (Create, Read, Update, Delete).- Author:
- XIMA MEDIA GmbH
-
-
Constructor Summary
Constructors Constructor Description GenericAPI()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends ITransferableEntity>
Tcreate(Class<T> entityClass, UserContext uc, T entity)Method for creating a entity of a defined class.<T extends ITransferableEntity>
T[]create(Class<T> entityClass, UserContext uc, T[] entities)Method for creating multiple entities of a defined class.<T extends ITransferableEntity>
booleandelete(Class<T> entityClass, UserContext uc, T entity)Method for deleting a entity of a defined class.<T extends ITransferableEntity>
booleandelete(Class<T> entityClass, UserContext uc, T[] entities)Method for deleting multiple entities of a defined class.<T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding>
BooleandeleteAllBy(Class<T> entityClass, UserContext uc, C cm)Method for deleting multiple entities of a defined class by ID.<T extends ITransferableEntity>
BooleandeleteAllBy(Class<T> entityClass, UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)Method for deleting multiple entities of a defined class by ID. * @paramthe type of the entity <T extends ITransferableEntity>
BooleandeleteById(Class<T> entityClass, UserContext uc, Integer id)<T extends ITransferableEntity>
BooleandeleteById(Class<T> entityClass, UserContext uc, Long id)Method for deleting a entity of a defined class by ID.<T extends ITransferableEntity>
List<T>getAll(Class<T> entityClass, UserContext uc)Method for determining all entities.<T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding>
List<T>getAll(Class<T> entityClass, UserContext uc, C cm)Method for determining all entities of a defined class using a criteria manager.<T extends ITransferableEntity>
List<T>getAll(Class<T> entityClass, UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)Method for determining all entities of a defined class using aQueryCriteriaManagers.<T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding & de.xima.cmn.criteria.interfaces.ISelectableCriteriaManager>
List<Map<String,Serializable>>getAttributes(Class<T> entityClass, UserContext uc, C cm)<R,T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding & de.xima.cmn.criteria.interfaces.ISelectableCriteriaManager>
List<R>getAttributes(Class<T> entityClass, UserContext uc, C cm, Class<R> resultClass)<T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding>
TgetBy(Class<T> entityClass, UserContext uc, C cm)Method for determining an entity using aQueryCriteriaManager.<T extends ITransferableEntity>
TgetBy(Class<T> entityClass, UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)Method for determining an entity using aQueryCriteriaManager.<T extends ITransferableEntity>
TgetById(UserContext uc, String entityClassName, String id)Method for reading an entity by its class name and ID.<T extends ITransferableEntity>
TgetById(Class<T> entityClass, UserContext uc, Integer id)<T extends ITransferableEntity>
TgetById(Class<T> entityClass, UserContext uc, Long id)Method for reading a entity by class and ID.<T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding & de.xima.cmn.criteria.interfaces.ISelectableCriteriaManager>
javax.persistence.TuplegetSingleAttributes(Class<T> entityClass, UserContext uc, C cm)This method allows for the selection of certain attributes of an entity instead of reading the entire entity<R,T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding & de.xima.cmn.criteria.interfaces.ISelectableCriteriaManager>
RgetSingleAttributes(Class<T> entityClass, UserContext uc, C cm, Class<R> resultClass)This method allows for the selection of certain attributes of an entity instead of reading the entire entity<T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding>
intresultTotalCount(Class<T> entityClass, UserContext uc, C cm)Method for determining the number of found entities based on their class.<T extends ITransferableEntity>
intresultTotalCount(Class<T> entityClass, UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)Method for determining the number of found entities based on their class.<T extends ITransferableEntity>
Tupdate(Class<T> entityClass, UserContext uc, T entity)Method for updating a entity of a defined class.<T extends ITransferableEntity>
T[]update(Class<T> entityClass, UserContext uc, T[] entities)Method for updating multiple entities of a defined class.-
Methods inherited from class de.xima.fc.api.ASubAPI
getHandlerProvider
-
-
-
-
Method Detail
-
getAll
public <T extends ITransferableEntity> List<T> getAll(Class<T> entityClass, UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
Method for determining all entities of a defined class using aQueryCriteriaManagers.- Type Parameters:
T- the type of the entity- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.qcm-QueryCriteriaManagerto be filtered by.- Returns:
ListfromITransferableEntitywhich were found.- Since:
- 2.4.3
-
getAll
public <T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding> List<T> getAll(Class<T> entityClass, UserContext uc, C cm)
Method for determining all entities of a defined class using a criteria manager.- Type Parameters:
T- the type of the entityC- the type of the criteria manager- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.cm- the criteria manager to be filtered by.- Returns:
ListfromITransferableEntitywhich were found.- Since:
- 6.2.1
-
create
public <T extends ITransferableEntity> T create(Class<T> entityClass, UserContext uc, T entity)
Method for creating a entity of a defined class.- Type Parameters:
T- the type of the entity- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.entity-ITransferableEntitywhich should be created.- Returns:
ITransferableEntitywhich is created.- Since:
- 2.4.3 @
-
create
public <T extends ITransferableEntity> T[] create(Class<T> entityClass, UserContext uc, T[] entities)
Method for creating multiple entities of a defined class.- Type Parameters:
T- the type of the entity- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.entities-Arraythe entities to create.- Returns:
Arrayof the created entities.- Since:
- 2.4.3
-
delete
public <T extends ITransferableEntity> boolean delete(Class<T> entityClass, UserContext uc, T entity)
Method for deleting a entity of a defined class.- Type Parameters:
T- the type of the entity- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.entity-ITransferableEntitywhich should be deleted.- Returns:
Booleanwhether the deletion was successful or not.- Since:
- 2.4.3
-
delete
public <T extends ITransferableEntity> boolean delete(Class<T> entityClass, UserContext uc, T[] entities)
Method for deleting multiple entities of a defined class.- Type Parameters:
T- the type of the entity- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.entities-Arraythe entities to be deleted.- Returns:
Booleanwhether the deletion was successful or not.- Since:
- 2.4.3
-
getById
public <T extends ITransferableEntity> T getById(Class<T> entityClass, UserContext uc, Long id)
Method for reading a entity by class and ID.- Type Parameters:
T- the type of the entity- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.id-Longthe ID of the searched entity.- Returns:
ITransferableEntitythe found entity.- Since:
- 2.4.3
-
getById
public <T extends ITransferableEntity> T getById(Class<T> entityClass, UserContext uc, Integer id)
-
getById
public <T extends ITransferableEntity> T getById(UserContext uc, String entityClassName, String id)
Method for reading an entity by its class name and ID.- Type Parameters:
T- the type of the entity- Parameters:
uc-UserContextthe user context in which the action is to be performed.entityClassName-Stringthe class name of the searched entity.id-Integerthe ID of the searched entity.- Returns:
ITransferableEntitythe found entity.- Since:
- 2.4.3
-
getAttributes
public <T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding & de.xima.cmn.criteria.interfaces.ISelectableCriteriaManager> List<Map<String,Serializable>> getAttributes(Class<T> entityClass, UserContext uc, C cm) throws NotSerializableException
- Throws:
NotSerializableException
-
getAttributes
public <R,T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding & de.xima.cmn.criteria.interfaces.ISelectableCriteriaManager> List<R> getAttributes(Class<T> entityClass, UserContext uc, C cm, Class<R> resultClass)
-
getSingleAttributes
public <T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding & de.xima.cmn.criteria.interfaces.ISelectableCriteriaManager> javax.persistence.Tuple getSingleAttributes(Class<T> entityClass, UserContext uc, C cm)
This method allows for the selection of certain attributes of an entity instead of reading the entire entity- Type Parameters:
T- type of entityC- type of the criteria manager- Parameters:
entityClass-Classthe class of the searched entityuc-UserContextwhich will be usedcm- A criteria manager object, that contains lists for filtering, sorting and selecting. These lists, if available, are included in the SQL query. This value can benull. The lists contained in the criteria manager can also benullor empty.- Returns:
Tuplethat contains the values of the selected attributes- Since:
- 6.6.0
-
getSingleAttributes
public <R,T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding & de.xima.cmn.criteria.interfaces.ISelectableCriteriaManager> R getSingleAttributes(Class<T> entityClass, UserContext uc, C cm, Class<R> resultClass)
This method allows for the selection of certain attributes of an entity instead of reading the entire entity- Type Parameters:
R- type of object, in which the result values will be placedT- type of entityC- type of the criteria manager- Parameters:
entityClass-Classthe class of the searched entityuc-UserContextwhich will be usedcm- A criteria manager object, that contains lists for filtering, sorting and selecting. These lists, if available, are included in the SQL query. This value can benull. The lists contained in the criteria manager can also benullor empty.resultClass-Classof the object, in which the result value will be placed- Returns:
- A result that contains the values of the selected attributes
- Since:
- 6.6.0
-
resultTotalCount
public <T extends ITransferableEntity> int resultTotalCount(Class<T> entityClass, UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
Method for determining the number of found entities based on their class.- Type Parameters:
T- the type of the entity- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.qcm-QueryCriteriaManagerto be searched by.- Returns:
Integerthe found number of elementsQueryCriteriaManagers.- Since:
- 2.4.3
-
resultTotalCount
public <T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding> int resultTotalCount(Class<T> entityClass, UserContext uc, C cm)
Method for determining the number of found entities based on their class.- Type Parameters:
T- the type of the entity- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.cm- the criteria manager to be searched by.- Returns:
Integerthe found number of elements.- Since:
- 6.2.1
-
update
public <T extends ITransferableEntity> T[] update(Class<T> entityClass, UserContext uc, T[] entities)
Method for updating multiple entities of a defined class.- Type Parameters:
T- the type of the entity- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.entities-Arraythe entities to be updated.- Returns:
Arraythe updated entities.- Since:
- 2.4.3
-
update
public <T extends ITransferableEntity> T update(Class<T> entityClass, UserContext uc, T entity)
Method for updating a entity of a defined class.- Type Parameters:
T- the type of the entity- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.entity-ITransferableEntitywhich should be updated.- Returns:
ITransferableEntitythe updated entity.- Since:
- 2.4.3
-
getBy
public <T extends ITransferableEntity> T getBy(Class<T> entityClass, UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
Method for determining an entity using aQueryCriteriaManager.- Type Parameters:
T- the type of the entity- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.qcm- theQueryCriteriaManagerto be searched by.- Returns:
- the found entity.
- Since:
- 2.4.3
-
getBy
public <T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding> T getBy(Class<T> entityClass, UserContext uc, C cm)
Method for determining an entity using aQueryCriteriaManager.- Type Parameters:
T- the type of the entityC- the type of the criteria manager- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.cm- the criteria manager to be searched by.- Returns:
- the found entity.
- Since:
- 6.2.1
-
deleteAllBy
public <T extends ITransferableEntity> Boolean deleteAllBy(Class<T> entityClass, UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
Method for deleting multiple entities of a defined class by ID. * @paramthe type of the entity - Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.qcm-QueryCriteriaManagerto be searched by.- Returns:
Booleanwhether the deletion was successful or not.- Since:
- 2.4.3
-
deleteAllBy
public <T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding> Boolean deleteAllBy(Class<T> entityClass, UserContext uc, C cm)
Method for deleting multiple entities of a defined class by ID.- Type Parameters:
T- the type of the entityC- the type of the criteria manager- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.cm- the criteria manager to be searched by.- Returns:
Booleanwhether the deletion was successful or not.- Since:
- 6.2.1
-
deleteById
public <T extends ITransferableEntity> Boolean deleteById(Class<T> entityClass, UserContext uc, Long id)
Method for deleting a entity of a defined class by ID.- Type Parameters:
T- the type of the entity- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.id-Longthe ID of the searched entity.- Returns:
Booleanwhether the deletion was successful or not.- Since:
- 2.4.3
-
deleteById
public <T extends ITransferableEntity> Boolean deleteById(Class<T> entityClass, UserContext uc, Integer id)
-
getAll
public <T extends ITransferableEntity> List<T> getAll(Class<T> entityClass, UserContext uc)
Method for determining all entities.- Type Parameters:
T- the type of the entity- Parameters:
entityClass-ITransferableEntityclass of the entity.uc-UserContextthe user context in which the action is to be performed.- Returns:
Listof the found entities.- Since:
- 2.4.3
-
-