Interface VariantService<P extends Variant>
- All Superinterfaces:
com.broadleafcommerce.data.tracking.core.service.CrudEntityService<P>
,com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService<P>
- All Known Implementing Classes:
DefaultVariantService
public interface VariantService<P extends Variant>
extends com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService<P>
The main service dealing with accessing Variants from a backing store
- Author:
- Phillip Verheyden (phillipuniverse)
-
Method Summary
Modifier and TypeMethodDescriptionlong
countNonProductionRecordsByProductIdsInTenant
(Collection<String> productIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Returns the count of non-production records that match the givenproductContextIds
and the given tenant context.readAllByContextIds
(Collection<String> variantIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Return all of the variants with IDs in the supplied collection.readAllByExternalIds
(Collection<String> externalIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) readAllByIdOrProductId
(Collection<String> variantIds, Collection<String> productIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) org.springframework.data.domain.Page<P>
readAllByProductId
(String productId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, Class<P> returnType, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) org.springframework.data.domain.Page<P>
readAllByProductIdAndSkuQuery
(String productId, String query, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, Class<P> returnType) readAllByProductIdIn
(Collection<String> productIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads all of the variants which are associated with any of the givenproductIds
.readAllByProductIdInAndSkuIn
(Collection<String> productIds, Collection<String> skus, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads all variants which are associated with any of the givenproductIds
andskus
.readAllBySkus
(Collection<String> skus, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) readByContextIdOpt
(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Read a single instance of an entity in the form of a business domain.readByProductIdAndSku
(String productId, String sku, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads a specific variant for a given product by its sku code.Methods inherited from interface com.broadleafcommerce.data.tracking.core.service.CrudEntityService
create, createAll, createAllAllowingPartialSuccess, delete, readAll, readAll, readAll, readAllByContextId, readByContextId, replace, replaceAll, replaceAllAllowingPartialSuccess, update, updateAll, updateAllAllowingPartialSuccess, updateSort
Methods inherited from interface com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService
readAll, readAll, readAll, readAll
-
Method Details
-
readByContextIdOpt
Optional<P> readByContextIdOpt(@NonNull String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Read a single instance of an entity in the form of a business domain.- Parameters:
id
- The context id for the entity. This is the id by which the business recognizes the item.context
- Context information used to discriminate the correct version of an entity by context id when multiple verions may be available across sandboxes, catalogs and applications.- Returns:
- an
Optional
containing the narrowed entity instance in the form of a business instance if found,Optional.empty()
otherwise
-
readAllByContextIds
Stream<P> readAllByContextIds(@NonNull Collection<String> variantIds, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Return all of the variants with IDs in the supplied collection.- Parameters:
variantIds
- the variant context IDs to search forcontextInfo
- context information surrounding sandboxing and multitenant state- Returns:
- the variants that matched with the IDs in the given collection
-
readAllByProductId
org.springframework.data.domain.Page<P> readAllByProductId(@Nullable String productId, @Nullable cz.jirutka.rsql.parser.ast.Node filters, @Nullable org.springframework.data.domain.Pageable page, @NonNull Class<P> returnType, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) -
readAllByProductIdIn
Stream<P> readAllByProductIdIn(Collection<String> productIds, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads all of the variants which are associated with any of the givenproductIds
.- Parameters:
productIds
- a collection of product IDs which the results must be associated withcontext
- context information surrounding sandboxing and multitenant state- Returns:
- all of the variants which are associated with any of the given
productIds
-
readAllByProductIdInAndSkuIn
List<P> readAllByProductIdInAndSkuIn(Collection<String> productIds, Collection<String> skus, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads all variants which are associated with any of the givenproductIds
andskus
.- Parameters:
productIds
- a collection of product IDs which the results must be associated withskus
- a collection of skus which the results must be associated withcontext
- context information surrounding sandboxing and multitenant state- Returns:
- all variants which are associated with any of the given
productIds
andskus
-
readAllByProductIdAndSkuQuery
org.springframework.data.domain.Page<P> readAllByProductIdAndSkuQuery(@Nullable String productId, @NonNull String query, @Nullable cz.jirutka.rsql.parser.ast.Node filters, @Nullable org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @NonNull Class<P> returnType) -
readByProductIdAndSku
Optional<P> readByProductIdAndSku(@Nullable String productId, @NonNull String sku, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads a specific variant for a given product by its sku code.- Parameters:
productId
- the product ID which the result must be associated withsku
- the sku code to match againscontext
- context information surrounding sandboxing and multitenant state- Returns:
- the variant with the associated product and sku code
-
readAllByIdOrProductId
List<P> readAllByIdOrProductId(@NonNull Collection<String> variantIds, @NonNull Collection<String> productIds, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) -
readAllByExternalIds
List<P> readAllByExternalIds(@NonNull Collection<String> externalIds, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) - Parameters:
externalIds
- a list of external IDscontext
- context information around sandbox and multitenant state- Returns:
- a List of variants with the corresponding external IDs provided
-
readAllBySkus
List<P> readAllBySkus(@NonNull Collection<String> skus, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) - Parameters:
skus
- a list of SKUscontext
- context information around sandbox and multitenant state- Returns:
- a List of variants with the corresponding SKUs provided
-
countNonProductionRecordsByProductIdsInTenant
long countNonProductionRecordsByProductIdsInTenant(@NonNull Collection<String> productIds, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Returns the count of non-production records that match the givenproductContextIds
and the given tenant context.- Parameters:
productIds
- IDs of parent Products to match againstcontext
- Request context information around sandbox and multitenant state- Returns:
- the count of non-production records that match the given
productContextIds
and the given tenant context
-
getRepositoryDomain
-