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
`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

All Methods Instance Methods Concrete Methods
`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