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

public interface IPortletCategoryManager

Defines methods to manage a hierarchy of `PortletDefinition`s. Assumes that the hierarchy is a top down tree with each category having only one parent category. However, lets a `PortletDefinition` reside under multiple categories. All calls are subject to entitlements based filtering.

All Known Subinterfaces
  `PortletCategoryManager`

## Method Summary

`public void` | `addPortletDefinition`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId, `PortletDefinitionId` pdId) Adds a `PortletDefinitionId` to a portlet category.
`public `PortletCategoryDefinition`` | `createCategory`(`CustomizationContext` customizationContext, `PortletCategoryDefinition` pcd) Creates a persistent version of a `PortletCategoryDefinition` from the provided `PortletCategoryDefinition`.
`public `PortletCategoryDefinition`` | `createRootCategory`(`CustomizationContext` customizationContext, `PortletCategoryDefinition` root) Creates and returns a ROOT category
`public int` | `deleteCategory`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId) Deletes all (including localized) versions of a category.
`public void` | `deletePortletDefinition`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId, `PortletDefinitionId` pdId) Deletes a `PortletDefinitionId` from a portlet category.
`public int` | `deletePortletDefinitions`(`CustomizationContext` customizationContext, `PortletDefinitionId` pdId) Deletes a `PortletDefinitionId` from all portlet categories.
`public `PortletCategoryDefinitionId`[]` | `getAncestorIds`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId) Returns an array of `PortletCategoryDefinitionId`s that represent the ancestors of a category starting with the parent category and ending with the root.
`public `PortletCategoryDefinition`[]` | `getAncestors`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId) Returns an array of `PortletCategoryDefinition`s that represent the ancestors of a category starting with the parent category and ending with the root.
`public `PortletCategoryDefinition`[]` | `getCategories`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId`[] pcdId) Returns an array of `PortletCategoryDefinition`s corresponding to an array of `PortletCategoryDefinitionId`s.
`public `PortletCategoryDefinition`` | `getCategory`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId) Returns a `PortletCategoryDefinition` corresponding to a `PortletCategoryDefinitionId`.
`public int` | `getCategoryCount`(`CustomizationContext` customizationContext, `String` webAppName) Returns the number of categories recursively starting with the root category.
`public `PortletCategoryDefinitionId`[]` | `getCategoryIds`(`CustomizationContext` customizationContext, int begin, int end, `String` webAppName) Returns an array of `PorletCategoryDefinitionId`s in the `begin` and `end` range.
`public `PortletCategoryView`` | `getCategoryView`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId) Returns a `PortletCategoryView` corresponding to a `PortletCategoryDefinitionId`.
`public `PortletCategoryView`[]` | `getCategoryViews`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId`[] pcdId) Returns an array of `PortletCategoryView`s corresponding to an array of `PortletCategoryDefinitionId`s.
`public int` | `getNonCategorizedPortletDefinitionCount`(`CustomizationContext` customizationContext, `String` webAppName) Returns the number of `PortletDefinition`s that are not included under any category.
`public `PortletDefinitionId`[]` | `getNonCategorizedPortletDefinitionIds`(`CustomizationContext` customizationContext, int begin, int end, `String` webAppName) Returns noncategorized `PortletDefinitionId`s in the `begin` and `end` range.
`public `PortletDefinition`[]` | `getNonCategorizedPortletDefinitions`(`CustomizationContext` customizationContext, int begin, int end, `String` webAppName) Returns noncategorized `PortletDefinition`s in the `begin` and `end` range.
`public `PortletView`[]` | `getNonCategorizedPortletViews`(`CustomizationContext` customizationContext, int begin, int end, `String` webAppName) Returns noncategorized `PortletView`s in the `begin` and `end` range.
`public `PortletCategoryDefinitionId`[]` | `getPortletDefinitionCategories`(`CustomizationContext` customizationContext, `PortletDefinitionId` pdId) Returns all the `PortletCategoryDefinition`s that a `PortletDefinition` is a part of.
`public int` | `getPortletDefinitionCount`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId) Returns the number of `PortletDefinition`s under category `pcdId`.
`public `PortletDefinition`[]` | `getPortletDefinitions`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId, int begin, int end) Returns `PortletDefinition`s in the `begin` and `end` range under the category `pcdId`.
`public `PortletView`[]` | `getPortletViews`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId, int begin, int end) Returns `PortletView`s in the `begin` and `end` range under the category `pcdId`.
`public `PortletCategoryDefinition`` | `getRootCategory`(`CustomizationContext` customizationContext, `String` webAppName) Returns root of the PortletCategory hierarchy.
`public `PortletCategoryDefinition`[]` | `getSiblingCategories`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId, int begin, int end) Returns an array of `PorletCategoryDefinition`s for sibling categories of the category represented by `pcdId` in the `begin` and `end` range.If fewer categories than (begin-end) exist then the former number of categories is returned.
`public int` | `getSiblingCategoryCount`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId) Returns the number of categories at the same level as a category.
`public `PortletCategoryDefinitionId`[]` | `getSiblingCategoryIds`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId, int begin, int end) Returns an array of `PorletCategoryDefinitionId`s for sibling categories of the category represented by `pcdId` in the `begin` and `end` range.
`public `PortletCategoryView`[]` | `getSiblingCategoryViews`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId, int begin, int end) Returns an array of `PorletCategoryView`s for sibling categories of the category represented by `pcdId` in the `begin` and `end` range.
`public `PortletCategoryDefinition`[]` | `getSubCategories`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId, int begin, int end) Returns an array of `PorletCategoryDefinition`s for subcategories of the category represented by `pcdId` in the `begin` and `end` range.If fewer categories than (begin-end) exist then the former number of categories is returned.
`public int` | `getSubCategoryCount`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId) Returns the number of immediate categories under category `pcdId`.
`public `PortletCategoryDefinitionId`[]` | `getSubCategoryIds`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId, int begin, int end) Returns an array of `PorletCategoryDefinitionId`s for subcategories of the category represented by `pcdId` in the `begin` and `end` range.
`public void` | `moveCategory`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId, `PortletCategoryDefinitionId` newParentId) Moves a category under a new parent.
`public void` | `updateCategory`(`CustomizationContext` customizationContext, `PortletCategoryDefinitionId` pcdId, `PortletCategoryDefinition` newPcd) Updates a locale specific version of a category based on a new `PortletCategoryDefinition`.

## Method Detail

### addPortletDefinition(CustomizationContext, PortletCategoryDefinitionId, PortletDefinitionId) Method

    public void addPortletDefinition(CustomizationContext customizationContext,
                                     PortletCategoryDefinitionId pcdId,
                                     PortletDefinitionId pdId)
         throws RemoteException, NotEntitledException

Adds a `PortletDefinitionId` to a portlet category.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

pdId
  `PortletDefinitionId`

#### Exceptions

``RemoteException``
``NotEntitledException``
  if caller does not have permission for this operation

### createCategory(CustomizationContext, PortletCategoryDefinition) Method

    public PortletCategoryDefinition createCategory(CustomizationContext customizationContext,
                                                    PortletCategoryDefinition pcd)
         throws RemoteException, NotEntitledException, MissingDataException

Creates a persistent version of a `PortletCategoryDefinition` from the provided `PortletCategoryDefinition`.

#### Parameters

customizationContext
  customization information such as prefered locales

pcd
  `PortletCategoryDefinition`

#### Returns

handle to persisted `PortletCategoryDefinition`

#### Exceptions

``RemoteException``
``NotEntitledException``
  if caller does not have permission for this operation
``MissingDataException``
  if data required to create a category is missing

### createRootCategory(CustomizationContext, PortletCategoryDefinition) Method

    public PortletCategoryDefinition createRootCategory(CustomizationContext customizationContext,
                                                        PortletCategoryDefinition root)
         throws RemoteException, MissingDataException, NotEntitledException

Creates and returns a ROOT category

#### Parameters

customizationContext
  customization information such as prefered locales

root
  `PorletCategoryDefinition` for ROOT category

#### Returns

PortletCategoryDefinition for ROOT category with identifier set

#### Exceptions

``RemoteException``
``MissingDataException``
  if some data is missing
``NotEntitledException``
  if caller does not have permission for this operation

### deleteCategory(CustomizationContext, PortletCategoryDefinitionId) Method

    public int deleteCategory(CustomizationContext customizationContext,
                              PortletCategoryDefinitionId pcdId)
         throws RemoteException, NotEntitledException

Deletes all (including localized) versions of a category. Also deletes all subcategories of category in question.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  category to be removed

#### Returns

number of categories deleted

#### Exceptions

``RemoteException``
``NotEntitledException``
  if caller does not have permission for this operation

### deletePortletDefinition(CustomizationContext, PortletCategoryDefinitionId, PortletDefinitionId) Method

    public void deletePortletDefinition(CustomizationContext customizationContext,
                                        PortletCategoryDefinitionId pcdId,
                                        PortletDefinitionId pdId)
         throws RemoteException, NotEntitledException

Deletes a `PortletDefinitionId` from a portlet category.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

pdId
  `PortletDefinitionId`

#### Exceptions

``RemoteException``
``NotEntitledException``
  if caller does not have permission for this operation

### deletePortletDefinitions(CustomizationContext, PortletDefinitionId) Method

    public int deletePortletDefinitions(CustomizationContext customizationContext,
                                        PortletDefinitionId pdId)
         throws RemoteException, NotEntitledException

Deletes a `PortletDefinitionId` from all portlet categories.

#### Parameters

customizationContext
  customization information such as prefered locales

pdId
  `PortletDefinitionId`

#### Returns

number of instances `PortletDefinition` deleted

#### Exceptions

``RemoteException``
``NotEntitledException``
  is caller does not have permission for this operation

### getAncestorIds(CustomizationContext, PortletCategoryDefinitionId) Method

    public PortletCategoryDefinitionId[] getAncestorIds(CustomizationContext customizationContext,
                                                      PortletCategoryDefinitionId pcdId)
         throws RemoteException, ObjectNotFoundException

Returns an array of `PortletCategoryDefinitionId`s that represent the ancestors of a category starting with the parent category and ending with the root.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

#### Returns

an array of `PortletCategoryDefinitionId`s

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if category does not exist

### getAncestors(CustomizationContext, PortletCategoryDefinitionId) Method

    public PortletCategoryDefinition[] getAncestors(CustomizationContext customizationContext,
                                                  PortletCategoryDefinitionId pcdId)
         throws RemoteException, ObjectNotFoundException

Returns an array of `PortletCategoryDefinition`s that represent the ancestors of a category starting with the parent category and ending with the root.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

#### Returns

an array of `PortletCategoryDefinition`s

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if category does not exist

### getCategories(CustomizationContext, PortletCategoryDefinitionId[]) Method

    public PortletCategoryDefinition[] getCategories(CustomizationContext customizationContext,
                                                   PortletCategoryDefinitionId[] pcdId)
         throws RemoteException, ObjectNotFoundException

Returns an array of `PortletCategoryDefinition`s corresponding to an array of `PortletCategoryDefinitionId`s.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  array of `PortletCategoryDefinitionId`s

#### Returns

array of `PortletCategoryDefinition`s

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if category for any key does not exist

### getCategory(CustomizationContext, PortletCategoryDefinitionId) Method

    public PortletCategoryDefinition getCategory(CustomizationContext customizationContext,
                                                 PortletCategoryDefinitionId pcdId)
         throws RemoteException, ObjectNotFoundException

Returns a `PortletCategoryDefinition` corresponding to a `PortletCategoryDefinitionId`.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

#### Returns

`PortletCategoryDefinition`

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if no category definition is found

### getCategoryCount(CustomizationContext, String) Method

    public int getCategoryCount(CustomizationContext customizationContext,
                                String webAppName)
         throws RemoteException

Returns the number of categories recursively starting with the root category. Note: categories are scoped to th web app.

#### Parameters

customizationContext
  the name of the webapp as defined in the config.xml

#### Returns

number of categories

#### Exceptions

``RemoteException``

### getCategoryIds(CustomizationContext, int, int, String) Method

    public PortletCategoryDefinitionId[] getCategoryIds(CustomizationContext customizationContext,
                                                      int begin,
                                                      int end,
                                                      String webAppName)
         throws RemoteException

Returns an array of `PorletCategoryDefinitionId`s in the `begin` and `end` range. If fewer categories than (begin-end) exist then the former number of categories is returned. If no definitions are found an empty array is returned.
Implementation has to ensure that repeated calls to this method return `PortletCategoryDefinitionId`s in a consistent order.

#### Parameters

customizationContext
  customization information such as prefered locales

begin
  begin index

end
  end index

webAppName
  as defined in the config.xml

#### Returns

an array of `PortletCategoryDefinitionId`s

#### Exceptions

``RemoteException``

### getCategoryView(CustomizationContext, PortletCategoryDefinitionId) Method

    public PortletCategoryView getCategoryView(CustomizationContext customizationContext,
                                               PortletCategoryDefinitionId pcdId)
         throws RemoteException, ObjectNotFoundException

Returns a `PortletCategoryView` corresponding to a `PortletCategoryDefinitionId`.
NOTE: This method returns a deep copy of a category definition. So, the higher the level of the `PortletCategoryDefinitionId` in the category hierarchy the larger the size of the returned `PortletCategoryView` object is going to be. An example of such a degenerative case would be to call this method for the root category in which case all category definitions and all portlet definitions that are categorized will be returned.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

#### Returns

`PortletCategoryView`

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if no category definition is found

### getCategoryViews(CustomizationContext, PortletCategoryDefinitionId[]) Method

    public PortletCategoryView[] getCategoryViews(CustomizationContext customizationContext,
                                                PortletCategoryDefinitionId[] pcdId)
         throws RemoteException, ObjectNotFoundException

Returns an array of `PortletCategoryView`s corresponding to an array of `PortletCategoryDefinitionId`s.
NOTE:If some of the `PortletCategoryDefinition`s in the method argument are parents or children of one another duplicated data will get returned in the `PortletCategoryView` objects.
Same caveat as method getCategoryView applies.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  array of `PortletCategoryDefinitionId`s

#### Returns

array of `PortletCategoryView`s

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if category for any key does not exist

Related Topics

``note for caveat``

### getNonCategorizedPortletDefinitionCount(CustomizationContext, String) Method

    public int getNonCategorizedPortletDefinitionCount(CustomizationContext customizationContext,
                                                       String webAppName)
         throws RemoteException

Returns the number of `PortletDefinition`s that are not included under any category.

#### Parameters

customizationContext
  the web app name as defined in the config.xml

#### Returns

number of noncategorized `PortletDefinition`s

#### Exceptions

``RemoteException``

### getNonCategorizedPortletDefinitionIds(CustomizationContext, int, int, String) Method

    public PortletDefinitionId[] getNonCategorizedPortletDefinitionIds(CustomizationContext customizationContext,
                                                                     int begin,
                                                                     int end,
                                                                     String webAppName)
         throws RemoteException

Returns noncategorized `PortletDefinitionId`s in the `begin` and `end` range. If fewer categories than (begin-end) exist then the former number of categories is returned. If no definitions are found an empty array is returned.
Use this method after getting the number of noncategorized `PortletDefinitionId`s.
The implementation has to ensure that repeated calls to this method return `PortletDefinition`s in a consistent order.

#### Parameters

customizationContext
  customization information such as prefered locales

begin
  begin index

end
  end index

webAppName
  the web app name as defined in the config.xml

#### Returns

array of `PortletDefinitionId`s

#### Exceptions

``RemoteException``

### getNonCategorizedPortletDefinitions(CustomizationContext, int, int, String) Method

    public PortletDefinition[] getNonCategorizedPortletDefinitions(CustomizationContext customizationContext,
                                                                 int begin,
                                                                 int end,
                                                                 String webAppName)
         throws RemoteException

Returns noncategorized `PortletDefinition`s in the `begin` and `end` range. If fewer categories than (begin-end) exist then the former number of categories is returned. If no definitions are found an empty array is returned.
Use this method after getting the number of noncategorized `PortletDefinition`s.
Implementation has to ensure that repeated calls to this method return `PortletDefinition`s in a consistent order.

#### Parameters

customizationContext
  customization information such as prefered locales

begin
  begin index

end
  end index

webAppName
  the web app name as defined in the config.xml

#### Returns

array of `PortletDefinition`s

#### Exceptions

``RemoteException``

### getNonCategorizedPortletViews(CustomizationContext, int, int, String) Method

    public PortletView[] getNonCategorizedPortletViews(CustomizationContext customizationContext,
                                                     int begin,
                                                     int end,
                                                     String webAppName)
         throws RemoteException

Returns noncategorized `PortletView`s in the `begin` and `end` range. If fewer categories than (begin-end) exist then the former number of category views is returned. If no definitions are found an empty array is returned.
Use this method after getting the number of noncategorized `PortletDefinition`s.
Implementation has to ensure that repeated calls to this method return `PortletView`s in a consistent order.

#### Parameters

customizationContext
  customization information such as prefered locales

begin
  begin index

end
  end index

webAppName
  the web app name as defined in the config.xml

#### Returns

array of `PortletView`s

#### Exceptions

``RemoteException``

### getPortletDefinitionCategories(CustomizationContext, PortletDefinitionId) Method

    public PortletCategoryDefinitionId[] getPortletDefinitionCategories(CustomizationContext customizationContext,
                                                                      PortletDefinitionId pdId)
         throws RemoteException

Returns all the `PortletCategoryDefinition`s that a `PortletDefinition` is a part of. Returns an empty array if the latter is noncategorized.

#### Parameters

customizationContext
  customization information such as prefered locales

pdId
  `PortletDefinitionId`

#### Returns

an array of `PortletCategoryDefinitionId`s

#### Exceptions

``RemoteException``

### getPortletDefinitionCount(CustomizationContext, PortletCategoryDefinitionId) Method

    public int getPortletDefinitionCount(CustomizationContext customizationContext,
                                         PortletCategoryDefinitionId pcdId)
         throws RemoteException

Returns the number of `PortletDefinition`s under category `pcdId`.

#### Parameters

customizationContext
  `PortletCategoryDefinitionId`

#### Returns

number of `PortletDefinition`s under category `pcdId`

#### Exceptions

``RemoteException``

### getPortletDefinitions(CustomizationContext, PortletCategoryDefinitionId, int, int) Method

    public PortletDefinition[] getPortletDefinitions(CustomizationContext customizationContext,
                                                   PortletCategoryDefinitionId pcdId,
                                                   int begin,
                                                   int end)
         throws RemoteException

Returns `PortletDefinition`s in the `begin` and `end` range under the category `pcdId`. If fewer `PortletDefinition`s than (begin-end) exist then the former number is returned. If no definitions are found an empty array is returned.
Use this method after getting the number of `PortletDefinition`s.
Implementation has to ensure that repeated calls to this method return `PortletDefinition`s in a consistent order.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

begin
  begin index

end
  end index

#### Returns

array of `PortletDefinition`s

#### Exceptions

``RemoteException``

### getPortletViews(CustomizationContext, PortletCategoryDefinitionId, int, int) Method

    public PortletView[] getPortletViews(CustomizationContext customizationContext,
                                       PortletCategoryDefinitionId pcdId,
                                       int begin,
                                       int end)
         throws RemoteException, ObjectNotFoundException

Returns `PortletView`s in the `begin` and `end` range under the category `pcdId`. If fewer views than (begin-end) exist then the former number of views is returned. If no views are found an empty array is returned.
Use this method after getting the number of `PortletDefinition`s.
Implementation has to ensure that repeated calls to this method return `PortletView`s in a consistent order.
Same caveat as method getCategoryView applies.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

begin
  begin index

end
  end index

#### Returns

array of `PortletView`s

#### Exceptions

``RemoteException``
``ObjectNotFoundException``

Related Topics

``note for caveat``

### getRootCategory(CustomizationContext, String) Method

    public PortletCategoryDefinition getRootCategory(CustomizationContext customizationContext,
                                                     String webAppName)
         throws RemoteException, ObjectNotFoundException

Returns root of the PortletCategory hierarchy.

#### Parameters

customizationContext
  customization information such as prefered locales

webAppName
  the name of the webapp as defined in the config.xml

#### Returns

the root `PortletCategoryDefinition`.

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if the root category does not exist

### getSiblingCategories(CustomizationContext, PortletCategoryDefinitionId, int, int) Method

    public PortletCategoryDefinition[] getSiblingCategories(CustomizationContext customizationContext,
                                                          PortletCategoryDefinitionId pcdId,
                                                          int begin,
                                                          int end)
         throws RemoteException, ObjectNotFoundException

Returns an array of `PorletCategoryDefinition`s for sibling categories of the category represented by `pcdId` in the `begin` and `end` range.If fewer categories than (begin-end) exist then the former number of categories is returned. If no definitions are found an empty array is returned.
Implementation has to ensure that repeated calls to this method return `PortletCategoryDefinition`s in a consistent order.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

begin
  begin index

end
  end index

#### Returns

an array of `PortletCategoryDefinition`s

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if category does not exist

### getSiblingCategoryCount(CustomizationContext, PortletCategoryDefinitionId) Method

    public int getSiblingCategoryCount(CustomizationContext customizationContext,
                                       PortletCategoryDefinitionId pcdId)
         throws RemoteException

Returns the number of categories at the same level as a category. All these categories have the same parent.

#### Parameters

customizationContext
  `PortletCategoryDefinitionId`

#### Returns

number of code>PortletDefinitions under category `pcdId`

#### Exceptions

``RemoteException``

### getSiblingCategoryIds(CustomizationContext, PortletCategoryDefinitionId, int, int) Method

    public PortletCategoryDefinitionId[] getSiblingCategoryIds(CustomizationContext customizationContext,
                                                             PortletCategoryDefinitionId pcdId,
                                                             int begin,
                                                             int end)
         throws RemoteException

Returns an array of `PorletCategoryDefinitionId`s for sibling categories of the category represented by `pcdId` in the `begin` and `end` range. If fewer categories than (begin-end) exist then the former number of categories is returned. If no definitions are found an empty array is returned.
Implementation has to ensure that repeated calls to this method return `PortletCategoryDefinitionId`s in a consistent order.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

begin
  begin index

end
  end index

#### Returns

an array of `PortletCategoryDefinitionId`s

#### Exceptions

``RemoteException``

### getSiblingCategoryViews(CustomizationContext, PortletCategoryDefinitionId, int, int) Method

    public PortletCategoryView[] getSiblingCategoryViews(CustomizationContext customizationContext,
                                                       PortletCategoryDefinitionId pcdId,
                                                       int begin,
                                                       int end)
         throws RemoteException, ObjectNotFoundException

Returns an array of `PorletCategoryView`s for sibling categories of the category represented by `pcdId` in the `begin` and `end` range. If fewer categories than (begin-end) exist then the former number of category views is returned. If no definitions are found an empty array is returned.
Implementation has to ensure that repeated calls to this method return `PortletCategoryView`s in a consistent order.
Same caveat as method getCategoryView applies.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

begin
  begin index

end
  end index

#### Returns

an array of `PortletCategoryDefinition`s

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if category does not exist

Related Topics

``note for caveat``

### getSubCategories(CustomizationContext, PortletCategoryDefinitionId, int, int) Method

    public PortletCategoryDefinition[] getSubCategories(CustomizationContext customizationContext,
                                                      PortletCategoryDefinitionId pcdId,
                                                      int begin,
                                                      int end)
         throws RemoteException, ObjectNotFoundException

Returns an array of `PorletCategoryDefinition`s for subcategories of the category represented by `pcdId` in the `begin` and `end` range.If fewer categories than (begin-end) exist then the former number of categories is returned. If no definitions are found an empty array is returned.
Implementation has to ensure that repeated calls to this method return `PortletCategoryDefinition`s in a consistent order.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

begin
  begin index

end
  end index

#### Returns

an array of `PortletCategoryDefinition`s

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if category does not exist

### getSubCategoryCount(CustomizationContext, PortletCategoryDefinitionId) Method

    public int getSubCategoryCount(CustomizationContext customizationContext,
                                   PortletCategoryDefinitionId pcdId)
         throws RemoteException

Returns the number of immediate categories under category `pcdId`.

#### Parameters

customizationContext
  `PortletCategoryDefinitionId`

#### Returns

number of categories under category `pcdId`

#### Exceptions

``RemoteException``

### getSubCategoryIds(CustomizationContext, PortletCategoryDefinitionId, int, int) Method

    public PortletCategoryDefinitionId[] getSubCategoryIds(CustomizationContext customizationContext,
                                                         PortletCategoryDefinitionId pcdId,
                                                         int begin,
                                                         int end)
         throws RemoteException

Returns an array of `PorletCategoryDefinitionId`s for subcategories of the category represented by `pcdId` in the `begin` and `end` range. If fewer categories than (begin-end) exist then the former number of categories is returned. If no definitions are found an empty array is returned.
Implementation has to ensure that repeated calls to this method return `PortletCategoryDefinitionId`s in a consistent order.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

begin
  begin index

end
  end index

#### Returns

an array of `PortletCategoryDefinitionId`s

#### Exceptions

``RemoteException``

### moveCategory(CustomizationContext, PortletCategoryDefinitionId, PortletCategoryDefinitionId) Method

    public void moveCategory(CustomizationContext customizationContext,
                             PortletCategoryDefinitionId pcdId,
                             PortletCategoryDefinitionId newParentId)
         throws RemoteException, ObjectNotFoundException, NotEntitledException

Moves a category under a new parent.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PortletCategoryDefinitionId`

newParentId
  new parent `PortletCategoryDefinitionId`

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if category does not exist
``NotEntitledException``
  if caller does not have permission for this operation

### updateCategory(CustomizationContext, PortletCategoryDefinitionId, PortletCategoryDefinition) Method

    public void updateCategory(CustomizationContext customizationContext,
                               PortletCategoryDefinitionId pcdId,
                               PortletCategoryDefinition newPcd)
         throws RemoteException, ObjectNotFoundException, ObjectInUseException, NotEntitledException, MissingDataException

Updates a locale specific version of a category based on a new `PortletCategoryDefinition`.

#### Parameters

customizationContext
  customization information such as prefered locales

pcdId
  `PorletCategoryDefinitionId`

newPcd
  new `PorletCategoryDefinition`

#### Exceptions

``RemoteException``
``ObjectNotFoundException``
  if category does not exist
``ObjectInUseException``
``NotEntitledException``
  if caller does not have permission for this operation
``MissingDataException``
  if data required to update a category is missing