com.ibm.websphere.command
Interface TargetableCommand

All Superinterfaces:
Command, java.io.Serializable
All Known Implementing Classes:
TargetableCommandImpl

public interface TargetableCommand
extends Command

The TargetableCommand interface describes a command that can be run in a remote JVM. It extends the Command interface and declares methods that support remote execution of commands. Some of the methods are implemented in the TargetableCommandImpl class, and some must be implemented by the application programmer.

A targetable command must have a target, which represents the server that will actually run the command. The target object is an instance of the CommandTarget interface, and it is responsible for ensuring that the command runs in the desired server environment. For each server, there is at least one class that implements the CommandTarget interface.

The TargetableCommand interface provides two ways for a client to specify the target of a command:


Field Summary
 
Fields inherited from interface com.ibm.websphere.command.Command
serialVersionUID
 
Method Summary
 CommandTarget getCommandTarget()
          Returns the target object for the command.
 java.lang.String getCommandTargetName()
          Returns the name of the target object for the command.
 boolean hasOutputProperties()
          Indicates if the command has any output properties that must be returned to the client.
 void performExecute()
          Runs the business logic that makes up the command.
 void setCommandTarget(CommandTarget commandTarget)
          Sets the target object on the command.
 void setCommandTargetName(java.lang.String commandTargetName)
          Sets the name of the target object on the command.
 void setOutputProperties(TargetableCommand fromCommand)
          Sets the return values on the command.
 
Methods inherited from interface com.ibm.websphere.command.Command
execute, isReadyToCallExecute, reset
 

Method Detail

getCommandTarget

public CommandTarget getCommandTarget()
Returns the target object for the command. The target object locates the server in which the command will run.

This method is implemented in the TargetableCommandImpl class.

Returns:
The target object for the command.

getCommandTargetName

public java.lang.String getCommandTargetName()
Returns the name of the target object for the command. The target object locates the server in which the command will run.

This abstract is implemented in the TargetableCommandImpl class.

Returns:
The name of the target object for the command. The name is a fully qualified name for a Java class, for example, mypkg.bp.MyBusinessCmdTarget.

hasOutputProperties

public boolean hasOutputProperties()
Indicates if the command has any output properties that must be returned to the client. If there is nothing to return to the client, this method can return false to eliminate unecessary copying and remote invocations.

This method is implemented in the TargetableCommandImpl class.

Returns:
The value true if the command has output properties.

performExecute

public void performExecute()
                    throws java.lang.Exception
Runs the business logic that makes up the command. The application programmer implements the performExecute() method for a command. The executeCommand() method in the target server invokes the performExecute() method.

This method must be implemented by the application programmer.

Throws:
java.lang.Exception - Any exception that occurs in the method will be thrown as an Exception.

setCommandTarget

public void setCommandTarget(CommandTarget commandTarget)
Sets the target object on the command. The target object locates the server in which the command will run.

This method is implemented in the TargetableCommandImpl class.

Parameters:
commandTarget - The target object for the command.

setCommandTargetName

public void setCommandTargetName(java.lang.String commandTargetName)
Sets the name of the target object on the command. The target object locates the server in which the command will run.

This method is implemented in the TargetableCommandImpl class.

Parameters:
commandTargetName - The name of the target object for the command. The name is a fully qualified name for a Java class, for example, mypkg.bp.MyBusinessCmdTarget.

setOutputProperties

public void setOutputProperties(TargetableCommand fromCommand)
Sets the return values on the command. If the command is executed in a remote JVM, the returned command is a different instance than the client's command. In this case, the execute() method in the TargetableCommand interface calls the setOutputProperties() method to copy properties from the returned instance of the command to the client's instance. If the hasOutputProperties() method returns false, there is no need to invoke this method.

This method is implemented in the TargetableCommandImpl class.

Parameters:
fromCommand - The command from which the output properties are copied.


 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.