com.bea.netuix.application.manager
Interface IMenuDefinitionManager

All Known Subinterfaces:
BookDefinitionManager

public interface IMenuDefinitionManager

This is the primary interface for performing persistent store operations on MenuDefinitions. In general this interface provides coarse grain getters and fine grain setters.

It is important to note that all methods on this interface are fully internationalized and entitled. All titles and descriptions on the objects returned by these methods are internationalized to the preferred locale. Also, all methods are entitled, meaning if the caller does not have the required credentials the method may return a subset of the actual list or be unable to perform the specified function.

"Definitions" can be thought of as objects in the library. Objects in the library are not associated to any one Desktop. In other words definitions can be placed on zero or more desktops and changes made in the library (to the definitions) are cascaded down to object on the desktops. If you are only interested in affecting a single desktop then use the PortalCustomizationManager and make changes to the "Instances".

This interface is intended to be implemented only by Oracle Weblogic Portal. Oracle Systems reserves the right to add abstract methods to this interface without notice. Implementations of this interface by other parties must not be expected to compile without change in future versions of Oracle Weblogic Portal.

Method Summary
 MenuDefinition createMenuDefinition(CustomizationContext customizationContext, MenuDefinition menuDefinition)
          Creates a new MenuView Definition with its placeholders.
 void deleteMenuDefinition(CustomizationContext customizationContext, MenuDefinitionId menuDefinitionId)
          Delete a menu definition.
 void deleteMenuDefinitionWithReplacement(CustomizationContext customizationContext, MenuDefinitionId deleteMenuDefinitionId, MenuDefinitionId replacementMenuDefinitionId)
          Delete a menu definition and replace any uses of that menu with a replacement menu.
 MenuDefinition getMenuDefinition(CustomizationContext customizationContext, MenuDefinitionId menuDefinitionId)
          Getter for returning a single MenuDefinition object given a supplied menu definition identifier.
 MenuDefinition getMenuDefinitionFromFile(CustomizationContext customizationContext, String menuFileName, String webAppName)
          Getter for returning a single MenuDefinition object given a supplied menu definition identifier.
 MenuDefinitionId getMenuDefinitionId(CustomizationContext customizationContext, String markupName, String webAppName)
          Getter for returning a single MenuDefinitionId object given a supplied menu markup name.
 MenuDefinition[] getMenuDefinitions(CustomizationContext customizationContext, String webapp)
          Getter for returning a list of all MenuDefinitions scoped to the supplied webapp.
 MenuDefinition[] getMenuDefinitions(CustomizationContext customizationContext, String webapp, MenuDefinitionId firstMenuDefinitionId, int limit)
          Returns MenuDefinitions in definitionId order (create order), starting with the supplied definitionId and limiting the result set to size limit If fewer MenuDefinitions exist than limit, then a smaller result set will be returned.
 SortableFilterablePagedResult<MenuDefinition> getMenuDefinitions(CustomizationContext customizationContext, WebAppSearchCriteria searchCriteria, int pageSize)
          Get all the menu definitions for the webapp as a paged object.
 MenuView getMenuView(CustomizationContext customizationContext, MenuDefinitionId menuDefinitionId)
          Getter for returning an immutable deep MenuView.
 SortableFilterablePagedResult<LocalizationResourceView> getVisibleMenuLocalizationResources(CustomizationContext customizationContext, WebAppSearchCriteria criteria, int pageSize)
          Retrieve the LocalizationResourceViews for all visible menus for a given locale and webapp.
 void updateMenuDefinition(CustomizationContext customizationContext, MenuDefinition menuDefinition)
          Update the menu definition with the new data.
 

Method Detail

getMenuView

MenuView getMenuView(CustomizationContext customizationContext,
                     MenuDefinitionId menuDefinitionId)
                     throws RemoteException

Getter for returning an immutable deep MenuView. The MenuView object, unlike the MenuDefinition or the MenuInstance objects contains a full set of references to all child pages, menus and so on. The MenuView object, however is immutable.

Parameters
customizationContext - customization information such as preferred locales and desktopInstanceId
menuDefinitionId - the unique menuDefinitionId.
Returns
an immutable deep MenuView object if one exists, otherwise null.
Throws
RemoteException

getMenuDefinitions

MenuDefinition[] getMenuDefinitions(CustomizationContext customizationContext,
                                    String webapp)
                                    throws RemoteException

Getter for returning a list of all MenuDefinitions scoped to the supplied webapp.

Parameters
customizationContext - customization information such as preferred locales and desktopInstanceId
webapp - the web application these menu definitions are scoped to.
Returns
an array of MenuDefinition objects if they exist, otherwise, an empty array.
Throws
RemoteException
See Also
MenuDefinition

getMenuDefinitions

MenuDefinition[] getMenuDefinitions(CustomizationContext customizationContext,
                                    String webapp,
                                    MenuDefinitionId firstMenuDefinitionId,
                                    int limit)
                                    throws RemoteException

Returns MenuDefinitions in definitionId order (create order), starting with the supplied definitionId and limiting the result set to size limit If fewer MenuDefinitions exist than limit, then a smaller result set will be returned. If no definitions are found an empty array is returned. To start at the beginning of the list specify null as the menuDefinitionId. To retrieve from the end of the list and back specify null as the menuDefinitionId and a negative limit. To retrieve all the menuDefinitions in the database supply a limit of 0.
The implmentation has to ensure that repeated calls to this method return MenuDefinitions in a consistent order.

Parameters
customizationContext - customization information such as preferred locales.
webapp - the web application these menu definitions are scoped to.
firstMenuDefinitionId - optional parameter to indicate where the list should start.
limit - the maximum result set size. Note the limit may be negative indicating a reverse sort order. To retrieve all the records specify a limit of zero. Note: some elements may be pruned because of entitlements.
Returns
array of MenuDefinitions no greater than limit in size.
Throws
RemoteException

getMenuDefinition

MenuDefinition getMenuDefinition(CustomizationContext customizationContext,
                                 MenuDefinitionId menuDefinitionId)
                                 throws RemoteException

Getter for returning a single MenuDefinition object given a supplied menu definition identifier.

Parameters
customizationContext - customization information such as preferred locales and desktopInstanceId
menuDefinitionId - the unique menu definition identifier.
Returns
a MenuDefinition object fully populated and internationalized, otherwise, null>/code> if the object does not exist.
Throws
RemoteException
See Also
MenuDefinition

getMenuDefinitionFromFile

MenuDefinition getMenuDefinitionFromFile(CustomizationContext customizationContext,
                                         String menuFileName,
                                         String webAppName)
                                         throws RemoteException

Getter for returning a single MenuDefinition object given a supplied menu definition identifier.

Parameters
customizationContext - customization information such as preferred locales and desktopInstanceId
menuFileName - the name of the .menu file
webAppName - the name of the webapp as defined in the config.xml
Returns
a MenuDefinition object fully populated and internationalized, otherwise, null if the object does not exist.
Throws
RemoteException
See Also
MenuDefinition

createMenuDefinition

MenuDefinition createMenuDefinition(CustomizationContext customizationContext,
                                    MenuDefinition menuDefinition)
                                    throws RemoteException,
                                           MissingDataException,
                                           NotEntitledException
Creates a new MenuView Definition with its placeholders.

Parameters
customizationContext - customization information such as preferred locales and desktopInstanceId
menuDefinition - the menu data and associated placeholders
Returns
a fully populated MenuDefinition
Throws
MissingDataException - the menuDefinition supplied as an argument is missing some vital data.
NotEntitledException - the caller is not entitled to create a new menu.
RemoteException

updateMenuDefinition

void updateMenuDefinition(CustomizationContext customizationContext,
                          MenuDefinition menuDefinition)
                          throws RemoteException,
                                 ObjectNotFoundException,
                                 NotEntitledException

Update the menu definition with the new data.

Parameters
customizationContext - customization information such as preferred locales and desktopInstanceId
menuDefinition - the menu definition containing the new data
Throws
ObjectNotFoundException - if the LocalizationIntersectionId in the LocalizationResource is bogus.
RemoteException
NotEntitledException

deleteMenuDefinition

void deleteMenuDefinition(CustomizationContext customizationContext,
                          MenuDefinitionId menuDefinitionId)
                          throws RemoteException,
                                 ObjectNotFoundException,
                                 ObjectInUseException,
                                 NotEntitledException

Delete a menu definition.

Parameters
customizationContext - customization information such as preferred locales and desktopInstanceId
menuDefinitionId - the id of the menu definition to delete.
Throws
ObjectNotFoundException - if the menuDefinitionId is bogus
ObjectInUseException - if page instances are currently using this menu
NotEntitledException - the caller is not entitled to perform this operation.
RemoteException
See Also
deleteMenuDefinitionWithReplacement(com.bea.netuix.application.manager.CustomizationContext, com.bea.netuix.application.identifier.MenuDefinitionId, com.bea.netuix.application.identifier.MenuDefinitionId)

deleteMenuDefinitionWithReplacement

void deleteMenuDefinitionWithReplacement(CustomizationContext customizationContext,
                                         MenuDefinitionId deleteMenuDefinitionId,
                                         MenuDefinitionId replacementMenuDefinitionId)
                                         throws RemoteException,
                                                ObjectNotFoundException,
                                                NotEntitledException

Delete a menu definition and replace any uses of that menu with a replacement menu. This method is useful for deleting a menu that is in use by book instances without having to delete those book instances.

Parameters
customizationContext - customization information such as preferred locales and desktopInstanceId
deleteMenuDefinitionId - the id of the menu definition to delete.
replacementMenuDefinitionId - the id of the replacement menu
Throws
ObjectNotFoundException - if either of the menuDefinitionIds are bogus
NotEntitledException - the caller is not entitled to perform this operation.
RemoteException
See Also
deleteMenuDefinition(com.bea.netuix.application.manager.CustomizationContext, com.bea.netuix.application.identifier.MenuDefinitionId)

getMenuDefinitionId

MenuDefinitionId getMenuDefinitionId(CustomizationContext customizationContext,
                                     String markupName,
                                     String webAppName)
                                     throws RemoteException

Getter for returning a single MenuDefinitionId object given a supplied menu markup name.

Parameters
customizationContext - customization information such as preferred locales and desktopInstanceId
markupName - the markup name attribute supplied on the tag,
webAppName - as defined in the config.xml
Returns
menuDefinitionId the unique menu definition identifier or null if none exist.
Throws
RemoteException

getVisibleMenuLocalizationResources

SortableFilterablePagedResult<LocalizationResourceView> getVisibleMenuLocalizationResources(CustomizationContext customizationContext,
                                                                                            WebAppSearchCriteria criteria,
                                                                                            int pageSize)
                                                                                            throws RemoteException
Retrieve the LocalizationResourceViews for all visible menus for a given locale and webapp. The returned PagedResult is sortable and filterable on the field "TITLE", and supports these filter methods:
  • FilterMethod.UNFILTERED
  • FilterMethod.BEGINS_WITH
  • FilterMethod.ENDS_WITH
  • FilterMethod.CONTAINS
  • FilterMethod.EQUALS
However, the reSort and reFilter methods on the returned PagedResult ignore their locale arguments. If you want to requery with a different locale, you should call this method again after setting the desired locale in the CustomizationContext.

Parameters
customizationContext - - a customization context with a request and locale defined. Only the first locale is used.
criteria - - specifies the name of the web application where the requested resources live
pageSize - - number of results to retrieve per page
Returns
a SortableFilterablePagedResult of visible Menu LocalizationResources
Throws
RemoteException

getMenuDefinitions

SortableFilterablePagedResult<MenuDefinition> getMenuDefinitions(CustomizationContext customizationContext,
                                                                 WebAppSearchCriteria searchCriteria,
                                                                 int pageSize)
                                                                 throws RemoteException
Get all the menu definitions for the webapp as a paged object.

The returned PagedResult is sortable and filterable on the field "TITLE", and supports these filter methods:

  • FilterMethod.UNFILTERED
  • FilterMethod.BEGINS_WITH
  • FilterMethod.ENDS_WITH
  • FilterMethod.CONTAINS
  • FilterMethod.EQUALS
However, the reSort and reFilter methods on the returned PagedResult ignore their locale arguments. If you want to requery with a different locale, you should call this method again after setting the desired locale in the CustomizationContext.

Parameters
customizationContext - customization information such as preferred locales and http request.
searchCriteria - used to specify the webapp
pageSize - the number of item per page in the result.
Throws
RemoteException


Copyright © 2000, 2008, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.