java.lang.Object
com.broadleafcommerce.dataexchange.service.provider.external.AbstractRestApiExternalProvider
com.broadleafcommerce.dataexchange.service.provider.external.ExternalPriceProvider<T1,T2>
- All Implemented Interfaces:
NodeBuilder
,PriceProvider<T1,
T2>
public class ExternalPriceProvider<T1 extends PriceData,T2 extends PriceList>
extends AbstractRestApiExternalProvider
implements PriceProvider<T1,T2>
Default
PriceProvider
implementation to Pricing Service REST APIs.- Author:
- Kelly Tisdell (ktisdell)
-
Constructor Summary
ConstructorsConstructorDescriptionExternalPriceProvider
(ExternalPriceProviderProperties properties, com.fasterxml.jackson.databind.ObjectMapper mapper, org.springframework.web.reactive.function.client.WebClient webClient, com.broadleafcommerce.common.extension.TypeFactory typeFactory) -
Method Summary
Modifier and TypeMethodDescriptionbulkReadPriceData
(cz.jirutka.rsql.parser.ast.Node filters, BatchContext<?> context) Bulk read price data for products in a batch.createPriceData
(T1 priceData, BatchContext<?> batch) void
deletePriceData
(String id, BatchContext<?> batch) protected String
readPriceLists
(cz.jirutka.rsql.parser.ast.Node filters, BatchContext<?> context) Read price lists based on the provided filters.updatePriceData
(T1 priceData, BatchContext<?> batch) Methods inherited from class com.broadleafcommerce.dataexchange.service.provider.external.AbstractRestApiExternalProvider
addNarrowedPageableParams, deleteRequest, deleteRequest, getFilterParams, getFilterParams, getHeaders, getMapper, getMostDerivedType, getRequest, getRequest, getTypeFactory, getWebClient, narrowedPageParams, patchRequest, patchRequest, postRequest, postRequest, putRequest, putRequest, setCorrelationIds
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.broadleafcommerce.dataexchange.service.NodeBuilder
buildAndNode, buildAndNode, buildEqualsNode, buildInNode, buildInNode, buildOrNode, buildOrNode, emptyNode, escapeSpecialCharacters, filterEmptyNodes, filterEmptyNodes, isEmptyNodeOrNull
-
Constructor Details
-
ExternalPriceProvider
public ExternalPriceProvider(ExternalPriceProviderProperties properties, com.fasterxml.jackson.databind.ObjectMapper mapper, org.springframework.web.reactive.function.client.WebClient webClient, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
-
-
Method Details
-
readPriceLists
Description copied from interface:PriceProvider
Read price lists based on the provided filters.- Specified by:
readPriceLists
in interfacePriceProvider<T1 extends PriceData,
T2 extends PriceList> - Parameters:
filters
- the filters to apply to the price listscontext
- The context to use when reading the price lists- Returns:
- a list of price lists
-
bulkReadPriceData
public List<T1> bulkReadPriceData(cz.jirutka.rsql.parser.ast.Node filters, @Nullable BatchContext<?> context) Description copied from interface:PriceProvider
Bulk read price data for products in a batch. This allows reading price data for many products/pricelists at once.- Specified by:
bulkReadPriceData
in interfacePriceProvider<T1 extends PriceData,
T2 extends PriceList> - Parameters:
filters
- the filters to apply to the price datacontext
- the context to use when reading the price data- Returns:
- a list of price data for the products in the batch
-
createPriceData
- Specified by:
createPriceData
in interfacePriceProvider<T1 extends PriceData,
T2 extends PriceList>
-
updatePriceData
- Specified by:
updatePriceData
in interfacePriceProvider<T1 extends PriceData,
T2 extends PriceList>
-
deletePriceData
- Specified by:
deletePriceData
in interfacePriceProvider<T1 extends PriceData,
T2 extends PriceList>
-
getPriceDataType
-
getServiceClient
- Specified by:
getServiceClient
in classAbstractRestApiExternalProvider
- Returns:
- Returns the service client name to be used for the request.
-