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-GenericAPIobject, 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 theGenericAPIcan 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-GenericAPIobject, 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 theGenericAPIcan also benullor empty.resultClass-Classof the object, in which the result value will be placed- Returns:
GenericAPIthat 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
-
-