Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2004 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

All Known Subinterfaces:
  BookDefinitionManager

public interface IBookDefinitionManager

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

Method Summary
`NavigableInstance` | `addNavigable(CustomizationContext customizationContext, BookDefinitionId bookDefinitionId, NavigableDefinitionId navigableDefinitionId, int position, int alignment, boolean isDefault)` Add a Navigable definition (child BookDefinition or PageDefinition) to an existing parent BookDefinition.
`BookDefinition` | `createBookDefinition(CustomizationContext customizationContext, BookDefinition bookDefinition)` Create a new book definition.
`void` | `deleteBookDefinition(CustomizationContext customizationContext, BookDefinitionId bookDefinitionId)` Method for deleting a `BookDefinition` object given a supplied book definition identifier.
`void` | `deleteBookDefinitionWithCascade(CustomizationContext customizationContext, BookDefinitionId bookDefinitionId)` Delete the `BookDefinition` of the supplied book definition identifier and all `BookInstance` objects associated with this book definition.
`void` | `deleteBookDefinitionWithReplacement(CustomizationContext customizationContext, BookDefinitionId deleteBookDefinitionId, BookDefinitionId replacementBookDefinitionId)` Delete an existing book definition and if it is in use, replace it's use with the supplied book definition.
`BookDefinition` | `getBookDefinition(CustomizationContext customizationContext, BookDefinitionId bookDefinitionId)` Getter for returning a single `BookDefinition` object given a supplied book definition identifier.
`BookDefinition` | `getBookDefinition(CustomizationContext customizationContext, String definitionLabel, String webAppName)` Getter for returning a single `BookDefinition` object given a supplied book definition label.
`BookDefinition[]` | `getBookDefinitions(CustomizationContext customizationContext, String webapp)` Getter for returning a list of all `BookDefinitions` scoped to the supplied webapp.
`BookDefinition[]` | `getBookDefinitions(CustomizationContext customizationContext, String webapp, BookDefinitionId firstBookDefinitionId, int limit)` Returns `BookDefinition`s in `definitionId` order (create order).
`BookView` | `getBookView(CustomizationContext customizationContext, BookDefinitionId bookDefinitionId)` Getter for returning an immutable deep copy of a `BookView`.
`BookDefinition[]` | `getPublicBookDefinitions(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId)` Getter for returning a list of all `BookDefinitions` scoped to the supplied webapp and marked as public and not currently on the users desktop.
`BookDefinition[]` | `getPublicBookDefinitions(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, BookDefinitionId firstBookDefinitionId, int limit)` Returns `BookDefinition`s in `definitionId` order (create order) scoped to the supplied webapp and marked as public and not currently on the users desktop.
`BookDefinition[]` | `getPublicBookDefinitions(CustomizationContext customizationContext, String webapp)` Getter for returning a list of all `BookDefinitions` scoped to the supplied webapp and marked as public.
`BookDefinition[]` | `getPublicBookDefinitions(CustomizationContext customizationContext, String webapp, BookDefinitionId bookDefinitionId)` Getter for returning a list of all `BookDefinitions` scoped to the supplied webapp and marked as public and not currently in the supplied book (bookDefinitionId).
`BookDefinition[]` | `getPublicBookDefinitions(CustomizationContext customizationContext, String webapp, BookDefinitionId firstBookDefinitionId, int limit)` Returns `BookDefinition`s in `definitionId` order (create order) scoped to the supplied webapp and marked as public.
`BookDefinition[]` | `getPublicBookDefinitions(CustomizationContext customizationContext, String webapp, PageDefinitionId pageDefinitionId)` Getter for returning a list of all `BookDefinitions` scoped to the supplied webapp and marked as public and not currently in the supplied page (pageDefinitionId).
`NavigableDefinition` | `moveNavigable(CustomizationContext customizationContext, DesktopDefinitionId desktopDefinitionId, BookDefinitionId fromParentBookDefinitionId, BookDefinitionId toParentBookDefinitionId, NavigableDefinitionId navigableDefinitionId, int position, int alignment)` Relocate the navigable definition to a new location.
`void` | `removeNavigable(CustomizationContext customizationContext, BookGroupId bookGroupId)` Remove a NavigableDefinition (BookDefinition or PageDefinition) from the specified book.
`BookDefinition[]` | `searchPublicBookDefinitions(CustomizationContext customizationContext, String webapp, String partialBookTitle, int limit)` Search for public books given the supplied search string.
`void` | `setDefaultNavigable(CustomizationContext customizationContext, BookDefinitionId parentBookDefinitionId, NavigableDefinitionId navigableDefinitionId)` Set a navigable (book or page) on a parent page as the default page.
`void` | `updateBookDefinition(CustomizationContext customizationContext, BookDefinition bookDefintion)` Update the persistent store for the supplied `BookDefinition`.

Method Detail

### addNavigable

    public NavigableInstance addNavigable(CustomizationContext customizationContext,
                                          BookDefinitionId bookDefinitionId,
                                          NavigableDefinitionId navigableDefinitionId,
                                          int position,
                                          int alignment,
                                          boolean isDefault)
                                   throws RemoteException,
                                          ObjectNotFoundException,
                                          NotEntitledException,
                                          IllegalDependencyException,
                                          DuplicateObjectException

  Add a Navigable definition (child BookDefinition or PageDefinition) to an existing parent BookDefinition.

  Parameters:
    `customizationContext` - customization information such as prefered locales and desktopInstanceId
    `bookDefinitionId` - the book definition to add the navigable to.
    `navigableDefinitionId` - the definition id of the navigable definition from which to add.
    `position` - the position in the book (or menu) to insert this navigable (starts with 0)
    `alignment` - position the page from the left (top) or right (bottom)
  Returns:
    the Navigable instance which was created.
  Throws:
    `ObjectNotFoundException` - BookDefinitionId or the NavigableDefinitionId are bogus.
    `NotEntitledException` - if the caller does not have the required permissions to delete this object.
    `IllegalDependencyException` - adding the Navigable to the BookDefinition would cause a recursive dependancy
    `DuplicateObjectException` - if this navigable is already added to this book
    `RemoteException`
  See Also:
    `NavigableView.ALIGNMENT_LEFT`, `NavigableView.ALIGNMENT_RIGHT`

### createBookDefinition

    public BookDefinition createBookDefinition(CustomizationContext customizationContext,
                                               BookDefinition bookDefinition)
                                        throws RemoteException,
                                               MissingDataException,
                                               NotEntitledException

  Create a new book definition. Creates a new book definition in the persistent store. This definition may be used to create book instance later on.

  Parameters:
    `customizationContext` - customization information such as prefered locales and desktopInstanceId
    `bookDefinition` - the book definition object containing all the required data.
  Returns:
    the fully populated BookDefinition object (with id's).
  Throws:
    `MissingDataException` - if some vital information is missing from the BookDefinition.
    `NotEntitledException` - if the caller does not have the required permissions to delete this object.
    `RemoteException`

### deleteBookDefinition

    public void deleteBookDefinition(CustomizationContext customizationContext,
                                     BookDefinitionId bookDefinitionId)
                              throws RemoteException,
                                     ObjectNotFoundException,
                                     ObjectInUseException,
                                     NotEntitledException

  Method for deleting a `BookDefinition` object given a supplied book definition identifier. If the BookDefinition is in use by clients then a `ObjectInUseFound` exception is thrown.

  Parameters:
    `customizationContext` - customization information such as prefered locales and desktopInstanceId
    `bookDefinitionId` - the unique book definition identifier.
  Throws:
    `ObjectNotFoundException` - if the bookDefinitionId is bogus.
    `ObjectInUseException` - if the book definition is in use by end users.
    `NotEntitledException` - no entitlements for this operation.
    `RemoteException`
  See Also:
    `BookDefinition`

### deleteBookDefinitionWithCascade

    public void deleteBookDefinitionWithCascade(CustomizationContext customizationContext,
                                                BookDefinitionId bookDefinitionId)
                                         throws RemoteException,
                                                ObjectNotFoundException,
                                                NotEntitledException,
                                                ObjectInUseException

  Delete the `BookDefinition` of the supplied book definition identifier and all `BookInstance` objects associated with this book definition. While this method will cascade delete all the user's and admin's customizations it will complain (`ObjectInUseException`) if the definition is the primary book of a desktop. In that case you may want to try deleteBookDefinitionWithReplacement().

  Parameters:
    `customizationContext` - customization information such as prefered locales and desktopInstanceId
    `bookDefinitionId` - the unique book definition identifier of the book to delete.
  Throws:
    `ObjectNotFoundException` - if there is no BookDefinition associated with bookDefinitionId.
    `ObjectInUseException` - if the book definition is the main book on a desktop.
    `NotEntitledException` - if the caller does not have the required permissions to delete this object.
    `RemoteException`

### deleteBookDefinitionWithReplacement

    public void deleteBookDefinitionWithReplacement(CustomizationContext customizationContext,
                                                    BookDefinitionId deleteBookDefinitionId,
                                                    BookDefinitionId replacementBookDefinitionId)
                                             throws RemoteException,
                                                    ObjectNotFoundException,
                                                    NotEntitledException

  Delete an existing book definition and if it is in use, replace it's use with the supplied book definition.

  Note all customization of the deleted book will be lost.

  Parameters:
    `customizationContext` - customization information such as prefered locales and desktopInstanceId
    `deleteBookDefinitionId` - the definition id of the book to delete
    `replacementBookDefinitionId` - the definition id of the book to replace the deleted book.
  Throws:
    `ObjectNotFoundException` - if the bookDefinitionId is bogus.
    `NotEntitledException` - no entitlements for this operation.
    `RemoteException`
  See Also:
    `BookDefinition`

### getBookDefinition

    public BookDefinition getBookDefinition(CustomizationContext customizationContext,
                                            BookDefinitionId bookDefinitionId)
                                     throws RemoteException

  Getter for returning a single `BookDefinition` object given a supplied book definition identifier.

  Parameters:
    `customizationContext` - customization information such as prefered locales and desktopInstanceId
    `bookDefinitionId` - the unique book definition identifier.
  Returns:
    a `BookDefinition` object fully populated and internationalized, otherwise, `null>/code> if the object does not exist.`
  Throws:
    `RemoteException`
  See Also:
    `BookDefinition`

### getBookDefinition

    public BookDefinition getBookDefinition(CustomizationContext customizationContext,
                                            String definitionLabel,
                                            String webAppName)
                                     throws RemoteException

  Getter for returning a single `BookDefinition` object given a supplied book definition label.

  Parameters:
    `customizationContext` - customization information such as prefered locales and desktopInstanceId
    `definitionLabel` - the unique book definition identifier.
    `webAppName` - the webapp this book is scoped to.
  Returns:
    a `BookDefinition` object fully populated and internationalized, otherwise, `null>/code> if the object does not exist.`
  Throws:
    `RemoteException`
  See Also:
    `BookDefinition`

### getBookDefinitions

    public BookDefinition[] getBookDefinitions(CustomizationContext customizationContext,
                                               String webapp)
                                        throws RemoteException

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

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

### getBookDefinitions

    public BookDefinition[] getBookDefinitions(CustomizationContext customizationContext,
                                               String webapp,
                                               BookDefinitionId firstBookDefinitionId,
                                               int limit)
                                        throws RemoteException

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

  Parameters:
    `customizationContext` - customization information such as preferred locales.
    `webapp` - the web application these book definitions are scoped to.
    `firstBookDefinitionId` - 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 `BookDefinition`s no greater than `limit` in size.
  Throws:
    `RemoteException`

### getBookView

    public BookView getBookView(CustomizationContext customizationContext,
                                BookDefinitionId bookDefinitionId)
                         throws RemoteException

  Getter for returning an immutable deep copy of a `BookView`. The `BookView` objects, unlike the `BookDefinition` or the `BookInstance` objects contains a full set of references to all child pages, books and so on. The `BookView` object however is immutable.

  Parameters:
    `customizationContext` - customization information such as prefered locales and http request.
    `bookDefinitionId` - the unique bookDefinitionId.
  Returns:
    an immutable deep copy BookView object if one exist, otherwise null.
  Throws:
    `RemoteException`
  See Also:
    `IBookInstanceManager.getBookView(com.bea.netuix.application.manager.CustomizationContext, com.bea.netuix.application.identifier.DesktopDefinitionId, com.bea.netuix.application.identifier.BookInstanceId)`

### getPublicBookDefinitions

    public BookDefinition[] getPublicBookDefinitions(CustomizationContext customizationContext,
                                                     DesktopDefinitionId desktopDefinitionId)
                                              throws RemoteException

  Getter for returning a list of all `BookDefinitions` scoped to the supplied webapp and marked as public and not currently on the users desktop.

  Parameters:
    `customizationContext` - customization information such as prefered locales and desktopInstanceId
    `desktopDefinitionId` - you wish to add any of these book definitions to.
  Returns:
    an array of fully populated and internationalized `BookDefinition` objects if they exist, otherwise, an empty array.
  Throws:
    `RemoteException`
  See Also:
    `BookDefinition`

### getPublicBookDefinitions

    public BookDefinition[] getPublicBookDefinitions(CustomizationContext customizationContext,
                                                     DesktopDefinitionId desktopDefinitionId,
                                                     BookDefinitionId firstBookDefinitionId,
                                                     int limit)
                                              throws RemoteException

  Returns `BookDefinition`s in `definitionId` order (create order) scoped to the supplied webapp and marked as public and not currently on the users desktop. Starting with the supplied definitionId and limiting the result set to size `limit`. If fewer `BookDefinition`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 `bookDefinitionId`. To retrieve from the end of the list and back specify `null` as the `bookDefinitionId` and a negative `limit`. To retrieve all the bookDefinitions in the database supply a limit of 0.
  Implementation has to ensure that repeated calls to this method return `BookDefinition`s in a consistent order.

  Parameters:
    `customizationContext` - customization information such as prefered locales
    `desktopDefinitionId` - you wish to add any of these book definitions to.
    `firstBookDefinitionId` - 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.
  Returns:
    an array of fully populated and internationalized `BookDefinition` objects if they exist, otherwise, an empty array.
  Throws:
    `RemoteException`
  See Also:
    `BookDefinition`

### getPublicBookDefinitions

    public BookDefinition[] getPublicBookDefinitions(CustomizationContext customizationContext,
                                                     String webapp)
                                              throws RemoteException

  Getter for returning a list of all `BookDefinitions` scoped to the supplied webapp and marked as public.

  Parameters:
    `customizationContext` - customization information such as prefered locales and desktopInstanceId
    `webapp` - the web application these book definitions are scoped to.
  Returns:
    an array of fully populated and internationalized `BookDefinition` objects if they exist, otherwise, an empty array.
  Throws:
    `RemoteException`
  See Also:
    `BookDefinition`

### getPublicBookDefinitions

    public BookDefinition[] getPublicBookDefinitions(CustomizationContext customizationContext,
                                                     String webapp,
                                                     BookDefinitionId bookDefinitionId)
                                              throws RemoteException

  Getter for returning a list of all `BookDefinitions` scoped to the supplied webapp and marked as public and not currently in the supplied book (bookDefinitionId).

  Parameters:
    `customizationContext` - customization information such as prefered locales and desktopInstanceId
    `webapp` - the web application these book definitions are scoped to.
    `bookDefinitionId` - you wish to add any of these book definitions to.
  Returns:
    an array of fully populated and internationalized `BookDefinition` objects if they exist, otherwise, an empty array.
  Throws:
    `RemoteException`
  See Also:
    `BookDefinition`

### getPublicBookDefinitions

    public BookDefinition[] getPublicBookDefinitions(CustomizationContext customizationContext,
                                                     String webapp,
                                                     BookDefinitionId firstBookDefinitionId,
                                                     int limit)
                                              throws RemoteException

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

  Parameters:
    `customizationContext` - customization information such as preferred locales.
    `webapp` - the web application these book definitions are scoped to.
    `firstBookDefinitionId` - 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 `BookDefinition`s no greater than `limit` in size.
  Throws:
    `RemoteException`

### getPublicBookDefinitions

    public BookDefinition[] getPublicBookDefinitions(CustomizationContext customizationContext,
                                                     String webapp,
                                                     PageDefinitionId pageDefinitionId)
                                              throws RemoteException

  Getter for returning a list of all `BookDefinitions` scoped to the supplied webapp and marked as public and not currently in the supplied page (pageDefinitionId).

  Parameters:
    `customizationContext` - customization information such as prefered locales and desktopInstanceId
    `webapp` - the web application these book definitions are scoped to.
    `pageDefinitionId` - you wish to add any of these book definitions to.
  Returns:
    an array of fully populated and internationalized `BookDefinition` objects if they exist, otherwise, an empty array.
  Throws:
    `RemoteException`
  See Also:
    `BookDefinition`

### moveNavigable

    public NavigableDefinition moveNavigable(CustomizationContext customizationContext,
                                             DesktopDefinitionId desktopDefinitionId,
                                             BookDefinitionId fromParentBookDefinitionId,
                                             BookDefinitionId toParentBookDefinitionId,
                                             NavigableDefinitionId navigableDefinitionId,
                                             int position,
                                             int alignment)
                                      throws RemoteException,
                                             ObjectNotFoundException,
                                             NotEntitledException

  Relocate the navigable definition to a new location.

  Parameters:
    `desktopDefinitionId` - the desktop context to which this update applies.
    `fromParentBookDefinitionId` - the parent book definition id we are moving this navigable from.
    `toParentBookDefinitionId` - the parent book definition to move the navigable definition to.
    `navigableDefinitionId` - the identifier identifying the definition to move.
    `position` - the position in the book (or menu) to insert this navigable (starts with 0)
    `alignment` - position the page from the left (top) or right (bottom) reference the same book defnition.
  Returns:
    a reference to the newly positioned navigableDefinition
  Throws:
    `ObjectNotFoundException` - BookDefinitionId or the NavigableDefinitionId are bogus.
    `NotEntitledException` - if the caller does not have the required permissions to delete this object.
    `RemoteException`

### removeNavigable

    public void removeNavigable(CustomizationContext customizationContext,
                                BookGroupId bookGroupId)
                         throws RemoteException,
                                ObjectNotFoundException,
                                NotEntitledException

  Remove a NavigableDefinition (BookDefinition or PageDefinition) from the specified book. This method does not delete the NavigableDefintion it just removes it from the book.

  Parameters:
    `bookGroupId` - the book group id of the navigable to be removed.
  Throws:
    `ObjectNotFoundException` - if the navigable or book definition could not be found in persistent store.
    `NotEntitledException` - if the caller does not have the required permissions to delete this object.
    `RemoteException`

### searchPublicBookDefinitions

    public BookDefinition[] searchPublicBookDefinitions(CustomizationContext customizationContext,
                                                        String webapp,
                                                        String partialBookTitle,
                                                        int limit)
                                                 throws RemoteException

  Search for public books given the supplied search string. Books with `titles` matching the supplied pattern will be returned. No more than `limit` results will be returned; however a smaller number may be returned. Implementation has to ensure that repeated calls to this method return `BookDefinition`s in a consistent order.

  Parameters:
    `customizationContext` - customization information such as preferred locales.
    `webapp` - the web application these book definitions are scoped to.
    `partialBookTitle` - the search string for book title match. Note: this string may contain special '*' and '?' characters, where '*' matches any characters and '?' matches any single character.
    `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 `BookDefinition`s no greater than `limit` in size.
  Throws:
    `RemoteException`

### setDefaultNavigable

    public void setDefaultNavigable(CustomizationContext customizationContext,
                                    BookDefinitionId parentBookDefinitionId,
                                    NavigableDefinitionId navigableDefinitionId)
                             throws RemoteException,
                                    ObjectNotFoundException,
                                    NotEntitledException

  Set a navigable (book or page) on a parent page as the default page.

  Parameters:
    `parentBookDefinitionId` - the book definition id of the parent book
    `navigableDefinitionId` - the child book or page definition id to become the new defualt page
  Throws:
    `ObjectNotFoundException` - if the navigable or book definition could not be found in persistent store.
    `NotEntitledException` - if the caller does not have the required permissions to delete this object.
    `RemoteException`

### updateBookDefinition

    public void updateBookDefinition(CustomizationContext customizationContext,
                                     BookDefinition bookDefintion)
                              throws RemoteException,
                                     ObjectNotFoundException,
                                     NotEntitledException

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

  Parameters:
    `customizationContext` - customization information such as prefered locales and desktopInstanceId
    `bookDefintion` - the object containing the new data for the book definition.
  Throws:
    `ObjectNotFoundException` - the `BookDefinitionId` `NotEntitledException` - if the caller does not have the required permissions to delete this object.
    `RemoteException`

Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2004 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 BEA Systems, Inc. All Rights Reserved