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

All Known Subinterfaces:
JpaProductRepository<D>, ProductRepository<D>
All Known Implementing Classes:
JpaCustomizedProductRepository

public interface CustomizedProductRepository<D extends com.broadleafcommerce.data.tracking.core.Trackable>
Advanced functionality related to Product.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.springframework.data.domain.Page<D>
    findAllByCategoryContextId(String categoryContextId, Boolean isSorted, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Finds all products in a given category.
    findAllByContextIdIn(Iterable<String> contextIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Finds all of the products with matching contextIds.
    findAllByContextIdNotIn(Collection<String> exclusions, cz.jirutka.rsql.parser.ast.Node filters, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Finds all of the products matching the given filters, excluding any products whose IDs match a value in exclusions.
    findAllByUriIn(Iterable<String> uris, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Finds all of the products with matching uris.
    findAllDistinctContextId(int page, cz.jirutka.rsql.parser.ast.Node filters)
    Retrieves a list of unique product context IDs no larger than page.
    findAllDistinctContextIdPerContext(int page, cz.jirutka.rsql.parser.ast.Node filters, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
    Retrieves a narrowed list of unique product context IDs narrowed on a ContextInfo and no larger than page.
    findAllDistinctContextIdPerContextWithOptionalStipulations(cz.jirutka.rsql.parser.ast.Node filters, ProductStipulations stipulations, int pageSize, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
    Retrieves a list of unique product context IDs narrowed on a ContextInfo and no larger than page.
  • Method Details

    • findAllDistinctContextId

      List<String> findAllDistinctContextId(int page, @NonNull cz.jirutka.rsql.parser.ast.Node filters)
      Retrieves a list of unique product 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 product IDs
    • findAllDistinctContextIdPerContext

      List<String> findAllDistinctContextIdPerContext(int page, @NonNull cz.jirutka.rsql.parser.ast.Node filters, @NonNull com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      Retrieves a narrowed list of unique product context IDs narrowed on a ContextInfo and 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.
      context - The context used to help narrowing. For example, narrowing results to a particular catalog.
      Returns:
      The narrowed list of unique product context IDs
    • findAllDistinctContextIdPerContextWithOptionalStipulations

      List<String> findAllDistinctContextIdPerContextWithOptionalStipulations(@NonNull cz.jirutka.rsql.parser.ast.Node filters, @Nullable ProductStipulations stipulations, int pageSize, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      Retrieves a list of unique product context IDs narrowed on a ContextInfo and no larger than page. It is expected that any appropriate offset is achieved through criteria designated in filters.
      Parameters:
      filters - additional filters to apply in the query. Should be EmptyNode if no additional filters should be applied.
      stipulations - Additional filtering context to be applied during product fetch. Stipulations are applied as a set of OR conditions, and any match of any of the stipulations designates a match for this set of conditions. Optional.
      pageSize - the requested amount of results from the database. -1 indicates no limit.
      context - The context used to help narrowing. For example, narrowing results to a particular catalog.
      Returns:
      The narrowed list of unique product context IDs
    • findAllByContextIdNotIn

      @Policy(operationTypes=READ) Stream<D> findAllByContextIdNotIn(@NonNull Collection<String> exclusions, @NonNull cz.jirutka.rsql.parser.ast.Node filters, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Finds all of the products matching the given filters, excluding any products whose IDs match a value in exclusions.
      Parameters:
      exclusions - a list of context IDs of products which should be excluded from the results
      filters - additional filters to apply in the query. Should be EmptyNode if no additional filters should be applied.
      contextInfo - context information around sandboxing and multitenant state
      Returns:
      all of the products matching the given filters, excluding any products whose IDs match a value in exclusions
    • findAllByContextIdIn

      @Policy(operationTypes=READ) List<D> findAllByContextIdIn(@NonNull Iterable<String> contextIds, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Finds all of the products with matching contextIds.
      Parameters:
      contextIds - The contextIds to match
      contextInfo - Request context information around sandbox and multitenant state
      Returns:
      All of the products with matching contextIds.
    • findAllByUriIn

      @Policy(operationTypes=READ) List<D> findAllByUriIn(@NonNull Iterable<String> uris, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Finds all of the products with matching uris.
      Parameters:
      uris - The URIs to match
      contextInfo - Request context information around sandbox and multitenant state
      Returns:
      All of the products with matching uris.
    • findAllByCategoryContextId

      @Policy(operationTypes=READ) org.springframework.data.domain.Page<D> findAllByCategoryContextId(@NonNull String categoryContextId, @Nullable Boolean isSorted, @Nullable cz.jirutka.rsql.parser.ast.Node filters, @NonNull org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Finds all products in a given category.
      Parameters:
      categoryContextId - the context id of the category.
      isSorted - – Whether to return CategoryProducts where CategoryProduct.sorted is true, else false.
      filters - additional filters to apply in the query. Should be EmptyNode if no additional filters should be applied.
      page - the requested amount of results from the database. -1 indicates no limit.
      contextInfo - Request context information around sandbox and multitenant state
      Returns:
      All the products in the given category