Smack

org.jivesoftware.smackx.commands
Class RemoteCommand

java.lang.Object
  extended by org.jivesoftware.smackx.commands.AdHocCommand
      extended by org.jivesoftware.smackx.commands.RemoteCommand

public class RemoteCommand
extends AdHocCommand

Represents a command that is in a remote location. Invoking one of the execute, next, prev, cancel or complete actions results in executing that action in the remote location. In response to that action the internal state of the this command instance will change. For example, if the command is a single stage command, then invoking the execute action will execute this action in the remote location. After that the local instance will have a state of "completed" and a form or notes that applies.

Author:
Gabriel Guardincerri

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jivesoftware.smackx.commands.AdHocCommand
AdHocCommand.Action, AdHocCommand.SpecificErrorCondition, AdHocCommand.Status
 
Constructor Summary
protected RemoteCommand(Connection connection, String node, String jid)
          Creates a new RemoteCommand that uses an specific connection to execute a command identified by node in the host identified by jid
 
Method Summary
 void cancel()
          Cancels the execution of the command.
 void complete(Form form)
          Completes the command execution with the information provided in the response.
 void execute()
          Executes the command.
 void execute(Form form)
          Executes the default action of the command with the information provided in the Form.
 String getOwnerJID()
          Returns the full JID of the owner of this command.
 long getPacketReplyTimeout()
          Returns the number of milliseconds to wait for a respone.
 void next(Form form)
          Executes the next action of the command with the information provided in the response.
 void prev()
          Goes to the previous stage.
 void setPacketReplyTimeout(long packetReplyTimeout)
          Returns the number of milliseconds to wait for a respone.
 
Methods inherited from class org.jivesoftware.smackx.commands.AdHocCommand
addActionAvailable, addNote, getActions, getExecuteAction, getForm, getName, getNode, getNotes, getRaw, getSpecificErrorCondition, getStatus, isValidAction, setExecuteAction, setForm, setName, setNode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RemoteCommand

protected RemoteCommand(Connection connection,
                        String node,
                        String jid)
Creates a new RemoteCommand that uses an specific connection to execute a command identified by node in the host identified by jid

Parameters:
connection - the connection to use for the execution.
node - the identifier of the command.
jid - the JID of the host.
Method Detail

cancel

public void cancel()
            throws XMPPException
Description copied from class: AdHocCommand
Cancels the execution of the command. This can be invoked on any stage of the execution. If there is a problem executing the command it throws an XMPPException.

Specified by:
cancel in class AdHocCommand
Throws:
XMPPException - if there is a problem executing the command.

complete

public void complete(Form form)
              throws XMPPException
Description copied from class: AdHocCommand
Completes the command execution with the information provided in the response. This form must be the answer form of the previous stage. This method will be only invoked for commands that have one or more stages. If there is a problem executing the command it throws an XMPPException.

Specified by:
complete in class AdHocCommand
Parameters:
form - the form answer of the previous stage.
Throws:
XMPPException - if there is a problem executing the command.

execute

public void execute()
             throws XMPPException
Description copied from class: AdHocCommand
Executes the command. This is invoked only on the first stage of the command. It is invoked on every command. If there is a problem executing the command it throws an XMPPException.

Specified by:
execute in class AdHocCommand
Throws:
XMPPException - if there is an error executing the command.

execute

public void execute(Form form)
             throws XMPPException
Executes the default action of the command with the information provided in the Form. This form must be the anwser form of the previous stage. If there is a problem executing the command it throws an XMPPException.

Parameters:
form - the form anwser of the previous stage.
Throws:
XMPPException - if an error occurs.

next

public void next(Form form)
          throws XMPPException
Description copied from class: AdHocCommand
Executes the next action of the command with the information provided in the response. This form must be the answer form of the previous stage. This method will be only invoked for commands that have one or more stages. If there is a problem executing the command it throws an XMPPException.

Specified by:
next in class AdHocCommand
Parameters:
form - the form answer of the previous stage.
Throws:
XMPPException - if there is a problem executing the command.

prev

public void prev()
          throws XMPPException
Description copied from class: AdHocCommand
Goes to the previous stage. The requester is asking to re-send the information of the previous stage. The command must change it state to the previous one. If there is a problem executing the command it throws an XMPPException.

Specified by:
prev in class AdHocCommand
Throws:
XMPPException - if there is a problem executing the command.

getOwnerJID

public String getOwnerJID()
Description copied from class: AdHocCommand
Returns the full JID of the owner of this command. This JID is the "to" of a execution request.

Specified by:
getOwnerJID in class AdHocCommand
Returns:
the owner JID.

getPacketReplyTimeout

public long getPacketReplyTimeout()
Returns the number of milliseconds to wait for a respone. The default value should be adjusted for commands that can take a long time to execute.

Returns:
the number of milliseconds to wait for responses.

setPacketReplyTimeout

public void setPacketReplyTimeout(long packetReplyTimeout)
Returns the number of milliseconds to wait for a respone. The default value should be adjusted for commands that can take a long time to execute.

Parameters:
packetReplyTimeout - the number of milliseconds to wait for responses.

Smack

Copyright © 2003-2007 Jive Software.