blob: 0fdbd5536e1de0cd4ddd9e0f234a04c3061c346d [file] [log] [blame]
// ========================================================================
// Copyright (c) Webtide LLC
// ------------------------------------------------------------------------
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// and Apache License v2.0 which accompanies this distribution.
//
// The Eclipse Public License is available at
// http://www.eclipse.org/legal/epl-v10.html
//
// The Apache License v2.0 is available at
// http://www.apache.org/licenses/LICENSE-2.0.txt
//
// You may elect to redistribute this code under either of these licenses.
// ========================================================================
package org.eclipse.jetty.deploy;
import java.io.File;
import org.eclipse.jetty.server.handler.ContextHandler;
/**
* The information about an App that is managed by the {@link DeploymentManager}
*/
public interface App
{
/**
* The raw id of the {@link App}
*
* @return the generated Id for the App.
*/
String getId();
/**
* Get the internally declared name of the App.
*
* @return the internal name of the App.
*/
String getName();
/**
* Get the desired ContextHandler for the App. (optional)
*
* @return the {@link ContextHandler} to use for the App when fully started. (Portions of which might be ignored
* when App is in the {@link AppState#STAGED} state}
*/
ContextHandler getDesiredContextHandler();
/**
* Get the work dir for this App, as managed by the {@link DeploymentManager}
*
* @return the App's work dir.
*/
File getWorkDir();
/**
* Get the archive path to the App.
*
* Might exist as a Directory (example: an exploded webapp, or a jetty:run) or a File (example: a WAR file)
*
* @return the
*/
File getArchivePath();
/**
* The origin of this {@link App} as specified by the {@link AppProvider}
*
* @return String representing the origin of this app.
*/
String getOrigin();
}