Class DefaultMenuItemService<P extends MenuItem>
- java.lang.Object
-
- com.broadleafcommerce.data.tracking.core.service.BaseCrudEntityService<P>
-
- com.broadleafcommerce.data.tracking.core.service.BaseRsqlCrudEntityService<P>
-
- com.broadleafcommerce.menu.service.DefaultMenuItemService<P>
-
- All Implemented Interfaces:
com.broadleafcommerce.data.tracking.core.service.CrudEntityService<P>
,com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService<P>
,MenuItemService<P>
public class DefaultMenuItemService<P extends MenuItem> extends com.broadleafcommerce.data.tracking.core.service.BaseRsqlCrudEntityService<P> implements MenuItemService<P>
- Author:
- Samarth Dhruva (samarthd)
-
-
Constructor Summary
Constructors Constructor Description DefaultMenuItemService(MenuItemRepository<com.broadleafcommerce.data.tracking.core.Trackable> repository, com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityHelper helper, com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> parser)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected MenuItemRepository<com.broadleafcommerce.data.tracking.core.Trackable>
getRepository()
String
getRepositoryDomain()
org.springframework.data.domain.Page<P>
readAllByLabelAndParentMenuId(String labelQuery, String parentMenuId, boolean rootsOnly, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Read all menu items for a menu, optionally filtered by label (ignoring case).List<P>
readAllByParentMenuId(String parentMenuId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Read all menu items that are children (both direct and indirect) of the specifiedMenu
.List<P>
readAllByParentMenuItemId(String parentMenuItemId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Read all menu items that are direct children of the specifiedMenuItem
.MenuItemAncestorList
readAncestors(String menuItemId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Accepts a menu item ID and returns a payload object containing the requested menu item and a list of its ancestors.-
Methods inherited from class com.broadleafcommerce.data.tracking.core.service.BaseRsqlCrudEntityService
getRsqlHelper, readAll, readAll, readAll, readAll
-
Methods inherited from class com.broadleafcommerce.data.tracking.core.service.BaseCrudEntityService
convertFromPersistentDomain, convertToPersistentDomain, create, createAll, createAllAllowingPartialSuccess, delete, getHelper, getSortPositionStrategy, readAll, readAll, readAll, readAllByContextId, readByContextId, replace, replaceAll, replaceAllAllowingPartialSuccess, setSortPositionStrategy, update, updateAll, updateAllAllowingPartialSuccess, updateSort
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.broadleafcommerce.data.tracking.core.service.CrudEntityService
create, createAll, createAllAllowingPartialSuccess, delete, readAll, readAll, readAll, readAllByContextId, readByContextId, replace, replaceAll, replaceAllAllowingPartialSuccess, update, updateAll, updateAllAllowingPartialSuccess, updateSort
-
-
-
-
Constructor Detail
-
DefaultMenuItemService
public DefaultMenuItemService(MenuItemRepository<com.broadleafcommerce.data.tracking.core.Trackable> repository, com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityHelper helper, com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> parser)
-
-
Method Detail
-
readAllByLabelAndParentMenuId
public org.springframework.data.domain.Page<P> readAllByLabelAndParentMenuId(@Nullable String labelQuery, @NonNull String parentMenuId, boolean rootsOnly, @Nullable cz.jirutka.rsql.parser.ast.Node filters, @Nullable org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Description copied from interface:MenuItemService
Read all menu items for a menu, optionally filtered by label (ignoring case).- Specified by:
readAllByLabelAndParentMenuId
in interfaceMenuItemService<P extends MenuItem>
- Parameters:
labelQuery
- (optional) the menu item label to filter by (ignoring case)parentMenuId
- the context ID of the menu whose items should be returnedrootsOnly
- if true, restricts results to only the top-level menu items for the menu. Otherwise, returns all menu items for the menu.filters
- additional filters to apply in the query, can be nullpage
- the requested page of results from the databasecontextInfo
- context information surrounding sandboxing and multitenant state- Returns:
- all menu items, optionally filtered by name
-
readAllByParentMenuItemId
public List<P> readAllByParentMenuItemId(@NonNull String parentMenuItemId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Description copied from interface:MenuItemService
Read all menu items that are direct children of the specifiedMenuItem
. In other words, find all menu items who have the given parentMenuItemId set as theirMenuItem.getParentMenuItemId()
.- Specified by:
readAllByParentMenuItemId
in interfaceMenuItemService<P extends MenuItem>
- Parameters:
parentMenuItemId
- the context ID of theMenuItem
whose direct children should be returnedcontextInfo
- context information surrounding sandboxing and multitenant state- Returns:
- all the menu items which are direct children of the specified menu item
-
readAllByParentMenuId
public List<P> readAllByParentMenuId(@NonNull String parentMenuId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Description copied from interface:MenuItemService
Read all menu items that are children (both direct and indirect) of the specifiedMenu
. In other words, find all menu items who have the given parentMenuId set as theirMenuItem.getParentMenuId()
. This effectively returns the entire set of MenuItems that are in a menu's tree.- Specified by:
readAllByParentMenuId
in interfaceMenuItemService<P extends MenuItem>
- Parameters:
parentMenuId
- the context ID of theMenu
whose children should be returnedcontextInfo
- context information surrounding sandboxing and multitenant state- Returns:
- all the menu items which are children of the specified menu
-
readAncestors
@NonNull public MenuItemAncestorList readAncestors(@NonNull String menuItemId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Description copied from interface:MenuItemService
Accepts a menu item ID and returns a payload object containing the requested menu item and a list of its ancestors.- Specified by:
readAncestors
in interfaceMenuItemService<P extends MenuItem>
- Parameters:
menuItemId
- the context ID of the menu item whose ancestors should be foundcontextInfo
- context information surrounding sandboxing and multitenant state- Returns:
- a payload object containing the requested menu item and a list of its ancestors, sorted with the immediate parent at the beginning and the top-level parent at the end
-
getRepositoryDomain
public String getRepositoryDomain()
- Specified by:
getRepositoryDomain
in interfaceMenuItemService<P extends MenuItem>
-
getRepository
@NonNull protected MenuItemRepository<com.broadleafcommerce.data.tracking.core.Trackable> getRepository()
-
-