org.richfaces.component

## Class UIPanelMenuGroup

- java.lang.Object
- - javax.faces.component.UIComponent
  - - javax.faces.component.UIComponentBase
    - - javax.faces.component.UICommand
      - - org.richfaces.component.AbstractActionComponent
        - - org.richfaces.component.AbstractPanelMenuItem
          - - org.richfaces.component.AbstractPanelMenuGroup
            - - org.richfaces.component.UIPanelMenuGroup

- All Implemented Interfaces:
    EventListener, javax.faces.component.ActionSource, javax.faces.component.ActionSource2, javax.faces.component.behavior.ClientBehaviorHolder, javax.faces.component.PartialStateHolder, javax.faces.component.StateHolder, javax.faces.component.TransientStateHolder, javax.faces.event.ComponentSystemEventListener, javax.faces.event.FacesListener, javax.faces.event.SystemEventListenerHolder, AjaxActivatorProps, AjaxProps, BypassProps, DisabledProps, EventsMouseProps, StyleClassProps, StyleProps

      @Generated(value={"RichFaces CDK","4.5.0-SNAPSHOT"})
      public class UIPanelMenuGroup
      extends AbstractPanelMenuGroup
      implements javax.faces.component.behavior.ClientBehaviorHolder, AjaxProps, BypassProps, EventsMouseProps, StyleClassProps, StyleProps

  The <rich:panelMenuGroup> component defines a group of <rich:panelMenuItem> components inside a <rich:panelMenu>.

  Author:
    akolonitsky

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected static class` | `UIPanelMenuGroup.Properties`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `COMPONENT_FAMILY`
    `static String` | `COMPONENT_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
    `UIPanelMenuGroup()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getCollapseEvent()` The mouse event used for collapsing.
    `Object` | `getData()` Serialized (on default with JSON) data passed to the client by a developer on an AJAX request.
    `String` | `getDefaultEventName()`
    `Collection<String>` | `getEventNames()`
    `String` | `getExpandEvent()` The mouse event used for expansion.
    `String` | `getFamily()`
    `String` | `getHoverClass()` Space-separated list of CSS style class(es) to be applied to the panel menu group when it is hovered.
    `String` | `getLabel()` A localized user presentable name for this component.
    `String` | `getLeftIcon()` The icon displayed on the left of the menu item label
    `String` | `getLeftIconClass()` Space-separated list of CSS style class(es) to be applied to the left icon of the panel menu group.
    `PanelMenuMode` | `getMode()` Mode used for expanding/collapsing of this group: default value is inherited from panelMenu
    `String` | `getOnbeforecollapse()` The client-side script method to be called before the menu group is collapsed
    `String` | `getOnbeforedomupdate()` The client-side script method to be called after the ajax response comes back, but before the DOM is updated
    `String` | `getOnbeforeexpand()` The client-side script method to be called before the menu group is expanded
    `String` | `getOnbeforeselect()` The client-side script method to be called before the menu group is selected
    `String` | `getOnbeforeswitch()` The client-side script method to be called before the menu group is switched (toggled)
    `String` | `getOnbegin()` The client-side script method to be called before an ajax request.
    `String` | `getOnclick()` Javascript code executed when a pointer button is clicked over this element.
    `String` | `getOncollapse()` The client-side script method to be called after the menu group is collapsed
    `String` | `getOncomplete()` The client-side script method to be called after the DOM is updated
    `String` | `getOndblclick()` Javascript code executed when a pointer button is double clicked over this element.
    `String` | `getOnexpand()` The client-side script method to be called after the menu group is expanded
    `String` | `getOnmousedown()` Javascript code executed when a pointer button is pressed down over this element.
    `String` | `getOnmousemove()` Javascript code executed when a pointer button is moved within this element.
    `String` | `getOnmouseout()` Javascript code executed when a pointer button is moved away from this element.
    `String` | `getOnmouseover()` Javascript code executed when a pointer button is moved onto this element.
    `String` | `getOnmouseup()` Javascript code executed when a pointer button is released over this element.
    `String` | `getOnselect()` The client-side script method to be called after the menu group is selected
    `String` | `getOnswitch()` The client-side script method to be called after the menu group is switched (toggled)
    `String` | `getOnunselect()` The client-side script method to be called after the menu group is unselected
    `Object` | `getRender()` IDs of components that will participate in the "render" portion of the Request Processing Lifecycle.
    `String` | `getRightIcon()` The icon displayed on the right of the menu item label
    `String` | `getRightIconClass()` Space-separated list of CSS style class(es) to be applied to the right icon of the panel menu group.
    `Boolean` | `getSelectable()` Defines whenever the group is selectable.
    `String` | `getStatus()` Name of the request status component that will indicate the status of the Ajax request
    `String` | `getStyle()` CSS style(s) to be applied when this component is rendered.
    `Boolean` | `getUnselectable()`
    `boolean` | `isBypassUpdates()` If "true", after process validations phase it skips updates of model beans on a force render response.
    `boolean` | `isDisabled()` Flag indicating that this element must never receive focus or be included in a subsequent submit.
    `boolean` | `isLimitRender()` If "true", render only those ids specified in the "render" attribute, forgoing the render of the auto-rendered panels
    `boolean` | `isResetValues()` If true, indicate that this particular Ajax transaction is a value reset transaction.
    `void` | `setBypassUpdates(boolean bypassUpdates)`
    `void` | `setCollapseEvent(String collapseEvent)`
    `void` | `setData(Object data)`
    `void` | `setDisabled(boolean disabled)`
    `void` | `setExpandEvent(String expandEvent)`
    `void` | `setHoverClass(String hoverClass)`
    `void` | `setLabel(String label)`
    `void` | `setLeftIcon(String leftIcon)`
    `void` | `setLeftIconClass(String leftIconClass)`
    `void` | `setLimitRender(boolean limitRender)`
    `void` | `setMode(PanelMenuMode mode)`
    `void` | `setOnbeforecollapse(String onbeforecollapse)`
    `void` | `setOnbeforedomupdate(String onbeforedomupdate)`
    `void` | `setOnbeforeexpand(String onbeforeexpand)`
    `void` | `setOnbeforeselect(String onbeforeselect)`
    `void` | `setOnbeforeswitch(String onbeforeswitch)`
    `void` | `setOnbegin(String onbegin)`
    `void` | `setOnclick(String onclick)`
    `void` | `setOncollapse(String oncollapse)`
    `void` | `setOncomplete(String oncomplete)`
    `void` | `setOndblclick(String ondblclick)`
    `void` | `setOnexpand(String onexpand)`
    `void` | `setOnmousedown(String onmousedown)`
    `void` | `setOnmousemove(String onmousemove)`
    `void` | `setOnmouseout(String onmouseout)`
    `void` | `setOnmouseover(String onmouseover)`
    `void` | `setOnmouseup(String onmouseup)`
    `void` | `setOnselect(String onselect)`
    `void` | `setOnswitch(String onswitch)`
    `void` | `setOnunselect(String onunselect)`
    `void` | `setRender(Object render)`
    `void` | `setResetValues(boolean resetValues)`
    `void` | `setRightIcon(String rightIcon)`
    `void` | `setRightIconClass(String rightIconClass)`
    `void` | `setSelectable(Boolean selectable)`
    `void` | `setStatus(String status)`
    `void` | `setStyle(String style)`
    `void` | `setUnselectable(Boolean unselectable)`

    - ### Methods inherited from class org.richfaces.component.AbstractPanelMenuGroup

      `getDisabledClass, getLeftCollapsedIcon, getLeftDisabledIcon, getLeftExpandedIcon, getRightCollapsedIcon, getRightDisabledIcon, getRightExpandedIcon, getState, getStyleClass, getSubmittedExpanded, hasActiveItem, isExpanded, isImmediate, processDecodes, queueEvent, setDisabledClass, setEventPhase, setExpanded, setImmediate, setLeftCollapsedIcon, setLeftDisabledIcon, setLeftExpandedIcon, setRightCollapsedIcon, setRightDisabledIcon, setRightExpandedIcon, setStyleClass, setSubmittedExpanded, setValueExpression, validate`

    - ### Methods inherited from class org.richfaces.component.AbstractPanelMenuItem

      `getExecute, getName, getPanelMenu, getParentItem, getValue, isActiveItem, isParentDisabled, isTopItem, setExecute, setName, setValue`

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

      `addActionListener, broadcast, getAction, getActionExpression, getActionListener, getActionListeners, removeActionListener, setAction, setActionExpression, setActionListener`

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

      `addClientBehavior, addFacesListener, clearInitialState, decode, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getPassThroughAttributes, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, markInitialState, processRestoreState, processSaveState, processUpdates, processValidators, 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, getPassThroughAttributes, 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`

    - ### Methods inherited from interface javax.faces.component.behavior.ClientBehaviorHolder

      `addClientBehavior, getClientBehaviors`

    - ### Methods inherited from interface org.richfaces.component.attribute.AjaxProps

      `getExecute`

    - ### Methods inherited from interface org.richfaces.component.attribute.StyleClassProps

      `getStyleClass`

- - ### Field Detail

    - #### COMPONENT_TYPE

          public static final String COMPONENT_TYPE

      See Also:
        Constant Field Values

    - #### COMPONENT_FAMILY

          public static final String COMPONENT_FAMILY

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### UIPanelMenuGroup

          public UIPanelMenuGroup()

  - ### Method Detail

    - #### getFamily

          public String getFamily()

      Overrides:
        `getFamily` in class `AbstractPanelMenuGroup`

    - #### getEventNames

          public Collection<String> getEventNames()

      Specified by:
        `getEventNames` in interface `javax.faces.component.behavior.ClientBehaviorHolder`
      Overrides:
        `getEventNames` in class `javax.faces.component.UIComponentBase`

    - #### getDefaultEventName

          public String getDefaultEventName()

      Specified by:
        `getDefaultEventName` in interface `javax.faces.component.behavior.ClientBehaviorHolder`
      Overrides:
        `getDefaultEventName` in class `javax.faces.component.UIComponentBase`

    - #### isBypassUpdates

          public boolean isBypassUpdates()

      Description copied from interface: `BypassProps`
      If "true", after process validations phase it skips updates of model beans on a force render response. It can be used for validating components input.
      Specified by:
        `isBypassUpdates` in interface `BypassProps`

    - #### setBypassUpdates

          public void setBypassUpdates(boolean bypassUpdates)

    - #### getCollapseEvent

          public String getCollapseEvent()

      Description copied from class: `AbstractPanelMenuGroup`
      The mouse event used for collapsing.
      Specified by:
        `getCollapseEvent` in class `AbstractPanelMenuGroup`

    - #### setCollapseEvent

          public void setCollapseEvent(String collapseEvent)

    - #### getData

          public Object getData()

      Description copied from interface: `AjaxActivatorProps`
      Serialized (on default with JSON) data passed to the client by a developer on an AJAX request. It's accessible via "event.data" syntax. Both primitive types and complex types such as arrays and collections can be serialized and used with data
      Specified by:
        `getData` in interface `AjaxActivatorProps`

    - #### setData

          public void setData(Object data)

    - #### isDisabled

          public boolean isDisabled()

      Description copied from interface: `DisabledProps`
      Flag indicating that this element must never receive focus or be included in a subsequent submit.
      Specified by:
        `isDisabled` in interface `DisabledProps`

    - #### setDisabled

          public void setDisabled(boolean disabled)

    - #### getExpandEvent

          public String getExpandEvent()

      Description copied from class: `AbstractPanelMenuGroup`
      The mouse event used for expansion.
      Specified by:
        `getExpandEvent` in class `AbstractPanelMenuGroup`

    - #### setExpandEvent

          public void setExpandEvent(String expandEvent)

    - #### getHoverClass

          public String getHoverClass()

      Description copied from class: `AbstractPanelMenuGroup`
      Space-separated list of CSS style class(es) to be applied to the panel menu group when it is hovered.
      Specified by:
        `getHoverClass` in class `AbstractPanelMenuGroup`

    - #### setHoverClass

          public void setHoverClass(String hoverClass)

    - #### getLabel

          public String getLabel()

      Description copied from class: `AbstractPanelMenuItem`
      A localized user presentable name for this component.
      Specified by:
        `getLabel` in class `AbstractPanelMenuItem`

    - #### setLabel

          public void setLabel(String label)

    - #### getLeftIcon

          public String getLeftIcon()

      Description copied from class: `AbstractPanelMenuItem`
      The icon displayed on the left of the menu item label
      Specified by:
        `getLeftIcon` in class `AbstractPanelMenuGroup`

    - #### setLeftIcon

          public void setLeftIcon(String leftIcon)

      Overrides:
        `setLeftIcon` in class `AbstractPanelMenuItem`

    - #### getLeftIconClass

          public String getLeftIconClass()

      Description copied from class: `AbstractPanelMenuGroup`
      Space-separated list of CSS style class(es) to be applied to the left icon of the panel menu group.
      Specified by:
        `getLeftIconClass` in class `AbstractPanelMenuGroup`

    - #### setLeftIconClass

          public void setLeftIconClass(String leftIconClass)

    - #### isLimitRender

          public boolean isLimitRender()

      Description copied from interface: `AjaxActivatorProps`
      If "true", render only those ids specified in the "render" attribute, forgoing the render of the auto-rendered panels
      Specified by:
        `isLimitRender` in interface `AjaxActivatorProps`

    - #### setLimitRender

          public void setLimitRender(boolean limitRender)

    - #### getMode

          public PanelMenuMode getMode()

      Description copied from class: `AbstractPanelMenuGroup`
      Mode used for expanding/collapsing of this group: default value is inherited from panelMenu
      Specified by:
        `getMode` in class `AbstractPanelMenuGroup`

    - #### setMode

          public void setMode(PanelMenuMode mode)

    - #### getOnbeforecollapse

          public String getOnbeforecollapse()

      Description copied from class: `AbstractPanelMenuGroup`
      The client-side script method to be called before the menu group is collapsed
      Specified by:
        `getOnbeforecollapse` in class `AbstractPanelMenuGroup`

    - #### setOnbeforecollapse

          public void setOnbeforecollapse(String onbeforecollapse)

    - #### getOnbeforedomupdate

          public String getOnbeforedomupdate()

      Description copied from interface: `AjaxActivatorProps`
      The client-side script method to be called after the ajax response comes back, but before the DOM is updated
      Specified by:
        `getOnbeforedomupdate` in interface `AjaxActivatorProps`

    - #### setOnbeforedomupdate

          public void setOnbeforedomupdate(String onbeforedomupdate)

    - #### getOnbeforeexpand

          public String getOnbeforeexpand()

      Description copied from class: `AbstractPanelMenuGroup`
      The client-side script method to be called before the menu group is expanded
      Specified by:
        `getOnbeforeexpand` in class `AbstractPanelMenuGroup`

    - #### setOnbeforeexpand

          public void setOnbeforeexpand(String onbeforeexpand)

    - #### getOnbeforeselect

          public String getOnbeforeselect()

      Description copied from class: `AbstractPanelMenuGroup`
      The client-side script method to be called before the menu group is selected
      Specified by:
        `getOnbeforeselect` in class `AbstractPanelMenuGroup`

    - #### setOnbeforeselect

          public void setOnbeforeselect(String onbeforeselect)

    - #### getOnbeforeswitch

          public String getOnbeforeswitch()

      Description copied from class: `AbstractPanelMenuGroup`
      The client-side script method to be called before the menu group is switched (toggled)
      Specified by:
        `getOnbeforeswitch` in class `AbstractPanelMenuGroup`

    - #### setOnbeforeswitch

          public void setOnbeforeswitch(String onbeforeswitch)

    - #### getOnbegin

          public String getOnbegin()

      Description copied from interface: `AjaxProps`
      The client-side script method to be called before an ajax request.
      Specified by:
        `getOnbegin` in interface `AjaxProps`

    - #### setOnbegin

          public void setOnbegin(String onbegin)

    - #### getOnclick

          public String getOnclick()

      Description copied from interface: `EventsMouseProps`
      Javascript code executed when a pointer button is clicked over this element.
      Specified by:
        `getOnclick` in interface `EventsMouseProps`

    - #### setOnclick

          public void setOnclick(String onclick)

    - #### getOncollapse

          public String getOncollapse()

      Description copied from class: `AbstractPanelMenuGroup`
      The client-side script method to be called after the menu group is collapsed
      Specified by:
        `getOncollapse` in class `AbstractPanelMenuGroup`

    - #### setOncollapse

          public void setOncollapse(String oncollapse)

    - #### getOncomplete

          public String getOncomplete()

      Description copied from interface: `AjaxActivatorProps`
      The client-side script method to be called after the DOM is updated
      Specified by:
        `getOncomplete` in interface `AjaxActivatorProps`

    - #### setOncomplete

          public void setOncomplete(String oncomplete)

    - #### getOndblclick

          public String getOndblclick()

      Description copied from interface: `EventsMouseProps`
      Javascript code executed when a pointer button is double clicked over this element.
      Specified by:
        `getOndblclick` in interface `EventsMouseProps`

    - #### setOndblclick

          public void setOndblclick(String ondblclick)

    - #### getOnexpand

          public String getOnexpand()

      Description copied from class: `AbstractPanelMenuGroup`
      The client-side script method to be called after the menu group is expanded
      Specified by:
        `getOnexpand` in class `AbstractPanelMenuGroup`

    - #### setOnexpand

          public void setOnexpand(String onexpand)

    - #### getOnmousedown

          public String getOnmousedown()

      Description copied from interface: `EventsMouseProps`
      Javascript code executed when a pointer button is pressed down over this element.
      Specified by:
        `getOnmousedown` in interface `EventsMouseProps`

    - #### setOnmousedown

          public void setOnmousedown(String onmousedown)

    - #### getOnmousemove

          public String getOnmousemove()

      Description copied from interface: `EventsMouseProps`
      Javascript code executed when a pointer button is moved within this element.
      Specified by:
        `getOnmousemove` in interface `EventsMouseProps`

    - #### setOnmousemove

          public void setOnmousemove(String onmousemove)

    - #### getOnmouseout

          public String getOnmouseout()

      Description copied from interface: `EventsMouseProps`
      Javascript code executed when a pointer button is moved away from this element.
      Specified by:
        `getOnmouseout` in interface `EventsMouseProps`

    - #### setOnmouseout

          public void setOnmouseout(String onmouseout)

    - #### getOnmouseover

          public String getOnmouseover()

      Description copied from interface: `EventsMouseProps`
      Javascript code executed when a pointer button is moved onto this element.
      Specified by:
        `getOnmouseover` in interface `EventsMouseProps`

    - #### setOnmouseover

          public void setOnmouseover(String onmouseover)

    - #### getOnmouseup

          public String getOnmouseup()

      Description copied from interface: `EventsMouseProps`
      Javascript code executed when a pointer button is released over this element.
      Specified by:
        `getOnmouseup` in interface `EventsMouseProps`

    - #### setOnmouseup

          public void setOnmouseup(String onmouseup)

    - #### getOnselect

          public String getOnselect()

      Description copied from class: `AbstractPanelMenuGroup`
      The client-side script method to be called after the menu group is selected
      Specified by:
        `getOnselect` in class `AbstractPanelMenuGroup`

    - #### setOnselect

          public void setOnselect(String onselect)

    - #### getOnswitch

          public String getOnswitch()

      Description copied from class: `AbstractPanelMenuGroup`
      The client-side script method to be called after the menu group is switched (toggled)
      Specified by:
        `getOnswitch` in class `AbstractPanelMenuGroup`

    - #### setOnswitch

          public void setOnswitch(String onswitch)

    - #### getOnunselect

          public String getOnunselect()

      Description copied from class: `AbstractPanelMenuGroup`
      The client-side script method to be called after the menu group is unselected
      Specified by:
        `getOnunselect` in class `AbstractPanelMenuGroup`

    - #### setOnunselect

          public void setOnunselect(String onunselect)

    - #### getRender

          public Object getRender()

      Description copied from interface: `AjaxActivatorProps`
      IDs of components that will participate in the "render" portion of the Request Processing Lifecycle. Can be a single ID, a space or comma separated list of Id's, or an EL Expression evaluating to an array or Collection. Any of the keywords "@this", "@form", "@all", "@none", "@region" may be specified in the identifier list. Some components make use of additional keywords
      Specified by:
        `getRender` in interface `AjaxActivatorProps`

    - #### setRender

          public void setRender(Object render)

    - #### isResetValues

          public boolean isResetValues()

      Description copied from interface: `AjaxActivatorProps`
      If true, indicate that this particular Ajax transaction is a value reset transaction. This will cause resetValue() to be called on any EditableValueHolder instances encountered as a result of this ajax transaction. If not specified, or the value is false, no such indication is made.
      Specified by:
        `isResetValues` in interface `AjaxActivatorProps`

    - #### setResetValues

          public void setResetValues(boolean resetValues)

    - #### getRightIcon

          public String getRightIcon()

      Description copied from class: `AbstractPanelMenuItem`
      The icon displayed on the right of the menu item label
      Specified by:
        `getRightIcon` in class `AbstractPanelMenuGroup`

    - #### setRightIcon

          public void setRightIcon(String rightIcon)

      Overrides:
        `setRightIcon` in class `AbstractPanelMenuItem`

    - #### getRightIconClass

          public String getRightIconClass()

      Description copied from class: `AbstractPanelMenuGroup`
      Space-separated list of CSS style class(es) to be applied to the right icon of the panel menu group.
      Specified by:
        `getRightIconClass` in class `AbstractPanelMenuGroup`

    - #### setRightIconClass

          public void setRightIconClass(String rightIconClass)

    - #### getSelectable

          public Boolean getSelectable()

      Description copied from class: `AbstractPanelMenuGroup`
      Defines whenever the group is selectable.
      Specified by:
        `getSelectable` in class `AbstractPanelMenuGroup`

    - #### setSelectable

          public void setSelectable(Boolean selectable)

    - #### getStatus

          public String getStatus()

      Description copied from interface: `AjaxProps`
      Name of the request status component that will indicate the status of the Ajax request
      Specified by:
        `getStatus` in interface `AjaxProps`

    - #### setStatus

          public void setStatus(String status)

    - #### getStyle

          public String getStyle()

      Description copied from interface: `StyleProps`
      CSS style(s) to be applied when this component is rendered.
      Specified by:
        `getStyle` in interface `StyleProps`

    - #### setStyle

          public void setStyle(String style)

    - #### getUnselectable

          public Boolean getUnselectable()

      Specified by:
        `getUnselectable` in class `AbstractPanelMenuItem`

    - #### setUnselectable

          public void setUnselectable(Boolean unselectable)

Copyright © 2015 JBoss by Red Hat. All Rights Reserved.