Interface CommerceCartService
-
- All Known Subinterfaces:
B2BCommerceCartService,SubscriptionCommerceCartService
- All Known Implementing Classes:
DefaultB2BCommerceCartService,DefaultCommerceCartService,DefaultSapCommerceCartService,DefaultSubscriptionCommerceCartService
public interface CommerceCartServiceCommerce service that exposes methods to deal with cart operations. This includes promotions and stock support.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description CommerceCartModificationaddToCart(CommerceCartParameter parameter)Adds to the (existing)CartModelthe (existing)ProductModelin the givenUnitModeland with the givenquantity.CommerceCartModificationaddToCart(CartModel cartModel, ProductModel productModel, long quantity, UnitModel unit, boolean forceNewEntry)Deprecated.Since 5.2.CommerceCartModificationaddToCart(CartModel cartModel, ProductModel productModel, PointOfServiceModel deliveryPointOfService, long quantity, UnitModel unit, boolean forceNewEntry)Deprecated.Since 5.2.booleancalculateCart(CommerceCartParameter parameter)Calculates the givencartModeland returnstrueif each entry alone and after this theCartModelwas calculated.booleancalculateCart(CartModel cartModel)Deprecated.Since 5.2.voidconfigureCartEntry(CommerceCartParameter parameters)Update configuration on a configurable product.CommerceTaxEstimateResultestimateTaxes(CommerceCartParameter parameters)Estimate taxes for the cartModel and using the deliveryZipCode as the delivery zip code.java.math.BigDecimalestimateTaxes(CartModel cartModel, java.lang.String deliveryZipCode, java.lang.String deliveryCountryIso)Deprecated.Since 5.2.CartModelgetCartForCodeAndUser(java.lang.String code, UserModel user)Locate a cart for the specified guid and site and user.CartModelgetCartForGuidAndSite(java.lang.String guid, BaseSiteModel site)Locate a cart for the specified guid and siteCartModelgetCartForGuidAndSiteAndUser(java.lang.String guid, BaseSiteModel site, UserModel user)Locate a cart for the specified guid and site and user.java.util.List<CartModel>getCartsForSiteAndUser(BaseSiteModel site, UserModel user)Locate all carts for the specified site and user.voidmergeCarts(CartModel fromCart, CartModel toCart, java.util.List<CommerceCartModification> modifications)Merge two carts and add modificationsvoidrecalculateCart(CommerceCartParameter parameter)Recalculates the whole cart and all its entries.voidrecalculateCart(CartModel cartModel)Deprecated.Since 5.2.voidremoveAllEntries(CommerceCartParameter parameter)Removes all entries from the givenCartModel.voidremoveAllEntries(CartModel cartModel)Deprecated.Since 5.2.CommerceCartModificationremoveEntryGroup(RemoveEntryGroupParameter parameters)Remove entry group and all cart entries of the group and it's descendants from the cart.voidremoveStaleCarts(CommerceCartParameter parameters)voidremoveStaleCarts(CartModel currentCart, BaseSiteModel baseSite, UserModel user)Deprecated.Since 5.2.CommerceCartRestorationrestoreCart(CommerceCartParameter parameters)Restores the current customer's cart.CommerceCartRestorationrestoreCart(CartModel oldCart)Deprecated.Since 5.2.longsplit(CommerceCartParameter parameters)Split existing cart entry.longsplit(CartModel cartModel, long entryNumber)Deprecated.Since 5.2.voidupdateCartMetadata(CommerceCartMetadataParameter parameter)Updates cart metadata, such as: name, description, expiration time.CommerceCartModificationupdatePointOfServiceForCartEntry(CommerceCartParameter parameters)Updates given cart entry model with point of service.CommerceCartModificationupdatePointOfServiceForCartEntry(CartModel cartModel, long entryNumber, PointOfServiceModel pointOfServiceModel)Deprecated.Since 5.2.CommerceCartModificationupdateQuantityForCartEntry(CommerceCartParameter parameter)Update quantity for the cart entry with givenentryNumberwith the givennewQuantity.CommerceCartModificationupdateQuantityForCartEntry(CartModel cartModel, long entryNumber, long newQuantity)Deprecated.Since 5.2.CommerceCartModificationupdateToShippingModeForCartEntry(CommerceCartParameter parameters)Update the shipping mode for a given cart entryCommerceCartModificationupdateToShippingModeForCartEntry(CartModel cartModel, long entryNumber)Deprecated.Since 5.2.java.util.List<CommerceCartModification>validateCart(CommerceCartParameter parameter)Method for validating every entry in the cartjava.util.List<CommerceCartModification>validateCart(CartModel cartModel)Deprecated.Since 5.2.
-
-
-
Method Detail
-
addToCart
@Deprecated(since="5.2") CommerceCartModification addToCart(CartModel cartModel, ProductModel productModel, long quantity, UnitModel unit, boolean forceNewEntry) throws CommerceCartModificationException
Deprecated.- Parameters:
cartModel- the user's cart in sessionproductModel- theProductModelto addquantity- the quantity to addunit- the UnitModel of the product @seeProductModel.getUnit()forceNewEntry- the flag for creating a newCartEntryModel- Returns:
- the cart modification
- Throws:
CommerceCartModificationException
-
addToCart
CommerceCartModification addToCart(CommerceCartParameter parameter) throws CommerceCartModificationException
Adds to the (existing)CartModelthe (existing)ProductModelin the givenUnitModeland with the givenquantity. If in the cart already an entry with the given product and given unit exists the givenquantityis added to the the quantity of this cart entry unlessforceNewEntryis set to true. After this the cart is calculated.- Parameters:
parameter- - A parameter object containing all attributes needed for add to cartCommerceCartParameter.cart- The user's cart in sessionCommerceCartParameter.pointOfService- The store object for pick up in store items (only needs to be passed in if you are adding an item to pick upCommerceCartParameter.product- TheProductModelto addCommerceCartParameter.quantity- The quantity to addCommerceCartParameter.unit- The UnitModel of the product @seeProductModel.getUnit()CommerceCartParameter.createNewEntry- The flag for creating a newCartEntryModel- Returns:
- the cart modification data that includes a statusCode and the actual quantity added to the cart
- Throws:
CommerceCartModificationException- if theproductis a base product OR the quantity is less than 1 or no usable unit was found (only when givenunitis alsonull) or any other reason the cart could not be modified.
-
addToCart
@Deprecated(since="5.2") CommerceCartModification addToCart(CartModel cartModel, ProductModel productModel, PointOfServiceModel deliveryPointOfService, long quantity, UnitModel unit, boolean forceNewEntry) throws CommerceCartModificationException
Deprecated.- Parameters:
cartModel- the user's cart in sessionproductModel- theProductModelto adddeliveryPointOfService- the delivery storequantity- the quantity to addunit- the UnitModel of the product @seeProductModel.getUnit()forceNewEntry- the flag for creating a newCartEntryModel- Returns:
- the cart modification
- Throws:
CommerceCartModificationException
-
validateCart
java.util.List<CommerceCartModification> validateCart(CommerceCartParameter parameter) throws CommerceCartModificationException
Method for validating every entry in the cart- Parameters:
parameter-- Returns:
- a list of cart modifications data that includes a statusCode and the actual quantity that the entry was updated to
- Throws:
CommerceCartModificationException- if the cart could not be modified.
-
validateCart
@Deprecated(since="5.2") java.util.List<CommerceCartModification> validateCart(CartModel cartModel) throws CommerceCartModificationException
Deprecated.- Parameters:
cartModel- the user's cart in session- Returns:
- a
Listof cart modifications - Throws:
CommerceCartModificationException
-
calculateCart
boolean calculateCart(CommerceCartParameter parameter)
Calculates the givencartModeland returnstrueif each entry alone and after this theCartModelwas calculated. Thereby any invalid entry will be automatically removed. The net/gross prices depends on the current session user, seePriceFactory.isNetUser(de.hybris.platform.jalo.user.User)for more information.- Parameters:
parameter- the parameter object holding the existingCartModelthat will be calculated- Returns:
falseif thecartModelwas already calculated.
-
calculateCart
@Deprecated(since="5.2") boolean calculateCart(CartModel cartModel)
Deprecated.Since 5.2. UsecalculateCart(de.hybris.platform.commerceservices.service.data.CommerceCartParameter)instead.- Parameters:
cartModel- the user's cart in session- Returns:
falseif thecartModelwas already calculated
-
recalculateCart
@Deprecated(since="5.2") void recalculateCart(CartModel cartModel) throws CalculationException
Deprecated.Since 5.2. UserecalculateCart(de.hybris.platform.commerceservices.service.data.CommerceCartParameter)instead- Parameters:
cartModel- the user's cart in session- Throws:
CalculationException
-
recalculateCart
void recalculateCart(CommerceCartParameter parameter) throws CalculationException
Recalculates the whole cart and all its entries. This includes finding prices, taxes, discounts, payment and delivery costs by calling the currently installed price factory.- Parameters:
parameter- A parameter object holding the cart modelCartModel(must exist) that will be recalculatedCartModel- Throws:
CalculationException- the calculation exception
-
removeAllEntries
@Deprecated(since="5.2") void removeAllEntries(CartModel cartModel)
Deprecated.Since 5.2. UseremoveAllEntries(de.hybris.platform.commerceservices.service.data.CommerceCartParameter)instead- Parameters:
cartModel- the user's cart in session
-
removeAllEntries
void removeAllEntries(CommerceCartParameter parameter)
Removes all entries from the givenCartModel.- Parameters:
parameter- A parameter object holding theCartModelthat will be emptied
-
updateQuantityForCartEntry
@Deprecated(since="5.2") CommerceCartModification updateQuantityForCartEntry(CartModel cartModel, long entryNumber, long newQuantity) throws CommerceCartModificationException
Deprecated.- Parameters:
cartModel- the user's cart in sessionentryNumber- the cart entry numbernewQuantity- the new quantity- Returns:
- the cart modification
- Throws:
CommerceCartModificationException
-
updateQuantityForCartEntry
CommerceCartModification updateQuantityForCartEntry(CommerceCartParameter parameter) throws CommerceCartModificationException
Update quantity for the cart entry with givenentryNumberwith the givennewQuantity. Then cart is calculated.- Parameters:
parameter- - A parameter object containing all attributes needed for add to cartCommerceCartParameter.cart- The user's cart in sessionCommerceCartParameter.pointOfService- The store object for pick up in store items (only needs to be passed in if you are adding an item to pick upCommerceCartParameter.product- TheProductModelto addCommerceCartParameter.quantity- The quantity to addCommerceCartParameter.unit- The UnitModel of the product @seeProductModel.getUnit()CommerceCartParameter.createNewEntry- The flag for creating a newCartEntryModel- Returns:
- the cart modification data that includes a statusCode and the actual quantity that the entry was updated to
- Throws:
CommerceCartModificationException- if theproductis a base product OR the quantity is less than 1 or no usable unit was found (only when givenunitis alsonull) or any other reason the cart could not be modified.
-
updatePointOfServiceForCartEntry
@Deprecated(since="5.2") CommerceCartModification updatePointOfServiceForCartEntry(CartModel cartModel, long entryNumber, PointOfServiceModel pointOfServiceModel) throws CommerceCartModificationException
Deprecated.- Parameters:
cartModel- the user's cart in sessionentryNumber- the cart entry numberpointOfServiceModel- the point of service- Returns:
- the cart modification
- Throws:
CommerceCartModificationException
-
updatePointOfServiceForCartEntry
CommerceCartModification updatePointOfServiceForCartEntry(CommerceCartParameter parameters) throws CommerceCartModificationException
Updates given cart entry model with point of service.- Parameters:
parameters- - A bean holding any number of additional parameters a client may want to pass to the method for extension purposes, the attributes can be added to the bean via beans.xml in your extensions- Returns:
CommerceCartModificationobject- Throws:
CommerceCartModificationException
-
updateToShippingModeForCartEntry
@Deprecated(since="5.2") CommerceCartModification updateToShippingModeForCartEntry(CartModel cartModel, long entryNumber) throws CommerceCartModificationException
Deprecated.- Parameters:
cartModel- the user's cart in sessionentryNumber- the cart entry number- Returns:
- the cart modification
- Throws:
CommerceCartModificationException
-
updateToShippingModeForCartEntry
CommerceCartModification updateToShippingModeForCartEntry(CommerceCartParameter parameters) throws CommerceCartModificationException
Update the shipping mode for a given cart entry- Parameters:
parameters- - A bean holding any number of additional parameters a client may want to pass to the method for extension purposes, the attributes can be added to the bean via beans.xml in your extensions- Returns:
CommerceCartModificationobject- Throws:
CommerceCartModificationException
-
split
@Deprecated(since="5.2") long split(CartModel cartModel, long entryNumber) throws CommerceCartModificationException
Deprecated.- Parameters:
cartModel- the user's cart in sessionentryNumber- the cart entry number- Returns:
- the number of the newly created entry
- Throws:
CommerceCartModificationException
-
split
long split(CommerceCartParameter parameters) throws CommerceCartModificationException
Split existing cart entry. The entry must have a quantity greater than 1. One of the quantity from the original entry is moved to the new cart entry.- Parameters:
parameters- - A bean holding any number of additional parameters a client may want to pass to the method for extension purposes, the attributes can be added to the bean via beans.xml in your extensions- Returns:
- The number of the newly created entry.
- Throws:
CommerceCartModificationException
-
restoreCart
@Deprecated(since="5.2") CommerceCartRestoration restoreCart(CartModel oldCart) throws CommerceCartRestorationException
Deprecated.- Parameters:
oldCart- the old cart to restore- Returns:
- details of any items that could not be restored in part or in full
- Throws:
CommerceCartRestorationException
-
restoreCart
CommerceCartRestoration restoreCart(CommerceCartParameter parameters) throws CommerceCartRestorationException
Restores the current customer's cart.- Parameters:
parameters- - A bean holding any number of additional parameters a client may want to pass to the method for extension purposes, the attributes can be added to the bean via beans.xml in your extensions- Returns:
- details of any items that could not be restored in part or in full.
- Throws:
CommerceCartRestorationException- if any problems occur in restoring the cart
-
getCartForGuidAndSiteAndUser
CartModel getCartForGuidAndSiteAndUser(java.lang.String guid, BaseSiteModel site, UserModel user)
Locate a cart for the specified guid and site and user. If guid is null, the most recently modified user cart is returned.- Parameters:
guid- a unique identifiersite- the current BaseSite - may not be nulluser- the current user - may not be null- Returns:
- the specified cart
-
getCartForGuidAndSite
CartModel getCartForGuidAndSite(java.lang.String guid, BaseSiteModel site)
Locate a cart for the specified guid and site- Parameters:
guid-site-- Returns:
- the specified cart
-
getCartForCodeAndUser
CartModel getCartForCodeAndUser(java.lang.String code, UserModel user)
Locate a cart for the specified guid and site and user.- Parameters:
code-user-- Returns:
- the specified cart
-
getCartsForSiteAndUser
java.util.List<CartModel> getCartsForSiteAndUser(BaseSiteModel site, UserModel user)
Locate all carts for the specified site and user.- Parameters:
site-user-- Returns:
- list of specified carts
-
estimateTaxes
@Deprecated(since="5.2") java.math.BigDecimal estimateTaxes(CartModel cartModel, java.lang.String deliveryZipCode, java.lang.String deliveryCountryIso)
Deprecated.Since 5.2. UseestimateTaxes(de.hybris.platform.commerceservices.service.data.CommerceCartParameter)instead.Estimate taxes for the cartModel and using the deliveryZipCode as the delivery zip code.- Parameters:
cartModel- cart to estimate taxes fordeliveryZipCode- zip code to use as the delivery addressdeliveryCountryIso- country isocode used as the delivery address- Returns:
- total of the estimated taxes
-
estimateTaxes
CommerceTaxEstimateResult estimateTaxes(CommerceCartParameter parameters)
Estimate taxes for the cartModel and using the deliveryZipCode as the delivery zip code.- Parameters:
parameters- A parameter object holding the following properties - cartModel cart to estimate taxes for - deliveryZipCode zip code to use as the delivery address - deliveryCountryIso country iso code used as the delivery address- Returns:
- A result object with the total of the estimated taxes
-
removeStaleCarts
@Deprecated(since="5.2") void removeStaleCarts(CartModel currentCart, BaseSiteModel baseSite, UserModel user)
Deprecated.Since 5.2. UseremoveStaleCarts(de.hybris.platform.commerceservices.service.data.CommerceCartParameter)instead.Remove the old carts for the user.- Parameters:
currentCart- the current user's cartbaseSite- the current base siteuser- the current user
-
removeStaleCarts
void removeStaleCarts(CommerceCartParameter parameters)
- Parameters:
parameters- a parameter object holding the following values - cart Users Cart - baseSite Current base site - user Current user
-
mergeCarts
void mergeCarts(CartModel fromCart, CartModel toCart, java.util.List<CommerceCartModification> modifications) throws CommerceCartMergingException
Merge two carts and add modifications- Parameters:
fromCart- the cart to mergetoCart- the target cartmodifications- the list of modifications- Throws:
CommerceCartMergingException
-
configureCartEntry
void configureCartEntry(CommerceCartParameter parameters) throws CommerceCartModificationException
Update configuration on a configurable product.- Parameters:
parameters-cartentryNumberproductproductConfiguratorproductConfiguration
- Throws:
CommerceCartModificationException- if product is not configurable orentryis invalidjava.lang.IllegalArgumentException- ifconfigurationcontains
-
updateCartMetadata
void updateCartMetadata(CommerceCartMetadataParameter parameter)
Updates cart metadata, such as: name, description, expiration time.- Parameters:
parameter- a bean holding any number of additional attributes a client may want to pass to the method for extension purposes, the attributes can be added to the bean via beans.xml in your extensions- Throws:
java.lang.IllegalArgumentException- if any attributes fail validationIllegalQuoteStateException- if the cart is associated with a quote for which the operation cannot be performed
-
removeEntryGroup
@Nonnull CommerceCartModification removeEntryGroup(@Nonnull RemoveEntryGroupParameter parameters) throws CommerceCartModificationException
Remove entry group and all cart entries of the group and it's descendants from the cart.- Parameters:
parameters- a parameter object containing all attributes needed for remove group from the cartcartuser's cartentryGroupNumbernumber of entry group to be removedenableHooksshould the method hooks be executed
- Returns:
CommerceCartModificationobject- Throws:
CommerceCartModificationException- if related cart entry wasn't removed.
-
-