java.lang.Object
org.activiti.cloud.services.query.rest.specification.SpecificationSupport<T,R>
All Implemented Interfaces:
Serializable, org.springframework.data.jpa.domain.Specification<T>
Direct Known Subclasses:
ProcessInstanceSpecification, TaskSpecification

public abstract class SpecificationSupport<T,R extends CloudRuntimeEntityFilterRequest> extends Object implements org.springframework.data.jpa.domain.Specification<T>
See Also:
  • Field Details

  • Constructor Details

    • SpecificationSupport

      protected SpecificationSupport(R searchRequest)
  • Method Details

    • getIdAttribute

      protected abstract jakarta.persistence.metamodel.SingularAttribute<T,?> getIdAttribute()
    • reset

      protected void reset()
    • toPredicate

      public jakarta.persistence.criteria.Predicate toPredicate(jakarta.persistence.criteria.Root<T> root, jakarta.persistence.criteria.CriteriaQuery<?> query, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder)
      Specified by:
      toPredicate in interface org.springframework.data.jpa.domain.Specification<T>
    • applyProcessVariableFilters

      protected void applyProcessVariableFilters(Supplier<jakarta.persistence.criteria.SetJoin<T,ProcessVariableEntity>> joinSupplier, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder)
    • applyIdFilter

      protected void applyIdFilter(jakarta.persistence.criteria.Root<T> root)
    • addLikeFilters

      protected void addLikeFilters(Collection<jakarta.persistence.criteria.Predicate> predicates, Set<String> valuesToFilter, jakarta.persistence.criteria.Root<T> root, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder, jakarta.persistence.metamodel.SingularAttribute<T,String> attribute)
    • applySorting

      protected void applySorting(jakarta.persistence.criteria.Root<T> root, Supplier<jakarta.persistence.criteria.SetJoin<T,ProcessVariableEntity>> joinSupplier, jakarta.persistence.criteria.CriteriaQuery<?> query, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder)
    • validateSort

      protected void validateSort(CloudRuntimeEntitySort sort)
    • joinProcessVariables

      protected Supplier<jakarta.persistence.criteria.SetJoin<T,ProcessVariableEntity>> joinProcessVariables(jakarta.persistence.criteria.Root<T> root)
      Using a supplier to actually join process variable only if needed. The instance of set join is stored in a field to avoid multiple joins.
      Parameters:
      root - Specification root
      Returns:
      Supplier of SetJoin of process variables
    • getProcessVariablesAttribute

      protected abstract jakarta.persistence.metamodel.SetAttribute<T,ProcessVariableEntity> getProcessVariablesAttribute()