org.ofbiz.widget.menu
Class ModelMenu

java.lang.Object
  extended by org.ofbiz.widget.ModelWidget
      extended by org.ofbiz.widget.menu.ModelMenu
All Implemented Interfaces:
java.io.Serializable

public class ModelMenu
extends ModelWidget

Widget Library - Menu model class

See Also:
Serialized Form

Field Summary
protected  java.util.List<ModelMenuAction> actions
           
protected  java.lang.String defaultAlign
           
protected  java.lang.String defaultAlignStyle
           
protected  FlexibleStringExpander defaultAssociatedContentId
           
protected  java.lang.String defaultCellWidth
           
protected  java.lang.String defaultDisabledTitleStyle
           
protected  java.lang.String defaultEntityName
           
protected  java.lang.Boolean defaultHideIfSelected
           
protected  java.lang.String defaultMenuItemName
           
protected  java.lang.String defaultPermissionEntityAction
           
protected  java.lang.String defaultPermissionOperation
           
protected  java.lang.String defaultPermissionStatusId
           
protected  java.lang.String defaultPrivilegeEnumId
           
protected  java.lang.String defaultSelectedStyle
           
protected  java.lang.String defaultTitleStyle
           
protected  java.lang.String defaultTooltipStyle
           
protected  java.lang.String defaultWidgetStyle
           
protected  GenericDelegator delegator
           
protected  LocalDispatcher dispatcher
           
protected  java.lang.String fillStyle
           
protected  java.lang.String id
           
protected  FlexibleStringExpander menuContainerStyleExdr
           
protected  java.util.List<ModelMenuItem> menuItemList
          This List will contain one copy of each item for each item name in the order they were encountered in the service, entity, or menu definition; item definitions with constraints will also be in this list but may appear multiple times for the same item name.
protected  java.util.Map<java.lang.String,ModelMenuItem> menuItemMap
          This Map is keyed with the item name and has a ModelMenuItem for the value; items with conditions will not be put in this Map so item definition overrides for items with conditions is not possible.
protected  java.lang.String menuLocation
           
protected  java.lang.String menuWidth
           
static java.lang.String module
           
protected  java.lang.String orientation
           
protected  FlexibleMapAccessor<java.lang.String> selectedMenuItemContextFieldName
           
protected  java.lang.String target
           
protected  FlexibleStringExpander title
           
protected  java.lang.String tooltip
           
protected  java.lang.String type
           
 
Fields inherited from class org.ofbiz.widget.ModelWidget
enableBoundaryCommentsParam, enableWidgetBoundaryComments, name
 
Constructor Summary
ModelMenu()
          Default Constructor
ModelMenu(org.w3c.dom.Element menuElement, GenericDelegator delegator, LocalDispatcher dispatcher)
          XML Constructor
 
Method Summary
 ModelMenuItem addUpdateMenuItem(ModelMenuItem modelMenuItem)
          add/override modelMenuItem using the menuItemList and menuItemMap
 java.lang.String getBoundaryCommentName()
          Returns the widget's name to be used in boundary comments.
 Interpreter getBshInterpreter(java.util.Map<java.lang.String,java.lang.Object> context)
           
 java.lang.String getCurrentMenuName(java.util.Map<java.lang.String,java.lang.Object> context)
           
 java.lang.String getDefaultAlign()
           
 java.lang.String getDefaultAlignStyle()
           
 java.lang.String getDefaultAssociatedContentId(java.util.Map<java.lang.String,java.lang.Object> context)
           
 java.lang.String getDefaultCellWidth()
           
 java.lang.String getDefaultDisabledTitleStyle()
           
 java.lang.String getDefaultEntityName()
           
 java.lang.Boolean getDefaultHideIfSelected()
           
 java.lang.String getDefaultMenuItemName()
           
 java.lang.String getDefaultPermissionEntityAction()
           
 java.lang.String getDefaultPermissionOperation()
           
 java.lang.String getDefaultPermissionStatusId()
           
 java.lang.String getDefaultPrivilegeEnumId()
           
 java.lang.String getDefaultSelectedStyle()
           
 java.lang.String getDefaultTitleStyle()
           
 java.lang.String getDefaultTooltipStyle()
           
 java.lang.String getDefaultWidgetStyle()
           
 GenericDelegator getDelegator()
           
 LocalDispatcher getDispacher()
           
 java.lang.String getFillStyle()
           
 java.lang.String getId()
           
 java.lang.String getMenuContainerStyle(java.util.Map<java.lang.String,java.lang.Object> context)
           
 java.util.List<ModelMenuItem> getMenuItemList()
           
 java.lang.String getMenuWidth()
           
 ModelMenuItem getModelMenuItemByContentId(java.lang.String contentId, java.util.Map<java.lang.String,java.lang.Object> context)
           
 ModelMenuItem getModelMenuItemByName(java.lang.String name)
           
 java.lang.String getOrientation()
           
 java.lang.String getSelectedMenuItemContextFieldName(java.util.Map<java.lang.String,java.lang.Object> context)
           
 java.lang.String getTitle(java.util.Map<java.lang.String,java.lang.Object> context)
           
 java.lang.String getTooltip()
           
 java.lang.String getType()
           
 void renderMenuString(java.lang.Appendable writer, java.util.Map<java.lang.String,java.lang.Object> context, MenuStringRenderer menuStringRenderer)
          Renders this menu to a String, i.e.
 void renderSimpleMenuString(java.lang.Appendable writer, java.util.Map<java.lang.String,java.lang.Object> context, MenuStringRenderer menuStringRenderer)
           
 void setDefaultAssociatedContentId(java.lang.String string)
           
 void setDefaultCellWidth(java.lang.String string)
           
 void setDefaultEntityName(java.lang.String string)
           
 void setDefaultHideIfSelected(java.lang.Boolean val)
           
 void setDefaultMenuItemName(java.lang.String string)
           
 void setDefaultPermissionEntityAction(java.lang.String string)
           
 void setDefaultPermissionOperation(java.lang.String string)
           
 void setDefaultPermissionStatusId(java.lang.String string)
           
 void setDefaultPrivilegeEnumId(java.lang.String string)
           
 void setDefaultSelectedStyle(java.lang.String string)
           
 void setDefaultTitleStyle(java.lang.String string)
           
 void setDefaultTooltipStyle(java.lang.String string)
           
 void setDefaultWidgetStyle(java.lang.String string)
           
 void setId(java.lang.String string)
           
 void setMenuContainerStyle(java.lang.String string)
           
 void setMenuLocation(java.lang.String menuLocation)
           
 void setMenuWidth(java.lang.String string)
           
 void setName(java.lang.String string)
           
 void setOrientation(java.lang.String string)
           
 void setTarget(java.lang.String string)
           
 void setTitle(java.lang.String string)
           
 void setTooltip(java.lang.String string)
           
 void setType(java.lang.String string)
           
 
Methods inherited from class org.ofbiz.widget.ModelWidget
boundaryCommentsEnabled, getName, getPaginatorNumber, incrementPaginatorNumber, setWidgetBoundaryComments, widgetBoundaryCommentsEnabled
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

module

public static final java.lang.String module

delegator

protected GenericDelegator delegator

dispatcher

protected LocalDispatcher dispatcher

menuLocation

protected java.lang.String menuLocation

type

protected java.lang.String type

target

protected java.lang.String target

id

protected java.lang.String id

title

protected FlexibleStringExpander title

tooltip

protected java.lang.String tooltip

defaultEntityName

protected java.lang.String defaultEntityName

defaultTitleStyle

protected java.lang.String defaultTitleStyle

defaultWidgetStyle

protected java.lang.String defaultWidgetStyle

defaultTooltipStyle

protected java.lang.String defaultTooltipStyle

defaultSelectedStyle

protected java.lang.String defaultSelectedStyle

defaultMenuItemName

protected java.lang.String defaultMenuItemName

defaultPermissionOperation

protected java.lang.String defaultPermissionOperation

defaultPermissionEntityAction

protected java.lang.String defaultPermissionEntityAction

defaultAssociatedContentId

protected FlexibleStringExpander defaultAssociatedContentId

defaultPermissionStatusId

protected java.lang.String defaultPermissionStatusId

defaultPrivilegeEnumId

protected java.lang.String defaultPrivilegeEnumId

orientation

protected java.lang.String orientation

menuWidth

protected java.lang.String menuWidth

defaultCellWidth

protected java.lang.String defaultCellWidth

defaultHideIfSelected

protected java.lang.Boolean defaultHideIfSelected

defaultDisabledTitleStyle

protected java.lang.String defaultDisabledTitleStyle

selectedMenuItemContextFieldName

protected FlexibleMapAccessor<java.lang.String> selectedMenuItemContextFieldName

menuContainerStyleExdr

protected FlexibleStringExpander menuContainerStyleExdr

defaultAlign

protected java.lang.String defaultAlign

defaultAlignStyle

protected java.lang.String defaultAlignStyle

fillStyle

protected java.lang.String fillStyle

menuItemList

protected java.util.List<ModelMenuItem> menuItemList
This List will contain one copy of each item for each item name in the order they were encountered in the service, entity, or menu definition; item definitions with constraints will also be in this list but may appear multiple times for the same item name. When rendering the menu the order in this list should be following and it should not be necessary to use the Map. The Map is used when loading the menu definition to keep the list clean and implement the override features for item definitions.


menuItemMap

protected java.util.Map<java.lang.String,ModelMenuItem> menuItemMap
This Map is keyed with the item name and has a ModelMenuItem for the value; items with conditions will not be put in this Map so item definition overrides for items with conditions is not possible.


actions

protected java.util.List<ModelMenuAction> actions
Constructor Detail

ModelMenu

public ModelMenu()
Default Constructor


ModelMenu

public ModelMenu(org.w3c.dom.Element menuElement,
                 GenericDelegator delegator,
                 LocalDispatcher dispatcher)
XML Constructor

Method Detail

addUpdateMenuItem

public ModelMenuItem addUpdateMenuItem(ModelMenuItem modelMenuItem)
add/override modelMenuItem using the menuItemList and menuItemMap

Returns:
The same ModelMenuItem, or if merged with an existing item, the existing item.

getModelMenuItemByName

public ModelMenuItem getModelMenuItemByName(java.lang.String name)

getModelMenuItemByContentId

public ModelMenuItem getModelMenuItemByContentId(java.lang.String contentId,
                                                 java.util.Map<java.lang.String,java.lang.Object> context)

renderMenuString

public void renderMenuString(java.lang.Appendable writer,
                             java.util.Map<java.lang.String,java.lang.Object> context,
                             MenuStringRenderer menuStringRenderer)
                      throws java.io.IOException
Renders this menu to a String, i.e. in a text format, as defined with the MenuStringRenderer implementation.

Parameters:
writer - The Writer that the menu text will be written to
context - Map containing the menu context; the following are reserved words in this context: parameters (Map), isError (Boolean), itemIndex (Integer, for lists only, otherwise null), bshInterpreter, menuName (String, optional alternate name for menu, defaults to the value of the name attribute)
menuStringRenderer - An implementation of the MenuStringRenderer interface that is responsible for the actual text generation for different menu elements; implementing you own makes it possible to use the same menu definitions for many types of menu UIs
Throws:
java.io.IOException

renderSimpleMenuString

public void renderSimpleMenuString(java.lang.Appendable writer,
                                   java.util.Map<java.lang.String,java.lang.Object> context,
                                   MenuStringRenderer menuStringRenderer)
                            throws java.io.IOException
Throws:
java.io.IOException

getDispacher

public LocalDispatcher getDispacher()

getDelegator

public GenericDelegator getDelegator()

getDefaultEntityName

public java.lang.String getDefaultEntityName()

getDefaultAlign

public java.lang.String getDefaultAlign()

getDefaultAlignStyle

public java.lang.String getDefaultAlignStyle()

getDefaultTitleStyle

public java.lang.String getDefaultTitleStyle()

getDefaultDisabledTitleStyle

public java.lang.String getDefaultDisabledTitleStyle()

getDefaultSelectedStyle

public java.lang.String getDefaultSelectedStyle()

getDefaultWidgetStyle

public java.lang.String getDefaultWidgetStyle()

getDefaultTooltipStyle

public java.lang.String getDefaultTooltipStyle()

getDefaultMenuItemName

public java.lang.String getDefaultMenuItemName()

getFillStyle

public java.lang.String getFillStyle()

getSelectedMenuItemContextFieldName

public java.lang.String getSelectedMenuItemContextFieldName(java.util.Map<java.lang.String,java.lang.Object> context)

getCurrentMenuName

public java.lang.String getCurrentMenuName(java.util.Map<java.lang.String,java.lang.Object> context)

getId

public java.lang.String getId()

getTitle

public java.lang.String getTitle(java.util.Map<java.lang.String,java.lang.Object> context)

getTooltip

public java.lang.String getTooltip()

getType

public java.lang.String getType()

getBoundaryCommentName

public java.lang.String getBoundaryCommentName()
Description copied from class: ModelWidget
Returns the widget's name to be used in boundary comments. The default action is to return the widget's name. Derived classes can override this method to return a customized name.

Overrides:
getBoundaryCommentName in class ModelWidget
Returns:
Name to be used in boundary comments

getBshInterpreter

public Interpreter getBshInterpreter(java.util.Map<java.lang.String,java.lang.Object> context)
                              throws EvalError
Throws:
EvalError

setDefaultEntityName

public void setDefaultEntityName(java.lang.String string)
Parameters:
string -

setDefaultTitleStyle

public void setDefaultTitleStyle(java.lang.String string)
Parameters:
string -

setDefaultSelectedStyle

public void setDefaultSelectedStyle(java.lang.String string)
Parameters:
string -

setDefaultWidgetStyle

public void setDefaultWidgetStyle(java.lang.String string)
Parameters:
string -

setDefaultTooltipStyle

public void setDefaultTooltipStyle(java.lang.String string)
Parameters:
string -

setDefaultMenuItemName

public void setDefaultMenuItemName(java.lang.String string)
Parameters:
string -

setMenuLocation

public void setMenuLocation(java.lang.String menuLocation)
Parameters:
string -

setName

public void setName(java.lang.String string)
Parameters:
string -

setTarget

public void setTarget(java.lang.String string)
Parameters:
string -

setId

public void setId(java.lang.String string)
Parameters:
string -

setTitle

public void setTitle(java.lang.String string)
Parameters:
string -

setTooltip

public void setTooltip(java.lang.String string)
Parameters:
string -

setType

public void setType(java.lang.String string)
Parameters:
string -

setDefaultAssociatedContentId

public void setDefaultAssociatedContentId(java.lang.String string)
Parameters:
string -

setMenuContainerStyle

public void setMenuContainerStyle(java.lang.String string)
Parameters:
string -

getDefaultAssociatedContentId

public java.lang.String getDefaultAssociatedContentId(java.util.Map<java.lang.String,java.lang.Object> context)

getMenuContainerStyle

public java.lang.String getMenuContainerStyle(java.util.Map<java.lang.String,java.lang.Object> context)

setDefaultPermissionOperation

public void setDefaultPermissionOperation(java.lang.String string)
Parameters:
string -

getDefaultPermissionStatusId

public java.lang.String getDefaultPermissionStatusId()

setDefaultPermissionStatusId

public void setDefaultPermissionStatusId(java.lang.String string)
Parameters:
string -

setDefaultPrivilegeEnumId

public void setDefaultPrivilegeEnumId(java.lang.String string)
Parameters:
string -

getDefaultPrivilegeEnumId

public java.lang.String getDefaultPrivilegeEnumId()

setOrientation

public void setOrientation(java.lang.String string)
Parameters:
string -

getOrientation

public java.lang.String getOrientation()

setMenuWidth

public void setMenuWidth(java.lang.String string)
Parameters:
string -

getMenuWidth

public java.lang.String getMenuWidth()

setDefaultCellWidth

public void setDefaultCellWidth(java.lang.String string)
Parameters:
string -

getDefaultCellWidth

public java.lang.String getDefaultCellWidth()

getDefaultPermissionOperation

public java.lang.String getDefaultPermissionOperation()

setDefaultPermissionEntityAction

public void setDefaultPermissionEntityAction(java.lang.String string)
Parameters:
string -

getDefaultPermissionEntityAction

public java.lang.String getDefaultPermissionEntityAction()

setDefaultHideIfSelected

public void setDefaultHideIfSelected(java.lang.Boolean val)
Parameters:
val -

getDefaultHideIfSelected

public java.lang.Boolean getDefaultHideIfSelected()

getMenuItemList

public java.util.List<ModelMenuItem> getMenuItemList()