Interface ItemListAccessRuleProvider<P extends com.broadleafcommerce.cart.client.domain.ItemListAccessRule>
- All Known Implementing Classes:
ExternalItemListAccessRuleProvider
public interface ItemListAccessRuleProvider<P extends com.broadleafcommerce.cart.client.domain.ItemListAccessRule>
A provider of item list access rules.
- Author:
- Jacob Mitash
-
Method Summary
Modifier and TypeMethodDescriptioncreateItemListAccessRule
(P rule, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Create an item list access rule.createItemListAccessRules
(String itemListId, List<P> rules, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Creates item list access rules.void
deleteItemListAccessRule
(String itemListId, String ruleId, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Deletes an item list access rule by ID.void
deleteItemListAccessRules
(String itemListId, Set<String> ruleIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Deletes item list access rules by IDs.getItemListAccessRuleForCustomerAndItemList
(com.broadleafcommerce.order.common.domain.CustomerRef customerRef, String itemListId, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Get an item list access rule for a customer for specific list.org.springframework.data.domain.Page<P>
getItemListAccessRulesForCustomer
(com.broadleafcommerce.order.common.domain.CustomerRef customerRef, org.springframework.data.domain.Pageable pageable, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Get item list access rules by customer.replaceItemListAccessRule
(String itemListId, P rule, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Replaces an item list access rule.updateItemListAccessRule
(String itemListId, P rule, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Updates an item list access rule.com.broadleafcommerce.cart.client.domain.ItemListAccessResponse
validateCustomerAccess
(com.broadleafcommerce.order.common.domain.CustomerRef customerRef, Set<String> itemListIds, Set<String> roles, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Checks item list access rules for a list of item list ids based on the given customer ref and role
-
Method Details
-
getItemListAccessRulesForCustomer
org.springframework.data.domain.Page<P> getItemListAccessRulesForCustomer(com.broadleafcommerce.order.common.domain.CustomerRef customerRef, @Nullable org.springframework.data.domain.Pageable pageable, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Get item list access rules by customer.- Parameters:
customerRef
- the reference to the customer for which to find rules forpageable
- the requested page of access rulescontext
- the context of the request- Returns:
- a page of item list access rules
-
validateCustomerAccess
com.broadleafcommerce.cart.client.domain.ItemListAccessResponse validateCustomerAccess(com.broadleafcommerce.order.common.domain.CustomerRef customerRef, Set<String> itemListIds, Set<String> roles, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Checks item list access rules for a list of item list ids based on the given customer ref and role- Parameters:
customerRef
- the customer to check access foritemListIds
- the list of item list ids to checkroles
- the access roles we want to verifycontext
- the context of the request- Returns:
- two lists, accessible and inaccessible item list ids
-
getItemListAccessRuleForCustomerAndItemList
Optional<P> getItemListAccessRuleForCustomerAndItemList(com.broadleafcommerce.order.common.domain.CustomerRef customerRef, String itemListId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Get an item list access rule for a customer for specific list.- Parameters:
customerRef
- the reference to the customer for which to find the rule foritemListId
- the ID of the item list to find the rule forcontext
- the context of the request- Returns:
- the item list access rule for the customer and list, or null if none was found
-
createItemListAccessRule
P createItemListAccessRule(P rule, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Create an item list access rule.- Parameters:
rule
- the rule to create (must contain item list ID)context
- the context of the request- Returns:
- the created access rule
-
createItemListAccessRules
List<P> createItemListAccessRules(String itemListId, List<P> rules, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Creates item list access rules.- Parameters:
itemListId
- the item list IDrules
- the rules to create (must belong to the same item list)context
- the context of the request- Returns:
- the created access rules
-
updateItemListAccessRule
P updateItemListAccessRule(String itemListId, P rule, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Updates an item list access rule.- Parameters:
itemListId
- the item list IDrule
- the rule to update with (must include ID)context
- the context of the request- Returns:
- the updated item list access rule
-
replaceItemListAccessRule
P replaceItemListAccessRule(String itemListId, P rule, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Replaces an item list access rule.- Parameters:
itemListId
- the item list IDrule
- the rule to replace with (must include ID)context
- the context of the request- Returns:
- the replaced item list access rule
-
deleteItemListAccessRule
void deleteItemListAccessRule(String itemListId, String ruleId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Deletes an item list access rule by ID.- Parameters:
itemListId
- the ID of the item list to delete fromruleId
- the ID of the access rulecontext
- the context of the request
-
deleteItemListAccessRules
void deleteItemListAccessRules(String itemListId, Set<String> ruleIds, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Deletes item list access rules by IDs.- Parameters:
itemListId
- the ID of the item list to delete fromruleIds
- the IDs of the rules to deletecontext
- the context of the request
-