2011/08/05 - Jakarta Cactus has been retired.

For more information, please explore the Attic.

View Javadoc

1   /* 
2    * ========================================================================
3    * 
4    * Licensed to the Apache Software Foundation (ASF) under one or more
5    * contributor license agreements.  See the NOTICE file distributed with
6    * this work for additional information regarding copyright ownership.
7    * The ASF licenses this file to You under the Apache License, Version 2.0
8    * (the "License"); you may not use this file except in compliance with
9    * the License.  You may obtain a copy of the License at
10   * 
11   *   http://www.apache.org/licenses/LICENSE-2.0
12   * 
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   * 
19   * ========================================================================
20   */
21  package org.apache.cactus.eclipse.runner.containers;
22  
23  import java.net.URL;
24  
25  import org.eclipse.core.runtime.CoreException;
26  import org.eclipse.core.runtime.IProgressMonitor;
27  
28  /**
29   * Interface for container configuration and startup.
30   *
31   * @version $Id: IContainerProvider.java 238816 2004-02-29 16:36:46Z vmassol $
32   */
33  public interface IContainerProvider
34  {
35      /**
36       * Starts the container.
37       * @param theContainerInfo detail of the container configuration
38       * @param thePM the monitor that reflects progress made while starting
39       * @throws CoreException when starting fails
40       */
41      void start(ContainerInfo theContainerInfo, IProgressMonitor thePM)
42          throws CoreException;
43  
44      /**
45       * Deploy a webapp to the container.
46       * @param theContextPath path to the webapp (for example "test")
47       * @param theDeployableObject war file to be deployed
48       * @param theCredentials credentials for deployment (user:pwd)
49       * @param thePM the monitor that reflects progress made while deploying
50       * @throws CoreException when deployment fails
51       */
52      void deploy(
53          String theContextPath,
54          URL theDeployableObject,
55          Credential theCredentials,
56          IProgressMonitor thePM)
57          throws CoreException;
58  
59      /**
60       * UnDeploy a webapp to the container.
61       * @param theContextPath path to the webapp
62       * @param theCredentials credentials for undeployment (user:pwd)
63       * @param thePM the monitor that reflects progress made while undeploying
64       * @throws CoreException when undeployment fails
65       */
66      void undeploy(
67          String theContextPath,
68          Credential theCredentials,
69          IProgressMonitor thePM)
70          throws CoreException;
71  
72      /**
73       * Stops the container.
74       * @param theContainerInfo detail of the container configuration
75       * @param thePM the monitor that reflects progress made while stopping
76       * @throws CoreException when stopping fails
77       */
78      void stop(ContainerInfo theContainerInfo, IProgressMonitor thePM)
79          throws CoreException;
80  }