© 2003 BEA Systems, Inc.

com.bea.netuix.application.manager
Interface IPageDefinitionManager

All Known Subinterfaces:
PageDefinitionManager
All Known Implementing Classes:
PageDefinitionManagerImpl

public interface IPageDefinitionManager

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.


Method Summary
 PlaceableInstance addPlaceable(CustomizationContext customizationContext, PageDefinitionId pageDefinitionId, PlaceableDefinitionId placeableDefinitionId, PlaceholderDefinitionId placeholderDefinitionId, int position)
          Create a new instance of a placeable (PortletView or BookView) by placing the definition in a placeholder.
 PageDefinition createPageDefinition(CustomizationContext customizationContext, PageDefinition pageDefinition)
          Create a new page definition.
 void deletePageDefinition(CustomizationContext customizationContext, PageDefinitionId pageDefinitionId)
          Delete a page definition, but only if it is not used byt other page instances.
 void deletePageDefinitionWithCascade(CustomizationContext customizationContext, PageDefinitionId pageDefinitionId)
          Delete a page definition and all page instances associated with this definition.
 void deletePageDefinitionWithReplacement(CustomizationContext customizationContext, PageDefinitionId deletePageDefinitionId, PageDefinitionId replacementPageDefinitionId)
          Delete an existing page definition and if it is in use replace it's use with the supplied page defintion.
 PageDefinition getPageDefinition(CustomizationContext customizationContext, PageDefinitionId pageDefinitionId)
          Getter for returning a single PageDefinition object given a supplied page definition identifier.
 PageDefinition getPageDefinition(CustomizationContext customizationContext, String pageDefinitionLabel, String webAppName)
          Getter for returning a single PageDefinition object given a supplied page definition label.
 PageDefinition[] getPageDefinitions(CustomizationContext customizationContext, String webapp)
          Getter for returning a list of all PageDefinitions scoped to the supplied webapp.
 PageView getPageView(CustomizationContext customizationContext, PageDefinitionId pageDefinitionId)
          Getter for returning an immutable deep copy of a PageView.
 Placement getPlacement(CustomizationContext customizationContext, PlacementId placementId)
          Returns a Placement given a placementId.
 PageDefinition[] getPublicPageDefinitions(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId)
          Getter for returning a list of all PageDefinitions marked as public and scoped scoped to the supplied webapp and not currently on the callers desktop.
 PageDefinition[] getPublicPageDefinitions(CustomizationContext customizationContext, String webapp)
          Getter for returning a list of all PageDefinitions marked as public and scoped scoped to the supplied webapp.
 PageDefinition[] getPublicPageDefinitions(CustomizationContext customizationContext, String webapp, BookDefinitionId bookDefinitionId)
          Getter for returning a list of all PageDefinitions marked as public and scoped scoped to the supplied webapp and not currently on the the supplied book
 Placement movePlaceable(CustomizationContext customizationContext, PlacementId placementId, PlaceholderDefinitionId placeholderDefinitionId, int position)
          Move a placeable (book or portlet) definition from one placeholder to another.
 void removePlaceable(CustomizationContext customizationContext, PlacementId placementId)
          Remove a placeable from a page's placeholder.
 void updatePageDefinition(CustomizationContext customizationContext, PageDefinition pageDefinition)
          Update the page definition with the new data.
 

Method Detail

getPageView

public PageView getPageView(CustomizationContext customizationContext,
                            PageDefinitionId pageDefinitionId)
                     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 prefered locales and desktopInstanceId returned.
pageDefinitionId - the unique pageDefinitionId.
Returns:
an immutable deep copy PageView object if one exist, otherwise null.
RemoteException

getPageDefinitions

public PageDefinition[] getPageDefinitions(CustomizationContext customizationContext,
                                           String webapp)
                                    throws RemoteException

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

Parameters:
customizationContext - customization information such as prefered locales and desktopInstanceId returned.
webapp - the web application these page definitions are scoped to.
Returns:
an array of PageDefinition objects if they exist, otherwise, an empty array.
RemoteException
See Also:
PageDefinition

getPublicPageDefinitions

public PageDefinition[] getPublicPageDefinitions(CustomizationContext customizationContext,
                                                 String webapp)
                                          throws RemoteException

Getter for returning a list of all PageDefinitions marked as public and scoped scoped to the supplied webapp.

Parameters:
customizationContext - customization information such as prefered locales and desktopInstanceId returned.
webapp - the web application these page definitions are scoped to.
Returns:
an array of PageDefinition objects if they exist, otherwise, an empty array.
RemoteException
See Also:
PageDefinition

getPublicPageDefinitions

public PageDefinition[] getPublicPageDefinitions(CustomizationContext customizationContext,
                                                 DesktopDefinitionId desktopDefinitionId)
                                          throws RemoteException

Getter for returning a list of all PageDefinitions marked as public and scoped scoped to the supplied webapp and not currently on the callers desktop.

Parameters:
customizationContext - customization information such as prefered locales and desktopInstanceId returned.
desktopDefinitionId - you wish to add any of these book definitions to.
Returns:
an array of PageDefinition objects if they exist, otherwise, an empty array.
RemoteException
See Also:
PageDefinition

getPublicPageDefinitions

public PageDefinition[] getPublicPageDefinitions(CustomizationContext customizationContext,
                                                 String webapp,
                                                 BookDefinitionId bookDefinitionId)
                                          throws RemoteException

Getter for returning a list of all PageDefinitions marked as public and scoped scoped to the supplied webapp and not currently on the the supplied book

Parameters:
customizationContext - customization information such as prefered locales and desktopInstanceId returned.
webapp - the web application these page definitions are scoped to.
bookDefinitionId - you wish to add any of these book definitions to.
Returns:
an array of PageDefinition objects if they exist, otherwise, an empty array.
RemoteException
See Also:
PageDefinition

getPageDefinition

public PageDefinition getPageDefinition(CustomizationContext customizationContext,
                                        PageDefinitionId pageDefinitionId)
                                 throws RemoteException

Getter for returning a single PageDefinition object given a supplied page definition identifier.

Parameters:
customizationContext - customization information such as prefered locales and desktopInstanceId returned.
pageDefinitionId - the unique page definition identifier.
Returns:
a PageDefinition object fully populated and internationalized, otherwise, null>/code> if the object does not exist.
RemoteException

getPageDefinition

public PageDefinition getPageDefinition(CustomizationContext customizationContext,
                                        String pageDefinitionLabel,
                                        String webAppName)
                                 throws RemoteException

Getter for returning a single PageDefinition object given a supplied page definition label.

Parameters:
customizationContext - customization information such as prefered locales and desktopInstanceId returned.
pageDefinitionLabel - the unique page definition label.
webAppName - the webapp this page is scoped to.
Returns:
a PageDefinition object fully populated and internationalized, otherwise, null>/code> if the object does not exist.
RemoteException

deletePageDefinition

public void deletePageDefinition(CustomizationContext customizationContext,
                                 PageDefinitionId pageDefinitionId)
                          throws RemoteException,
                                 ObjectNotFoundException,
                                 ObjectInUseException,
                                 NotEntitledException

Delete a page definition, but only if it is not used byt other page instances.

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

deletePageDefinitionWithReplacement

public void deletePageDefinitionWithReplacement(CustomizationContext customizationContext,
                                                PageDefinitionId deletePageDefinitionId,
                                                PageDefinitionId replacementPageDefinitionId)
                                         throws RemoteException,
                                                ObjectNotFoundException,
                                                NotEntitledException

Delete an existing page definition and if it is in use replace it's use with the supplied page defintion.

Note: all customization of the deleted page will be lost.

Parameters:
customizationContext - customization information such as prefered locales and desktopInstanceId
deletePageDefinitionId - the definition id of the page to delete
replacementPageDefinitionId - the definition id of the page to replace the deleted page.
Throws:
ObjectNotFoundException - if the pageDefinitionId is bogus.
NotEntitledException - no entitlements for this operation.
RemoteException
See Also:
PageDefinition

deletePageDefinitionWithCascade

public void deletePageDefinitionWithCascade(CustomizationContext customizationContext,
                                            PageDefinitionId pageDefinitionId)
                                     throws RemoteException,
                                            ObjectNotFoundException,
                                            NotEntitledException

Delete a page definition and all page instances associated with this definition.

Parameters:
customizationContext - customization information such as prefered locales and desktopInstanceId returned.
pageDefinitionId - the id of the page definition to delete.
Throws:
ObjectNotFoundException - if the pageDefinitionId is bogus
NotEntitledException - the caller is not entitled to perform this operation.
RemoteException
See Also:
deletePageDefinition(com.bea.netuix.application.manager.CustomizationContext, com.bea.netuix.application.identifier.PageDefinitionId)

updatePageDefinition

public void updatePageDefinition(CustomizationContext customizationContext,
                                 PageDefinition pageDefinition)
                          throws RemoteException,
                                 ObjectNotFoundException,
                                 NotEntitledException

Update the page definition with the new data.

Parameters:
customizationContext - customization information such as prefered locales and desktopInstanceId returned.
pageDefinition - the page definition containing the new data
Throws:
ObjectNotFoundException - if the LocalizationIntersectionId in the LocalizationResource is bogus.
RemoteException
NotEntitledException

addPlaceable

public PlaceableInstance addPlaceable(CustomizationContext customizationContext,
                                      PageDefinitionId pageDefinitionId,
                                      PlaceableDefinitionId placeableDefinitionId,
                                      PlaceholderDefinitionId placeholderDefinitionId,
                                      int position)
                               throws RemoteException,
                                      ObjectNotFoundException,
                                      MissingDataException,
                                      NotEntitledException,
                                      IllegalDependencyException,
                                      DuplicateObjectException
Create a new instance of a placeable (PortletView or BookView) by placing the definition in a placeholder.

Parameters:
customizationContext - customization information such as prefered locales.
pageDefinitionId - the id of the page to place the placeable.
placeableDefinitionId - the abstract definition id of the placeable definition.
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 PageDefinition would cause a recursive dependancy
MissingDataException - the placeableDefinition is missing some vital data.
NotEntitledException - the caller is not entitled to perform this action
DuplicateObjectException - if the navigable is a book and is already added to this page
RemoteException

removePlaceable

public void removePlaceable(CustomizationContext customizationContext,
                            PlacementId placementId)
                     throws RemoteException,
                            ObjectNotFoundException,
                            NotEntitledException

Remove a placeable from a page's placeholder. This operation will NOT delete the PageView Definition.

Parameters:
customizationContext - customization information such as prefered locales and desktopInstanceId returned.
placementId -
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

movePlaceable

public Placement movePlaceable(CustomizationContext customizationContext,
                               PlacementId placementId,
                               PlaceholderDefinitionId placeholderDefinitionId,
                               int position)
                        throws RemoteException,
                               ObjectNotFoundException,
                               NotEntitledException
Move a placeable (book or portlet) definition from one placeholder to another. Note the new position must be on the same page.

Parameters:
customizationContext - customization information such as prefered locales & request.
placementId - the placement id of the placeables current placement within the page
placeholderDefinitionId - the new placehoder to place this placeable in.
position - the position in the placeholder to insert the placeholder.
Returns:
new placement
Throws:
ObjectNotFoundException - if the PageDefinitionId or the PlaceholderDefinition Id are bogus
NotEntitledException - the caller is not entitled to perform this action
RemoteException

createPageDefinition

public PageDefinition createPageDefinition(CustomizationContext customizationContext,
                                           PageDefinition pageDefinition)
                                    throws RemoteException,
                                           MissingDataException,
                                           NotEntitledException
Create a new page definition.

Parameters:
customizationContext - customization information such as prefered locales and desktopInstanceId returned.
pageDefinition - the object containing the data to create the new page definition with.
Returns:
a fully populated page definition object
Throws:
MissingDataException - the pade definition object supplied is missing some vital data.
NotEntitledException - caller is not entitled to perform this action
RemoteException

getPlacement

public Placement getPlacement(CustomizationContext customizationContext,
                              PlacementId placementId)
                       throws RemoteException
Returns a Placement given a placementId. Returns a null if no Placement matching placementId exists.

Parameters:
placementId - placementId for the placement being requested
Returns:
a Placement object
RemoteException

© 2003 BEA Systems, Inc.

Copyright © 2003 BEA Systems, Inc. All Rights Reserved