com.bea.netuix.application.manager
Interface IPageInstanceManager

All Known Subinterfaces:
PortalCustomizationManager

public interface IPageInstanceManager

This is the primary interface for performing persistent store operations on PageInstance objects. 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.

Most "Instances" can be thought of as objects tied to a desktop, An Admin has instances derived from the library Definition, and the "end user" has instances derived from the admin instance. Changes made via these APIs require a DesktopDefinitionId and the changes are scoped to that desktop. In other words changes made here do not affect the library or other Desktops. If the "visitorMode" on the customization Context is set the false (default) and the user executing the call is in the "Admin" or "PortalSystemAdministrator" role then these changes take affect at the admin level, and affect ALL users. If the visitorMode is false then the changes only affect the calling user.

See Also
CustomizationContext.setVisitorMode(boolean)
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
 PlaceableInstance addPlaceable(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, PageInstanceId pageInstanceId, PlaceableDefinitionId placeableDefinitionId, PlaceholderDefinitionId placeholderDefinitionId, int position)
          Add a placeable (book or portlet) to a page in a specified location.
 PageInstance getPageInstance(CustomizationContext customizationContext, PageInstanceId pageInstanceId)
          Getter for returning a single PageInstance.
 PageView getPageView(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, PageInstanceId pageInstanceId)
          Getter for returning an immutable deep PageView.
 PageView getPageView(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, String pageDefinitionLabel)
          Getter for returning an immutable deep PageView.
 PageView getShallowPageView(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, PageInstanceId pageInstanceId)
          Getter for returning an immutable shallow PageView.
 PageView getShallowPageView(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, String pageDefinitionLabel)
          Getter for returning an immutable shallow PageView.
 void movePlaceable(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, PlacementId placementId, PageInstanceId toPageInstanceId, PlaceholderDefinitionId placeholderDefinitionId, int position)
          Move a placeable instance from one placeholder to another.
 void movePortlet(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, String pageDefinitionLabel, String portletInstanceLabel, int placeholder, int position)
          Move a portlet on a page.
 void removePlaceable(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, PlaceableInstance placeableInstance)
          Remove a placeable (portlet or book) from a page's placeholder.
 PageInstance updatePageInstance(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, PageInstance pageInstance)
          Update the page instance with the new data.
 

Method Detail

getPageView

PageView getPageView(CustomizationContext customizationContext,
                     DesktopDefinitionId desktopDefinitionId,
                     PageInstanceId pageInstanceId)
                     throws RemoteException

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

Parameters
customizationContext - customization information such as preferred locales and desktopInstanceId returned.
desktopDefinitionId - the desktop definition this page is placed in
pageInstanceId - the unique pageInstanceId.
Returns
an immutable deep PageView object if one exists, otherwise null.
Throws
RemoteException

getPageView

PageView getPageView(CustomizationContext customizationContext,
                     DesktopDefinitionId desktopDefinitionId,
                     String pageDefinitionLabel)
                     throws RemoteException

Getter for returning an immutable deep PageView. This method is very similiar to the other getPageView() method, however it does not require knowledge of the pageInstanceId. The correct page instance is returned via the desktop definition id, the page definition label and the visitor mode on the customization context. If visitor mode is set to false the default desktop view will be returned

Parameters
customizationContext - customization information: information used here is VistorMode, username and locale.
desktopDefinitionId - the desktop definition this page is placed in
pageDefinitionLabel - definition label of the page.
Throws
RemoteException

getShallowPageView

PageView getShallowPageView(CustomizationContext customizationContext,
                            DesktopDefinitionId desktopDefinitionId,
                            PageInstanceId pageInstanceId)
                            throws RemoteException

Getter for returning an immutable shallow PageView. The returned view object will be shallow in the sense that it will have no child book or portlet view arrays. However, you can lazily retrieve those by calling the paginated PageView.getPagedPlaceables method.

Parameters
customizationContext - customization information such as preferred locales and desktopInstanceId returned.
desktopDefinitionId - the desktop definition this page is placed in
pageInstanceId - the unique pageInstanceId.
Returns
an immutable shallow PageView object if one exists, otherwise null.
Throws
RemoteException

getShallowPageView

PageView getShallowPageView(CustomizationContext customizationContext,
                            DesktopDefinitionId desktopDefinitionId,
                            String pageDefinitionLabel)
                            throws RemoteException

Getter for returning an immutable shallow PageView. This method is very similiar to the other getShallowPageView() method, however it does not require knowledge of the pageInstanceId. The correct page instance is returned via the desktop definition id, the page definition label and the visitor mode on the customization context. If visitor mode is set to false the default desktop view will be returned

Parameters
customizationContext - customization information: information used here is VistorMode, username and locale.
desktopDefinitionId - the desktop definition this page is placed in
pageDefinitionLabel - definition label of the page.
Throws
RemoteException

getPageInstance

PageInstance getPageInstance(CustomizationContext customizationContext,
                             PageInstanceId pageInstanceId)
                             throws RemoteException

Getter for returning a single PageInstance.

Parameters
customizationContext - customization information such as preferred locales and desktopInstanceId returned.
Returns
a fully populated PageInstance object.
Throws
RemoteException
See Also
PageDefinition

updatePageInstance

PageInstance updatePageInstance(CustomizationContext customizationContext,
                                DesktopDefinitionId desktopDefinitionId,
                                PageInstance pageInstance)
                                throws RemoteException,
                                       ObjectNotFoundException,
                                       NotEntitledException

Update the page instance with the new data.

Parameters
desktopDefinitionId - the desktop this instance is associated with
pageInstance - the page definition containing the new data
Returns
a fully populated page instance.
Throws
ObjectNotFoundException - if the LocalizationIntersectionId in the LocalizationResource is bogus.
RemoteException
NotEntitledException

addPlaceable

PlaceableInstance addPlaceable(CustomizationContext customizationContext,
                               DesktopDefinitionId desktopDefinitionId,
                               PageInstanceId pageInstanceId,
                               PlaceableDefinitionId placeableDefinitionId,
                               PlaceholderDefinitionId placeholderDefinitionId,
                               int position)
                               throws RemoteException,
                                      ObjectNotFoundException,
                                      MissingDataException,
                                      NotEntitledException,
                                      IllegalDependencyException
Add a placeable (book or portlet) to a page in a specified location. This will create a new placeable instance.

Parameters
customizationContext - customization information such as preferred locales.
desktopDefinitionId - context of the desktop to which this applies
pageInstanceId - the page instance id of the page to add the placeable.
placeableDefinitionId - the abstract definition id of the placeable
placeholderDefinitionId - the placehoder to place this placeable in.
position - the position in the placeholder to insert the placeholder.
Returns
a fully populated placeable instance. This will be of a more concrete type depending on the placeable definition supplied.
Throws
ObjectNotFoundException - if the PageDefinitionId or the PlaceholderDefinition Id are bogus
IllegalDependencyException - adding the Placeable to the PageInstance would cause a recursive dependancy
MissingDataException - the placeableDefinition is missing some vital data.
NotEntitledException - the caller is not entitled to perform this action
RemoteException
See Also
CustomizationContext.setVisitorMode(boolean)

movePlaceable

void movePlaceable(CustomizationContext customizationContext,
                   DesktopDefinitionId desktopDefinitionId,
                   PlacementId placementId,
                   PageInstanceId toPageInstanceId,
                   PlaceholderDefinitionId placeholderDefinitionId,
                   int position)
                   throws RemoteException,
                          ObjectNotFoundException,
                          NotEntitledException,
                          IllegalDependencyException
Move a placeable instance from one placeholder to another. This method is useful for preserving the instance of the placeable.

Parameters
customizationContext - customization information such as preferred locales.
desktopDefinitionId - context of the desktop to which this applies
placementId - the placement id of the placeables current placement within the page
toPageInstanceId - the id of the page to move the placeable to.
placeholderDefinitionId - the new placehoder to place this placeable in.
position - the position in the placeholder to insert the placeholder.
Throws
ObjectNotFoundException - if the PageDefinitionId or the PlaceholderDefinition Id are bogus
NotEntitledException - the caller is not entitled to perform this action
RemoteException
IllegalDependencyException

removePlaceable

void removePlaceable(CustomizationContext customizationContext,
                     DesktopDefinitionId desktopDefinitionId,
                     PlaceableInstance placeableInstance)
                     throws RemoteException,
                            ObjectNotFoundException,
                            MissingDataException,
                            NotEntitledException

Remove a placeable (portlet or book) from a page's placeholder. This operation will end up deleting the placeable's instance but not the placeable's definitions.

Note: be careful calling this method with CustomizationContext.setVisitorMode(false/true) . If the placeable was not obtained from the correct view. In other words, if a visitor is looking at their desktop and want to remove a placeable and has permission to setVisitorMode(false) the placeable may not be on the adminís view and hence you will get an ObjectNotFoundException

Parameters
customizationContext - customization information such as preferred locales.
desktopDefinitionId - context of the desktop to which this applies
placeableInstance - the instance to be removed
Throws
ObjectNotFoundException - If the padeDefinitionId or the placeableInstanceId are bogus definition is in use by other instance.
NotEntitledException - the caller is not entitled to perform this action
RemoteException
MissingDataException

movePortlet

void movePortlet(CustomizationContext customizationContext,
                 DesktopDefinitionId desktopDefinitionId,
                 String pageDefinitionLabel,
                 String portletInstanceLabel,
                 int placeholder,
                 int position)
                 throws RemoteException,
                        ObjectNotFoundException,
                        NotEntitledException,
                        IllegalDependencyException
Move a portlet on a page. This method is similar to movePlaceable but takes a different set of arguments (no database Ids) and only work for portlets.

Parameters
customizationContext - customization information such as preferred locales.
desktopDefinitionId - context of the desktop to which this applies
pageDefinitionLabel - the definition label of the parent page
portletInstanceLabel - the instance label of the portlet to move
placeholder - the nth layout location in the layout (0..n)
position - the position within the placeholder
Throws
ObjectNotFoundException - one ore more of the parameters passed in could not be tied to an object.
NotEntitledException - the caller is not entitled to perform this action
RemoteException
IllegalDependencyException


Copyright © 2011, Oracle. All rights reserved.