com.bea.netuix.application.manager
Interface IThemeDefinitionManager

All Known Subinterfaces:
LookAndFeelDefinitionManager

public interface IThemeDefinitionManager

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

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

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
 ThemeDefinition createThemeDefinition(CustomizationContext customizationContext, ThemeDefinition themeDefinition)
          Creates a new ThemeView Definition with its placeholders.
 void deleteThemeDefinition(CustomizationContext customizationContext, ThemeDefinitionId themeDefinitionId)
          Delete a theme definition that is not in use.
 void deleteThemeDefinitionWithCascade(CustomizationContext customizationContext, ThemeDefinitionId themeDefinitionId)
          Delete a theme definition and remove refernces to it from book, pages or portlets This method is useful for deleting a theme that is in use by book, pages or portlets.
 ThemeDefinition getThemeDefinition(CustomizationContext customizationContext, ThemeDefinitionId themeDefinitionId)
          Getter for returning a single ThemeDefinition object given a supplied theme definition identifier.
 ThemeDefinition getThemeDefinitionFromFile(CustomizationContext customizationContext, String themeFile, String webAppName)
          Getter for returning a single ThemeDefinition object given a supplied theme file name.
 ThemeDefinitionId getThemeDefinitionId(CustomizationContext customizationContext, String markupName, String webAppName)
          Getter for returning a single ThemeDefinitionId object given a supplied theme markup name and webapp.
 ThemeDefinition[] getThemeDefinitions(CustomizationContext customizationContext, String webapp)
          Getter for returning a list of all ThemeDefinitions scoped to the supplied webapp.
 ThemeDefinition[] getThemeDefinitions(CustomizationContext customizationContext, String webapp, ThemeDefinitionId firstThemeDefinitionId, int limit)
          Returns ThemeDefinitions in definitionId order (create order), starting with the supplied definitionId and limiting the result set to size limit If fewer ThemeDefinitions exist than limit, then a smaller result set will be returned.
 SortableFilterablePagedResult<ThemeDefinition> getThemeDefinitions(CustomizationContext customizationContext, WebAppSearchCriteria criteria, int pageSize)
          Retrieve all theme definitions scoped to a given webapp, as a PagedResult.
 ThemeView getThemeView(CustomizationContext customizationContext, ThemeDefinitionId themeDefinitionId)
          Getter for returning an immutable deep ThemeView.
 SortableFilterablePagedResult<LocalizationResourceView> getVisibleThemeLocalizationResources(CustomizationContext customizationContext, WebAppSearchCriteria criteria, int pageSize)
          Retrieve the LocalizationResourceViews for all visible themes for a given locale and webapp.
 void updateThemeDefinition(CustomizationContext customizationContext, ThemeDefinition themeDefinition)
          Update the theme definition with the new data.
 

Method Detail

getThemeView

ThemeView getThemeView(CustomizationContext customizationContext,
                       ThemeDefinitionId themeDefinitionId)
                       throws RemoteException

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

Parameters
customizationContext - customization information such as preferred locales and desktopInstanceId affected.
themeDefinitionId - the unique themeDefinitionId.
Returns
an immutable deep ThemeView object if one exists, otherwise null.
Throws
RemoteException

getThemeDefinitions

ThemeDefinition[] getThemeDefinitions(CustomizationContext customizationContext,
                                      String webapp)
                                      throws RemoteException

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

Parameters
customizationContext - customization information such as preferred locales and http request.
webapp - the web application these theme definitions are scoped to.
Returns
an array of ThemeDefinition objects if they exist, otherwise, an empty array.
Throws
RemoteException
See Also
ThemeDefinition

getThemeDefinitions

ThemeDefinition[] getThemeDefinitions(CustomizationContext customizationContext,
                                      String webapp,
                                      ThemeDefinitionId firstThemeDefinitionId,
                                      int limit)
                                      throws RemoteException

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

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

getThemeDefinition

ThemeDefinition getThemeDefinition(CustomizationContext customizationContext,
                                   ThemeDefinitionId themeDefinitionId)
                                   throws RemoteException

Getter for returning a single ThemeDefinition object given a supplied theme definition identifier.

Parameters
customizationContext - customization information such as preferred locales and http request.
themeDefinitionId - the unique theme definition identifier.
Returns
a ThemeDefinition object fully populated and internationalized, otherwise, null>/code> if the object does not exist.
Throws
RemoteException
See Also
ThemeDefinition

getThemeDefinitionFromFile

ThemeDefinition getThemeDefinitionFromFile(CustomizationContext customizationContext,
                                           String themeFile,
                                           String webAppName)
                                           throws RemoteException

Getter for returning a single ThemeDefinition object given a supplied theme file name.

Parameters
customizationContext - customization information such as preferred locales and http request.
themeFile - the unique theme definition identifier.
Returns
a ThemeDefinition object fully populated and internationalized, otherwise, null>/code> if the object does not exist.
Throws
RemoteException
See Also
ThemeDefinition

createThemeDefinition

ThemeDefinition createThemeDefinition(CustomizationContext customizationContext,
                                      ThemeDefinition themeDefinition)
                                      throws RemoteException,
                                             MissingDataException,
                                             NotEntitledException

Creates a new ThemeView Definition with its placeholders. Note, while themes can be created via this method they should be created via a .theme file located anywhere in the webapp directory. Once the file is created it will be immediately be picked up by the system.

Parameters
customizationContext - customization information such as preferred locales and http request.
themeDefinition - the theme data and associated placeholders
Returns
a fully populated ThemeDefinition
Throws
MissingDataException - the themeDefinition supplied as an argument is missing some vital data.
NotEntitledException - the caller is not entitled to create a new theme.
RemoteException

updateThemeDefinition

void updateThemeDefinition(CustomizationContext customizationContext,
                           ThemeDefinition themeDefinition)
                           throws RemoteException,
                                  ObjectNotFoundException,
                                  NotEntitledException

Update the theme definition with the new data.

Parameters
customizationContext - customization information such as preferred locales and http request.
themeDefinition - the themedefinition containing the new data
Throws
ObjectNotFoundException - if the LocalizationIntersectionId in the LocalizationDefnition is bogus.
RemoteException
NotEntitledException

deleteThemeDefinition

void deleteThemeDefinition(CustomizationContext customizationContext,
                           ThemeDefinitionId themeDefinitionId)
                           throws RemoteException,
                                  ObjectNotFoundException,
                                  ObjectInUseException,
                                  NotEntitledException

Delete a theme definition that is not in use.

Parameters
customizationContext - customization information such as preferred locales and http request
themeDefinitionId - the id of the theme definition to delete.
Throws
ObjectNotFoundException - if the themeDefinitionId is bogus
ObjectInUseException - if pages,book or portlet instances are currently using this theme.
NotEntitledException - the caller is not entitled to perform this operation.
RemoteException
See Also
deleteThemeDefinitionWithCascade(com.bea.netuix.application.manager.CustomizationContext, com.bea.netuix.application.identifier.ThemeDefinitionId)

deleteThemeDefinitionWithCascade

void deleteThemeDefinitionWithCascade(CustomizationContext customizationContext,
                                      ThemeDefinitionId themeDefinitionId)
                                      throws RemoteException,
                                             ObjectNotFoundException,
                                             NotEntitledException

Delete a theme definition and remove refernces to it from book, pages or portlets This method is useful for deleting a theme that is in use by book, pages or portlets.

Parameters
customizationContext - customization information such as preferred locales and http request.
themeDefinitionId - the id of the theme definition to delete.
Throws
ObjectNotFoundException - if either of the themeDefinitionIds are bogus
NotEntitledException - the caller is not entitled to perform this operation.
RemoteException
See Also
deleteThemeDefinition(com.bea.netuix.application.manager.CustomizationContext, com.bea.netuix.application.identifier.ThemeDefinitionId)

getThemeDefinitionId

ThemeDefinitionId getThemeDefinitionId(CustomizationContext customizationContext,
                                       String markupName,
                                       String webAppName)
                                       throws RemoteException

Getter for returning a single ThemeDefinitionId object given a supplied theme markup name and webapp.

Parameters
customizationContext - customization information such as preferred locales and http request.
markupName - the markup name attribute supplied on the tag in the .laf file
webAppName - as defined in the config.xml
Returns
ThemeDefinitionId the unique theme definition identifier or null is non existent.
Throws
RemoteException

getVisibleThemeLocalizationResources

SortableFilterablePagedResult<LocalizationResourceView> getVisibleThemeLocalizationResources(CustomizationContext customizationContext,
                                                                                             WebAppSearchCriteria criteria,
                                                                                             int pageSize)
                                                                                             throws RemoteException
Retrieve the LocalizationResourceViews for all visible themes for a given locale and webapp.

The returned PagedResult is sortable and filterable on the field "TITLE", and supports these filter methods:

  • FilterMethod.UNFILTERED
  • FilterMethod.BEGINS_WITH
  • FilterMethod.ENDS_WITH
  • FilterMethod.CONTAINS
  • FilterMethod.EQUALS
However, the reSort and reFilter methods on the returned PagedResult ignore their locale arguments. If you want to requery with a different locale, you should call this method again after setting the desired locale in the CustomizationContext.

Parameters
customizationContext - a customization context with a request and locale defined. Only the first locale is used.
criteria - search criteria specifying the webapp
pageSize - number of results to retrieve per page
Returns
a SortableFilterablePagedResult of all visible Theme LocalizationResources
Throws
RemoteException

getThemeDefinitions

SortableFilterablePagedResult<ThemeDefinition> getThemeDefinitions(CustomizationContext customizationContext,
                                                                   WebAppSearchCriteria criteria,
                                                                   int pageSize)
                                                                   throws RemoteException
Retrieve all theme definitions scoped to a given webapp, as a PagedResult.

The returned PagedResult is sortable and filterable on the field "TITLE", and supports these filter methods:

  • FilterMethod.UNFILTERED
  • FilterMethod.BEGINS_WITH
  • FilterMethod.ENDS_WITH
  • FilterMethod.CONTAINS
  • FilterMethod.EQUALS
However, the reSort and reFilter methods on the returned PagedResult ignore their locale arguments. If you want to requery with a different locale, you should call this method again after setting the desired locale in the CustomizationContext.

Parameters
customizationContext - customization information such as preferred locales and http request.
criteria - used to specify the webapp
pageSize - the number of item per page in the result.
Returns
SortableFilterablePagedResult
Throws
RemoteException


Copyright © 2000, 2008, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.