Class JpaContextCriteriaUtility


  • public final class JpaContextCriteriaUtility
    extends Object
    Contains convenience methods for building JPA query criteria from a ContextInfo.
    • Method Detail

      • buildCriteriaFromHintsInfluencersAndActiveDates

        public static Optional<javax.persistence.criteria.Predicate> buildCriteriaFromHintsInfluencersAndActiveDates​(@Nullable
                                                                                                                     com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo,
                                                                                                                     @NonNull
                                                                                                                     @NonNull Class<?> typeToRead,
                                                                                                                     @NonNull
                                                                                                                     @NonNull javax.persistence.criteria.AbstractQuery<?> query,
                                                                                                                     @NonNull
                                                                                                                     @NonNull Map<String,​Object> params,
                                                                                                                     @NonNull
                                                                                                                     @NonNull javax.persistence.EntityManager em,
                                                                                                                     @NonNull
                                                                                                                     @NonNull JpaFiltersCriteriaBuilder filtersCriteriaBuilder)
        Builds a Predicate containing criteria for ContextInfo.getQueryHints(), ContextInfo.getQueryInfluencers(), and ContextInfo.isFilterByActiveDates() as necessary.
        Parameters:
        contextInfo - the context info from which to build criteria
        typeToRead - the entity type that is being queried by the query
        query - the query that will be run
        params - contains parameters that will be set on the query
        em - the entity manager for the operation
        filtersCriteriaBuilder - utility that can create filters based on RSQL expressions
        Returns:
        an Optional containing a predicate with any filters that should be applied, or Optional.empty() if no filters should apply