Interface IWorkflowElementDao<TElement extends IWorkflowElementEntity & de.xima.cmn.dao.interfaces.IEntity<Long>>

    • Method Detail

      • byUuid

        TElement byUuid​(IEntityContext ec,
                        long processId,
                        UUID taskUuid,
                        UUID elementUuid)
        Parameters:
        ec - Current entity context.
        processId - ID of a WorkflowProcess.
        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 - A WorkflowProcess 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 a AWorkflowElement. Restricts the result to the triggers of the Projekt.getActiveWorkflowVersion().
        Parameters:
        ec - Current entity context.
        project - Project to which to restrict the result. Must not be null, or an empty list is returned.
        filter - Filter criterion on a AWorkflowElement. May contain sub criteria. If null, 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 is null, 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 the Projekt.getActiveWorkflowVersion().
        Parameters:
        ec - Current entity context.
        project - Project to which to restrict the result. Must not be null, or an empty list is returned.
        type - AWorkflowElement.getType() of the workflow elements to find. When null 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 with AND). When null 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 the Projekt.getActiveWorkflowVersion().
        Parameters:
        ec - Current entity context.
        project - Project to which to restrict the result. Must not be null, or an empty list is returned.
        type - AWorkflowElement.getType() of the workflow elements to find. When null 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 with AND). When null 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 a AWorkflowElement. Restricts the result to the triggers of the Vorgang.getWorkflowVersion().
        Parameters:
        ec - Current entity context.
        formRecord - Form record to which to restrict the result. Must not be null, or an empty list is returned. The result is restricted to the Vorgang.getWorkflowVersion().
        filter - Filter criterion on a AWorkflowElement. May contain sub criteria. If null, 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 is null, 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 the Vorgang.getWorkflowVersion().
        Parameters:
        ec - Current entity context.
        formRecord - Form record to which to restrict the result. Must not be null, or an empty list is returned. The result is restricted to the Vorgang.getWorkflowVersion().
        type - AWorkflowElement.getType() of the workflow elements to find. When null 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 with AND). When null 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 the Vorgang.getWorkflowVersion().
        Parameters:
        ec - Current entity context.
        formRecord - Form record to which to restrict the result. Must not be null, or an empty list is returned. The result is restricted to the Vorgang.getWorkflowVersion().
        type - AWorkflowElement.getType() of the workflow elements to find. When null 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 with AND). When null 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 is AWorkflowElementSearchTerm.
        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 or WorkflowNode.
      • 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 for WorkflowTrigger or WorkflowNode.
      • 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 is AWorkflowElementSearchTerm.
        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 or WorkflowNode.
      • 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 for WorkflowTrigger or WorkflowNode.