Class JpaCustomizedOrderNoteRepository<D extends JpaOrderNote>

java.lang.Object
com.broadleafcommerce.order.provider.jpa.repository.JpaCustomizedOrderNoteRepository<D>
All Implemented Interfaces:
CustomizedOrderNoteRepository<D>

public class JpaCustomizedOrderNoteRepository<D extends JpaOrderNote> extends Object implements CustomizedOrderNoteRepository<D>
Author:
Dima Myroniuk (dmyroniuk)
  • Field Details

  • Constructor Details

    • JpaCustomizedOrderNoteRepository

      public JpaCustomizedOrderNoteRepository(List<com.broadleafcommerce.data.tracking.core.service.RsqlQueryTransformer> rsqlQueryTransformers, com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaCriteriaBuilderRsqlVisitor rsqlVisitor, com.broadleafcommerce.common.jpa.RepositoryEntityTypeManager repositoryEntityTypeManager, JpaOrderTenantQueryHelper tenantQueryHelper)
  • Method Details

    • validate

      @PostConstruct public void validate()
    • applyRsqlCriteria

      protected void applyRsqlCriteria(cz.jirutka.rsql.parser.ast.Node filters, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder, jakarta.persistence.criteria.CriteriaQuery<?> nativeQuery, Map<String,Object> nativeQueryParams, List<jakarta.persistence.criteria.Predicate> nativePredicates)
    • findByContextIdAndMatchingTenant

      public Optional<D> findByContextIdAndMatchingTenant(String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: CustomizedOrderNoteRepository
      Retrieves the order note matching the provided ID and the tenant from ContextInfo if present.

      This implementation finds all records within the tenant regardless of whether they're associated to an application.

      Specified by:
      findByContextIdAndMatchingTenant in interface CustomizedOrderNoteRepository<D extends JpaOrderNote>
      Parameters:
      id - the id of the order note to find
      contextInfo - context information surrounding multitenant state.
      Returns:
      an Optional containing the requested order note if found within the tenant, or Optional.empty() otherwise
    • buildOrderIdIsEqualToFilter

      public jakarta.persistence.criteria.Predicate buildOrderIdIsEqualToFilter(String orderId, Map<String,Object> queryParams, jakarta.persistence.criteria.CriteriaBuilder criteriaBuilder, jakarta.persistence.criteria.Root<? extends com.broadleafcommerce.data.tracking.core.Trackable> entity)
    • findAllByOrderIdAndMatchingTenant

      public org.springframework.data.domain.Page<D> findAllByOrderIdAndMatchingTenant(String orderId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: CustomizedOrderNoteRepository
      Retrieve notes for the given order context ID.

      This implementation finds all records within the tenant regardless of whether they're associated to an application.

      Specified by:
      findAllByOrderIdAndMatchingTenant in interface CustomizedOrderNoteRepository<D extends JpaOrderNote>
      Parameters:
      orderId - the context ID of the order to search for
      filters - additional filters to apply in the query. Should be EmptyNode if no additional filters should be applied.
      pageable - the requested page of results from the database
      contextInfo - context information around sandbox and multitenant state
      Returns:
      a page of the notes associated with the given order context ID and tenant
    • getManagedType

      protected Class<D> getManagedType()
    • getEntityManager

      protected jakarta.persistence.EntityManager getEntityManager()
    • getRsqlQueryTransformers

      protected List<com.broadleafcommerce.data.tracking.core.service.RsqlQueryTransformer> getRsqlQueryTransformers()
    • getRsqlVisitor

      protected com.broadleafcommerce.data.tracking.jpa.filtering.fetch.rsql.JpaCriteriaBuilderRsqlVisitor getRsqlVisitor()
    • getRepositoryEntityTypeManager

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

      protected JpaOrderTenantQueryHelper getTenantQueryHelper()
    • getRepository

      protected OrderNoteRepository<D> getRepository()
    • setRepository

      @Autowired @Lazy public void setRepository(OrderNoteRepository<D> repository)