## Package org.eclipse.wst.server.core

<abstract>The main server tools framework client API.

See:
Description

Interface Summary
IModule: A module is a unit of "content" that can be published to a server.
IModuleArtifact: A module artifact is a resource within a module, which can be launched on the server.
IModuleType: Represents the type of a module.
IProjectProperties: Deprecated. Project facet support should now be used instead of this API.
IPublishListener: A publish listener is used to listen for publishing events from a server.
IRuntime: Represents a runtime instance.
IRuntimeLifecycleListener: Listener interface for changes to runtimes.
IRuntimeTargetHandler: Deprecated. use project facets instead of runtime targets
IRuntimeType: Represents a (server) runtime type from which runtime instances can be created.
IRuntimeWorkingCopy: A working copy runtime object used for formulating changes to a runtime instance (`IRuntime`).
IServer: Represents a server instance.
IServer.IOperationListener: An operation listener is used to receive notification back about a specific server operation, such as starting or stopping a server.
IServerAttributes: Represents a server instance.
IServerLifecycleListener: Listener interface for changes to servers.
IServerListener: This interface is used by the server to broadcast a change of state.
IServerType: Represents a server type from which server instances can be created.
IServerWorkingCopy: A working copy server object used for formulating changes to a server instance (`IServer`).

Class Summary
ServerCore: Main class for server core API.
ServerEvent: An event fired when a server change or module changes.
ServerPort: This class represents a port on a server.
ServerUtil: Server utility methods.
TaskModel: A task model represents a model that can be shared between multiple tasks in a common workflow.

## Package org.eclipse.wst.server.core Description

<abstract>The main server tools framework client API.</abstract>

ServerCore is the main entry-point and provides access to most of the remaining API. From here, you can get the existing server runtimes and servers, get the available server types, and access interfaces for all extension points.

ServerUtil provides utility and convenience methods for dealing with server tools. It provides easy access to modules, server runtimes, and what combinations are supported (e.g. which runtimes can be used to target a particular project).

IRuntime and IServer are the two main API objects. IRuntime is used to target projects to a particular server installation and compile/build against them. When a runtime is targetted to a particular runtime, all of the applicable IRuntimeTargetHandler extensions are called to set the classpath or modify other project settings for the runtime.

IServer is the main server class that clients can use to start/stop and publish to servers.

IModules provide the "content" that can be published to servers. See the server tools API overview for more information.