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

Method Summary
`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.