Interface CartCookieIssuer
- All Known Implementing Classes:
DefaultCartCookieIssuer
public interface CartCookieIssuer
Responsible for issuing and resolving cart cookies. Note that cart cookies for registered users
don't contain the cart ID. Instead, they act as a container for the cart version to be able to
enforce optimistic locking.
-
Method Summary
Modifier and TypeMethodDescriptionjakarta.servlet.http.Cookie
buildCartCookie
(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.jakarta.servlet.http.Cookie
buildCartExpirationCookie
(String applicationId) Build a cookie meant to remove the cart cookie for the provided application.org.springframework.http.ResponseCookie
buildCartResponseCookie
(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Build a cookie to hold a reference to a cart.boolean
checkContextMatches
(Map<String, Object> cartCookieClaims, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Check if the provided cookie claims match the context.getCartCookieName
(String applicationId) Name of the cart cookie.resolveCartId
(Map<String, Object> cartCookieClaims) Resolve the cart id from the provided cookie claims.verifyAndGetClaims
(@NonNull jakarta.servlet.http.Cookie cartCookie) Verify the provided cart cookie and get its claims.
-
Method Details
-
buildCartCookie
@Deprecated jakarta.servlet.http.Cookie buildCartCookie(com.broadleafcommerce.cart.client.domain.Cart cart, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.since 1.6, usebuildCartResponseCookie(Cart, ContextInfo)
Build a cookie to hold a reference to a cart. If the cart is for a logged in user, no cart ID claim will be part of the cookie.- Parameters:
cart
- The cart for which to build a cookie.contextInfo
- Context information around sandbox and multitenant state.- Returns:
- The cart cookie to be added to the response.
-
buildCartResponseCookie
org.springframework.http.ResponseCookie buildCartResponseCookie(com.broadleafcommerce.cart.client.domain.Cart cart, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Build a cookie to hold a reference to a cart. If the cart is for a logged in user, no cart ID claim will be part of the cookie.- Parameters:
cart
- The cart for which to build a cookie.contextInfo
- Context information around sandbox and multitenant state.- Returns:
- The cart cookie to be added to the response.
-
buildCartExpirationCookie
Build a cookie meant to remove the cart cookie for the provided application.- Parameters:
applicationId
- Application id used to identify which cart cookie to remove.- Returns:
- An immediately expiring cookie to be added to the response.
-
verifyAndGetClaims
Verify the provided cart cookie and get its claims.- Parameters:
cartCookie
- The cookie to use for retrieving the claims- Returns:
- The claims on the cart cookie
-
resolveCartId
Resolve the cart id from the provided cookie claims. Expect an empty response for registered user cart cookies.- Parameters:
cartCookieClaims
- The cookie claims to use for retrieving the cart id.- Returns:
- Optional cart id for the provided cookie claims.
-
getCartCookieName
Name of the cart cookie.- Parameters:
applicationId
- Application id that may be appended to the cookie name.- Returns:
- The name of the cart cookie.
-
checkContextMatches
boolean checkContextMatches(Map<String, Object> cartCookieClaims, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Check if the provided cookie claims match the context.- Parameters:
cartCookieClaims
- The cookie claims to use for retrieving the cart id.contextInfo
- Context information around sandbox and multitenant state.- Returns:
- Whether the provided cookie claims matches the context
-
buildCartResponseCookie(Cart, ContextInfo)