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

# Class AbstractHotDeploymentTool

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

All Implemented Interfaces:
  `HotDeploymentTool`

Direct Known Subclasses:
  `GenericHotDeploymentTool`, `WebLogicHotDeploymentTool`

    public abstract class AbstractHotDeploymentTool
    extends java.lang.Object
    implements HotDeploymentTool

Abstract class to support vendor-specific hot deployment tools. This class will validate boilerplate attributes. Subclassing this class for a vendor specific tool involves the following.

1. Implement the `isActionValid()` method to insure the action supplied as the "action" attribute of ServerDeploy is valid.
2. Implement the `validateAttributes()` method to insure all required attributes are supplied, and are in the correct format.
3. Add a `add<TOOL>` method to the ServerDeploy class. This method will be called when Ant encounters a `add<TOOL>` task nested in the `serverdeploy` task.
4. Define the `deploy` method. This method should perform whatever task it takes to hot-deploy the component. IE: spawn a JVM and run class, exec a native executable, run Java code...

See Also:
  `HotDeploymentTool`, `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
  --- | ---
  `AbstractHotDeploymentTool()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `Path` | `createClasspath()` | Add a classpath as a nested element.
  `Path` | `getClasspath()` | gets the classpath field.
  `java.lang.String` | `getPassword()` | Returns the password field.
  `java.lang.String` | `getServer()` | Returns the server field.
  `protected ServerDeploy` | `getTask()` | Returns the task field, a ServerDeploy object.
  `java.lang.String` | `getUserName()` | Returns the userName field.
  `protected abstract boolean` | `isActionValid()` | Determines if the "action" attribute defines a valid action.
  `void` | `setClasspath​(Path classpath)` | The classpath to be passed to the JVM running the tool; optional depending upon the tool.
  `void` | `setPassword​(java.lang.String password)` | The password of the user; optional.
  `void` | `setServer​(java.lang.String server)` | The address or URL for the server where the component will be deployed.
  `void` | `setTask​(ServerDeploy task)` | Sets the parent task.
  `void` | `setUserName​(java.lang.String userName)` | The user with privileges to deploy applications to the server; optional.
  `void` | `validateAttributes()` | Validates the passed in attributes.

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

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

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

  `deploy`

- ## Constructor Details

  - ### AbstractHotDeploymentTool

    public AbstractHotDeploymentTool()

- ## Method Details

  - ### createClasspath

    public Path createClasspath()
    Add a classpath as a nested element.
    Returns:
      A Path object representing the classpath to be used.

  - ### isActionValid

    protected abstract 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.

    Actions may by "deploy", "delete", etc... It all depends on the tool.

    Returns:
      true if the "action" attribute is valid, false if not.

  - ### validateAttributes

    public void validateAttributes() throws BuildException
    Validates the passed in attributes. Subclasses should chain to this super-method to insure validation of boilerplate attributes.

    Only the "action" attribute is required in the base class. Subclasses should check attributes accordingly.

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

  - ### setTask

    public void setTask​(ServerDeploy task)
    Sets the parent task.
    Specified by:
      `setTask` in interface `HotDeploymentTool`
    Parameters:
      `task` - a ServerDeploy object representing the parent task.

  - ### getTask

    protected ServerDeploy getTask()
    Returns the task field, a ServerDeploy object.
    Returns:
      An ServerDeploy representing the parent task.

  - ### getClasspath

    public Path getClasspath()
    gets the classpath field.
    Returns:
      A Path representing the "classpath" attribute.

  - ### setClasspath

    public void setClasspath​(Path classpath)
    The classpath to be passed to the JVM running the tool; optional depending upon the tool. The classpath may also be supplied as a nested element.
    Parameters:
      `classpath` - A Path object representing the "classpath" attribute.

  - ### getUserName

    public java.lang.String getUserName()
    Returns the userName field.
    Returns:
      A String representing the "userName" attribute.

  - ### setUserName

    public void setUserName​(java.lang.String userName)
    The user with privileges to deploy applications to the server; optional.
    Parameters:
      `userName` - A String representing the "userName" attribute.

  - ### getPassword

    public java.lang.String getPassword()
    Returns the password field.
    Returns:
      A String representing the "password" attribute.

  - ### setPassword

    public void setPassword​(java.lang.String password)
    The password of the user; optional.
    Parameters:
      `password` - A String representing the "password" attribute.

  - ### getServer

    public java.lang.String getServer()
    Returns the server field.
    Returns:
      A String representing the "server" attribute.

  - ### setServer

    public void setServer​(java.lang.String server)
    The address or URL for the server where the component will be deployed.
    Parameters:
      `server` - A String representing the "server" attribute.