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 Deprecated 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.<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 aQueryCriteriaManager
s.<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.<R,T extends ITransferableEntity>
Set<R>getEntityRefs(Class<T> entityClass, UserContext uc, T entity)
Returns a set of entities that reference the given entity and depend on it.<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)
Deprecated.usede.xima.fc.api.entity.GenericAPI.getSingleAttributes(Class, UserContext, IFilterableCriteriaManager, Class)
<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 aQueryCriteriaManager
s.- Type Parameters:
T
- the type of the entity- Parameters:
entityClass
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.qcm
-QueryCriteriaManager
to be filtered by.- Returns:
List
fromITransferableEntity
which 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.cm
- the criteria manager to be filtered by.- Returns:
List
fromITransferableEntity
which 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.entity
-ITransferableEntity
which should be created.- Returns:
ITransferableEntity
which 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.entities
-Array
the entities to create.- Returns:
Array
of 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.entity
-ITransferableEntity
which should be deleted.- Returns:
- Always
true
. - 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.entities
-Array
the entities to be deleted.- Returns:
- Always
true
. - 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.id
-Long
the ID of the searched entity.- Returns:
ITransferableEntity
the 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
-UserContext
the user context in which the action is to be performed.entityClassName
-String
the class name of the searched entity.id
-Integer
the ID of the searched entity.- Returns:
ITransferableEntity
the 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
@Deprecated 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)
Deprecated.usede.xima.fc.api.entity.GenericAPI.getSingleAttributes(Class, UserContext, IFilterableCriteriaManager, Class)
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
-Class
the class of the searched entityuc
-UserContext
which 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 benull
or empty.- Returns:
Tuple
that 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
-Class
the class of the searched entityuc
-UserContext
which 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 benull
or empty.resultClass
-Class
of 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
-
getEntityRefs
public <R,T extends ITransferableEntity> Set<R> getEntityRefs(Class<T> entityClass, UserContext uc, T entity)
Returns a set of entities that reference the given entity and depend on it. An entity can usually not be deleted if it is still being referenced by and depended on by other entities.- Type Parameters:
R
- type of the entities that are referencing the given entity.T
- type of the entity that is being referenced.- Parameters:
entityClass
- the class of the entity that is being referenced.uc
- user context for database transactions.entity
- being referenced.- Returns:
- a set of entities that reference the given entity.
- Throws:
ClassCastException
- if a referencing entity is not of typeR
.- Since:
- 8.0.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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.qcm
-QueryCriteriaManager
to be searched by.- Returns:
Integer
the found number of elementsQueryCriteriaManager
s.- 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.cm
- the criteria manager to be searched by.- Returns:
Integer
the 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.entities
-Array
the entities to be updated.- Returns:
Array
the 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.entity
-ITransferableEntity
which should be updated.- Returns:
ITransferableEntity
the 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.qcm
- theQueryCriteriaManager
to 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
-ITransferableEntity
class of the entity.uc
-UserContext
the 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.qcm
-QueryCriteriaManager
to be searched by.- Returns:
Boolean
whether 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.cm
- the criteria manager to be searched by.- Returns:
- Always
true
. - 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.id
-Long
the ID of the searched entity.- Returns:
- Always
true
. - 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
-ITransferableEntity
class of the entity.uc
-UserContext
the user context in which the action is to be performed.- Returns:
List
of the found entities.- Since:
- 2.4.3
-
-