public class CmsContextMenuTreeBuilder extends java.lang.Object
Constructor and Description |
---|
CmsContextMenuTreeBuilder(I_CmsDialogContext context)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
CmsTreeNode<I_CmsContextMenuItem> |
buildAll(java.util.List<I_CmsContextMenuItem> availableItems)
Builds the complete context menu from the given available items.
|
CmsTreeNode<I_CmsContextMenuItem> |
buildTree(java.util.List<I_CmsContextMenuItem> items)
Builds a tree from a list of available context menu items.
|
java.util.List<I_CmsContextMenuItem> |
filterVisible(java.util.List<I_CmsContextMenuItem> items)
Filters out invisible context menu items from a given list.
|
I_CmsContextMenuItem |
getDefaultActionItem()
Returns the default action item if available.
|
CmsMenuItemVisibilityMode |
getVisibility(I_CmsContextMenuItem item)
Gets the visibility for a given item (cached, if possible).
|
void |
removeEmptySubtrees(CmsTreeNode<I_CmsContextMenuItem> root)
Recursively remove subtrees (destructively!)
|
public CmsContextMenuTreeBuilder(I_CmsDialogContext context)
context
- the dialog contextpublic CmsTreeNode<I_CmsContextMenuItem> buildAll(java.util.List<I_CmsContextMenuItem> availableItems)
availableItems
- the available itemspublic CmsTreeNode<I_CmsContextMenuItem> buildTree(java.util.List<I_CmsContextMenuItem> items)
The root node of the returned tree has no useful data, its child nodes correspond to the top-level entries of the ccontext menu.
items
- the available context menu itemspublic java.util.List<I_CmsContextMenuItem> filterVisible(java.util.List<I_CmsContextMenuItem> items)
items
- the itemspublic I_CmsContextMenuItem getDefaultActionItem()
Only available once buildTree(List)
or buildAll(List)
has been executed.
public CmsMenuItemVisibilityMode getVisibility(I_CmsContextMenuItem item)
item
- the itempublic void removeEmptySubtrees(CmsTreeNode<I_CmsContextMenuItem> root)
root
- the root of the tree to process