Interface CustomizedOrderFulfillmentRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>

All Known Subinterfaces:
JpaOrderFulfillmentRepository<D>, OrderFulfillmentRepository<D>
All Known Implementing Classes:
JpaCustomizedOrderFulfillmentRepository

public interface CustomizedOrderFulfillmentRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Advanced functionality related to OrderFulfillment.
Author:
Dima Myroniuk (dmyroniuk)
  • Method Summary

    Modifier and Type
    Method
    Description
    findAllByOrderIdAndMatchingTenant(String orderId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Retrieves the order fulfillment matching the provided ID and the tenant from ContextInfo if present.
    findAllByOrderIdAndStatusAndMatchingTenant(String orderId, String status, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Reads all of the order OrderFulfillments which are associated with the given orderId, and the tenant from ContextInfo if present.
    findAllByOrderIdInAndExcludeFulfillmentItems(List<String> orderIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Retrieves the order fulfillments for the provided orderIds.
    findAllDistinctContextIds(int page, cz.jirutka.rsql.parser.ast.Node filters)
    Retrieves a list of unique order fulfillment context IDs no larger than page.
    org.springframework.data.domain.Page<D>
    findAllMatchingTenant(cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Retrieves the order fulfillment matching the query and the tenant from ContextInfo if present.
    findByContextIdAndMatchingTenant(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Retrieves the order fulfillment matching the provided ID and the tenant from ContextInfo if present.
    findByContextIdAndStatusAndMatchingTenant(String contextId, String status, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Reads the OrderFulfillment for the given id and status, and the tenant from ContextInfo if present.
    org.springframework.data.domain.Page<D>
    findPageByOrderIdAndMatchingTenant(String orderId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Retrieves the order fulfillment matching the provided ID and the tenant from ContextInfo if present.
  • Method Details

    • findAllDistinctContextIds

      @Policy(operationTypes=READ) List<String> findAllDistinctContextIds(int page, @NonNull cz.jirutka.rsql.parser.ast.Node filters)
      Retrieves a list of unique order fulfillment context IDs no larger than page. It is expected that any appropriate offset is achieved through criteria designated in filters.
      Parameters:
      page - the requested amount of results from the database. -1 indicates no limit.
      filters - additional filters to apply in the query. Should be EmptyNode if no additional filters should be applied.
      Returns:
      unique order fulfillment IDs
    • findByContextIdAndMatchingTenant

      @Policy(operationTypes=READ) Optional<D> findByContextIdAndMatchingTenant(String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Retrieves the order fulfillment matching the provided ID and the tenant from ContextInfo if present.

      Differs from the standard narrowing behavior of TrackableRepository.findByContextId(String, ContextInfo), which only returns tenant-level (non-application-associated) records when fetching from a tenant context. This implementation finds all records within the tenant regardless of whether they're associated to an application.

      Parameters:
      id - the id of the order fulfillment to find
      contextInfo - context information surrounding multitenant state.
      Returns:
      an Optional containing the requested order fulfillment if found within the tenant, or Optional.empty() otherwise
    • findAllByOrderIdAndMatchingTenant

      @Policy(operationTypes=READ) List<D> findAllByOrderIdAndMatchingTenant(String orderId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Retrieves the order fulfillment matching the provided ID and the tenant from ContextInfo if present.

      Differs from the standard narrowing behavior of OrderFulfillmentRepository.findAllByOrderId(String, ContextInfo), which only returns tenant-level (non-application-associated) records when fetching from a tenant context. This implementation finds all records within the tenant regardless of whether they're associated to an application.

      Parameters:
      orderId - The ID of the order to find fulfillments for
      contextInfo - context information surrounding multitenant state
      Returns:
      the fulfillments that are associated with the given orderId
    • findPageByOrderIdAndMatchingTenant

      @Policy(operationTypes=READ) org.springframework.data.domain.Page<D> findPageByOrderIdAndMatchingTenant(String orderId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Retrieves the order fulfillment matching the provided ID and the tenant from ContextInfo if present.

      Differs from the standard narrowing behavior of OrderFulfillmentRepository.findAllByOrderId(String, ContextInfo), which only returns tenant-level (non-application-associated) records when fetching from a tenant context. This implementation finds all records within the tenant regardless of whether they're associated to an application.

      Parameters:
      orderId - The ID of the order to find fulfillments for
      contextInfo - context information surrounding multitenant state
      Returns:
      the fulfillments that are associated with the given orderId
    • findAllMatchingTenant

      @Policy(operationTypes=READ) org.springframework.data.domain.Page<D> findAllMatchingTenant(cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable pageable, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Retrieves the order fulfillment matching the query and the tenant from ContextInfo if present.

      Differs from the standard narrowing behavior of TrackableRsqlFilterExecutor.findAll(Node, Pageable, ContextInfo), which only returns tenant-level (non-application-associated) records when fetching from a tenant context. This implementation finds all records within the tenant regardless of whether they're associated to an application.

      Parameters:
      filters - the RSQL Node used to restrict result, must not be null
      pageable - may be Pageable.unpaged(), must not be null.
      contextInfo - context information surrounding multitenant state.
      Returns:
      The subset (page) of narrowed entities
    • findAllByOrderIdInAndExcludeFulfillmentItems

      List<D> findAllByOrderIdInAndExcludeFulfillmentItems(List<String> orderIds, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Retrieves the order fulfillments for the provided orderIds. This method avoids eagerly fetching the associated OrderFulfillmentItems.
      Parameters:
      orderIds - the order ids
      contextInfo - context information surrounding multitenant state
      Returns:
      the fulfillments that are associated with the given orderIds
    • findAllByOrderIdAndStatusAndMatchingTenant

      @Policy(operationTypes=READ) List<D> findAllByOrderIdAndStatusAndMatchingTenant(String orderId, String status, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Reads all of the order OrderFulfillments which are associated with the given orderId, and the tenant from ContextInfo if present.

      Differs from the standard narrowing behavior of OrderFulfillmentRepository.findAllByOrderIdAndStatus(String, String, ContextInfo), which only returns tenant-level (non-application-associated) records when fetching from a tenant context. This implementation finds all records within the tenant regardless of whether they're associated to an application.

      Parameters:
      orderId - The ID of the parent Order
      status - The OrderFulfillment.getStatus()
      contextInfo - context information surrounding sandboxing and multitenant state
      Returns:
      the OrderFulfillments which are associated with the given orderId
    • findByContextIdAndStatusAndMatchingTenant

      @Policy(operationTypes=READ) Optional<D> findByContextIdAndStatusAndMatchingTenant(String contextId, String status, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Reads the OrderFulfillment for the given id and status, and the tenant from ContextInfo if present.

      Differs from the standard narrowing behavior of OrderFulfillmentRepository.findByContextIdAndStatus(String, String, ContextInfo), which only returns tenant-level (non-application-associated) records when fetching from a tenant context. This implementation finds all records within the tenant regardless of whether they're associated to an application.

      Parameters:
      contextId - The ID of the OrderFulfillment
      status - The OrderFulfillment.getStatus()
      contextInfo - context information surrounding sandboxing and multitenant state
      Returns:
      Reads the OrderFulfillment for the given id and status.