blob: ad857fdd640c3fdfda7438750a20fa7f8efd5c93 [file] [log] [blame]
/**
*
* Copyright 2003-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
//
// This source code implements specifications defined by the Java
// Community Process. In order to remain compliant with the specification
// DO NOT add / change / or delete method signatures!
//
package javax.enterprise.deploy.spi;
/**
* A TargetModuleID interface represents a unique identifier for a deployed
* application module. A deployable application module can be an EAR, JAR, WAR or
* RAR file. A TargetModuleID can represent a root module or a child module. A
* root module TargetModuleID has no parent. It represents a deployed EAR file or
* standalone module. A child module TargetModuleID represents a deployed sub
* module of a J2EE application. A child TargetModuleID has only one parent, the
* super module it was bundled and deployed with. The identifier consists of the
* target name and the unique identifier for the deployed application module.
*
* @version $Rev$ $Date$
*/
public interface TargetModuleID {
/**
* Retrieve the target server that this module was deployed to.
*
* @return an object representing a server target.
*/
public Target getTarget();
/**
* Retrieve the id assigned to represent the deployed module.
*/
public String getModuleID();
/**
* If this TargetModulID represents a web module retrieve the URL for it.
*
* @return the URL of a web module or null if the module is not a web module.
*/
public String getWebURL();
/**
* Retrieve the identifier representing the deployed module.
*/
public String toString();
/**
* Retrieve the identifier of the parent object of this deployed module. If
* there is no parent then this is the root object deployed. The root could
* represent an EAR file or it could be a stand alone module that was deployed.
*
* @return the TargetModuleID of the parent of this object. A <code>null</code>
* value means this module is the root object deployed.
*/
public TargetModuleID getParentTargetModuleID();
/**
* Retrieve a list of identifiers of the children of this deployed module.
*
* @return a list of TargetModuleIDs identifying the childern of this object.
* A <code>null</code> value means this module has no children
*/
public TargetModuleID[] getChildTargetModuleID();
}