Copyright (c) 2004, 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) 2004, 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 event indicating that the set of defined command identifiers has changed.

See Also:
Since:3.1
/** * <p> * An event indicating that the set of defined command identifiers has changed. * </p> * * @since 3.1 * @see ICommandManagerListener#commandManagerChanged(CommandManagerEvent) */
public final class CommandManagerEvent {
The bit used to represent whether the given category has become defined. If this bit is not set and there is no category id, then no category has become defined nor undefined. If this bit is not set and there is a category id, then the category has become undefined.
/** * The bit used to represent whether the given category has become defined. * If this bit is not set and there is no category id, then no category has * become defined nor undefined. If this bit is not set and there is a * category id, then the category has become undefined. */
private static final int CHANGED_CATEGORY_DEFINED = 1;
The bit used to represent whether the given command has become defined. If this bit is not set and there is no command id, then no command has become defined nor undefined. If this bit is not set and there is a command id, then the command has become undefined.
/** * The bit used to represent whether the given command has become defined. * If this bit is not set and there is no command id, then no command has * become defined nor undefined. If this bit is not set and there is a * command id, then the command has become undefined. */
private static final int CHANGED_COMMAND_DEFINED = 1 << 1;
The bit used to represent whether the given command parameter type has become defined. If this bit is not set and there is no parameter type id, then no parameter type has become defined nor undefined. If this bit is not set and there is a parameter type id, then the parameter type has become undefined.
Since:3.2
/** * The bit used to represent whether the given command parameter type has * become defined. If this bit is not set and there is no parameter type id, * then no parameter type has become defined nor undefined. If this bit is * not set and there is a parameter type id, then the parameter type has * become undefined. * * @since 3.2 */
private static final int CHANGED_PARAMETER_TYPE_DEFINED = 1 << 2;
The category identifier that was added or removed from the list of defined category identifiers. This value is null if the list of defined category identifiers did not change.
/** * The category identifier that was added or removed from the list of * defined category identifiers. This value is <code>null</code> if the * list of defined category identifiers did not change. */
private final String categoryId;
A collection of bits representing whether certain values have changed. A bit is set (i.e., 1) if the corresponding property has changed.
/** * A collection of bits representing whether certain values have changed. A * bit is set (i.e., <code>1</code>) if the corresponding property has * changed. */
private final int changedValues;
The command identifier that was added or removed from the list of defined command identifiers. This value is null if the list of defined command identifiers did not change.
/** * The command identifier that was added or removed from the list of defined * command identifiers. This value is <code>null</code> if the list of * defined command identifiers did not change. */
private final String commandId;
The command parameter type identifier that was added or removed from the list of defined parameter type identifiers. This value is null if the list of defined parameter type identifiers did not change.
Since:3.2
/** * The command parameter type identifier that was added or removed from the * list of defined parameter type identifiers. This value is * <code>null</code> if the list of defined parameter type identifiers did * not change. * * @since 3.2 */
private final String parameterTypeId;
The command manager that has changed.
/** * The command manager that has changed. */
private final CommandManager commandManager;
Creates a new CommandManagerEvent instance to describe changes to commands and/or categories.
Params:
  • commandManager – the instance of the interface that changed; must not be null.
  • commandId – The command identifier that was added or removed; must not be null if commandIdChanged is true.
  • commandIdAdded – Whether the command identifier became defined (otherwise, it became undefined).
  • commandIdChanged – Whether the list of defined command identifiers has changed.
  • categoryId – The category identifier that was added or removed; must not be null if categoryIdChanged is true.
  • categoryIdAdded – Whether the category identifier became defined (otherwise, it became undefined).
  • categoryIdChanged – Whether the list of defined category identifiers has changed.
/** * Creates a new <code>CommandManagerEvent</code> instance to describe * changes to commands and/or categories. * * @param commandManager * the instance of the interface that changed; must not be * <code>null</code>. * @param commandId * The command identifier that was added or removed; must not be * <code>null</code> if commandIdChanged is <code>true</code>. * @param commandIdAdded * Whether the command identifier became defined (otherwise, it * became undefined). * @param commandIdChanged * Whether the list of defined command identifiers has changed. * @param categoryId * The category identifier that was added or removed; must not be * <code>null</code> if categoryIdChanged is <code>true</code>. * @param categoryIdAdded * Whether the category identifier became defined (otherwise, it * became undefined). * @param categoryIdChanged * Whether the list of defined category identifiers has changed. */
public CommandManagerEvent(final CommandManager commandManager, final String commandId, final boolean commandIdAdded, final boolean commandIdChanged, final String categoryId, final boolean categoryIdAdded, final boolean categoryIdChanged) { if (commandManager == null) { throw new NullPointerException( "An event must refer to its command manager"); //$NON-NLS-1$ } if (commandIdChanged && (commandId == null)) { throw new NullPointerException( "If the list of defined commands changed, then the added/removed command must be mentioned"); //$NON-NLS-1$ } if (categoryIdChanged && (categoryId == null)) { throw new NullPointerException( "If the list of defined categories changed, then the added/removed category must be mentioned"); //$NON-NLS-1$ } this.commandManager = commandManager; this.commandId = commandId; this.categoryId = categoryId; // this constructor only works for changes to commands and categories this.parameterTypeId = null; int changedValues = 0; if (categoryIdChanged && categoryIdAdded) { changedValues |= CHANGED_CATEGORY_DEFINED; } if (commandIdChanged && commandIdAdded) { changedValues |= CHANGED_COMMAND_DEFINED; } this.changedValues = changedValues; }
Creates a new CommandManagerEvent instance to describe changes to command parameter types.
Params:
  • commandManager – the instance of the interface that changed; must not be null.
  • parameterTypeId – The command parameter type identifier that was added or removed; must not be null if parameterTypeIdChanged is true.
  • parameterTypeIdAdded – Whether the parameter type identifier became defined (otherwise, it became undefined).
  • parameterTypeIdChanged – Whether the list of defined parameter type identifiers has changed.
Since:3.2
/** * Creates a new <code>CommandManagerEvent</code> instance to describe * changes to command parameter types. * * @param commandManager * the instance of the interface that changed; must not be * <code>null</code>. * @param parameterTypeId * The command parameter type identifier that was added or * removed; must not be <code>null</code> if * parameterTypeIdChanged is <code>true</code>. * @param parameterTypeIdAdded * Whether the parameter type identifier became defined * (otherwise, it became undefined). * @param parameterTypeIdChanged * Whether the list of defined parameter type identifiers has * changed. * * @since 3.2 */
public CommandManagerEvent(final CommandManager commandManager, final String parameterTypeId, final boolean parameterTypeIdAdded, final boolean parameterTypeIdChanged) { if (commandManager == null) { throw new NullPointerException( "An event must refer to its command manager"); //$NON-NLS-1$ } if (parameterTypeIdChanged && (parameterTypeId == null)) { throw new NullPointerException( "If the list of defined command parameter types changed, then the added/removed parameter type must be mentioned"); //$NON-NLS-1$ } this.commandManager = commandManager; this.commandId = null; this.categoryId = null; this.parameterTypeId = parameterTypeId; int changedValues = 0; if (parameterTypeIdChanged && parameterTypeIdAdded) { changedValues |= CHANGED_PARAMETER_TYPE_DEFINED; } this.changedValues = changedValues; }
Returns the category identifier that was added or removed.
Returns:The category identifier that was added or removed; may be null.
/** * Returns the category identifier that was added or removed. * * @return The category identifier that was added or removed; may be * <code>null</code>. */
public final String getCategoryId() { return categoryId; }
Returns the command identifier that was added or removed.
Returns:The command identifier that was added or removed; may be null.
/** * Returns the command identifier that was added or removed. * * @return The command identifier that was added or removed; may be * <code>null</code>. */
public final String getCommandId() { return commandId; }
Returns the instance of the interface that changed.
Returns:the instance of the interface that changed. Guaranteed not to be null.
/** * Returns the instance of the interface that changed. * * @return the instance of the interface that changed. Guaranteed not to be * <code>null</code>. */
public final CommandManager getCommandManager() { return commandManager; }
Returns the command parameter type identifier that was added or removed.
Returns:The command parameter type identifier that was added or removed; may be null.
Since:3.2
/** * Returns the command parameter type identifier that was added or removed. * * @return The command parameter type identifier that was added or removed; * may be <code>null</code>. * * @since 3.2 */
public final String getParameterTypeId() { return parameterTypeId; }
Returns whether the list of defined category identifiers has changed.
Returns:true if the list of category identifiers has changed; false otherwise.
/** * Returns whether the list of defined category identifiers has changed. * * @return <code>true</code> if the list of category identifiers has * changed; <code>false</code> otherwise. */
public final boolean isCategoryChanged() { return (categoryId != null); }
Returns whether the category identifier became defined. Otherwise, the category identifier became undefined.
Returns:true if the category identifier became defined; false if the category identifier became undefined.
/** * Returns whether the category identifier became defined. Otherwise, the * category identifier became undefined. * * @return <code>true</code> if the category identifier became defined; * <code>false</code> if the category identifier became undefined. */
public final boolean isCategoryDefined() { return (((changedValues & CHANGED_CATEGORY_DEFINED) != 0) && (categoryId != null)); }
Returns whether the list of defined command identifiers has changed.
Returns:true if the list of command identifiers has changed; false otherwise.
/** * Returns whether the list of defined command identifiers has changed. * * @return <code>true</code> if the list of command identifiers has * changed; <code>false</code> otherwise. */
public final boolean isCommandChanged() { return (commandId != null); }
Returns whether the command identifier became defined. Otherwise, the command identifier became undefined.
Returns:true if the command identifier became defined; false if the command identifier became undefined.
/** * Returns whether the command identifier became defined. Otherwise, the * command identifier became undefined. * * @return <code>true</code> if the command identifier became defined; * <code>false</code> if the command identifier became undefined. */
public final boolean isCommandDefined() { return (((changedValues & CHANGED_COMMAND_DEFINED) != 0) && (commandId != null)); }
Returns whether the list of defined command parameter type identifiers has changed.
Returns:true if the list of command parameter type identifiers has changed; false otherwise.
Since:3.2
/** * Returns whether the list of defined command parameter type identifiers * has changed. * * @return <code>true</code> if the list of command parameter type * identifiers has changed; <code>false</code> otherwise. * * @since 3.2 */
public final boolean isParameterTypeChanged() { return (parameterTypeId != null); }
Returns whether the command parameter type identifier became defined. Otherwise, the command parameter type identifier became undefined.
Returns:true if the command parameter type identifier became defined; false if the command parameter type identifier became undefined.
Since:3.2
/** * Returns whether the command parameter type identifier became defined. * Otherwise, the command parameter type identifier became undefined. * * @return <code>true</code> if the command parameter type identifier * became defined; <code>false</code> if the command parameter * type identifier became undefined. * * @since 3.2 */
public final boolean isParameterTypeDefined() { return (((changedValues & CHANGED_PARAMETER_TYPE_DEFINED) != 0) && (parameterTypeId != null)); } }