Package 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 | 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 | Description
--- | ---
`RExecTask()` |

## Method Summary

Modifier and Type | Method | 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 Details

### RExecTask

public RExecTask()

## Method Details

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