Package de.xima.fc.api.entity
Class AEntityAPI<T extends ITransferableEntity>
- java.lang.Object
-
- de.xima.fc.api.ASubAPI
-
- de.xima.fc.api.entity.AEntityAPI<T>
-
- Type Parameters:
T
- Type of the entity, which inherits fromAbstractLockableEntity
.
- Direct Known Subclasses:
AktionAPI
,AppointmentAPI
,AppointmentSlotAPI
,AppointmentTemplateAPI
,AppointmentTypeAPI
,AttachmentAPI
,BedingungAPI
,BenutzerAPI
,BenutzerGruppeAPI
,ClientAuthenticatorAPI
,ClientCounterApi
,ClientPortalConfigAPI
,DatenbankZugriffAPI
,DatenquelleAPI
,DirectClientAuthorizationAPI
,FormEingangAPI
,FormElementAPI
,FormRecordChatAPI
,FormRecordMessageAPI
,FormRecordSubmissionAPI
,FormVersionAPI
,FrontendServerAPI
,FSConnectionAPI
,IndirectClientAuthorizationAPI
,LDAPAbfrageAPI
,LDAPGruppeAPI
,LDAPZugriffAPI
,LicenseFileAPI
,MandantAPI
,MandantFrontendServerAPI
,MandantLdapDataAPI
,MandantMailDataAPI
,MandantRessourcenAPI
,ModulAPI
,PostfachAPI
,ProjectAuthenticatorConfigAPI
,ProjectDOIDataAPI
,ProjectPortalConfigAPI
,ProjectPortalDataAPI
,ProjektAPI
,ProjektRessourcenAPI
,ProjektZaehlerAPI
,ProjektZaehlerDatenAPI
,RolleAPI
,StatusAPI
,SystemAuthenticatorAPI
,SystemPropertyAPI
,TextbausteinAPI
,UserCredentialsAPI
,UserEmailAPI
,UserIdentityAPI
,UserPortalAPI
,UserPortalAuthConfigAPI
,UserProfileAPI
,UserProfileMfaAPI
,VorgangAPI
,WebDavAccessAPI
,WorkflowNodeAPI
,WorkflowStateAPI
,WorkflowTaskAPI
,WorkflowTriggerAPI
,WorkflowVersionAPI
public abstract class AEntityAPI<T extends ITransferableEntity> extends ASubAPI
Abstract class with diffrent CRUD operations for entities of the typeITransferableEntity
.- Author:
- XIMA MEDIA GmbH
-
-
Field Summary
Fields Modifier and Type Field Description protected Class<T>
entityClass
-
Constructor Summary
Constructors Constructor Description AEntityAPI()
Instantiates a new entity API.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description T
create(UserContext uc, T entity)
Method for creating a entity.T[]
create(UserContext uc, T[] entities)
Method for creating multiple entities.Boolean
delete(UserContext uc, T entity)
Method for deleting a entity.Boolean
delete(UserContext uc, T[] entities)
Method for deleting multiple entities.Boolean
deleteAllBy(UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
Method for deleting entities using aQueryCriteriaManager
s.Boolean
deleteById(UserContext uc, Integer id)
Method for deleting a entity by its ID.Boolean
deleteById(UserContext uc, Long id)
Method for deleting a entity by its ID.List<T>
getAll(UserContext uc)
Method for determining all available entities in the user context.List<T>
getAllBy(UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
Method for determining all entities using aQueryCriteriaManager
s.<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(UserContext uc, C cm)
This method allows for the selection of certain attributes of entities instead of reading the entire entity<R,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(UserContext uc, C cm, Class<R> resultClass)
This method allows for the selection of certain attributes of entities instead of reading the entire entity.T
getBy(UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
Method for determining an entity using aQueryCriteriaManager
s.T
getById(UserContext uc, Integer id)
Method for retrieving an entity by its ID.T
getById(UserContext uc, Long id)
Method for retrieving an entity by its ID.<R extends ITransferableEntity>
Set<R>getEntityRefs(UserContext uc, T entity)
Returns a set of entities that reference the given entity and depend on it.PagedResult<T>
getPagedResult(UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
<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(UserContext uc, C cm)
<R,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(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<C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding>
intresultTotalCount(UserContext uc, C cm)
Method for determining the number of hits when searching for entities using aIFilterableCriteriaManager
.int
resultTotalCount(UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
Method for determining the number of hits when searching for entities using aQueryCriteriaManager
.T
update(UserContext uc, T entity)
Method for updating a entity.T[]
update(UserContext uc, T[] entities)
Method for updating multiple entities.-
Methods inherited from class de.xima.fc.api.ASubAPI
getHandlerProvider
-
-
-
-
Field Detail
-
entityClass
protected Class<T extends ITransferableEntity> entityClass
-
-
Method Detail
-
create
public T create(UserContext uc, T entity)
Method for creating a entity.- Parameters:
uc
-UserContext
the user context in which the action is to be performed.entity
- the entity to be created.- Returns:
- The created entity.
-
create
public T[] create(UserContext uc, T[] entities)
Method for creating multiple entities.- Parameters:
uc
-UserContext
the user context in which the action is to be performed.entities
- aArray
of the entities to be created.- Returns:
Array
of the created entities.
-
update
public T update(UserContext uc, T entity)
Method for updating a entity.- Parameters:
uc
-UserContext
the user context in which the action is to be performed.entity
- the entity to be update.- Returns:
- The updated entity.
-
delete
public Boolean delete(UserContext uc, T entity)
Method for deleting a entity.- Parameters:
uc
-UserContext
the user context in which the action is to be performed.entity
- the entity to be deleted.- Returns:
Boolean
if the deletion was successful.
-
delete
public Boolean delete(UserContext uc, T[] entities)
Method for deleting multiple entities.- Parameters:
uc
-UserContext
the user context in which the action is to be performed.entities
- aArray
of the entities to be deleted.- Returns:
Boolean
if the deletion was successful.
-
update
public T[] update(UserContext uc, T[] entities)
Method for updating multiple entities.- Parameters:
uc
-UserContext
the user context in which the action is to be performed.entities
- aArray
of the entities to be updated.- Returns:
Array
with the updated entities.
-
getAll
public List<T> getAll(UserContext uc)
Method for determining all available entities in the user context.- Parameters:
uc
-UserContext
the user context in which the action is to be performed.- Returns:
List
of the available entities.
-
getById
public T getById(UserContext uc, Long id)
Method for retrieving an entity by its ID.- Parameters:
uc
- The user context to use when accessing the database.id
- The ID of the entity.- Returns:
- The entity with the given ID, or
null
when no such entity exist.
-
getById
public T getById(UserContext uc, Integer id)
Method for retrieving an entity by its ID.- Parameters:
uc
- The user context to use when accessing the database.id
- The ID of an entity.- Returns:
- The entity with the given ID, or
null
when no such entity exist.
-
deleteById
public Boolean deleteById(UserContext uc, Long id)
Method for deleting a entity by its ID.- Parameters:
uc
- The user context to use when accessing the database.id
- The ID of an entity to delete.- Returns:
true
when the entity was deleted,false
otherwise when no entity with the given ID exists.
-
deleteById
public Boolean deleteById(UserContext uc, Integer id)
Method for deleting a entity by its ID.- Parameters:
uc
- The user context to use when accessing the database.id
- The ID of an entity to delete.- Returns:
true
when the entity was deleted,false
otherwise when no entity with the given ID exists.
-
resultTotalCount
public int resultTotalCount(UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
Method for determining the number of hits when searching for entities using aQueryCriteriaManager
.- Parameters:
uc
-UserContext
the user context in which the action is to be performed.qcm
- theQueryCriteriaManager
which should be used for the search.- Returns:
Integer
the found number of entities
-
resultTotalCount
public <C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding> int resultTotalCount(UserContext uc, C cm)
Method for determining the number of hits when searching for entities using aIFilterableCriteriaManager
.- Type Parameters:
C
- Type of the criteria manager to use for the search.- Parameters:
uc
-UserContext
the user context in which the action is to be performed.cm
- theIFilterableCriteriaManager
which should be used for the search.- Returns:
Integer
the found number of entities
-
getBy
public T getBy(UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
Method for determining an entity using aQueryCriteriaManager
s.- Parameters:
uc
-UserContext
the user context in which the action is to be performed.qcm
- theQueryCriteriaManager
which should be used for the search.- Returns:
- The found entity.
-
getAllBy
public List<T> getAllBy(UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
Method for determining all entities using aQueryCriteriaManager
s.- Parameters:
uc
-UserContext
the user context in which the action is to be performed.qcm
- theQueryCriteriaManager
which should be used for the search.- Returns:
List
the found entities.
-
getPagedResult
public PagedResult<T> getPagedResult(UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
-
getAttributes
public <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(UserContext uc, C cm) throws NotSerializableException
This method allows for the selection of certain attributes of entities instead of reading the entire entity- Type Parameters:
C
- type of the criteria manager- Parameters:
uc
-UserContext
which will be used for the transactioncm
- the criteria manager used for filtering, sorting, selecting, paging- Returns:
List
ofMap
s that contain the values of the selected attributes- Throws:
NotSerializableException
- when attributes are not serializable
-
getAttributes
public <R,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(UserContext uc, C cm, Class<R> resultClass)
This method allows for the selection of certain attributes of entities instead of reading the entire entity. That result will be returned in form of a list of objects. These objects are defined by the given result class- Type Parameters:
R
- type of result classC
- type of the criteria manager- Parameters:
uc
-UserContext
which will be used for the transactioncm
- the criteria manager used for filtering, sorting, selecting, pagingresultClass
- Type of the POJO used to wrap the resulting data.- Returns:
List
of objects that contain the values of the selected attributes
-
getSingleAttributes
@Deprecated public <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(UserContext uc, C cm)
This method allows for the selection of certain attributes of an entity instead of reading the entire entity- Type Parameters:
C
- type of the criteria manager- Parameters:
uc
-UserContext
which will be usedcm
- The query manager 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 query manager can also benull
or empty.- Returns:
Tuple
that contains the values of the selected attributes- Since:
- 6.6.0
-
getSingleAttributes
public <R,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(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 the POJO for wrapping the resulting data.C
- type of the criteria manager- Parameters:
uc
- User context for accessing the database.cm
- The query manager 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 query manager can also benull
or empty.resultClass
-Class
of the object, in which the result value will be placed- Returns:
- A list of rows with the selected attributes, wrapped with the given POJO class.
- Since:
- 6.6.0
-
getEntityRefs
public <R extends ITransferableEntity> Set<R> getEntityRefs(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.- Parameters:
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
-
deleteAllBy
public Boolean deleteAllBy(UserContext uc, de.xima.cmn.criteria.QueryCriteriaManager qcm)
Method for deleting entities using aQueryCriteriaManager
s.- Parameters:
uc
-UserContext
the user context in which the action is to be performed.qcm
- theQueryCriteriaManager
which should be used when deleting.- Returns:
Boolean
if the deletion was successful.
-
-