org.icefaces.ace.component.menubar

## Class MenuBarBase

- java.lang.Object
- - javax.faces.component.UIComponent
  - - javax.faces.component.UIComponentBase
    - - org.icefaces.ace.component.menu.AbstractMenu
      - - org.icefaces.ace.component.menubar.MenuBarBase

- All Implemented Interfaces:
    java.util.EventListener, javax.faces.component.PartialStateHolder, javax.faces.component.StateHolder, javax.faces.component.TransientStateHolder, javax.faces.event.ComponentSystemEventListener, javax.faces.event.FacesListener, javax.faces.event.SystemEventListenerHolder, IMenuBar
  Direct Known Subclasses:
    MenuBar

      public abstract class MenuBarBase
      extends AbstractMenu
      implements IMenuBar

  Menubar is a horizontal navigation component.

  For more information, see the MenuBar Wiki Documentation.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected static class` | `MenuBarBase.PropertyKeys`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `COMPONENT_TYPE`
    `static java.lang.String` | `RENDERER_TYPE`

    - ### Fields inherited from class javax.faces.component.UIComponent

      `ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MenuBarBase()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getDirection()` Return the value of the `direction` property.
    `java.lang.String` | `getEffect()` Return the value of the `effect` property.
    `int` | `getEffectDuration()` Return the value of the `effectDuration` property.
    `java.lang.String` | `getFamily()`
    `java.lang.Integer` | `getForceUpdateCounter()` Return the value of the `forceUpdateCounter` property.
    `MenuModel` | `getModel()` Return the value of the `model` property.
    `java.lang.String` | `getStyle()` Return the value of the `style` property.
    `java.lang.String` | `getStyleClass()` Return the value of the `styleClass` property.
    `java.lang.String` | `getSubmenuLabels()` Return the value of the `submenuLabels` property.
    `java.lang.String` | `getWidgetVar()` Return the value of the `widgetVar` property.
    `boolean` | `isAutoSubmenuDisplay()` Return the value of the `autoSubmenuDisplay` property.
    `java.lang.Boolean` | `isForceMenuUpdate()` Return the value of the `forceMenuUpdate` property.
    `protected boolean` | `isPropertySet(java.lang.String finder)`
    `void` | `setAutoSubmenuDisplay(boolean autoSubmenuDisplay)` Set the value of the `autoSubmenuDisplay` property.
    `void` | `setDirection(java.lang.String direction)` Set the value of the `direction` property.
    `void` | `setEffect(java.lang.String effect)` Set the value of the `effect` property.
    `void` | `setEffectDuration(int effectDuration)` Set the value of the `effectDuration` property.
    `void` | `setForceMenuUpdate(java.lang.Boolean forceMenuUpdate)` Set the value of the `forceMenuUpdate` property.
    `void` | `setForceUpdateCounter(java.lang.Integer forceUpdateCounter)` Set the value of the `forceUpdateCounter` property.
    `void` | `setModel(MenuModel model)` Set the value of the `model` property.
    `void` | `setStyle(java.lang.String style)` Set the value of the `style` property.
    `void` | `setStyleClass(java.lang.String styleClass)` Set the value of the `styleClass` property.
    `void` | `setSubmenuLabels(java.lang.String submenuLabels)` Set the value of the `submenuLabels` property.
    `void` | `setValueExpression(java.lang.String name, javax.el.ValueExpression binding)`
    `void` | `setWidgetVar(java.lang.String widgetVar)` Set the value of the `widgetVar` property.

    - ### Methods inherited from class org.icefaces.ace.component.menu.AbstractMenu

      `buildMenuFromModel, isBuiltFromModel, isDynamic, markAsBuiltFromModel, processDecodes, setTransientRecursive, shouldBuildFromModel`

    - ### Methods inherited from class javax.faces.component.UIComponentBase

      `addClientBehavior, addFacesListener, broadcast, clearInitialState, decode, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, markInitialState, processRestoreState, processSaveState, processUpdates, processValidators, queueEvent, removeFacesListener, restoreAttachedState, restoreState, saveAttachedState, saveState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding, subscribeToEvent, unsubscribeFromEvent`

    - ### Methods inherited from class javax.faces.component.UIComponent

      `encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, visitTree`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### COMPONENT_TYPE

          public static final java.lang.String COMPONENT_TYPE

      See Also:
        Constant Field Values

    - #### RENDERER_TYPE

          public static final java.lang.String RENDERER_TYPE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### MenuBarBase

          public MenuBarBase()

  - ### Method Detail

    - #### getFamily

          public java.lang.String getFamily()

      Specified by:
        `getFamily` in class `javax.faces.component.UIComponent`

    - #### setAutoSubmenuDisplay

          public void setAutoSubmenuDisplay(boolean autoSubmenuDisplay)

      Set the value of the `autoSubmenuDisplay` property.

      Contents: When set to true, submenus are displayed on mouseover of a menuitem.

      Specified by:
        `setAutoSubmenuDisplay` in interface `IMenuBar`

    - #### isAutoSubmenuDisplay

          public boolean isAutoSubmenuDisplay()

      Return the value of the `autoSubmenuDisplay` property.

      Contents: When set to true, submenus are displayed on mouseover of a menuitem.

      Specified by:
        `isAutoSubmenuDisplay` in interface `IMenuBar`

    - #### setDirection

          public void setDirection(java.lang.String direction)

      Set the value of the `direction` property.

      Contents: Forces the direction in which the submenus will be displayed, regardless of the position of the menu in the viewport. Possible values are combinations of "up", "down", and "middle" with "left", "right", and "center", separated by a space. The value "auto" can also be used in place of any of those values (e.g. "up", "up right", "left", "left auto", "center"). Note that the "center" value only applies to first-level submenus, while the "middle" value only applies to deeper-level submenus (i.e. all but first-level submenus).

      Specified by:
        `setDirection` in interface `IMenuBar`

    - #### getDirection

          public java.lang.String getDirection()

      Return the value of the `direction` property.

      Contents: Forces the direction in which the submenus will be displayed, regardless of the position of the menu in the viewport. Possible values are combinations of "up", "down", and "middle" with "left", "right", and "center", separated by a space. The value "auto" can also be used in place of any of those values (e.g. "up", "up right", "left", "left auto", "center"). Note that the "center" value only applies to first-level submenus, while the "middle" value only applies to deeper-level submenus (i.e. all but first-level submenus). Default = 'auto'.

      Specified by:
        `getDirection` in interface `IMenuBar`

    - #### setEffect

          public void setEffect(java.lang.String effect)

      Set the value of the `effect` property.

      Contents: Sets the effect for the menu display, default value is FADE. Possible values are "FADE", "SLIDE", "NONE". Use "NONE" to disable animation at all.

      Specified by:
        `setEffect` in interface `IMenuBar`

    - #### getEffect

          public java.lang.String getEffect()

      Return the value of the `effect` property.

      Contents: Sets the effect for the menu display, default value is FADE. Possible values are "FADE", "SLIDE", "NONE". Use "NONE" to disable animation at all. Default = 'fade'.

      Specified by:
        `getEffect` in interface `IMenuBar`

    - #### setEffectDuration

          public void setEffectDuration(int effectDuration)

      Set the value of the `effectDuration` property.

      Contents: Sets the effect duration in milliseconds.

      Specified by:
        `setEffectDuration` in interface `IMenuBar`

    - #### getEffectDuration

          public int getEffectDuration()

      Return the value of the `effectDuration` property.

      Contents: Sets the effect duration in milliseconds. Default = '400'.

      Specified by:
        `getEffectDuration` in interface `IMenuBar`

    - #### setForceMenuUpdate

          public void setForceMenuUpdate(java.lang.Boolean forceMenuUpdate)

      Set the value of the `forceMenuUpdate` property.

      Contents: Set to true when the entire menu needs to be updated in the client, such as when an individual menu item changes label or styling, and the entire menu needs to be reinitialized in the client in order to get all the styling and behaviour re-applied to the new HTML nodes. The value of this attribute will be automatically set to false by the component after consuming it (if applicable).

      Specified by:
        `setForceMenuUpdate` in interface `IMenuBar`

    - #### isForceMenuUpdate

          public java.lang.Boolean isForceMenuUpdate()

      Return the value of the `forceMenuUpdate` property.

      Contents: Set to true when the entire menu needs to be updated in the client, such as when an individual menu item changes label or styling, and the entire menu needs to be reinitialized in the client in order to get all the styling and behaviour re-applied to the new HTML nodes. The value of this attribute will be automatically set to false by the component after consuming it (if applicable). Default = 'false'.

      Specified by:
        `isForceMenuUpdate` in interface `IMenuBar`

    - #### setModel

          public void setModel(MenuModel model)

      Set the value of the `model` property.

      Contents: MenuModel instance to create menus programmatically. For the menuitem and submenu components, use explicit ids, and avoid long processing in the getter method for this property, as it will be called multiple times, in every lifecycle. If using MyFaces, see wiki page for some known issues.

      Specified by:
        `setModel` in interface `IMenuBar`

    - #### getModel

          public MenuModel getModel()

      Return the value of the `model` property.

      Contents: MenuModel instance to create menus programmatically. For the menuitem and submenu components, use explicit ids, and avoid long processing in the getter method for this property, as it will be called multiple times, in every lifecycle. If using MyFaces, see wiki page for some known issues.

      Specified by:
        `getModel` in interface `IMenuBar`
      Specified by:
        `getModel` in class `AbstractMenu`

    - #### setStyle

          public void setStyle(java.lang.String style)

      Set the value of the `style` property.

      Contents: Style of the main container element.

      Specified by:
        `setStyle` in interface `IMenuBar`

    - #### getStyle

          public java.lang.String getStyle()

      Return the value of the `style` property.

      Contents: Style of the main container element.

      Specified by:
        `getStyle` in interface `IMenuBar`

    - #### setStyleClass

          public void setStyleClass(java.lang.String styleClass)

      Set the value of the `styleClass` property.

      Contents: Style class of the main container element.

      Specified by:
        `setStyleClass` in interface `IMenuBar`

    - #### getStyleClass

          public java.lang.String getStyleClass()

      Return the value of the `styleClass` property.

      Contents: Style class of the main container element.

      Specified by:
        `getStyleClass` in interface `IMenuBar`

    - #### setWidgetVar

          public void setWidgetVar(java.lang.String widgetVar)

      Set the value of the `widgetVar` property.

      Contents: Javascript variable name of the wrapped widget.

      Specified by:
        `setWidgetVar` in interface `IMenuBar`

    - #### getWidgetVar

          public java.lang.String getWidgetVar()

      Return the value of the `widgetVar` property.

      Contents: Javascript variable name of the wrapped widget.

      Specified by:
        `getWidgetVar` in interface `IMenuBar`

    - #### setForceUpdateCounter

          public void setForceUpdateCounter(java.lang.Integer forceUpdateCounter)

      Set the value of the `forceUpdateCounter` property.

      Specified by:
        `setForceUpdateCounter` in interface `IMenuBar`

    - #### getForceUpdateCounter

          public java.lang.Integer getForceUpdateCounter()

      Return the value of the `forceUpdateCounter` property.

      Specified by:
        `getForceUpdateCounter` in interface `IMenuBar`

    - #### setSubmenuLabels

          public void setSubmenuLabels(java.lang.String submenuLabels)

      Set the value of the `submenuLabels` property.

      Specified by:
        `setSubmenuLabels` in interface `IMenuBar`

    - #### getSubmenuLabels

          public java.lang.String getSubmenuLabels()

      Return the value of the `submenuLabels` property.

      Specified by:
        `getSubmenuLabels` in interface `IMenuBar`

    - #### isPropertySet

          protected boolean isPropertySet(java.lang.String finder)

    - #### setValueExpression

          public void setValueExpression(java.lang.String name,
                                         javax.el.ValueExpression binding)

      Overrides:
        `setValueExpression` in class `javax.faces.component.UIComponent`

Copyright 2025 ICEsoft Technologies Canada, Corp. All Rights Reserved.