Package org.apache.tools.ant.taskdefs.optional.j2ee

# Class GenericHotDeploymentTool

java.lang.Object
org.apache.tools.ant.taskdefs.optional.j2ee.AbstractHotDeploymentTool
org.apache.tools.ant.taskdefs.optional.j2ee.GenericHotDeploymentTool

All Implemented Interfaces:
  `HotDeploymentTool`

Direct Known Subclasses:
  `JonasHotDeploymentTool`

public class GenericHotDeploymentTool extends AbstractHotDeploymentTool
A generic tool for J2EE server hot deployment.

The simple implementation spawns a JVM with the supplied class name, jvm args, and arguments.

See Also:
  - `HotDeploymentTool`
  - `AbstractHotDeploymentTool`
  - `ServerDeploy`

## Field Summary

### Fields inherited from interface org.apache.tools.ant.taskdefs.optional.j2ee.HotDeploymentTool

`ACTION_DELETE, ACTION_DEPLOY, ACTION_LIST, ACTION_UNDEPLOY, ACTION_UPDATE`

## Constructor Summary

Constructors
Constructor
Description
`GenericHotDeploymentTool()`

## Method Summary

Modifier and Type
Method
Description
`Commandline.Argument`
`createArg()`
Add a nested argument element to hand to the deployment tool; optional.
`Commandline.Argument`
`createJvmarg()`
Add a nested argument element to hand to the JVM running the deployment tool.
`void`
`deploy()`
Perform the actual deployment.
`String`
`getClassName()`
Get the classname attribute.
`Java`
`getJava()`
get the java attribute.
`protected boolean`
`isActionValid()`
Determines if the "action" attribute defines a valid action.
`void`
`setClassName(String className)`
The name of the class to execute to perform deployment; required.
`void`
`setTask(ServerDeploy task)`
Sets the parent task.
`void`
`validateAttributes()`
Validates the passed in attributes.

### Methods inherited from class org.apache.tools.ant.taskdefs.optional.j2ee.AbstractHotDeploymentTool

`createClasspath, getClasspath, getPassword, getServer, getTask, getUserName, setClasspath, setPassword, setServer, setUserName`

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

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

## Constructor Details

### GenericHotDeploymentTool

public GenericHotDeploymentTool()

## Method Details

### createArg

public Commandline.Argument createArg()
Add a nested argument element to hand to the deployment tool; optional.

Returns:
  A Commandline.Argument object representing the command line argument being passed when the deployment tool is run. IE: "-user=mark", "-password=venture"...

### createJvmarg

public Commandline.Argument createJvmarg()
Add a nested argument element to hand to the JVM running the deployment tool. Creates a nested arg element.

Returns:
  A Commandline.Argument object representing the JVM command line argument being passed when the deployment tool is run. IE: "-ms64m", "-mx128m"...

### isActionValid

protected boolean isActionValid()
Determines if the "action" attribute defines a valid action.

Subclasses should determine if the action passed in is supported by the vendor's deployment tool. For this generic implementation, the only valid action is "deploy"

Specified by:
  `isActionValid` in class `AbstractHotDeploymentTool`
Returns:
  true if the "action" attribute is valid, false if not.

### setTask

public void setTask(ServerDeploy task)
Sets the parent task.

Specified by:
  `setTask` in interface `HotDeploymentTool`
Overrides:
  `setTask` in class `AbstractHotDeploymentTool`
Parameters:
  `task` - An ServerDeploy object representing the parent task.

### deploy

public void deploy() throws BuildException
Perform the actual deployment. For this generic implementation, a JVM is spawned using the supplied classpath, classname, JVM args, and command line arguments.

Throws:
  `BuildException` - if the attributes are invalid or incomplete.

### validateAttributes

public void validateAttributes() throws BuildException
Validates the passed in attributes. Ensures the className and arguments attribute have been set.

Specified by:
  `validateAttributes` in interface `HotDeploymentTool`
Overrides:
  `validateAttributes` in class `AbstractHotDeploymentTool`
Throws:
  `BuildException` - if the attributes are invalid or incomplete.

### setClassName

public void setClassName(String className)
The name of the class to execute to perform deployment; required. Example: "com.foobar.tools.deploy.DeployTool"

Parameters:
  `className` - The fully qualified class name of the class to perform deployment.

### getJava

public Java getJava()
get the java attribute.

Returns:
  the java attribute.

### getClassName

public String getClassName()
Get the classname attribute.

Returns:
  the classname value.