org.apache.catalina
Interface Deployer

All Known Implementing Classes:
StandardHost, StandardHostDeployer

public interface Deployer

A Deployer is a specialized Container into which web applications can be deployed and undeployed. Such a Container will create and install child Context instances for each deployed application. The unique key for each web application will be the context path to which it is attached.

Version:
$Revision: 1.8 $ $Date: 2004/08/26 22:05:20 $
Author:
Craig R. McClanahan

Field Summary
static java.lang.String INSTALL_EVENT
          The ContainerEvent event type sent when a new application is installed by install(), after it has been started.
static java.lang.String PRE_INSTALL_EVENT
          The ContainerEvent event type sent when a new application is being installed by install(), before it has been started.
static java.lang.String REMOVE_EVENT
          The ContainerEvent event type sent when an existing application is removed by remove().
 
Method Summary
 Context findDeployedApp(java.lang.String contextPath)
          Return the Context for the deployed application that is associated with the specified context path (if any); otherwise return null.
 java.lang.String[] findDeployedApps()
          Return the context paths of all deployed web applications in this Container.
 java.lang.String getName()
          Return the name of the Container with which this Deployer is associated.
 void install(java.lang.String contextPath, java.net.URL war)
          Install a new web application, whose web application archive is at the specified URL, into this container with the specified context path.
 void install(java.net.URL config, java.net.URL war)
          Install a new web application, whose context configuration file (consisting of a <Context> element) and web application archive are at the specified URLs.
 void remove(java.lang.String contextPath)
          Remove an existing web application, attached to the specified context path.
 void remove(java.lang.String contextPath, boolean undeploy)
          Remove an existing web application, attached to the specified context path.
 void start(java.lang.String contextPath)
          Start an existing web application, attached to the specified context path.
 void stop(java.lang.String contextPath)
          Stop an existing web application, attached to the specified context path.
 

Field Detail

PRE_INSTALL_EVENT

public static final java.lang.String PRE_INSTALL_EVENT
The ContainerEvent event type sent when a new application is being installed by install(), before it has been started.

See Also:
Constant Field Values

INSTALL_EVENT

public static final java.lang.String INSTALL_EVENT
The ContainerEvent event type sent when a new application is installed by install(), after it has been started.

See Also:
Constant Field Values

REMOVE_EVENT

public static final java.lang.String REMOVE_EVENT
The ContainerEvent event type sent when an existing application is removed by remove().

See Also:
Constant Field Values
Method Detail

getName

public java.lang.String getName()
Return the name of the Container with which this Deployer is associated.


install

public void install(java.lang.String contextPath,
                    java.net.URL war)
             throws java.io.IOException
Install a new web application, whose web application archive is at the specified URL, into this container with the specified context path. A context path of "" (the empty string) should be used for the root application for this container. Otherwise, the context path must start with a slash.

If this application is successfully installed, a ContainerEvent of type INSTALL_EVENT will be sent to all registered listeners, with the newly created Context as an argument.

Parameters:
contextPath - The context path to which this application should be installed (must be unique)
war - A URL of type "jar:" that points to a WAR file, or type "file:" that points to an unpacked directory structure containing the web application to be installed
Throws:
java.lang.IllegalArgumentException - if the specified context path is malformed (it must be "" or start with a slash)
java.lang.IllegalStateException - if the specified context path is already attached to an existing web application
java.io.IOException - if an input/output error was encountered during installation

install

public void install(java.net.URL config,
                    java.net.URL war)
             throws java.io.IOException

Install a new web application, whose context configuration file (consisting of a <Context> element) and web application archive are at the specified URLs.

If this application is successfully installed, a ContainerEvent of type INSTALL_EVENT will be sent to all registered listeners, with the newly created Context as an argument.

Parameters:
config - A URL that points to the context configuration file to be used for configuring the new Context
war - A URL of type "jar:" that points to a WAR file, or type "file:" that points to an unpacked directory structure containing the web application to be installed
Throws:
java.lang.IllegalArgumentException - if one of the specified URLs is null
java.lang.IllegalStateException - if the context path specified in the context configuration file is already attached to an existing web application
java.io.IOException - if an input/output error was encountered during installation

findDeployedApp

public Context findDeployedApp(java.lang.String contextPath)
Return the Context for the deployed application that is associated with the specified context path (if any); otherwise return null.

Parameters:
contextPath - The context path of the requested web application

findDeployedApps

public java.lang.String[] findDeployedApps()
Return the context paths of all deployed web applications in this Container. If there are no deployed applications, a zero-length array is returned.


remove

public void remove(java.lang.String contextPath)
            throws java.io.IOException
Remove an existing web application, attached to the specified context path. If this application is successfully removed, a ContainerEvent of type REMOVE_EVENT will be sent to all registered listeners, with the removed Context as an argument.

Parameters:
contextPath - The context path of the application to be removed
Throws:
java.lang.IllegalArgumentException - if the specified context path is malformed (it must be "" or start with a slash)
java.lang.IllegalArgumentException - if the specified context path does not identify a currently installed web application
java.io.IOException - if an input/output error occurs during removal

remove

public void remove(java.lang.String contextPath,
                   boolean undeploy)
            throws java.io.IOException
Remove an existing web application, attached to the specified context path. If this application is successfully removed, a ContainerEvent of type REMOVE_EVENT will be sent to all registered listeners, with the removed Context as an argument. Deletes the web application war file and/or directory if they exist in the Host's appBase.

Parameters:
contextPath - The context path of the application to be removed
undeploy - boolean flag to remove web application from server
Throws:
java.lang.IllegalArgumentException - if the specified context path is malformed (it must be "" or start with a slash)
java.lang.IllegalArgumentException - if the specified context path does not identify a currently installed web application
java.io.IOException - if an input/output error occurs during removal

start

public void start(java.lang.String contextPath)
           throws java.io.IOException
Start an existing web application, attached to the specified context path. Only starts a web application if it is not running.

Parameters:
contextPath - The context path of the application to be started
Throws:
java.lang.IllegalArgumentException - if the specified context path is malformed (it must be "" or start with a slash)
java.lang.IllegalArgumentException - if the specified context path does not identify a currently installed web application
java.io.IOException - if an input/output error occurs during startup

stop

public void stop(java.lang.String contextPath)
          throws java.io.IOException
Stop an existing web application, attached to the specified context path. Only stops a web application if it is running.

Parameters:
contextPath - The context path of the application to be stopped
Throws:
java.lang.IllegalArgumentException - if the specified context path is malformed (it must be "" or start with a slash)
java.lang.IllegalArgumentException - if the specified context path does not identify a currently installed web application
java.io.IOException - if an input/output error occurs while stopping the web application


Copyright 2000-2002 Apache Software Foundation. All Rights Reserved.