© 2004 BEA Systems, Inc.

com.bea.netuix.application.manager
Interface IPageDefinitionManager

All Known Subinterfaces:
PageDefinitionManager

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.

"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 effecting a single desktop then use the PortalCustomizationManager and make changes to the "Instances".


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 by 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 definition.
 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.
 PageDefinition[] getPageDefinitions(CustomizationContext customizationContext, String webapp, PageDefinitionId firstPageDefinitionId, int limit)
          Returns PageDefinitions in definitionId order (create order).
 PageView getPageView(CustomizationContext customizationContext, PageDefinitionId pageDefinitionId)
          Getter for returning an immutable deep copy of a PageView.
 com.bea.netuix.application.manager.persistence.jdbc.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 caller's desktop.
 PageDefinition[] getPublicPageDefinitions(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, PageDefinitionId firstPageDefinitionId, int limit)
          Returns PageDefinitions in definitionId order (create order) scoped to the supplied webapp and marked as public and not currently on the users desktop.
 PageDefinition[] getPublicPageDefinitions(CustomizationContext customizationContext, String webapp)
          Getter for returning a list of all PageDefinitions marked as public and 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 to the supplied webapp and not currently on the supplied book.
 PageDefinition[] getPublicPageDefinitions(CustomizationContext customizationContext, String webapp, PageDefinitionId firstPageDefinitionId, int limit)
          Returns PageDefinitions in definitionId order (create order) marked as public and scoped to the supplied webapp.
 com.bea.netuix.application.manager.persistence.jdbc.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.
 PageDefinition[] searchPublicPageDefinitions(CustomizationContext customizationContext, String webapp, String partialPageTitle, int limit)
          Search for public pages given the supplied search string.
 void updatePageDefinition(CustomizationContext customizationContext, PageDefinition pageDefinition)
          Update the page definition with the new data.
 void updatePageDefinitionNoDuplicates(CustomizationContext customizationContext, PageDefinition pageDefinition)
          Checks for duplicate page labels then updates the page definition with the new data.
 

Method Detail

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 preferred 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

createPageDefinition

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

Parameters:
customizationContext - customization information such as preferred 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

deletePageDefinition

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

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

Parameters:
customizationContext - customization information such as preferred 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)

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

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 definition.

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

Parameters:
customizationContext - customization information such as preferred 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

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 preferred 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.
Throws:
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 preferred 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.
Throws:
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 preferred 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.
Throws:
RemoteException
See Also:
PageDefinition

getPageDefinitions

public PageDefinition[] getPageDefinitions(CustomizationContext customizationContext,
                                           String webapp,
                                           PageDefinitionId firstPageDefinitionId,
                                           int limit)
                                    throws RemoteException

Returns PageDefinitions in definitionId order (create order). Starting with the supplied definitionId and limiting the result set to size limit. If fewer PageDefinitions 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 pageDefinitionId. To retrieve from the end of the list and back specify null as the pageDefinitionId and a negative limit. To retrieve all the pageDefinitions in the database supply a limit of 0.
Implementation has to ensure that repeated calls to this method return PageDefinitions in a consistent order.

Parameters:
customizationContext - customization information such as preferred locales.
webapp - the web application these page definitions are scoped to.
firstPageDefinitionId - 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. For all the records specify a limit of zero. Note: some elements may be pruned because of entitlements.
Returns:
array of PageDefinitions no greater than limit in size.
Throws:
RemoteException

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 preferred locales and desktopInstanceId returned.
pageDefinitionId - the unique pageDefinitionId.
Returns:
an immutable deep copy PageView object if one exist, otherwise null.
Throws:
RemoteException

getPlacement

public com.bea.netuix.application.manager.persistence.jdbc.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
Throws:
RemoteException

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 caller's desktop.

Parameters:
customizationContext - customization information such as preferred 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.
Throws:
RemoteException
See Also:
PageDefinition

getPublicPageDefinitions

public PageDefinition[] getPublicPageDefinitions(CustomizationContext customizationContext,
                                                 DesktopDefinitionId desktopDefinitionId,
                                                 PageDefinitionId firstPageDefinitionId,
                                                 int limit)
                                          throws RemoteException

Returns PageDefinitions in definitionId order (create order) scoped to the supplied webapp and marked as public and not currently on the users desktop. Starting with the supplied definitionId and limiting the result set to size limit. If fewer PageDefinitions 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 pageDefinitionId. To retrieve from the end of the list and back specify null as the pageDefinitionId and a negative limit. To retrieve all the pageDefinitions in the database supply a limit of 0.
Implementation has to ensure that repeated calls to this method return PageDefinitions in a consistent order.

Parameters:
customizationContext - customization information such as prefered locales
desktopDefinitionId - you wish to add any of these page definitions to.
firstPageDefinitionId - 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. For all the records specify a limit of zero.
Returns:
an array of fully populated and internationalized PageDefinition objects if they exist, otherwise, an empty array.
Throws:
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 to the supplied webapp.

Parameters:
customizationContext - customization information such as preferred 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.
Throws:
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 to the supplied webapp and not currently on the supplied book.

Parameters:
customizationContext - customization information such as preferred 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.
Throws:
RemoteException
See Also:
PageDefinition

getPublicPageDefinitions

public PageDefinition[] getPublicPageDefinitions(CustomizationContext customizationContext,
                                                 String webapp,
                                                 PageDefinitionId firstPageDefinitionId,
                                                 int limit)
                                          throws RemoteException

Returns PageDefinitions in definitionId order (create order) marked as public and scoped to the supplied webapp. Starting with the supplied definitionId and limiting the result set to size limit If fewer PageDefinitions 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 pageDefinitionId. To retrieve from the end of the list and back specify null as the pageDefinitionId and a negative limit. To retrieve all the pageDefinitions in the database supply a limit of 0.
Implementation has to ensure that repeated calls to this method return PageDefinitions in a consistent order.

Parameters:
customizationContext - customization information such as preferred locales.
webapp - the web application these page definitions are scoped to.
firstPageDefinitionId - 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. For all the records specify a limit of zero. Note: some elements may be pruned because of entitlements.
Returns:
array of PageDefinitions no greater than limit in size.
Throws:
RemoteException

movePlaceable

public com.bea.netuix.application.manager.persistence.jdbc.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 preferred 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

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 preferred 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

searchPublicPageDefinitions

public PageDefinition[] searchPublicPageDefinitions(CustomizationContext customizationContext,
                                                    String webapp,
                                                    String partialPageTitle,
                                                    int limit)
                                             throws RemoteException

Search for public pages given the supplied search string. Pages with titles matching the supplied pattern will be returned. No more than limit results will be returned; however a smaller number may be returned. Implementation has to ensure that repeated calls to this method return PageDefinitions in a consistent order.

Parameters:
customizationContext - customization information such as preferred locales.
webapp - the web application these page definitions are scoped to.
partialPageTitle - the search string for page title match. Note: this string may contain special '*' and '?' characters, where '*' matches any characters and '?' matches any single character.
limit - the maximum result set size. Note the limit may be negative indicating a reverse sort order. For all the records specify a limit of zero. Note: some elements may be pruned because of entitlements.
Returns:
array of PageDefinitions no greater than limit in size.
Throws:
RemoteException

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 preferred locales and desktopInstanceId returned.
pageDefinition - the page definition containing the new data
Throws:
ObjectNotFoundException - if the LocalizationIntersectionId in the LocalizationResource is bogus.
RemoteException
NotEntitledException

updatePageDefinitionNoDuplicates

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

Checks for duplicate page labels then updates the page definition with the new data.

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

© 2004 BEA Systems, Inc.

Copyright © 2004 BEA Systems, Inc. All Rights Reserved