Package de.xima.fc.handler.entity
Class GenericHandler
- java.lang.Object
-
- de.xima.fc.handler.AMSApiHandler
-
- de.xima.fc.handler.entity.GenericHandler
-
- All Implemented Interfaces:
IAPIHandler
,IGenericHandler
,Serializable
- Direct Known Subclasses:
AktionHandler
,AppointmentHandler
,AppointmentSlotHandler
,AppointmentTemplateHandler
,AppointmentTypeHandler
,AttachmentHandler
,BenutzerGruppeHandler
,BenutzerHandler
,ClientAuthenticatorHandler
,ClientCounterHandler
,DatenbankzugriffHandler
,DatenquelleHandler
,DirectClientAuthorizationHandler
,EntityberechtigungHandler
,FileHandler
,FormEingangHandler
,FormElementHandler
,FormVersionHandler
,FrontendServerHandler
,IndirectClientAuthorizationHandler
,LDAPAbfrageHandler
,LDAPGruppeHandler
,LDAPZugriffHandler
,LicenseFileHandler
,LicenseHandler
,MandantFrontendServerHandler
,MandantHandler
,MandantLdapDataHandler
,MandantMailDataHandler
,MandantRessourceHandler
,ModulHandler
,PostfachHandler
,ProjectDOIDataHandler
,ProjectIdentityCheckDataHandler
,ProjektHandler
,ProjektRessourceHandler
,ProjektZaehlerDatenHandler
,ProjektZaehlerHandler
,RolleHandler
,SystemAuthenticatorHandler
,SystemPropertyHandler
,TextbausteinHandler
,UserCredentialsHandler
,UserEmailHandler
,UserIdentityHandler
,UserProfileHandler
,UserProfileMfaHandler
,VorgangHandler
,WebDavAccessHandler
,WorkflowHandler
,WorkflowNodeHandler
,WorkflowStateHandler
,WorkflowTaskHandler
,WorkflowTriggerHandler
,WorkflowVersionHandler
public class GenericHandler extends AMSApiHandler implements IGenericHandler
The Class GenericHandler.- Author:
- XIMA MEDIA GmbH
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.slf4j.Logger
LOG
-
Constructor Summary
Constructors Constructor Description GenericHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends ITransferableEntity>
Tcreate(Class<T> entityClass, UserContext uc, T entity)
Creates the.<T extends ITransferableEntity>
T[]create(Class<T> entityClass, UserContext uc, T... entities)
Creates the.<T extends ITransferableEntity>
Booleandelete(Class<T> entityClass, UserContext uc, T entities)
Delete.<T extends ITransferableEntity>
Booleandelete(Class<T> entityClass, UserContext uc, T... entities)
Delete.<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>
BooleandeleteBy(Class<T> entityClass, UserContext uc, C cm)
Delete by.<T extends ITransferableEntity>
BooleandeleteById(Class<T> entityClass, UserContext uc, Integer id)
<T extends ITransferableEntity>
BooleandeleteById(Class<T> entityClass, UserContext uc, Long id)
Delete by id.<T extends ITransferableEntity>
List<T>getAll(Class<T> entityClass, UserContext uc)
Gets the all.<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>getAllBy(Class<T> entityClass, UserContext uc, C cm)
Gets the all by.<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)
Gets a list of attributes specified in the given criteria managerC
<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)
Gets a list of attributes specified in the given criteria manager.<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)
Gets the by.<T extends ITransferableEntity>
TgetById(Class<T> entityClass, UserContext uc, Integer id)
<T extends ITransferableEntity>
TgetById(Class<T> entityClass, UserContext uc, Long id)
Gets the by id.<T extends ITransferableEntity>
TgetById(String entityClass, UserContext uc, String id)
Gets the by 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)
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>
IntegerresultTotalCount(Class<T> entityClass, UserContext uc, C cm)
Result total count.protected <T> List<T>
serializableList(Iterable<T> sequence)
Takes anyCollection
orIterable
and converts it to a serializable list that can be transferred via the API.<T extends ITransferableEntity>
Tupdate(Class<T> entityClass, UserContext uc, T entity)
Update.<T extends ITransferableEntity>
T[]update(Class<T> entityClass, UserContext uc, T... entities)
Update.-
Methods inherited from class de.xima.fc.handler.AMSApiHandler
getName
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.xima.fc.com.interfaces.IAPIHandler
getName
-
-
-
-
Method Detail
-
getAll
public <T extends ITransferableEntity> List<T> getAll(Class<T> entityClass, UserContext uc)
Gets the all.- Specified by:
getAll
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the uc- Returns:
- the all @
-
getAllBy
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> getAllBy(Class<T> entityClass, UserContext uc, C cm)
Gets the all by.- Specified by:
getAllBy
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the uccm
- the qcm- Returns:
- the all by @
-
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)
Gets the by.- Specified by:
getBy
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the uccm
- the qcm- Returns:
- the by @
-
getById
public <T extends ITransferableEntity> T getById(Class<T> entityClass, UserContext uc, Long id)
Gets the by id.- Specified by:
getById
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the ucid
- the id- Returns:
- the by id @
-
getById
public <T extends ITransferableEntity> T getById(Class<T> entityClass, UserContext uc, Integer id)
- Specified by:
getById
in interfaceIGenericHandler
-
getById
public <T extends ITransferableEntity> T getById(String entityClass, UserContext uc, String id)
Gets the by id.- Specified by:
getById
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the ucid
- the id- Returns:
- the by id @
-
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
Gets a list of attributes specified in the given criteria managerC
- Specified by:
getAttributes
in interfaceIGenericHandler
- Type Parameters:
T
- type of the entityC
- type of the criteria manager- Parameters:
entityClass
- The class of the entityuc
- AUserContext
that will be usedcm
- A criteria manager specifying the filtering, sorting, paging and selection of attributes- Returns:
List
ofTuple
s containing the attribute values- Throws:
NotSerializableException
- When any of the requested entity fields are not serializable.
-
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)
Gets a list of attributes specified in the given criteria manager. the attribute values will be returned as objects defined by the result class- Specified by:
getAttributes
in interfaceIGenericHandler
- Type Parameters:
R
- type of result objectT
- type of the entityC
- type of the criteria manager- Parameters:
entityClass
-Class
of the entityuc
-UserContext
that will be usedcm
- A criteria manager specifying the filtering, sorting, paging and selection of attributesresultClass
-Class
of the result objects- Returns:
- A list of results containing the attribute values
-
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- Specified by:
getSingleAttributes
in interfaceIGenericHandler
- 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
-
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- Specified by:
getSingleAttributes
in interfaceIGenericHandler
- 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
-
getEntityRefs
public <R,T extends ITransferableEntity> Set<R> getEntityRefs(Class<T> entityClass, UserContext uc, T entity)
Description copied from interface:IGenericHandler
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.- Specified by:
getEntityRefs
in interfaceIGenericHandler
- 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.
-
create
public <T extends ITransferableEntity> T[] create(Class<T> entityClass, UserContext uc, T... entities)
Creates the.- Specified by:
create
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the ucentities
- the entities- Returns:
- the t[] @
-
create
public <T extends ITransferableEntity> T create(Class<T> entityClass, UserContext uc, T entity)
Creates the.- Specified by:
create
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the ucentity
- the entity- Returns:
- the t @
-
update
public <T extends ITransferableEntity> T[] update(Class<T> entityClass, UserContext uc, T... entities)
Update.- Specified by:
update
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the ucentities
- the entities- Returns:
- the t[] @
-
update
public <T extends ITransferableEntity> T update(Class<T> entityClass, UserContext uc, T entity)
Update.- Specified by:
update
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the ucentity
- the entity- Returns:
- the t @
-
delete
public <T extends ITransferableEntity> Boolean delete(Class<T> entityClass, UserContext uc, T... entities)
Delete.- Specified by:
delete
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the ucentities
- the entities- Returns:
- the boolean @
-
delete
public <T extends ITransferableEntity> Boolean delete(Class<T> entityClass, UserContext uc, T entities)
Delete.- Specified by:
delete
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the ucentities
- the entities- Returns:
- the boolean @
-
deleteBy
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 deleteBy(Class<T> entityClass, UserContext uc, C cm)
Delete by.- Specified by:
deleteBy
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the uccm
- the qcm- Returns:
- the boolean @
-
deleteById
public <T extends ITransferableEntity> Boolean deleteById(Class<T> entityClass, UserContext uc, Long id)
Delete by id.- Specified by:
deleteById
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the ucid
- the id- Returns:
- the boolean @
-
deleteById
public <T extends ITransferableEntity> Boolean deleteById(Class<T> entityClass, UserContext uc, Integer id)
- Specified by:
deleteById
in interfaceIGenericHandler
-
resultTotalCount
public <T extends ITransferableEntity,C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding> Integer resultTotalCount(Class<T> entityClass, UserContext uc, C cm)
Result total count.- Specified by:
resultTotalCount
in interfaceIGenericHandler
- Type Parameters:
T
- the generic type- Parameters:
entityClass
- the entity classuc
- the uccm
- the qcm- Returns:
- the integer @
-
serializableList
protected <T> List<T> serializableList(Iterable<T> sequence)
Takes anyCollection
orIterable
and converts it to a serializable list that can be transferred via the API.- Type Parameters:
T
- Type of the list items.- Parameters:
sequence
- A sequence of items to put into a list.- Returns:
- A serializable list with the given items.
-
-