# com.bea.netuix.application.manager
ILookAndFeelDefinitionManager Interface

public interface ILookAndFeelDefinitionManager

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

All Known Subinterfaces
  `LookAndFeelDefinitionManager`

## Method Summary

`public `LookAndFeelDefinition`` | `createLookAndFeelDefinition`(`CustomizationContext` customizationContext, `LookAndFeelDefinition` lookAndFeelDefinition) Creates a new LookAndFeelView Definition.
`public void` | `deleteLookAndFeelDefinition`(`CustomizationContext` customizationContext, `LookAndFeelDefinitionId` lookAndFeelDefinitionId) Delete a lookAndFeel definition.
`public void` | `deleteLookAndFeelDefinitionWithReplacement`(`CustomizationContext` customizationContext, `LookAndFeelDefinitionId` deleteLookAndFeelDefinitionId, `LookAndFeelDefinitionId` replacementLookAndFeelDefinitionId) Delete a lookAndFeel definition (and its skins, skeletons and themes) and replace any uses of that lookAndFeel with a replacement lookAndFeel.
`public `LookAndFeelDefinition`` | `getLookAndFeelDefinition`(`CustomizationContext` customizationContext, `LookAndFeelDefinitionId` lookAndFeelDefinitionId) Getter for returning a single `LookAndFeelDefinition` object given a supplied lookAndFeel definition identifier.
`public `LookAndFeelDefinition`` | `getLookAndFeelDefinitionFromFile`(`CustomizationContext` customizationContext, `String` lookAndFeelFile, `String` webAppName) Getter for returning a single `LookAndFeelDefinition` object given a supplied lookAndFeel file name.
`public `LookAndFeelDefinitionId`` | `getLookAndFeelDefinitionId`(`CustomizationContext` customizationContext, `String` markupName, `String` webAppName) Getter for returning a single `LookAndFeelDefinitionId` object given a supplied lookAndFeel markup name and webapp.
`public `LookAndFeelDefinition`[]` | `getLookAndFeelDefinitions`(`CustomizationContext` customizationContext, `String` webapp) Getter for returning a list of all `LookAndFeelDefinitions` scoped to the supplied webapp.
`public `LookAndFeelDefinition`[]` | `getLookAndFeelDefinitions`(`CustomizationContext` customizationContext, `String` webapp, `LookAndFeelDefinitionId` firstLookAndFeelDefinitionId, int limit) Returns `LookAndFeelDefinition`s in `definitionId` order (create order).
`public `LookAndFeelView`` | `getLookAndFeelView`(`CustomizationContext` customizationContext, `LookAndFeelDefinitionId` lookAndFeelDefinitionId) Getter for returning an immutable deep copy of a `LookAndFeelView`.
`public void` | `updateLookAndFeelDefinition`(`CustomizationContext` customizationContext, `LookAndFeelDefinition` lookAndFeelDefinition) Update the lookAndFeel definition with the new data.

## Method Detail

### createLookAndFeelDefinition(CustomizationContext, LookAndFeelDefinition) Method

    public LookAndFeelDefinition createLookAndFeelDefinition(CustomizationContext customizationContext,
                                                             LookAndFeelDefinition lookAndFeelDefinition)
         throws RemoteException, MissingDataException, NotEntitledException

Creates a new LookAndFeelView Definition. While look and feels can be created by this method they should be created via a .laf file. The .laf file may be located anywhere in the webapp directory and immediately gets picked up by the system.

#### Parameters

customizationContext
  customization information such as preferred locales and http request.

lookAndFeelDefinition
  the lookAndFeel data and associated placeholders

#### Returns

a fully populated LookAndFeelDefinition

#### Exceptions

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

### deleteLookAndFeelDefinition(CustomizationContext, LookAndFeelDefinitionId) Method

    public void deleteLookAndFeelDefinition(CustomizationContext customizationContext,
                                            LookAndFeelDefinitionId lookAndFeelDefinitionId)
         throws RemoteException, ObjectNotFoundException, ObjectInUseException, NotEntitledException

Delete a lookAndFeel definition. Note if the .laf file still exist the look and feel will get recreated. This method is for deleting a look and feel after the .laf file has been deleted.

#### Parameters

customizationContext
  customization information such as preferred locales and desktopInstanceId returned.

lookAndFeelDefinitionId
  the id of the lookAndFeel definition to delete.

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if the lookAndFeelDefinitionId is bogus
``ObjectInUseException``
  if page instances are currently using this lookAndFeel
``NotEntitledException``
  the caller is not entitled to perform this operation.

Related Topics

``ILookAndFeelDefinitionManager.deleteLookAndFeelDefinitionWithReplacement(CustomizationContext, LookAndFeelDefinitionId, LookAndFeelDefinitionId)``

### deleteLookAndFeelDefinitionWithReplacement(CustomizationContext, LookAndFeelDefinitionId, LookAndFeelDefinitionId) Method

    public void deleteLookAndFeelDefinitionWithReplacement(CustomizationContext customizationContext,
                                                           LookAndFeelDefinitionId deleteLookAndFeelDefinitionId,
                                                           LookAndFeelDefinitionId replacementLookAndFeelDefinitionId)
         throws RemoteException, ObjectNotFoundException, NotEntitledException

Delete a lookAndFeel definition (and its skins, skeletons and themes) and replace any uses of that lookAndFeel with a replacement lookAndFeel. This method is useful for deleting a lookAndFeel that is in use by desktop instances and not having to delete those dektopinstances instances. Note if the .laf file still exist the look and feel will get recreated. This method is for deleting a look and feel after the .laf file has been deleted.

#### Parameters

customizationContext
  customization information such as preferred locales and request.

deleteLookAndFeelDefinitionId
  the id of the lookAndFeel definition to delete.

replacementLookAndFeelDefinitionId
  the id of the replacement lookAndFeel

#### Exceptions

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

Related Topics

``ILookAndFeelDefinitionManager.deleteLookAndFeelDefinition(CustomizationContext, LookAndFeelDefinitionId)``

### getLookAndFeelDefinition(CustomizationContext, LookAndFeelDefinitionId) Method

    public LookAndFeelDefinition getLookAndFeelDefinition(CustomizationContext customizationContext,
                                                          LookAndFeelDefinitionId lookAndFeelDefinitionId)
         throws RemoteException

Getter for returning a single `LookAndFeelDefinition` object given a supplied lookAndFeel definition identifier.

#### Parameters

customizationContext
  customization information such as preferred locales and desktopInstanceId returned.

lookAndFeelDefinitionId
  the unique lookAndFeel definition identifier.

#### Returns

a `LookAndFeelDefinition` object fully populated and internationalized, otherwise, `null>/code> if the object does not exist.`

#### Exceptions

``RemoteException``

Related Topics

``LookAndFeelDefinition``

### getLookAndFeelDefinitionFromFile(CustomizationContext, String, String) Method

    public LookAndFeelDefinition getLookAndFeelDefinitionFromFile(CustomizationContext customizationContext,
                                                                  String lookAndFeelFile,
                                                                  String webAppName)
         throws RemoteException

Getter for returning a single `LookAndFeelDefinition` object given a supplied lookAndFeel file name.

#### Parameters

customizationContext
  customization information such as preferred locales and desktopInstanceId returned.

lookAndFeelFile
  the unique lookAndFeel definition identifier.

#### Returns

a `LookAndFeelDefinition` object fully populated and internationalized, otherwise, `null>/code> if the object does not exist.`

#### Exceptions

``RemoteException``

Related Topics

``LookAndFeelDefinition``

### getLookAndFeelDefinitionId(CustomizationContext, String, String) Method

    public LookAndFeelDefinitionId getLookAndFeelDefinitionId(CustomizationContext customizationContext,
                                                              String markupName,
                                                              String webAppName)
         throws RemoteException

Getter for returning a single `LookAndFeelDefinitionId` object given a supplied lookAndFeel markup name and webapp.

#### Parameters

customizationContext
  customization information such as preferred locales and desktopInstanceId returned.

markupName
  the markup name attribute supplied on the tag in the .laf file

webAppName
  as defined in the config.xml

#### Returns

LookAndFeelDefinitionId the unique lookAndFeel definition identifier or null is non existent.

#### Exceptions

``RemoteException``

### getLookAndFeelDefinitions(CustomizationContext, String) Method

    public LookAndFeelDefinition[] getLookAndFeelDefinitions(CustomizationContext customizationContext,
                                                           String webapp)
         throws RemoteException

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

#### Parameters

customizationContext
  customization information such as prefered locales and desktopInstanceId returned.

webapp
  the web application these lookAndFeel definitions are scoped to.

#### Returns

an array of `LookAndFeelDefinition` objects if they exist, otherwise, an empty array.

#### Exceptions

``RemoteException``

Related Topics

``LookAndFeelDefinition``

### getLookAndFeelDefinitions(CustomizationContext, String, LookAndFeelDefinitionId, int) Method

    public LookAndFeelDefinition[] getLookAndFeelDefinitions(CustomizationContext customizationContext,
                                                           String webapp,
                                                           LookAndFeelDefinitionId firstLookAndFeelDefinitionId,
                                                           int limit)
         throws RemoteException

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

#### Parameters

customizationContext
  customization information such as preferred locales.

webapp
  the web application these lookAndFeel definitions are scoped to.

firstLookAndFeelDefinitionId
  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 `LookAndFeelDefinition`s no greater than `limit` in size.

#### Exceptions

``RemoteException``

### getLookAndFeelView(CustomizationContext, LookAndFeelDefinitionId) Method

    public LookAndFeelView getLookAndFeelView(CustomizationContext customizationContext,
                                              LookAndFeelDefinitionId lookAndFeelDefinitionId)
         throws RemoteException

Getter for returning an immutable deep copy of a `LookAndFeelView`. The `LookAndFeelView` object, unlike the `LookAndFeelDefinition` or the `LookAndFeelInstance` objects contains a full set of references to all child pages, lookAndFeels and so on. The `LookAndFeelView` object however is immutable.

#### Parameters

customizationContext
  customization information such as prefered locales and desktopInstanceId returned.

lookAndFeelDefinitionId
  the unique lookAndFeelDefinitionId.

#### Returns

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

#### Exceptions

``RemoteException``

### updateLookAndFeelDefinition(CustomizationContext, LookAndFeelDefinition) Method

    public void updateLookAndFeelDefinition(CustomizationContext customizationContext,
                                            LookAndFeelDefinition lookAndFeelDefinition)
         throws RemoteException, ObjectNotFoundException, NotEntitledException, MissingDataException

Update the lookAndFeel definition with the new data.

#### Parameters

customizationContext
  customization information such as preferred locales and desktopInstanceId returned.

lookAndFeelDefinition
  the lookAndFeeldefinition containing the new data

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if the LocalizationIntersectionId in the LocalizationDefnition is bogus.
``NotEntitledException``
``MissingDataException``
  if the LookAndFeelDefinition or any of the ThemeDefinitions are missing non nullable data.