Copyright (c) 2005, 2015 IBM Corporation and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
Contributors:
IBM Corporation - initial API and implementation
/*******************************************************************************
* Copyright (c) 2005, 2015 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.core.commands;
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.
See Also: - AbstractHandlerWithState
Since: 3.2
/**
* <p>
* An object that holds zero or more state objects. This state information can
* be shared between different instances of <code>IObjectWithState</code>.
* </p>
* <p>
* Clients may implement, but must not extend this interface.
* </p>
*
* @see AbstractHandlerWithState
* @since 3.2
*/
public interface IObjectWithState {
Adds state to this object.
Params: - 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
.
/**
* Adds state to this object.
*
* @param id
* The identifier indicating the type of state being added; must
* not be <code>null</code>.
* @param state
* The new state to add to this object; must not be
* <code>null</code>.
*/
public void addState(String id, State state);
Gets the state with the given id.
Params: - 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.
/**
* Gets the state with the given id.
*
* @param stateId
* The identifier of the state to retrieve; must not be
* <code>null</code>.
* @return The state; may be <code>null</code> if there is no state with
* the given id.
*/
public State getState(String stateId);
Gets the identifiers for all of the state associated with this object.
Returns: All of the state identifiers; may be empty, but never
null
.
/**
* Gets the identifiers for all of the state associated with this object.
*
* @return All of the state identifiers; may be empty, but never
* <code>null</code>.
*/
public String[] getStateIds();
Removes state from this object.
Params: - stateId –
The id of the state to remove from this object; must not be
null
.
/**
* Removes state from this object.
*
* @param stateId
* The id of the state to remove from this object; must not be
* <code>null</code>.
*/
public void removeState(String stateId);
}