org.eclipse.core.commands

## Class Category

- java.lang.Object
- - org.eclipse.core.commands.common.EventManager
  - - org.eclipse.core.commands.common.HandleObject
    - - org.eclipse.core.commands.common.NamedHandleObject
      - - org.eclipse.core.commands.Category

All Implemented Interfaces:
  IIdentifiable

    public final class Category
    extends NamedHandleObject

A logical group for a set of commands. A command belongs to exactly one category. The category has no functional effect, but may be used in graphical tools that want to group the set of commands somehow.

Since:
  3.1

### Field Summary

### Fields inherited from class org.eclipse.core.commands.common.NamedHandleObject

`description, name`

### Fields inherited from class org.eclipse.core.commands.common.HandleObject

`defined, id, string`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addCategoryListener(ICategoryListener categoryListener)` Adds a listener to this category that will be notified when this category's state changes.
`void` `define(String name, String description)` Defines this category by giving it a name, and possibly a description as well.
`void` `removeCategoryListener(ICategoryListener categoryListener)` Removes a listener from this category.
`String` `toString()` The string representation of this object -- for debugging purposes only.
`void` `undefine()` Makes this object becomes undefined.

### Methods inherited from class org.eclipse.core.commands.common.NamedHandleObject

`getDescription, getName`

### Methods inherited from class org.eclipse.core.commands.common.HandleObject

`equals, getId, hashCode, isDefined`

### Methods inherited from class org.eclipse.core.commands.common.EventManager

`addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Method Detail

#### addCategoryListener

    public final void addCategoryListener(ICategoryListener categoryListener)

Adds a listener to this category that will be notified when this category's state changes.

Parameters:
  `categoryListener` - The listener to be added; must not be `null`.

#### define

    public final void define(String name,
                             String description)

Defines this category by giving it a name, and possibly a description as well. The defined property automatically becomes `true`.

Notification is sent to all listeners that something has changed.

Parameters:
  `name` - The name of this command; must not be `null`.
  `description` - The description for this command; may be `null`.

#### removeCategoryListener

    public final void removeCategoryListener(ICategoryListener categoryListener)

Removes a listener from this category.

Parameters:
  `categoryListener` - The listener to be removed; must not be `null`.

#### toString

    public String toString()

Description copied from class: `HandleObject`
The string representation of this object -- for debugging purposes only. This string should not be shown to an end user.

Specified by:
  `toString` in class `HandleObject`
Returns:
  The string representation; never `null`.

#### undefine

    public void undefine()

Description copied from class: `HandleObject`
Makes this object becomes undefined. This method should make any defined properties `null`. It should also send notification to any listeners that these properties have changed.

Specified by:
  `undefine` in class `HandleObject`