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:
  `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(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(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(String m)`
Set the hostname or address of the remote server.
`void`
`setTimeout(Integer i)`
set a default timeout in seconds to wait for a response, zero means forever (the default)
`void`
`setUserid(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(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(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(String m)
Set the hostname or address of the remote server.

Parameters:
  `m` - a `String` value

### setTimeout

public void setTimeout(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(String u)
Set the the login id to use on the server; required if `password` is set.

Parameters:
  `u` - a `String` value