Interface CartStatusManager
- All Known Implementing Classes:
DefaultCartStatusManager
public interface CartStatusManager
A service that facilitates the {@link Cart's} status change.
- Author:
- Sunny Yu
-
Method Summary
Modifier and TypeMethodDescriptioncom.broadleafcommerce.cart.client.domain.CartchangeStatus(ChangeCartStatusRequest changeStatusRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Changes theCart.getStatus()to a specified status.voidvalidateStatusIsReadableByUser(CartStatusValidationRequest validationRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Determines if the givenCartis readable by the currently authenticated user based on its status and workflow.voidvalidateStatusIsUpdatableByUser(CartStatusValidationRequest validationRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Determines if the givenCartis updatable by the currently authenticated user based on its current status and workflow.voidvalidateStatusTransition(ChangeCartStatusRequest changeStatusRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Validates the status transition is valid.
-
Method Details
-
changeStatus
com.broadleafcommerce.cart.client.domain.Cart changeStatus(ChangeCartStatusRequest changeStatusRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Changes theCart.getStatus()to a specified status.- Parameters:
changeStatusRequest- theChangeCartStatusRequestto facilitate the cart status changecontextInfo- context information surrounding sandboxing and multitenant state- Returns:
- the
Cartwith the updated status
-
validateStatusTransition
void validateStatusTransition(ChangeCartStatusRequest changeStatusRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Validates the status transition is valid.- Parameters:
changeStatusRequest- theChangeCartStatusRequestto facilitate the cart status changecontextInfo- context information surrounding sandboxing and multitenant state
-
validateStatusIsReadableByUser
void validateStatusIsReadableByUser(CartStatusValidationRequest validationRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Determines if the givenCartis readable by the currently authenticated user based on its status and workflow.- Parameters:
validationRequest- theCartStatusValidationRequestcontaining the details for the validationcontextInfo- context information surrounding sandboxing and multitenant state- See Also:
-
validateStatusIsUpdatableByUser
void validateStatusIsUpdatableByUser(CartStatusValidationRequest validationRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Determines if the givenCartis updatable by the currently authenticated user based on its current status and workflow.For example, the flow being processed may be
DefaultCartOperationFlows.UPDATE_CONTACT_INFO, which is allowed for aDefaultQuoteStatuses.PUBLISHEDquote. However, other operations such as add item to quote may not be permitted in theDefaultQuoteStatuses.PUBLISHEDstatus.- Parameters:
validationRequest- theCartStatusValidationRequestcontaining the details for the validationcontextInfo- context information surrounding sandboxing and multitenant state- See Also:
-