# com.bea.netuix.application.view
MenuView Interface

public interface MenuView
extends `MarkupBasedView`

"Views" are deep copy immutable objects. Unlike "Definitions" and "Instances" Views cannot be modified by the developer. A Instance or a Definition however can always be obtained from the view. The persistence APIs provides course grain and fine grain getters but only fine grain setters. If you are interested in an object and all its children then retrieve the View, if you are only interested in the immediate object and don't care about its children then retrieve the Definition.

View class for a menu. A Menu is an optional component on a book and is responsible for rendering a set of "tabs" or other navigation component to navigate across the book's pages. Menus are optional because page change events can be triggered by other means. namely: links, trees or backing files...

Menus are typically create via .menu files but can be create via the API directly.

Related Topics

``View``

All Superinterfaces
  `MarkupBasedView`, `Serializable`, `View`

## Method Summary

`public `LocalizationResourceView`` | `getLocalizationResourceView`() The Localization resource contains the localized title and description for this menu.
`public `MenuDefinition`` | `getMenuDefinition`() Retrieve the associated `MenuDefinition` from this Menu View.
`public `MenuDefinitionId`` | `getMenuDefinitionId`() Getter for menu definition id.
`public `String`` | `getMenuFile`() Retrieve the file name used to create this menu.
`public `String`` | `getWebAppName`() Return the name of the webapp that this menu is associated with.
`public boolean` | `isDeleted`() If isDeleted is true then the menu has been removed from the file system.

Methods from interface `com.bea.netuix.application.view.`MarkupBasedView``
``getMarkupView``

Methods from interface `com.bea.netuix.application.view.`View``
``getDescription`, `getTitle``

## Method Detail

### getLocalizationResourceView() Method

    public LocalizationResourceView getLocalizationResourceView()

The Localization resource contains the localized title and description for this menu.

#### Returns

a non null LocalizationResourceView customized per the request.

### getMenuDefinition() Method

    public MenuDefinition getMenuDefinition()

Retrieve the associated `MenuDefinition` from this Menu View. Menu Views are immutable but Menu Definitions are not. Therefore it is often necessary to retrieve the definition from the view in order to update its values and then in turn call the persistence API. The Menu Definition is constructed (in the database) and updated via its .menu file. If you create a new .menu file then a new Menu Definition is created in the database. If you edit the file the changes are automatically seen in the database. (during dev time we poll the file system and in production we update the database whenever the webapp is redeployed.

#### Returns

a non null Menu Definition

### getMenuDefinitionId() Method

    public MenuDefinitionId getMenuDefinitionId()

Getter for menu definition id. The menu id is the primary key value for the menu definition in the PF_MENU_DEFINITION table. Unlike Book Pages and Portlets, Menus do not have instances. The admin or end user can still change his or her menu but they are customizing the book not the menu.

#### Returns

a non null unique definition id. This value should never be null as views are constructed via the persistence API.

### getMenuFile() Method

    public String getMenuFile()

Retrieve the file name used to create this menu. Menus are created via .menu files

#### Returns

the file name associated with this menu.

### getWebAppName() Method

    public String getWebAppName()

Return the name of the webapp that this menu is associated with. All resources in the portal framework database are scoped to the webapp.

#### Returns

a non null webapp name.

### isDeleted() Method

    public boolean isDeleted()

If isDeleted is true then the menu has been removed from the file system. It was not out right deleted from the database because it is in use by some desktop somewhere in the system. Either restore the file and this flag will go back to false or remove/replace this menu via the admin tools.

If this flag is set on an object the admin tools will display the object with a different icon to denote that it has been removed from the file system.

#### Returns

true if this file hase been deleted from the files system.