Class JpaCustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail>

java.lang.Object
com.broadleafcommerce.pricing.provider.jpa.repository.JpaCustomizedPriceDataUsageDetailRepository<D>
Type Parameters:
D - a class that extends JpaPriceDataUsageDetail
All Implemented Interfaces:
CustomizedPriceDataUsageDetailRepository<D>, org.springframework.beans.factory.InitializingBean

public class JpaCustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail> extends Object implements CustomizedPriceDataUsageDetailRepository<D>, org.springframework.beans.factory.InitializingBean
Repository fragment for JpaPriceDataUsageDetailRepository that includes custom JPA query methods.
Author:
karanjariwala
  • Field Details

  • Constructor Details

    • JpaCustomizedPriceDataUsageDetailRepository

      public JpaCustomizedPriceDataUsageDetailRepository(com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil behaviorUtil, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder criteriaBuilder, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager)
  • Method Details

    • afterPropertiesSet

      public void afterPropertiesSet()
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
    • setRepository

      @Autowired @Lazy public void setRepository(PriceDataUsageDetailRepository<D> repository)
    • findAllByRevertibleAndUsageDateBefore

      public org.springframework.data.domain.Page<D> findAllByRevertibleAndUsageDateBefore(Instant usageDateBefore, @Nullable org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: CustomizedPriceDataUsageDetailRepository
      Fetches a page of PriceDataUsageDetail that are "revertible"(revertible=true) and before the specified date
      Specified by:
      findAllByRevertibleAndUsageDateBefore in interface CustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail>
      Parameters:
      usageDateBefore - - the date(instant) before usageDate
      page - - page info
      contextInfo - - the context info
      Returns:
      the page of PriceDataUsageDetail
    • archiveAllByIds

      @Transactional("pricingTransactionManager") public void archiveAllByIds(Collection<String> priceDataUsageDetailIds, String archivalReason, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: CustomizedPriceDataUsageDetailRepository
      Archive multiple PriceDataUsageDetails by ids.
      Specified by:
      archiveAllByIds in interface CustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail>
      Parameters:
      priceDataUsageDetailIds - the ids of priceDataUsageDetail to archival
      archivalReason - the reason for archival
      contextInfo - the context info
      See Also:
    • updateRevertibleByReferenceId

      @Transactional("pricingTransactionManager") public void updateRevertibleByReferenceId(String transactionReferenceType, String transactionReferenceId, Boolean revertible, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Specified by:
      updateRevertibleByReferenceId in interface CustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail>
    • markRevertibleAllByIds

      @Transactional("pricingTransactionManager") public void markRevertibleAllByIds(Collection<String> priceDataUsageDetailIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Specified by:
      markRevertibleAllByIds in interface CustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail>
    • deletePriceDataUsageDetailsOlderThan

      @Transactional("pricingTransactionManager") public int deletePriceDataUsageDetailsOlderThan(@NonNull @NonNull Instant dateBefore, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: CustomizedPriceDataUsageDetailRepository
      Deletes all PriceDataUsageDetails whose PriceDataUsageDetail.getUsageDate() is older than dateBefore.

      Used for cleanup of obsolete data

      Specified by:
      deletePriceDataUsageDetailsOlderThan in interface CustomizedPriceDataUsageDetailRepository<D extends JpaPriceDataUsageDetail>
      Parameters:
      dateBefore - the time instant before which the records are to be deleted/purged
      contextInfo - the context info
      Returns:
      the number of records deleted
    • buildTenantIdIsEqualToFilter

      protected jakarta.persistence.criteria.Predicate buildTenantIdIsEqualToFilter(@Nullable String tenantId, Map<String,Object> queryParams, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder, jakarta.persistence.criteria.Root<? extends com.broadleafcommerce.data.tracking.core.Trackable> entity)
    • buildArchivedIsFalseFilter

      protected jakarta.persistence.criteria.Predicate buildArchivedIsFalseFilter(jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder, jakarta.persistence.criteria.Root<? extends com.broadleafcommerce.data.tracking.core.Trackable> entity)
    • getManagedType

      protected final Class<D> getManagedType()
    • getJpaNarrowingHelper

      protected com.broadleafcommerce.data.tracking.jpa.filtering.narrow.JpaNarrowingHelper getJpaNarrowingHelper()
    • getRepository

      protected PriceDataUsageDetailRepository<D> getRepository()
    • getBehaviorUtil

      protected com.broadleafcommerce.data.tracking.core.TrackableBehaviorUtil getBehaviorUtil()
    • getCriteriaBuilder

      protected com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaFiltersCriteriaBuilder getCriteriaBuilder()
    • getRepositoryEntityTypeManager

      protected com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager getRepositoryEntityTypeManager()