blob: 6394f6bea32ca468ab5db18c8ec5d7597e9faaa4 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - Initial API and implementation
*******************************************************************************/
package org.eclipse.wst.server.core;
/**
* Represents the type of a module.
* <p>
* This interface is not intended to be implemented by clients.
* </p>
* <p>
* <it>Caveat: The server core API is still in an early form, and is
* likely to change significantly before the initial release.</it>
* </p>
*
* @since 1.0
*/
public interface IModuleType {
/**
* Returns the module type id.
* <p>
* The module type id is a "." separated string uniquely identifying the
* type of module. Like a java package name, it should scope the type from
* most general to specific. For instance, "j2ee.web".
* </p>
*
* @return the module type id
*/
public String getId();
/**
* Returns the displayable name for this module type.
* <p>
* Note that this name is appropriate for the current locale.
* </p>
*
* @return a displayable name for this module type
*/
public String getName();
/**
* Returns the version (specification level) of this module type,
* e.g. "1.0" or "1.3.2a".
* <p>
* The version will normally be a series of numbers separated by
* ".", but it could be different depending on the type of module.
* For module types where a version does not make sense (e.g.
* a static Web module), <code>null</code> is returned.
* </p>
*
* @return the specification version of this module type, or
* <code>null</code> if there is no version
*/
public String getVersion();
}