Class JpaCustomizedRepositoryHelper<D extends com.broadleafcommerce.data.tracking.core.Trackable>


  • public class JpaCustomizedRepositoryHelper<D extends com.broadleafcommerce.data.tracking.core.Trackable>
    extends Object
    A helper containing common functionality among customized repositories.
    Author:
    Jacob Mitash
    • Constructor Summary

      Constructors 
      Constructor Description
      JpaCustomizedRepositoryHelper​(com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager typeManager, javax.persistence.EntityManager entityManager, com.broadleafcommerce.data.tracking.jpa.filtering.narrow.JpaNarrowingHelper narrowingHelper, com.broadleafcommerce.data.tracking.core.TrackableRepository<D> repository)  
    • Constructor Detail

      • JpaCustomizedRepositoryHelper

        public JpaCustomizedRepositoryHelper​(com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager typeManager,
                                             javax.persistence.EntityManager entityManager,
                                             com.broadleafcommerce.data.tracking.jpa.filtering.narrow.JpaNarrowingHelper narrowingHelper,
                                             com.broadleafcommerce.data.tracking.core.TrackableRepository<D> repository)
    • Method Detail

      • readPageWithEqualPredicate

        @SafeVarargs
        public final org.springframework.data.domain.Page<D> readPageWithEqualPredicate​(@Nullable
                                                                                        com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo,
                                                                                        @Nullable
                                                                                        org.springframework.data.domain.Pageable page,
                                                                                        String paramName,
                                                                                        String paramValue,
                                                                                        Function<javax.persistence.criteria.Root<D>,​javax.persistence.criteria.Expression<String>> fieldExpressionFunction,
                                                                                        Function<javax.persistence.criteria.Root<D>,​javax.persistence.criteria.Predicate>... additionalPredicateFunctions)
        Reads a page of trackables based on some "equals" condition.

        For example, someone wanting to find a page of trackables where "someId" is "123" would invoke this with something similar to: readPageWithEqualPredicate( contextInfo, page, "someId", "123", root -> root.get("someId"));

        Parameters:
        contextInfo - the context information of the request
        page - the requested page to load
        paramName - the name of the parameter being tested in the "equals" condition
        paramValue - the value the parameter should have for the "equals" condition
        fieldExpressionFunction - a function that generates an expression for the field to test in the "equals" condition
        additionalPredicateFunctions - any additional predicates to add to the query
        Returns:
        a page of trackables
      • getManagedType

        public Class<D> getManagedType()
        Gets the type that the repository manages.
        Returns:
        the type that this repository manages