Eclipse Platform Release 3.7

## org.eclipse.core.commands
Interface IObjectWithState

All Known Implementing Classes:
  AbstractHandlerWithState, Command

    public interface IObjectWithState

An object that holds zero or more state objects. This state information can be shared between different instances of `IObjectWithState`.

Clients may implement, but must not extend this interface.

Since:
  3.2
See Also:
  `AbstractHandlerWithState`

Method Summary
`void` `addState(String id, State state)` Adds state to this object.
`State` `getState(String stateId)` Gets the state with the given id.
`String[]` `getStateIds()` Gets the identifiers for all of the state associated with this object.
`void` `removeState(String stateId)` Removes state from this object.

Method Detail

### addState

    void addState(String id,
                  State state)

  Adds state to this object.

  Parameters:
    `id` - The identifier indicating the type of state being added; must not be `null`.
    `state` - The new state to add to this object; must not be `null`.

### getState

    State getState(String stateId)

  Gets the state with the given id.

  Parameters:
    `stateId` - The identifier of the state to retrieve; must not be `null`.
  Returns:
    The state; may be `null` if there is no state with the given id.

### getStateIds

    String[] getStateIds()

  Gets the identifiers for all of the state associated with this object.

  Returns:
    All of the state identifiers; may be empty, but never `null`.

### removeState

    void removeState(String stateId)

  Removes state from this object.

  Parameters:
    `stateId` - The id of the state to remove from this object; must not be `null`.

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.