Eclipse Platform
Release 3.1

org.eclipse.core.commands
Class ParameterizedCommand

java.lang.Object
  extended byorg.eclipse.core.commands.ParameterizedCommand
All Implemented Interfaces:
Comparable

public final class ParameterizedCommand
extends Object
implements Comparable

A command that has had one or more of its parameters specified. This class serves as a utility class for developers that need to manipulate commands with parameters. It handles the behaviour of generating a parameter map and a human-readable name.

Since:
3.1

Field Summary
static int INDEX_PARAMETER_ID
          The index of the parameter id in the parameter values.
static int INDEX_PARAMETER_NAME
          The index of the human-readable name of the parameter itself, in the parameter values.
static int INDEX_PARAMETER_VALUE_NAME
          The index of the human-readable name of the value of the parameter for this command.
static int INDEX_PARAMETER_VALUE_VALUE
          The index of the value of the parameter that the command can understand.
 
Constructor Summary
ParameterizedCommand(Command command, Parameterization[] parameterizations)
          Constructs a new instance of ParameterizedCommand with specific values for zero or more of its parameters.
 
Method Summary
 int compareTo(Object object)
           
 boolean equals(Object object)
           
 Object execute(Object trigger, Object applicationContext)
          Executes this command with its parameters.
static Collection generateCombinations(Command command)
           Generates all the possible combinations of command parameterizations for the given command.
 Command getCommand()
          Returns the base command.
 String getId()
          Returns the command's base identifier.
 String getName()
          Returns a human-readable representation of this command with all of its parameterizations.
 Map getParameterMap()
          Returns the parameter map, as can be used to construct an ExecutionEvent.
 int hashCode()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

INDEX_PARAMETER_ID

public static final int INDEX_PARAMETER_ID
The index of the parameter id in the parameter values.

See Also:
Constant Field Values

INDEX_PARAMETER_NAME

public static final int INDEX_PARAMETER_NAME
The index of the human-readable name of the parameter itself, in the parameter values.

See Also:
Constant Field Values

INDEX_PARAMETER_VALUE_NAME

public static final int INDEX_PARAMETER_VALUE_NAME
The index of the human-readable name of the value of the parameter for this command.

See Also:
Constant Field Values

INDEX_PARAMETER_VALUE_VALUE

public static final int INDEX_PARAMETER_VALUE_VALUE
The index of the value of the parameter that the command can understand.

See Also:
Constant Field Values
Constructor Detail

ParameterizedCommand

public ParameterizedCommand(Command command,
                            Parameterization[] parameterizations)
Constructs a new instance of ParameterizedCommand with specific values for zero or more of its parameters.

Parameters:
command - The command that is parameterized; must not be null.
parameterizations - The parameterization of the command. This value may be null. If it is not null then it should be an array of quadruples (String[]). These quadruples are indexed using the INDEX constants defined in this class. This argument is not copied; if you need to make changes to it after constructing this parameterized command, then make a copy yourself.
Method Detail

generateCombinations

public static final Collection generateCombinations(Command command)
                                             throws NotDefinedException

Generates all the possible combinations of command parameterizations for the given command. If the command has no parameters, then this is simply a parameterized version of that command. If a parameter is optional, both the included and not included cases are considered.

If one of the parameters cannot be loaded due to a ParameterValuesException, then it is simply ignored.

Parameters:
command - The command for which the parameter combinations should be generated; must not be null.
Returns:
A collection of ParameterizedCommand instances representing all of the possible combinations. This value is never empty and it is never null.
Throws:
NotDefinedException - If the command is not defined.

compareTo

public final int compareTo(Object object)
Specified by:
compareTo in interface Comparable

equals

public final boolean equals(Object object)

getCommand

public final Command getCommand()
Returns the base command. It is possible for more than one parameterized command to have the same identifier.

Returns:
The command; never null, but may be undefined.

getId

public final String getId()
Returns the command's base identifier. It is possible for more than one parameterized command to have the same identifier.

Returns:
The command id; never null.

getName

public final String getName()
                     throws NotDefinedException
Returns a human-readable representation of this command with all of its parameterizations.

Returns:
The human-readable representation of this parameterized command; never null.
Throws:
NotDefinedException - If the underlying command is not defined.

getParameterMap

public final Map getParameterMap()
Returns the parameter map, as can be used to construct an ExecutionEvent.

Returns:
The map of parameter ids (String) to parameter values (String). This map is never null, but may be empty.

execute

public final Object execute(Object trigger,
                            Object applicationContext)
                     throws ExecutionException,
                            NotHandledException
Executes this command with its parameters.

Parameters:
trigger - The object that triggered the execution; may be null.
applicationContext - The state of the application at the time the execution was triggered; may be null.
Returns:
The result of the execution; may be null.
Throws:
ExecutionException - If the handler has problems executing this command.
NotHandledException - If there is no handler.

hashCode

public final int hashCode()

toString

public final String toString()

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.