Package de.xima.fc.dao.impl
Class WorkflowNodeDao
- java.lang.Object
-
- de.xima.cmn.dao.AbstractDao<T,Long,IEntityContext>
-
- de.xima.fc.dao.impl.GenericDao<TElement>
-
- de.xima.fc.dao.impl.WorkflowNodeDao
-
- All Implemented Interfaces:
de.xima.cmn.dao.interfaces.IAbstractDao<WorkflowNode,Long,IEntityContext>
,IGenericDao<WorkflowNode>
,IWorkflowElementDao<WorkflowNode>
,IWorkflowNodeDao
public class WorkflowNodeDao extends GenericDao<TElement> implements IWorkflowNodeDao
The default implementation ofIWorkflowNodeDao
that can be accessed viaDaoProvider
.- Since:
- 7.0.0
- Author:
- XIMA MEDIA GmbH
-
-
Constructor Summary
Constructors Constructor Description WorkflowNodeDao()
Creates a new instance of this DAO.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TElement
byUuid(IEntityContext ec, long processId, UUID taskUuid, UUID nodeUuid)
List<TElement>
getAllReferencingElements(IEntityContext ec, Mandant client, de.xima.cmn.dao.interfaces.IEntity<Long> entity)
Finds all workflow elements within the client that reference the given entity .List<TElement>
getAllReferencingElements(IEntityContext ec, Projekt project, de.xima.cmn.dao.interfaces.IEntity<Long> entity)
Finds all workflow elements within the project that reference the given entity .List<TElement>
getAllReferencingElements(IEntityContext ec, WorkflowVersion version, de.xima.cmn.dao.interfaces.IEntity<Long> entity)
Finds all workflow elements within the version that reference the given entity .List<TElement>
getForActiveVersionBy(IEntityContext ec, Projekt project, de.xima.cmn.criteria.FilterCriterion requestedFilter)
Finds all workflow element entities matching the given filter criterion on aAWorkflowElement
.List<TElement>
getForActiveVersionBy(IEntityContext ec, Projekt project, String type, List<SearchTerm> searchTerms)
Finds all workflow element of the given type and with the given search terms.List<TElement>
getForCurrentVersionBy(IEntityContext ec, Vorgang formRecord, de.xima.cmn.criteria.FilterCriterion requestedFilter)
Finds all workflow element entities matching the given filter criterion on aAWorkflowElement
.List<TElement>
getForCurrentVersionBy(IEntityContext ec, Vorgang formRecord, String type, List<SearchTerm> searchTerms)
Finds all workflow element of the given type and with the given search terms.protected IGenericDao<? extends AWorkflowElementSearchTerm<WorkflowNode>>
getSearchTermDao()
de.xima.cmn.criteria.FilterCriterion
searchTermExists(String key, de.xima.cmn.criteria.FilterCriterion... moreFilters)
de.xima.cmn.criteria.FilterCriterion
searchTermExists(String key, String value)
-
Methods inherited from class de.xima.fc.dao.impl.GenericDao
getEntityRefs, getPostActionHook, getPreActionHook, read
-
Methods inherited from class de.xima.cmn.dao.AbstractDao
all, bulkDelete, bulkUpdate, cb, checkLockingVersion, cq, create, create, delete, delete, deleteAll, executePagedDaoAction, getAttributes, getAttributes, getSingleAttributes, getSingleAttributes, getTransactionHandler, notifyListener, notifyListener, read, registerListener, registerListener, registerListener, resultTotalCount, setTransactionHandler, singleElement, unregisterListener, unregisterListener, unregisterListener, update, update
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.xima.cmn.dao.interfaces.IAbstractDao
all, bulkDelete, bulkUpdate, checkLockingVersion, create, create, delete, delete, deleteAll, executePagedDaoAction, getAttributes, getAttributes, getSingleAttributes, getSingleAttributes, getTransactionHandler, read, registerListener, registerListener, registerListener, resultTotalCount, setTransactionHandler, singleElement, unregisterListener, unregisterListener, unregisterListener, update, update
-
Methods inherited from interface de.xima.fc.dao.interfaces.IGenericDao
count, findAll, findSingle, getEntityRefs, read
-
Methods inherited from interface de.xima.fc.dao.interfaces.IWorkflowElementDao
byUuid, byUuid, getAllReferencingElements, getAllReferencingElements, getAllReferencingElements, getForActiveVersionBy, getForActiveVersionBy, getForActiveVersionBy, getForCurrentVersionBy, getForCurrentVersionBy, getForCurrentVersionBy, searchTermExists, searchTermExists, searchTermNotExists, searchTermNotExists
-
-
-
-
Constructor Detail
-
WorkflowNodeDao
public WorkflowNodeDao()
Creates a new instance of this DAO. Normally you should use the singleton instance provided byDaoProvider.WORKFLOWNODE_DAO
.
-
-
Method Detail
-
getSearchTermDao
protected IGenericDao<? extends AWorkflowElementSearchTerm<WorkflowNode>> getSearchTermDao()
-
byUuid
public TElement byUuid(IEntityContext ec, long processId, UUID taskUuid, UUID nodeUuid)
- Specified by:
byUuid
in interfaceIWorkflowElementDao<TElement extends IWorkflowElementEntity & de.xima.cmn.dao.interfaces.IEntity<Long>>
- Parameters:
ec
- Current entity context.processId
- ID of aWorkflowProcess
.taskUuid
- UUID of the task to which the element belongs.nodeUuid
- UUID of the workflow element.- Returns:
- The workflow element with the given UUID, or
null
when no such element exists.
-
getAllReferencingElements
public List<TElement> getAllReferencingElements(IEntityContext ec, Mandant client, de.xima.cmn.dao.interfaces.IEntity<Long> entity)
Description copied from interface:IWorkflowElementDao
Finds all workflow elements within the client that reference the given entity .- Specified by:
getAllReferencingElements
in interfaceIWorkflowElementDao<TElement extends IWorkflowElementEntity & de.xima.cmn.dao.interfaces.IEntity<Long>>
- Parameters:
ec
- Current entity context.client
- Client to which to limit the search.entity
- Entity to search for.- Returns:
- All workflow elements within the given scope that reference the given entity.
-
getAllReferencingElements
public List<TElement> getAllReferencingElements(IEntityContext ec, Projekt project, de.xima.cmn.dao.interfaces.IEntity<Long> entity)
Description copied from interface:IWorkflowElementDao
Finds all workflow elements within the project that reference the given entity .- Specified by:
getAllReferencingElements
in interfaceIWorkflowElementDao<TElement extends IWorkflowElementEntity & de.xima.cmn.dao.interfaces.IEntity<Long>>
- Parameters:
ec
- Current entity context.project
- Project to which to limit the search.entity
- Entity to search for.- Returns:
- All workflow elements within the given scope that reference the given entity.
-
getAllReferencingElements
public List<TElement> getAllReferencingElements(IEntityContext ec, WorkflowVersion version, de.xima.cmn.dao.interfaces.IEntity<Long> entity)
Description copied from interface:IWorkflowElementDao
Finds all workflow elements within the version that reference the given entity .- Specified by:
getAllReferencingElements
in interfaceIWorkflowElementDao<TElement extends IWorkflowElementEntity & de.xima.cmn.dao.interfaces.IEntity<Long>>
- Parameters:
ec
- Current entity context.version
- Version to which to limit the search.entity
- Entity to search for.- Returns:
- All workflow elements within the given scope that reference the given entity.
-
getForActiveVersionBy
public List<TElement> getForActiveVersionBy(IEntityContext ec, Projekt project, de.xima.cmn.criteria.FilterCriterion requestedFilter)
Description copied from interface:IWorkflowElementDao
Finds all workflow element entities matching the given filter criterion on aAWorkflowElement
. Restricts the result to the triggers of theProjekt.getActiveWorkflowVersion()
.- Specified by:
getForActiveVersionBy
in interfaceIWorkflowElementDao<TElement extends IWorkflowElementEntity & de.xima.cmn.dao.interfaces.IEntity<Long>>
- Parameters:
ec
- Current entity context.project
- Project to which to restrict the result. Must not benull
, or an empty list is returned.requestedFilter
- Filter criterion on aAWorkflowElement
. May contain sub criteria. Ifnull
, it is treated as a filter that always matches.- Returns:
- All workflow elements that are part of the active workflow version of the given project, and match the
given filter criterion. If
project
isnull
, returns an empty list.
-
getForActiveVersionBy
public List<TElement> getForActiveVersionBy(IEntityContext ec, Projekt project, String type, List<SearchTerm> searchTerms)
Description copied from interface:IWorkflowElementDao
Finds all workflow element of the given type and with the given search terms. Restricts the result to the triggers of theProjekt.getActiveWorkflowVersion()
.- Specified by:
getForActiveVersionBy
in interfaceIWorkflowElementDao<TElement extends IWorkflowElementEntity & de.xima.cmn.dao.interfaces.IEntity<Long>>
- Parameters:
ec
- Current entity context.project
- Project to which to restrict the result. Must not benull
, or an empty list is returned.type
-AWorkflowElement.getType()
of the workflow elements to find. Whennull
or empty, no type filter is applied.searchTerms
- Search terms to match. The workflow element must match all of the given terms (the search terms are combined withAND
). Whennull
or empty, no search term filter is applied.- Returns:
- A list of all matching workflow elements that are part of the active workflow version of the given project.
-
getForCurrentVersionBy
public List<TElement> getForCurrentVersionBy(IEntityContext ec, Vorgang formRecord, de.xima.cmn.criteria.FilterCriterion requestedFilter)
Description copied from interface:IWorkflowElementDao
Finds all workflow element entities matching the given filter criterion on aAWorkflowElement
. Restricts the result to the triggers of theVorgang.getWorkflowVersion()
.- Specified by:
getForCurrentVersionBy
in interfaceIWorkflowElementDao<TElement extends IWorkflowElementEntity & de.xima.cmn.dao.interfaces.IEntity<Long>>
- Parameters:
ec
- Current entity context.formRecord
- Form record to which to restrict the result. Must not benull
, or an empty list is returned. The result is restricted to theVorgang.getWorkflowVersion()
.requestedFilter
- Filter criterion on aAWorkflowElement
. May contain sub criteria. Ifnull
, it is treated as a filter that always matches.- Returns:
- All workflow elements that are part of the workflow version of the given form record, and match the given
filter criterion. If
formRecord
isnull
, returns an empty list.
-
getForCurrentVersionBy
public List<TElement> getForCurrentVersionBy(IEntityContext ec, Vorgang formRecord, String type, List<SearchTerm> searchTerms)
Description copied from interface:IWorkflowElementDao
Finds all workflow element of the given type and with the given search terms. Restricts the result to the triggers of theVorgang.getWorkflowVersion()
.- Specified by:
getForCurrentVersionBy
in interfaceIWorkflowElementDao<TElement extends IWorkflowElementEntity & de.xima.cmn.dao.interfaces.IEntity<Long>>
- Parameters:
ec
- Current entity context.formRecord
- Form record to which to restrict the result. Must not benull
, or an empty list is returned. The result is restricted to theVorgang.getWorkflowVersion()
.type
-AWorkflowElement.getType()
of the workflow elements to find. Whennull
or empty, no type filter is applied.searchTerms
- Search terms to match. The workflow element must match all of the given terms (the search terms are combined withAND
). Whennull
or empty, no search term filter is applied.- Returns:
- A list of all matching workflow elements that are part of the workflow version of the given form record.
-
searchTermExists
public de.xima.cmn.criteria.FilterCriterion searchTermExists(String key, de.xima.cmn.criteria.FilterCriterion... moreFilters)
- Specified by:
searchTermExists
in interfaceIWorkflowElementDao<TElement extends IWorkflowElementEntity & de.xima.cmn.dao.interfaces.IEntity<Long>>
- Parameters:
key
- Key of the search term.moreFilters
- Additional filter the search term must match. Root for property paths isAWorkflowElementSearchTerm
.- Returns:
- A filter criterion that matches when there exists at least one search term with the given key that also
matches the additional given filters. Must be used with a query for
WorkflowTrigger
orWorkflowNode
.
-
searchTermExists
public de.xima.cmn.criteria.FilterCriterion searchTermExists(String key, String value)
- Specified by:
searchTermExists
in interfaceIWorkflowElementDao<TElement extends IWorkflowElementEntity & de.xima.cmn.dao.interfaces.IEntity<Long>>
- Parameters:
key
- Key of the search term.value
- Value of the search term.- Returns:
- A filter criterion that evaluates to
true
when this trigger has a search term matching the given key and value. Must be used with a query forWorkflowTrigger
orWorkflowNode
.
-
-