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 and Description
`GenericHotDeploymentTool()`

### Method Summary

Methods
`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.
`java.lang.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(java.lang.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 Detail

#### GenericHotDeploymentTool

    public GenericHotDeploymentTool()

### Method Detail

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

Specified by:
  `deploy` in interface `HotDeploymentTool`
Specified by:
  `deploy` in class `AbstractHotDeploymentTool`
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(java.lang.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 java.lang.String getClassName()

Get the classname attribute.

Returns:
  the classname value.