© 2003 BEA Systems, Inc.

com.bea.netuix.application.manager
Interface IPortletDefinitionManager

All Known Subinterfaces:
PortletDefinitionManager
All Known Implementing Classes:
PortletDefinitionManagerImpl

public interface IPortletDefinitionManager

This is the primary interface for performing persistent store operations on PortletDefinitions. 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
 PortletDefinition clonePortletDefinition(CustomizationContext customizationContext, PortletDefinitionId portletDefinitionId)
          Clone an existing portlet definition and all of it's localization resources.
 PortletDefinition createPortletDefinition(CustomizationContext customizationContext, PortletDefinition portletDefinition)
          Create a new portlet definition.
 void deletePortletDefinition(CustomizationContext customizationContext, PortletDefinitionId portletDefinitionId)
          Delete a portlet definition, but only if it is not used byt other portlet instances.
 void deletePortletDefinitionWithCascade(CustomizationContext customizationContext, PortletDefinitionId portletDefinitionId)
          Delete a portlet definition and all portlet instances associated with this definition.
 PortletDefinition getPortletDefinition(CustomizationContext customizationContext, PortletDefinitionId portletDefinitionId)
          Getter for returning a single PortletDefinition object given a supplied portlet definition identifier.
 PortletDefinition getPortletDefinition(CustomizationContext customizationContext, String definitionLabel, String webAppName)
          Getter for returning a single PortletDefinition by Label.
 PortletDefinition getPortletDefinitionFromFile(CustomizationContext customizationContext, String portletFile, String webAppName)
          Return a portlet definitions with the portletFile equal to the supplied portlet file.
 PortletDefinition[] getPortletDefinitions(CustomizationContext customizationContext, String webapp)
          Getter for returning a list of all PortletDefinitions scoped to the supplied webapp.
 PortletView getPortletView(CustomizationContext customizationContext, PortletDefinitionId portletDefinitionId)
          Getter for returning an immutable deep copy of a PortletView.
 void updatePortletDefinition(CustomizationContext customizationContext, PortletDefinition portletDefinition)
          Update the portlet definition with the new data.
 

Method Detail

getPortletView

public PortletView getPortletView(CustomizationContext customizationContext,
                                  PortletDefinitionId portletDefinitionId)
                           throws RemoteException

Getter for returning an immutable deep copy of a PortletView. The PortletView object, unlike the PortletDefinition or the PortletInstance objects contains a full set of references to all child portlets, portlets and so on. The PortletView object however is immutable.

Parameters:
customizationContext - customization information such as prefered locales
portletDefinitionId - the unique portletDefinitionId.
Returns:
an immutable deep copy PortletView object if one exist, otherwise null.
RemoteException

getPortletDefinitions

public PortletDefinition[] getPortletDefinitions(CustomizationContext customizationContext,
                                                 String webapp)
                                          throws RemoteException

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

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

getPortletDefinition

public PortletDefinition getPortletDefinition(CustomizationContext customizationContext,
                                              PortletDefinitionId portletDefinitionId)
                                       throws RemoteException

Getter for returning a single PortletDefinition object given a supplied portlet definition identifier.

Parameters:
customizationContext - customization information such as prefered locales
portletDefinitionId - the unique portlet definition identifier.
Returns:
a PortletDefinition object fully populated and internationalized, otherwise, null if the object does not exist.
RemoteException

deletePortletDefinition

public void deletePortletDefinition(CustomizationContext customizationContext,
                                    PortletDefinitionId portletDefinitionId)
                             throws RemoteException,
                                    ObjectNotFoundException,
                                    ObjectInUseException,
                                    NotEntitledException

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

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

deletePortletDefinitionWithCascade

public void deletePortletDefinitionWithCascade(CustomizationContext customizationContext,
                                               PortletDefinitionId portletDefinitionId)
                                        throws RemoteException,
                                               ObjectNotFoundException,
                                               NotEntitledException

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

Parameters:
customizationContext - customization information such as prefered locales
portletDefinitionId - the id of the portlet definition to delete.
Throws:
ObjectNotFoundException - if the portletDefinitionId is bogus
NotEntitledException - the caller is not entitled to perform this operation.
RemoteException
See Also:
deletePortletDefinition(com.bea.netuix.application.manager.CustomizationContext, com.bea.netuix.application.identifier.PortletDefinitionId)

updatePortletDefinition

public void updatePortletDefinition(CustomizationContext customizationContext,
                                    PortletDefinition portletDefinition)
                             throws RemoteException,
                                    ObjectNotFoundException,
                                    NotEntitledException

Update the portlet definition with the new data.

Parameters:
customizationContext - customization information such as prefered locales
portletDefinition - the portlet definition containing the new data
Throws:
ObjectNotFoundException - if the LocalizationIntersectionId in the LocalizationResource is bogus.
RemoteException
NotEntitledException

createPortletDefinition

public PortletDefinition createPortletDefinition(CustomizationContext customizationContext,
                                                 PortletDefinition portletDefinition)
                                          throws RemoteException,
                                                 MissingDataException,
                                                 NotEntitledException,
                                                 DuplicateObjectException
Create a new portlet definition.

Parameters:
customizationContext - customization information such as prefered locales
portletDefinition - the object containing the data to create the new portlet definition with.
Returns:
a fully populated portlet definition object
Throws:
MissingDataException - the pade definition object supplied is missing some vital data.
NotEntitledException - caller is not entitled to perform this action
DuplicateObjectException - if the supplied portlet's definition label is already in the database.
RemoteException

clonePortletDefinition

public PortletDefinition clonePortletDefinition(CustomizationContext customizationContext,
                                                PortletDefinitionId portletDefinitionId)
                                         throws RemoteException,
                                                ObjectNotFoundException,
                                                NotEntitledException

Clone an existing portlet definition and all of it's localization resources. The localization resources are slightly mutated with a '_' in front of them as to allow the administrator to distingish from the original. Note: this method only clones the primary instance, any user instances derived from the original are not cloned.

Parameters:
customizationContext - customization information such as prefered locales
portletDefinitionId - the id of the portlet definition to clone
Returns:
a fully populated portlet definition object
Throws:
ObjectNotFoundException - if the portletDefinitionId is bogus.
NotEntitledException - caller is not entitled to perform this action
RemoteException

getPortletDefinition

public PortletDefinition getPortletDefinition(CustomizationContext customizationContext,
                                              String definitionLabel,
                                              String webAppName)
                                       throws RemoteException

Getter for returning a single PortletDefinition by Label. The webAppName name is the deployed name of the module, and is often the name of the WAR file or directory, although this is not always the case. This name is that name given in config.xml as the Name of the WebAppComponent element (and thus WebAppComponentMBean's Name attribute). Note that this name is not the name of the URL context root.

Parameters:
customizationContext - customization information such as prefered locales
definitionLabel - the unique definitionLabel for the portlet. this is an optional label that the developer can set.
webAppName - the webapp this portlet is scoped to.
Returns:
a PortletDefinition object fully populated and internationalized, otherwise, null if the object does not exist.
RemoteException

getPortletDefinitionFromFile

public PortletDefinition getPortletDefinitionFromFile(CustomizationContext customizationContext,
                                                      String portletFile,
                                                      String webAppName)
                                               throws RemoteException

Return a portlet definitions with the portletFile equal to the supplied portlet file. The webAppName name is the deployed name of the module, and is often the name of the WAR file or directory, although this is not always the case. This name is that name given in config.xml as the Name of the WebAppComponent element (and thus WebAppComponentMBean's Name attribute). Note that this name is not the name of the URL context root.

Parameters:
customizationContext -
portletFile - the relative path to the portlet file from the domain directory example "beaApps/portal/.../myportlet.portlet"
webAppName - the webapp this portlet is scoped to.
Returns:
a portlet definition, if no portlet matched then null
Throws:
RemoteException
See Also:
ApplicationHelper.getWebAppName(javax.servlet.ServletContext)

© 2003 BEA Systems, Inc.

Copyright © 2003 BEA Systems, Inc. All Rights Reserved