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

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      List<D> 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.
      List<String> 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.
      Optional<D> 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.
    • Method Detail

      • 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

        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
      • 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