© 2005 BEA Systems, Inc.

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 PageDefinitions. 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 prefered 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)

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 copy of a 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 removePlaceable(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, PlaceableInstance placeableInstance)
          Remove a placeable from a page's placeholder.
 PageInstance updatePageInstance(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, PageInstance pageInstance)
          Update the page instance with the new data.
 

Method Detail

addPlaceable

public 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)

getPageInstance

public 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:
an fully populated PageInstance object.
Throws:
RemoteException
See Also:
PageDefinition

getPageView

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

Getter for returning an immutable deep copy of a 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 it this page is placed in
pageInstanceId - the unique pageInstanceId.
Returns:
an immutable deep copy PageView object if one exist, otherwise null.
Throws:
RemoteException

movePlaceable

public 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 paceable.

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

public void removePlaceable(CustomizationContext customizationContext,
                            DesktopDefinitionId desktopDefinitionId,
                            PlaceableInstance placeableInstance)
                     throws RemoteException,
                            ObjectNotFoundException,
                            MissingDataException,
                            NotEntitledException
Remove a placeable from a page's placeholder. This operation will end up deleting the placeable's instance but not the placeables definitions.

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

updatePageInstance

public 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
Throws:
ObjectNotFoundException - if the LocalizationIntersectionId in the LocalizationResource is bogus.
RemoteException
NotEntitledException

© 2005 BEA Systems, Inc.

Copyright © 2005 BEA Systems, Inc. All Rights Reserved