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

public interface IDesktopInstanceManager

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

Most "Instances" can be thought of as objects tied to a desktop, An Admin has instances derived from the Library Definition, and the "end user" has instances derived from the admin instance. Changes made via these APIs require a DesktopDefinitionId and the changes are scoped to that desktop. In other words changes made here do not affect the Library or other Desktops. If the "visitorMode" on the customization Context is set the false (default) and the user executing the call is in the "Admin" or "PortalSystemAdministrator" role then these changes take affect at the admin level, and affect ALL users. If the visitorMode is false then the changes only affect the calling user.

Related Topics

``CustomizationContext.setVisitorMode(boolean)``

All Known Subinterfaces
  `PortalCustomizationManager`

## Method Summary

`public void` | `deleteDesktopCustomizations`(`String` username) Delete/Remove all the customization for a particular user.
`public `DesktopView`` | `getCustomizedDesktopView`(`CustomizationContext` customizationContext, `String` webAppName, `PortalPath` portalPath, `DesktopPath` desktopPath) Getter for returning an immutable deep copy of a `DesktopView`.
`public `DesktopInstance`` | `getDesktopInstance`(`CustomizationContext` customizationContext, `DesktopInstanceId` desktopInstanceId) Getter for returning a `DesktopInstance` identified by the supplied instance id.
`public `DesktopView`` | `getDesktopView`(`CustomizationContext` customizationContext, `String` webAppName, `PortalPath` portalPath, `DesktopPath` desktopPath) Getter for returning an immutable deep copy of a `DesktopView`.
`public `DesktopView`` | `getDesktopView`(`CustomizationContext` customizationContext, `DesktopInstanceId` desktopInstanceId) Getter for returning an immutable deep copy of a `DesktopView`.
`public `DesktopInstance`` | `updateDesktopInstance`(`CustomizationContext` customizationContext, `DesktopInstance` desktopInstance) Update the persistent store for the supplied `DesktopInstance`.

## Method Detail

### deleteDesktopCustomizations(String) Method

    public void deleteDesktopCustomizations(String username)
         throws RemoteException, NotEntitledException

Delete/Remove all the customization for a particular user. This method should be called when a user is deleted from the system. Or you wish to remove all a user customizations.

#### Parameters

username
  the login name of the user.

#### Exceptions

``RemoteException``
``NotEntitledException``
  if the caller does not have the required permissions to delete this customization

### getCustomizedDesktopView(CustomizationContext, String, PortalPath, DesktopPath) Method

    public DesktopView getCustomizedDesktopView(CustomizationContext customizationContext,
                                                String webAppName,
                                                PortalPath portalPath,
                                                DesktopPath desktopPath)
         throws RemoteException

Getter for returning an immutable deep copy of a `DesktopView`. If the user has customized his desktop then this will return the user's specific instance otherwise null is returned. The `DesktopView` object, unlike the `DesktopDefinition` or the `DesktopInstance` objects contains a deep copy of all references to all child pages, books and so on. The `DesktopView` object however is immutable.

#### Returns

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

#### Exceptions

``RemoteException``

Related Topics

``IDesktopDefinitionManager.getDesktopView(CustomizationContext, DesktopDefinitionId)``

### getDesktopInstance(CustomizationContext, DesktopInstanceId) Method

    public DesktopInstance getDesktopInstance(CustomizationContext customizationContext,
                                              DesktopInstanceId desktopInstanceId)
         throws RemoteException

Getter for returning a `DesktopInstance` identified by the supplied instance id.

#### Returns

a fully populated internationalized `DesktopInstance` objects if it exist, otherwise null.

#### Exceptions

``RemoteException``

### getDesktopView(CustomizationContext, String, PortalPath, DesktopPath) Method

    public DesktopView getDesktopView(CustomizationContext customizationContext,
                                      String webAppName,
                                      PortalPath portalPath,
                                      DesktopPath desktopPath)
         throws RemoteException

Getter for returning an immutable deep copy of a `DesktopView`. If the user has customized his deskotp then this will return the user's specific instance. The `DesktopView` object, unlike the `DesktopDefinition` or the `DesktopInstance` objects contains a deep copy of all references to all child pages, books and so on. The `DesktopView` object however is immutable.

#### Returns

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

#### Exceptions

``RemoteException``

Related Topics

``IDesktopDefinitionManager.getDesktopView(CustomizationContext, DesktopDefinitionId)``

### getDesktopView(CustomizationContext, DesktopInstanceId) Method

    public DesktopView getDesktopView(CustomizationContext customizationContext,
                                      DesktopInstanceId desktopInstanceId)
         throws RemoteException

Getter for returning an immutable deep copy of a `DesktopView`. The `DesktopView` object, unlike the `DesktopDefinition` or the `DesktopInstance` objects contains a deep copy of all references to all child pages, books and so on. The `DesktopView` object however is immutable.

#### Returns

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

#### Exceptions

``RemoteException``

Related Topics

``IDesktopDefinitionManager.getDesktopView(CustomizationContext, DesktopDefinitionId)``

### updateDesktopInstance(CustomizationContext, DesktopInstance) Method

    public DesktopInstance updateDesktopInstance(CustomizationContext customizationContext,
                                                 DesktopInstance desktopInstance)
         throws RemoteException, ObjectNotFoundException, NotEntitledException

Update the persistent store for the supplied `DesktopInstance`. All attributes of the DesktopInstance are updated in persistent store.

#### Parameters

customizationContext
  the new desktop instance containing all the new data.

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  the DesktopInstanceId specified in the desktopInstance is bogus.
``NotEntitledException``
  if the caller does not have the required permissions to update this object.