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

Class AbstractHotDeploymentTool

public abstract class AbstractHotDeploymentTool extends 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

Method Summary
PathcreateClasspath()
Add a classpath as a nested element.
abstract voiddeploy()
Perform the actual deployment.
PathgetClasspath()
gets the classpath field.
StringgetPassword()
Returns the password field.
StringgetServer()
Returns the server field.
protected ServerDeploygetTask()
Returns the task field, a ServerDeploy object.
StringgetUserName()
Returns the userName field.
protected abstract booleanisActionValid()
Determines if the "action" attribute defines a valid action.
voidsetClasspath(Path classpath)
The classpath to be passed to the JVM running the tool; optional depending upon the tool.
voidsetPassword(String password)
The password of the user; optional.
voidsetServer(String server)
The address or URL for the server where the component will be deployed.
voidsetTask(ServerDeploy task)
Sets the parent task.
voidsetUserName(String userName)
The user with privileges to deploy applications to the server; optional.
voidvalidateAttributes()
Validates the passed in attributes.

Method Detail

createClasspath

public Path createClasspath()
Add a classpath as a nested element.

Returns: A Path object representing the classpath to be used.

deploy

public abstract void deploy()
Perform the actual deployment. It's up to the subclasses to implement the actual behavior.

Throws: org.apache.tools.ant.BuildException if the attributes are invalid or incomplete.

getClasspath

public Path getClasspath()
gets the classpath field.

Returns: A Path representing the "classpath" attribute.

getPassword

public String getPassword()
Returns the password field.

Returns: A String representing the "password" attribute.

getServer

public String getServer()
Returns the server field.

Returns: A String representing the "server" attribute.

getTask

protected ServerDeploy getTask()
Returns the task field, a ServerDeploy object.

Returns: An ServerDeploy representing the parent task.

getUserName

public String getUserName()
Returns the userName field.

Returns: A String representing the "userName" attribute.

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.

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.

setPassword

public void setPassword(String password)
The password of the user; optional.

Parameters: password A String representing the "password" attribute.

setServer

public void setServer(String server)
The address or URL for the server where the component will be deployed.

Parameters: server A String representing the "server" attribute.

setTask

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

Parameters: task a ServerDeploy object representing the parent task.

UNKNOWN: ignore="true"

setUserName

public void setUserName(String userName)
The user with privileges to deploy applications to the server; optional.

Parameters: userName A String representing the "userName" attribute.

validateAttributes

public void validateAttributes()
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.

Throws: org.apache.tools.ant.BuildException if the attributes are invalid or incomplete.