RExecTask (Apache Ant API)
Date: 2015-06-29

org.apache.tools.ant.taskdefs.optional.net

## Class RExecTask

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.optional.net.RExecTask

- All Implemented Interfaces:
    java.lang.Cloneable

      public class RExecTask
      extends Task

  Automates the rexec protocol.
  Since:
    Ant 1.6

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RExecTask.AntRExecClient` This class handles the abstraction of the rexec protocol.
    `class` | `RExecTask.RExecRead` Reads the output from the connected server until the required string is found or we time out.
    `class` | `RExecTask.RExecSubTask` This class is the parent of the Read and Write tasks.
    `class` | `RExecTask.RExecWrite` Sends text to the connected server

  - ### Field Summary

    - ### Fields inherited from class org.apache.tools.ant.Task

      `target, taskName, taskType, wrapper`

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RExecTask()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `RExecTask.RExecSubTask` | `createRead()` A string to wait for from the server.
    `RExecTask.RExecSubTask` | `createWrite()` Add text to send to the server A subTask <write> tag was found.
    `void` | `execute()` Verify that all parameters are included.
    `void` | `setCommand(java.lang.String c)` Set the the command to execute on the server;
    `void` | `setInitialCR(boolean b)` send a carriage return after connecting; optional, defaults to false.
    `void` | `setPassword(java.lang.String p)` Set the the login password to use required if `userid` is set.
    `void` | `setPort(int p)` Set the tcp port to connect to; default is 23.
    `void` | `setServer(java.lang.String m)` Set the hostname or address of the remote server.
    `void` | `setTimeout(java.lang.Integer i)` set a default timeout in seconds to wait for a response, zero means forever (the default)
    `void` | `setUserid(java.lang.String u)` Set the the login id to use on the server; required if `password` is set.

    - ### Methods inherited from class org.apache.tools.ant.Task

      `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RExecTask

          public RExecTask()

  - ### Method Detail

    - #### createRead

          public RExecTask.RExecSubTask createRead()

      A string to wait for from the server. A subTask <read> tag was found. Create the object, Save it in our list, and return it.
      Returns:
        a read sub task

    - #### createWrite

          public RExecTask.RExecSubTask createWrite()

      Add text to send to the server A subTask <write> tag was found. Create the object, Save it in our list, and return it.
      Returns:
        a write sub task

    - #### execute

          public void execute()
                       throws BuildException

      Verify that all parameters are included. Connect and possibly login. Iterate through the list of Reads and writes.
      Overrides:
        `execute` in class `Task`
      Throws:
        `BuildException` - on error

    - #### setCommand

          public void setCommand(java.lang.String c)

      Set the the command to execute on the server;
      Parameters:
        `c` - a `String` value

    - #### setInitialCR

          public void setInitialCR(boolean b)

      send a carriage return after connecting; optional, defaults to false.
      Parameters:
        `b` - a `boolean` value

    - #### setPassword

          public void setPassword(java.lang.String p)

      Set the the login password to use required if `userid` is set.
      Parameters:
        `p` - a `String` value

    - #### setPort

          public void setPort(int p)

      Set the tcp port to connect to; default is 23.
      Parameters:
        `p` - an `int` value

    - #### setServer

          public void setServer(java.lang.String m)

      Set the hostname or address of the remote server.
      Parameters:
        `m` - a `String` value

    - #### setTimeout

          public void setTimeout(java.lang.Integer i)

      set a default timeout in seconds to wait for a response, zero means forever (the default)
      Parameters:
        `i` - an `Integer` value

    - #### setUserid

          public void setUserid(java.lang.String u)

      Set the the login id to use on the server; required if `password` is set.
      Parameters:
        `u` - a `String` value