Class 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.
    • Constructor Detail

      • RemoteCommand

        protected RemoteCommand​(org.jivesoftware.smack.XMPPConnection connection,
                                java.lang.String node,
                                org.jxmpp.jid.Jid 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 org.jivesoftware.smack.SmackException.NoResponseException,
                           org.jivesoftware.smack.XMPPException.XMPPErrorException,
                           org.jivesoftware.smack.SmackException.NotConnectedException,
                           java.lang.InterruptedException
        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:
        org.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the remote entity.
        org.jivesoftware.smack.XMPPException.XMPPErrorException - if there is a problem executing the command.
        org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
        java.lang.InterruptedException - if the calling thread was interrupted.
      • complete

        public void complete​(FillableForm form)
                      throws org.jivesoftware.smack.SmackException.NoResponseException,
                             org.jivesoftware.smack.XMPPException.XMPPErrorException,
                             org.jivesoftware.smack.SmackException.NotConnectedException,
                             java.lang.InterruptedException
        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:
        org.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the remote entity.
        org.jivesoftware.smack.XMPPException.XMPPErrorException - if there is a problem executing the command.
        org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
        java.lang.InterruptedException - if the calling thread was interrupted.
      • execute

        public void execute()
                     throws org.jivesoftware.smack.SmackException.NoResponseException,
                            org.jivesoftware.smack.XMPPException.XMPPErrorException,
                            org.jivesoftware.smack.SmackException.NotConnectedException,
                            java.lang.InterruptedException
        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:
        org.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the remote entity.
        org.jivesoftware.smack.XMPPException.XMPPErrorException - if there is an error executing the command.
        org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
        java.lang.InterruptedException - if the calling thread was interrupted.
      • execute

        public void execute​(FillableForm form)
                     throws org.jivesoftware.smack.SmackException.NoResponseException,
                            org.jivesoftware.smack.XMPPException.XMPPErrorException,
                            org.jivesoftware.smack.SmackException.NotConnectedException,
                            java.lang.InterruptedException
        Executes the default action of the command with the information provided in the Form. This form must be the answer form of the previous stage. If there is a problem executing the command it throws an XMPPException.
        Parameters:
        form - the form answer of the previous stage.
        Throws:
        org.jivesoftware.smack.XMPPException.XMPPErrorException - if an error occurs.
        org.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the server.
        org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
        java.lang.InterruptedException - if the calling thread was interrupted.
      • next

        public void next​(FillableForm form)
                  throws org.jivesoftware.smack.SmackException.NoResponseException,
                         org.jivesoftware.smack.XMPPException.XMPPErrorException,
                         org.jivesoftware.smack.SmackException.NotConnectedException,
                         java.lang.InterruptedException
        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:
        org.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the remote entity.
        org.jivesoftware.smack.XMPPException.XMPPErrorException - if there is a problem executing the command.
        org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
        java.lang.InterruptedException - if the calling thread was interrupted.
      • prev

        public void prev()
                  throws org.jivesoftware.smack.SmackException.NoResponseException,
                         org.jivesoftware.smack.XMPPException.XMPPErrorException,
                         org.jivesoftware.smack.SmackException.NotConnectedException,
                         java.lang.InterruptedException
        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:
        org.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the remote entity.
        org.jivesoftware.smack.XMPPException.XMPPErrorException - if there is a problem executing the command.
        org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
        java.lang.InterruptedException - if the calling thread was interrupted.
      • getOwnerJID

        public org.jxmpp.jid.Jid 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.