IThemeDefinitionManager Interface

com.bea.netuix.application.manager
IThemeDefinitionManager Interface

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


All Known Subinterfaces

LookAndFeelDefinitionManager

Method Summary

public ThemeDefinition
createThemeDefinition(CustomizationContext customizationContext, ThemeDefinition themeDefinition)

Creates a new ThemeView Definition with its placeholders.

public void
deleteThemeDefinition(CustomizationContext customizationContext, ThemeDefinitionId themeDefinitionId)

Delete a theme definition that is not in use.

public void
deleteThemeDefinitionWithCascade(CustomizationContext customizationContext, ThemeDefinitionId themeDefinitionId)

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

public ThemeDefinition
getThemeDefinition(CustomizationContext customizationContext, ThemeDefinitionId themeDefinitionId)

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

public ThemeDefinition
getThemeDefinitionFromFile(CustomizationContext customizationContext, String themeFile, String webAppName)

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

public ThemeDefinitionId
getThemeDefinitionId(CustomizationContext customizationContext, String markupName, String webAppName)

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

public ThemeDefinition[]
getThemeDefinitions(CustomizationContext customizationContext, String webapp)

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

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

Returns ThemeDefinitions in definitionId order (create order).

public ThemeView
getThemeView(CustomizationContext customizationContext, ThemeDefinitionId themeDefinitionId)

Getter for returning an immutable deep copy of a ThemeView.

public void
updateThemeDefinition(CustomizationContext customizationContext, ThemeDefinition themeDefinition)

Update the theme definition with the new data.

Method Detail

createThemeDefinition(CustomizationContext, ThemeDefinition) Method

public 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 prefered locales and http request.
themeDefinition
the theme data and associated placeholders

Returns

a fully populated ThemeDefinition

Exceptions

RemoteException
MissingDataException
the themeDefiniiton supplied as an argument is missing some vital data.
NotEntitledException
the caller is not entitled to create a new theme.

deleteThemeDefinition(CustomizationContext, ThemeDefinitionId) Method

public 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 prefered locales and http request
themeDefinitionId
the id of the theme definition to delete.

Exceptions

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

Related Topics

IThemeDefinitionManager.deleteThemeDefinitionWithCascade(CustomizationContext, ThemeDefinitionId)


deleteThemeDefinitionWithCascade(CustomizationContext, ThemeDefinitionId) Method

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

Delete a theme definition and remove anrefernces 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 prefered locales and http request.
themeDefinitionId
the id of the theme definition to delete.

Exceptions

RemoteException
ObjectNotFoundException
if either of the themeDefinitionIds are bogus
NotEntitledException
the caller is not entitled to perform this operation.

Related Topics

IThemeDefinitionManager.deleteThemeDefinition(CustomizationContext, ThemeDefinitionId)


getThemeDefinition(CustomizationContext, ThemeDefinitionId) Method

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

Exceptions

RemoteException

Related Topics

ThemeDefinition


getThemeDefinitionFromFile(CustomizationContext, String, String) Method

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

Exceptions

RemoteException

Related Topics

ThemeDefinition


getThemeDefinitionId(CustomizationContext, String, String) Method

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

Exceptions

RemoteException

getThemeDefinitions(CustomizationContext, String) Method

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

Exceptions

RemoteException

Related Topics

ThemeDefinition


getThemeDefinitions(CustomizationContext, String, ThemeDefinitionId, int) Method

public 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.
Implementation 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. For 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.

Exceptions

RemoteException

getThemeView(CustomizationContext, ThemeDefinitionId) Method

public ThemeView getThemeView(CustomizationContext customizationContext, 
                              ThemeDefinitionId themeDefinitionId)
throws RemoteException

Getter for returning an immutable deep copy of a 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 prefered locales and desktopInstanceId returned.
themeDefinitionId
the unique themeDefinitionId.

Returns

an immutable deep copy ThemeView object if one exist, otherwise null.

Exceptions

RemoteException

updateThemeDefinition(CustomizationContext, ThemeDefinition) Method

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

Update the theme definition with the new data.

Parameters

customizationContext
customization information such as prefered locales and http request.
themeDefinition
the themedefinition containing the new data

Exceptions

RemoteException
ObjectNotFoundException
if the LocalizationIntersectionId in the LocalizationDefnition is bogus.
NotEntitledException