Interface CMSAdminRestrictionService
- All Known Implementing Classes:
DefaultCMSAdminRestrictionService
public interface CMSAdminRestrictionService
Service to manage restrictions and the relations between pages and restrictions. All methods work on the active
catalogVersion of the current user.
- Spring Bean ID:
- cmsAdminRestrictionService
-
Method Summary
Modifier and TypeMethodDescriptioncreateCampaignRestriction(AbstractPageModel page, String id, String name, Collection<CampaignModel> campaigns) Creates a new CampaignRestriction and a new relation between the restriction and the given pagecreateCatalogRestriction(AbstractPageModel page, String id, String name, Collection<CatalogModel> catalogs) Creates a new CatalogRestriction and a new relation between the restriction and the given page.createCategoryRestriction(AbstractPageModel page, String id, String name, Collection<CategoryModel> categories) Creates a new CategoryRestriction and a new relation between the restriction and the given pagecreateProductRestriction(AbstractPageModel page, String id, String name, Collection<ProductModel> products) Creates a new ProductRestriction and a new relation between the restriction and the given pagevoidcreateRelation(AbstractPageModel page, AbstractRestrictionModel restriction) creates a new relation between the given page and the given restrictionvoidcreateRelation(String pageId, String restrictionId) creates a new relation between the given page (pageId) and the given restriction (restrictionId)createTimeRestriction(AbstractPageModel page, String id, String name, Date from, Date until) Creates a new TimeRestriction and a new relation between the restriction and the given pagecreateUserGroupRestriction(AbstractPageModel page, String id, String name, Collection<UserGroupModel> userGroups) Creates a new UserGroupRestriction and a new relation between the restriction and the given pagecreateUserRestriction(AbstractPageModel page, String id, String name, Collection<UserModel> users) Creates a new UserRestriction and a new relation between the restriction and the given pagevoiddeleteRelation(AbstractRestrictionModel restriction, AbstractPageModel page) deletes the relation between the restriction and the pagevoiddeleteRelation(String restrictionId, String pageId) deletes the relation between the restriction and the pageReturns a collection of all restrictions which can be applied on the given pageReturns a collection of all restrictions which can be applied on the given page (via its id)Returns all restrictiongetAllRestrictionsByType(String restrictionType) Returns all restriction of the given restriction typegetAllRestrictionsByTypeNotLinkedToPage(String pageId, String restrictionType) Returns all restrictions of the given restriction type which are currently not linked to the given page (via its id)Returns a collection of all available restriction types.getCategories(CMSCategoryRestrictionModel categoryRestriction, PreviewDataModel previewContext) Returns products for product restrictiongetProducts(CMSProductRestrictionModel productRestriction, PreviewDataModel previewContext) Returns products for product restrictiongetRestriction(String id) Returns a restriction via its idgetRestrictionsByName(String name) Returns a restriction via its nameReturns all restrictions which are applied on the given pagegetRestrictionsForPage(AbstractPageModel page, String restrictionType) Returns all restrictions of the given restriction type which are applied on the given pagegetRestrictionsForPage(String pageId, String restrictionType) Returns all restrictions of the given restriction type which are applied on the given page (via its id)booleanhasOtherRelations(AbstractRestrictionModel restriction, AbstractPageModel page) Checks if a given restriction has also other relations than to the given pagebooleanhasOtherRelations(String restrictionId, String pageId) Checks if a given restriction has also other relations than to the given pagedefault booleanDetermines if the given page has any restrictions assigned to it or not
-
Method Details
-
getAllRestrictionTypes
Collection<RestrictionTypeModel> getAllRestrictionTypes()Returns a collection of all available restriction types.- Returns:
- collection of all restriction types; never
null
-
getAllowedRestrictionTypesForPage
Collection<RestrictionTypeModel> getAllowedRestrictionTypesForPage(String pageId) throws CMSItemNotFoundException Returns a collection of all restrictions which can be applied on the given page (via its id)- Parameters:
pageId- id of page- Returns:
- all restriction types applicable for a given page
- Throws:
CMSItemNotFoundException- if the page is not found
-
getAllowedRestrictionTypesForPage
Returns a collection of all restrictions which can be applied on the given page- Parameters:
page- the page model- Returns:
- all restriction types applicable for a given page
-
getRestrictionsForPage
Collection<AbstractRestrictionModel> getRestrictionsForPage(String pageId, String restrictionType) throws CMSItemNotFoundException Returns all restrictions of the given restriction type which are applied on the given page (via its id)- Parameters:
pageId- id of pagerestrictionType- ComposedType code of restriction- Returns:
- all restrictions applied for a given page
- Throws:
CMSItemNotFoundException- if the page or the composed type is not found
-
getRestrictionsForPage
Collection<AbstractRestrictionModel> getRestrictionsForPage(AbstractPageModel page, String restrictionType) throws CMSItemNotFoundException Returns all restrictions of the given restriction type which are applied on the given page- Parameters:
page- the page modelrestrictionType- ComposedType code of restriction- Returns:
- all restrictions applied for a given page
- Throws:
CMSItemNotFoundException- if the page or the composed type is not found
-
getRestrictionsForPage
Returns all restrictions which are applied on the given page- Parameters:
page- - the page for which we want to retrieve restrictions- Returns:
- all restrictions applied for a given page
-
hasPageRestrictions
Determines if the given page has any restrictions assigned to it or not- Parameters:
page- - the page for which we want to verify the restrictions relations- Returns:
TRUEwhen the page contains at least one restriction; otherwiseFALSE
-
getAllRestrictionsByType
Collection<AbstractRestrictionModel> getAllRestrictionsByType(String restrictionType) throws CMSItemNotFoundException Returns all restriction of the given restriction type- Parameters:
restrictionType- ComposedType code of restriction- Returns:
- all restrictions for a given restriction type
- Throws:
CMSItemNotFoundException- if the composed type is not found
-
getAllRestrictionsByTypeNotLinkedToPage
Collection<AbstractRestrictionModel> getAllRestrictionsByTypeNotLinkedToPage(String pageId, String restrictionType) throws CMSItemNotFoundException Returns all restrictions of the given restriction type which are currently not linked to the given page (via its id)- Parameters:
pageId- id of the pagerestrictionType- composed type code of restriction- Returns:
- all restrictions of a given restriction type which are not currently linked to a given page
- Throws:
CMSItemNotFoundException- if the page or the composed type is not found
-
getRestriction
Returns a restriction via its id- Parameters:
id- id of restriction- Returns:
- the restriction for a given id
- Throws:
CMSItemNotFoundException- if no restriction with the given id is found
-
getRestrictionsByName
Returns a restriction via its name- Parameters:
name- name of restriction- Returns:
- the restriction for a given name
- Throws:
CMSItemNotFoundException- if no restriction with the given name is found
-
getAllRestrictions
Collection<AbstractRestrictionModel> getAllRestrictions()Returns all restriction- Returns:
- collection of restrictions; never
null
-
createCategoryRestriction
CMSCategoryRestrictionModel createCategoryRestriction(AbstractPageModel page, String id, String name, Collection<CategoryModel> categories) throws CMSItemCreateException Creates a new CategoryRestriction and a new relation between the restriction and the given page- Parameters:
page- page to be linked to the new restrictionid- id of the restrictionname- name of the restrictioncategories- list of categories for this restriction- Returns:
- a new category restriction
- Throws:
CMSItemCreateException- if the restriction could not be created
-
createProductRestriction
CMSProductRestrictionModel createProductRestriction(AbstractPageModel page, String id, String name, Collection<ProductModel> products) throws CMSItemCreateException Creates a new ProductRestriction and a new relation between the restriction and the given page- Parameters:
page- page to be linked to the new restrictionid- id of the restrictionname- name of the restrictionproducts- list of products for this restriction- Returns:
- a new product restriction
- Throws:
CMSItemCreateException- if the restriction could not be created
-
createTimeRestriction
CMSTimeRestrictionModel createTimeRestriction(AbstractPageModel page, String id, String name, Date from, Date until) throws CMSItemCreateException Creates a new TimeRestriction and a new relation between the restriction and the given page- Parameters:
page- page to be linked to the new restrictionid- id of the restrictionname- name of the restrictionfrom- restriction is active fromuntil- restriction is active until- Returns:
- a new time restriction
- Throws:
CMSItemCreateException- if the restriction could not be created
-
createUserRestriction
CMSUserRestrictionModel createUserRestriction(AbstractPageModel page, String id, String name, Collection<UserModel> users) throws CMSItemCreateException Creates a new UserRestriction and a new relation between the restriction and the given page- Parameters:
page- page to be linked to the new restrictionid- id of the restrictionname- name of the restrictionusers- list of users for this restriction- Returns:
- a new user restriction
- Throws:
CMSItemCreateException- if the restriction could not be created
-
createUserGroupRestriction
CMSUserGroupRestrictionModel createUserGroupRestriction(AbstractPageModel page, String id, String name, Collection<UserGroupModel> userGroups) throws CMSItemCreateException Creates a new UserGroupRestriction and a new relation between the restriction and the given page- Parameters:
page- page to be linked to the new restrictionid- id of the restrictionname- name of the restrictionuserGroups- list of user groups for this restriction- Returns:
- a new user group restriction
- Throws:
CMSItemCreateException- if the restriction could not be created
-
createCatalogRestriction
CMSCatalogRestrictionModel createCatalogRestriction(AbstractPageModel page, String id, String name, Collection<CatalogModel> catalogs) throws CMSItemCreateException Creates a new CatalogRestriction and a new relation between the restriction and the given page.- Parameters:
page- page to be linked to the new restrictionid- id of the restrictionname- name of the restrictioncatalogs- list of catalogs for this restriction- Returns:
- a new catalog restriction
- Throws:
CMSItemCreateException- if the restriction could not be created
-
createCampaignRestriction
CMSCampaignRestrictionModel createCampaignRestriction(AbstractPageModel page, String id, String name, Collection<CampaignModel> campaigns) throws CMSItemCreateException Creates a new CampaignRestriction and a new relation between the restriction and the given page- Parameters:
page- page to be linked to the new restrictionid- id of the restrictionname- name of the restrictioncampaigns- list of campaigns for this restriction- Returns:
- a new campaign restriction
- Throws:
CMSItemCreateException- if the restriction could not be created
-
createRelation
creates a new relation between the given page and the given restriction- Parameters:
page- the page modelrestriction- the restriction model
-
createRelation
creates a new relation between the given page (pageId) and the given restriction (restrictionId)- Parameters:
pageId- the page idrestrictionId- the restriciton id- Throws:
CMSItemNotFoundException- if the page and/or restriction is not found
-
hasOtherRelations
Checks if a given restriction has also other relations than to the given page- Parameters:
restriction- the restriciton modelpage- the page model- Returns:
- true if there are also other relations, otherwise false
-
hasOtherRelations
Checks if a given restriction has also other relations than to the given page- Parameters:
restrictionId- the restriction idpageId- the page id- Returns:
- true if there are also other relations, otherwise false
- Throws:
CMSItemNotFoundException- if the restriction and/or page is not found
-
deleteRelation
deletes the relation between the restriction and the page- Parameters:
restriction- the restriciton modelpage- the page model
-
deleteRelation
deletes the relation between the restriction and the page- Parameters:
restrictionId- the restriction idpageId- the page id- Throws:
CMSItemNotFoundException- if the restriction and/or page is not found
-
getProducts
List<ProductModel> getProducts(CMSProductRestrictionModel productRestriction, PreviewDataModel previewContext) Returns products for product restriction- Parameters:
productRestriction- given restrictionpreviewContext- preview context information- Returns:
- products attached to productRestriction
-
getCategories
List<CategoryModel> getCategories(CMSCategoryRestrictionModel categoryRestriction, PreviewDataModel previewContext) Returns products for product restriction- Parameters:
categoryRestriction- given restrictionpreviewContext- preview context information- Returns:
- products attached to productRestriction
-