Package de.xima.fc.dao.interfaces
Interface IWorkflowElementDao<TElement extends IWorkflowElementEntity & de.xima.cmn.dao.interfaces.IEntity<Long>>
-
- Type Parameters:
TElement
- Type of the workflow element.
- All Superinterfaces:
de.xima.cmn.dao.interfaces.IAbstractDao<TElement,Long,IEntityContext>
,IGenericDao<TElement>
- All Known Subinterfaces:
IWorkflowNodeDao
,IWorkflowTriggerDao
- All Known Implementing Classes:
WorkflowNodeDao
,WorkflowTriggerDao
public interface IWorkflowElementDao<TElement extends IWorkflowElementEntity & de.xima.cmn.dao.interfaces.IEntity<Long>> extends IGenericDao<TElement>
Base DAO for all workflow elements.- Since:
- 7.0.0
- Author:
- XIMA MEDIA GmbH
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description TElement
byUuid(IEntityContext ec, long processId, UUID taskUuid, UUID elementUuid)
default TElement
byUuid(IEntityContext ec, WorkflowProcess process, UUID taskUuid, UUID elementUuid)
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 filter)
Finds all workflow element entities matching the given filter criterion on aAWorkflowElement
.default List<TElement>
getForActiveVersionBy(IEntityContext ec, Projekt project, String type, SearchTerm... searchTerms)
Finds all workflow element of the given type and with the given search terms.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 filter)
Finds all workflow element entities matching the given filter criterion on aAWorkflowElement
.default List<TElement>
getForCurrentVersionBy(IEntityContext ec, Vorgang formRecord, String type, SearchTerm... searchTerms)
Finds all workflow element of the given type and with the given search terms.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.de.xima.cmn.criteria.FilterCriterion
searchTermExists(String key, de.xima.cmn.criteria.FilterCriterion... moreFilters)
de.xima.cmn.criteria.FilterCriterion
searchTermExists(String key, String value)
default de.xima.cmn.criteria.FilterCriterion
searchTermNotExists(String key, de.xima.cmn.criteria.FilterCriterion... moreFilters)
default de.xima.cmn.criteria.FilterCriterion
searchTermNotExists(String key, String value)
-
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
-
-
-
-
Method Detail
-
byUuid
TElement byUuid(IEntityContext ec, long processId, UUID taskUuid, UUID elementUuid)
- Parameters:
ec
- Current entity context.processId
- ID of aWorkflowProcess
.taskUuid
- UUID of the task to which the element belongs.elementUuid
- UUID of the workflow element.- Returns:
- The workflow element with the given UUID, or
null
when no such element exists.
-
byUuid
default TElement byUuid(IEntityContext ec, WorkflowProcess process, UUID taskUuid, UUID elementUuid)
- Parameters:
ec
- Current entity context.process
- AWorkflowProcess
to search.taskUuid
- UUID of the task to which the element belongs.elementUuid
- UUID of the workflow element.- Returns:
- The workflow element with the given UUID, or
null
when no such element exists.
-
getAllReferencingElements
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 .- 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
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 .- 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
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 .- 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
List<TElement> getForActiveVersionBy(IEntityContext ec, Projekt project, de.xima.cmn.criteria.FilterCriterion filter)
Finds all workflow element entities matching the given filter criterion on aAWorkflowElement
. Restricts the result to the triggers of theProjekt.getActiveWorkflowVersion()
.- Parameters:
ec
- Current entity context.project
- Project to which to restrict the result. Must not benull
, or an empty list is returned.filter
- 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
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. Restricts the result to the triggers of theProjekt.getActiveWorkflowVersion()
.- 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.
-
getForActiveVersionBy
default List<TElement> getForActiveVersionBy(IEntityContext ec, Projekt project, String type, SearchTerm... searchTerms)
Finds all workflow element of the given type and with the given search terms. Restricts the result to the triggers of theProjekt.getActiveWorkflowVersion()
.- 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
List<TElement> getForCurrentVersionBy(IEntityContext ec, Vorgang formRecord, de.xima.cmn.criteria.FilterCriterion filter)
Finds all workflow element entities matching the given filter criterion on aAWorkflowElement
. Restricts the result to the triggers of theVorgang.getWorkflowVersion()
.- 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()
.filter
- 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
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. Restricts the result to the triggers of theVorgang.getWorkflowVersion()
.- 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.
-
getForCurrentVersionBy
default List<TElement> getForCurrentVersionBy(IEntityContext ec, Vorgang formRecord, String type, SearchTerm... searchTerms)
Finds all workflow element of the given type and with the given search terms. Restricts the result to the triggers of theVorgang.getWorkflowVersion()
.- 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
de.xima.cmn.criteria.FilterCriterion searchTermExists(String key, de.xima.cmn.criteria.FilterCriterion... moreFilters)
- 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
de.xima.cmn.criteria.FilterCriterion searchTermExists(String key, String value)
- 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
.
-
searchTermNotExists
default de.xima.cmn.criteria.FilterCriterion searchTermNotExists(String key, de.xima.cmn.criteria.FilterCriterion... moreFilters)
- Parameters:
key
- Key of the search term.moreFilters
- Additional filter to match against the search term. Root for property paths isAWorkflowElementSearchTerm
.- Returns:
- A filter criterion that matches when there exists no search term that both has the given given key and also
matches the additional given filters. Must be used with a query for
WorkflowTrigger
orWorkflowNode
.
-
searchTermNotExists
default de.xima.cmn.criteria.FilterCriterion searchTermNotExists(String key, String value)
- 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 no search term matching the given key and value. Must be used with a query forWorkflowTrigger
orWorkflowNode
.
-
-