blob: 28e9dbd5b8732c54a869a4bc81a58a3cc20bd335 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0) on Wed May 14 15:16:11 EDT 2008 -->
<TITLE>
IServer
</TITLE>
<META NAME="date" CONTENT="2008-05-14">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="IServer";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/IServer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../serialized-form.html"><FONT CLASS="NavBarFont1"><B>Serialized</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html" title="interface in org.eclipse.wst.server.core"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/eclipse/wst/server/core/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/eclipse/wst/server/core/IServer.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IServer.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.eclipse.wst.server.core</FONT>
<BR>
Interface IServer</H2>
<DL>
<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html" title="interface in org.eclipse.wst.server.core">IServerAttributes</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>IServer</B><DT>extends <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html" title="interface in org.eclipse.wst.server.core">IServerAttributes</A></DL>
</PRE>
<P>
Represents a server instance. Every server is an instance of a
particular, fixed server type.
<p>
Not surprisingly, the notion of <b>server</b> is central in the web tools
server infrastructure. In this context, understand that a server is
a web server of some ilk. It could be a simple web server lacking Java
support, or an J2EE based server, or perhaps even some kind of database
server. A more exact definition is not required for the purposes of this API.
From a tool-centric point of view, a server
is something that the developer is writing "content" for.
The unit of content is termed a module.
In a sense, the server exists, but lacks useful content. The
development task is to provide that content. The content can include
anything from simple, static HTML web pages to complex, highly dynamic
web applications.
In the course of writing and debugging this content,
the developer will want to test their content on a web server, to see how it
gets served up. For this they will need to launch a server process running on
some host machine (often the local host on which the IDE is running), or
attach to a server that's already running on a remote (or local) host.
The newly developed content sitting in the developer's workspace needs to
end up in a location and format that the running server can use for its
serving purposes.
</p>
<p>
In this picture, an <code>IServer</code> object is a proxy for the real web
server. Through this proxy, a client can configure the server, and start,
stop, and restart it.
</p>
<p>
The server framework maintains a global list of all known server instances
(<A HREF="../../../../../org/eclipse/wst/server/core/ServerCore.html#getServers()"><CODE>ServerCore.getServers()</CODE></A>).
</p>
<p>
[rough notes:
Server has a state.
Server can be started, stopped, and restarted.
To modify server attributes, get a working copy, modify it, and then save it
to commit the changes.
Server attributes. Serialization.
Chained working copies for runtime, server configuration.
Server has a set of root modules.
Modules have state wrt a server.
Restarting modules.
]
</p>
<p>
Two servers are identical if and only if they have the same id.
</p>
<p>This interface is not intended to be implemented by clients.</p>
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>1.0</DD>
</DL>
<HR>
<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;interface</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core">IServer.IOperationListener</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An operation listener is used to receive notification back about a
specific server operation, such as starting or stopping a server.</TD>
</TR>
</TABLE>
&nbsp;<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#PUBLISH_AUTO">PUBLISH_AUTO</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish kind constant (value 3) indicating an automatic publish request.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#PUBLISH_CLEAN">PUBLISH_CLEAN</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish kind constant (value 4) indicating a publish clean request</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#PUBLISH_FULL">PUBLISH_FULL</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish kind constant (value 2) indicating a full publish request.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#PUBLISH_INCREMENTAL">PUBLISH_INCREMENTAL</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish kind constant (value 1) indicating an incremental publish request.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#PUBLISH_STATE_FULL">PUBLISH_STATE_FULL</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish state constant (value 3) indicating that a
full publish is required.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#PUBLISH_STATE_INCREMENTAL">PUBLISH_STATE_INCREMENTAL</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish state constant (value 2) indicating that an
incremental publish is required.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#PUBLISH_STATE_NONE">PUBLISH_STATE_NONE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish state constant (value 1) indicating that there
is no publish required.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#PUBLISH_STATE_UNKNOWN">PUBLISH_STATE_UNKNOWN</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish state constant (value 0) indicating that it's
in an unknown state.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#STATE_STARTED">STATE_STARTED</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Server state constant (value 2) indicating that the
server is ready to serve content.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#STATE_STARTING">STATE_STARTING</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Server state constant (value 1) indicating that the
server is starting, but not yet ready to serve content.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#STATE_STOPPED">STATE_STOPPED</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Server state constant (value 4) indicating that the
server is stopped.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#STATE_STOPPING">STATE_STOPPING</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Server state constant (value 3) indicating that the
server is shutting down.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#STATE_UNKNOWN">STATE_UNKNOWN</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Server state constant (value 0) indicating that the
server is in an unknown state.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#addPublishListener(org.eclipse.wst.server.core.IPublishListener)">addPublishListener</A></B>(<A HREF="../../../../../org/eclipse/wst/server/core/IPublishListener.html" title="interface in org.eclipse.wst.server.core">IPublishListener</A>&nbsp;listener)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a publish listener to this server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#addServerListener(org.eclipse.wst.server.core.IServerListener)">addServerListener</A></B>(<A HREF="../../../../../org/eclipse/wst/server/core/IServerListener.html" title="interface in org.eclipse.wst.server.core">IServerListener</A>&nbsp;listener)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the given server state listener to this server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#addServerListener(org.eclipse.wst.server.core.IServerListener, int)">addServerListener</A></B>(<A HREF="../../../../../org/eclipse/wst/server/core/IServerListener.html" title="interface in org.eclipse.wst.server.core">IServerListener</A>&nbsp;listener,
int&nbsp;eventMask)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the given server state listener to this server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;IStatus</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#canControlModule(org.eclipse.wst.server.core.IModule[], IProgressMonitor)">canControlModule</A></B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module,
IProgressMonitor&nbsp;monitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether the given module can be restarted.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;IStatus</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#canPublish()">canPublish</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether this server is in a state that it can
be published to.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;IStatus</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#canRestart(java.lang.String)">canRestart</A></B>(java.lang.String&nbsp;mode)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether this server is in a state that it can
be restarted in the given mode.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;IStatus</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#canStart(java.lang.String)">canStart</A></B>(java.lang.String&nbsp;launchMode)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether this server is in a state that it can
be started in the given mode.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;IStatus</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#canStop()">canStop</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether this server is in a state that it can
be stopped.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;ILaunch</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getLaunch()">getLaunch</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the launch that was used to start the server, if available.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;ILaunchConfiguration</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getLaunchConfiguration(boolean, IProgressMonitor)">getLaunchConfiguration</A></B>(boolean&nbsp;create,
IProgressMonitor&nbsp;monitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the launch configuration for this server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getMode()">getMode</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the ILaunchManager mode that the server is in.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getModulePublishState(org.eclipse.wst.server.core.IModule[])">getModulePublishState</A></B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the module's sync state.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getModuleRestartState(org.eclipse.wst.server.core.IModule[])">getModuleRestartState</A></B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check if the given module is in sync on the server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getModuleState(org.eclipse.wst.server.core.IModule[])">getModuleState</A></B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current state of the given module on this server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getServerPublishState()">getServerPublishState</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the server's sync state.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getServerRestartState()">getServerRestartState</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether this server is out of sync and needs to be
restarted.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getServerState()">getServerState</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current state of this server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getStartTimeout()">getStartTimeout</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the start timeout in seconds.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getStopTimeout()">getStopTimeout</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the stop timeout in seconds.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;IStatus</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#publish(int, IProgressMonitor)">publish</A></B>(int&nbsp;kind,
IProgressMonitor&nbsp;monitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish to the server using the progress monitor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#publish(int, java.util.List, IAdaptable, org.eclipse.wst.server.core.IServer.IOperationListener)">publish</A></B>(int&nbsp;kind,
java.util.List&lt;<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&gt;&nbsp;modules,
IAdaptable&nbsp;info,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core">IServer.IOperationListener</A>&nbsp;listener)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish one or more modules to the server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#removePublishListener(org.eclipse.wst.server.core.IPublishListener)">removePublishListener</A></B>(<A HREF="../../../../../org/eclipse/wst/server/core/IPublishListener.html" title="interface in org.eclipse.wst.server.core">IPublishListener</A>&nbsp;listener)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a publish listener from this server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#removeServerListener(org.eclipse.wst.server.core.IServerListener)">removeServerListener</A></B>(<A HREF="../../../../../org/eclipse/wst/server/core/IServerListener.html" title="interface in org.eclipse.wst.server.core">IServerListener</A>&nbsp;listener)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the given server state listener from this server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#restart(java.lang.String, IProgressMonitor)">restart</A></B>(java.lang.String&nbsp;launchMode,
IProgressMonitor&nbsp;monitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Asynchronously restarts this server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#restartModule(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IServer.IOperationListener)">restartModule</A></B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core">IServer.IOperationListener</A>&nbsp;listener)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Asynchronously restarts the given module on the server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#shouldPublish()">shouldPublish</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the server should be published to.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#shouldRestart()">shouldRestart</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the server should be restarted.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#start(java.lang.String, IProgressMonitor)">start</A></B>(java.lang.String&nbsp;launchMode,
IProgressMonitor&nbsp;monitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Asynchronously starts this server in the given launch mode.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#startModule(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IServer.IOperationListener)">startModule</A></B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core">IServer.IOperationListener</A>&nbsp;listener)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Asynchronously starts this server in the given launch mode.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#stop(boolean)">stop</A></B>(boolean&nbsp;force)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Asynchronously stops this server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#stop(boolean, org.eclipse.wst.server.core.IServer.IOperationListener)">stop</A></B>(boolean&nbsp;force,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core">IServer.IOperationListener</A>&nbsp;listener)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Asynchronously stops this server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#stopModule(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IServer.IOperationListener)">stopModule</A></B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core">IServer.IOperationListener</A>&nbsp;listener)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Asynchronously stops the given module.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#synchronousRestart(java.lang.String, IProgressMonitor)">synchronousRestart</A></B>(java.lang.String&nbsp;launchMode,
IProgressMonitor&nbsp;monitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>use <CODE>#restart(String, IServer.IOperationListener)</CODE>
instead</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#synchronousStart(java.lang.String, IProgressMonitor)">synchronousStart</A></B>(java.lang.String&nbsp;launchMode,
IProgressMonitor&nbsp;monitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>use <CODE>#start(String, IServer.IOperationListener)</CODE>
instead</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#synchronousStop(boolean)">synchronousStop</A></B>(boolean&nbsp;force)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>use <A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#stop(boolean, org.eclipse.wst.server.core.IServer.IOperationListener)"><CODE>stop(boolean, IOperationListener)</CODE></A>
instead</I></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.eclipse.wst.server.core.IServerAttributes"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.eclipse.wst.server.core.<A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html" title="interface in org.eclipse.wst.server.core">IServerAttributes</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#canModifyModules(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IModule[], IProgressMonitor)">canModifyModules</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#createWorkingCopy()">createWorkingCopy</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#delete()">delete</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getAdapter(java.lang.Class)">getAdapter</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getChildModules(org.eclipse.wst.server.core.IModule[], IProgressMonitor)">getChildModules</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getHost()">getHost</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getId()">getId</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getModules()">getModules</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getName()">getName</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getRootModules(org.eclipse.wst.server.core.IModule, IProgressMonitor)">getRootModules</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getRuntime()">getRuntime</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getServerConfiguration()">getServerConfiguration</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getServerPorts(IProgressMonitor)">getServerPorts</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getServerType()">getServerType</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#isReadOnly()">isReadOnly</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#isWorkingCopy()">isWorkingCopy</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#loadAdapter(java.lang.Class, IProgressMonitor)">loadAdapter</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="STATE_UNKNOWN"><!-- --></A><H3>
STATE_UNKNOWN</H3>
<PRE>
static final int <B>STATE_UNKNOWN</B></PRE>
<DL>
<DD>Server state constant (value 0) indicating that the
server is in an unknown state.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getServerState()"><CODE>getServerState()</CODE></A>,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getModuleState(org.eclipse.wst.server.core.IModule[])"><CODE>getModuleState(IModule[])</CODE></A>,
<A HREF="../../../../../constant-values.html#org.eclipse.wst.server.core.IServer.STATE_UNKNOWN">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="STATE_STARTING"><!-- --></A><H3>
STATE_STARTING</H3>
<PRE>
static final int <B>STATE_STARTING</B></PRE>
<DL>
<DD>Server state constant (value 1) indicating that the
server is starting, but not yet ready to serve content.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getServerState()"><CODE>getServerState()</CODE></A>,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getModuleState(org.eclipse.wst.server.core.IModule[])"><CODE>getModuleState(IModule[])</CODE></A>,
<A HREF="../../../../../constant-values.html#org.eclipse.wst.server.core.IServer.STATE_STARTING">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="STATE_STARTED"><!-- --></A><H3>
STATE_STARTED</H3>
<PRE>
static final int <B>STATE_STARTED</B></PRE>
<DL>
<DD>Server state constant (value 2) indicating that the
server is ready to serve content.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getServerState()"><CODE>getServerState()</CODE></A>,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getModuleState(org.eclipse.wst.server.core.IModule[])"><CODE>getModuleState(IModule[])</CODE></A>,
<A HREF="../../../../../constant-values.html#org.eclipse.wst.server.core.IServer.STATE_STARTED">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="STATE_STOPPING"><!-- --></A><H3>
STATE_STOPPING</H3>
<PRE>
static final int <B>STATE_STOPPING</B></PRE>
<DL>
<DD>Server state constant (value 3) indicating that the
server is shutting down.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getServerState()"><CODE>getServerState()</CODE></A>,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getModuleState(org.eclipse.wst.server.core.IModule[])"><CODE>getModuleState(IModule[])</CODE></A>,
<A HREF="../../../../../constant-values.html#org.eclipse.wst.server.core.IServer.STATE_STOPPING">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="STATE_STOPPED"><!-- --></A><H3>
STATE_STOPPED</H3>
<PRE>
static final int <B>STATE_STOPPED</B></PRE>
<DL>
<DD>Server state constant (value 4) indicating that the
server is stopped.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getServerState()"><CODE>getServerState()</CODE></A>,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getModuleState(org.eclipse.wst.server.core.IModule[])"><CODE>getModuleState(IModule[])</CODE></A>,
<A HREF="../../../../../constant-values.html#org.eclipse.wst.server.core.IServer.STATE_STOPPED">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="PUBLISH_STATE_UNKNOWN"><!-- --></A><H3>
PUBLISH_STATE_UNKNOWN</H3>
<PRE>
static final int <B>PUBLISH_STATE_UNKNOWN</B></PRE>
<DL>
<DD>Publish state constant (value 0) indicating that it's
in an unknown state.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getServerPublishState()"><CODE>getServerPublishState()</CODE></A>,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getModulePublishState(org.eclipse.wst.server.core.IModule[])"><CODE>getModulePublishState(IModule[])</CODE></A>,
<A HREF="../../../../../constant-values.html#org.eclipse.wst.server.core.IServer.PUBLISH_STATE_UNKNOWN">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="PUBLISH_STATE_NONE"><!-- --></A><H3>
PUBLISH_STATE_NONE</H3>
<PRE>
static final int <B>PUBLISH_STATE_NONE</B></PRE>
<DL>
<DD>Publish state constant (value 1) indicating that there
is no publish required.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getServerPublishState()"><CODE>getServerPublishState()</CODE></A>,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getModulePublishState(org.eclipse.wst.server.core.IModule[])"><CODE>getModulePublishState(IModule[])</CODE></A>,
<A HREF="../../../../../constant-values.html#org.eclipse.wst.server.core.IServer.PUBLISH_STATE_NONE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="PUBLISH_STATE_INCREMENTAL"><!-- --></A><H3>
PUBLISH_STATE_INCREMENTAL</H3>
<PRE>
static final int <B>PUBLISH_STATE_INCREMENTAL</B></PRE>
<DL>
<DD>Publish state constant (value 2) indicating that an
incremental publish is required.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getServerPublishState()"><CODE>getServerPublishState()</CODE></A>,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getModulePublishState(org.eclipse.wst.server.core.IModule[])"><CODE>getModulePublishState(IModule[])</CODE></A>,
<A HREF="../../../../../constant-values.html#org.eclipse.wst.server.core.IServer.PUBLISH_STATE_INCREMENTAL">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="PUBLISH_STATE_FULL"><!-- --></A><H3>
PUBLISH_STATE_FULL</H3>
<PRE>
static final int <B>PUBLISH_STATE_FULL</B></PRE>
<DL>
<DD>Publish state constant (value 3) indicating that a
full publish is required.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getServerPublishState()"><CODE>getServerPublishState()</CODE></A>,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#getModulePublishState(org.eclipse.wst.server.core.IModule[])"><CODE>getModulePublishState(IModule[])</CODE></A>,
<A HREF="../../../../../constant-values.html#org.eclipse.wst.server.core.IServer.PUBLISH_STATE_FULL">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="PUBLISH_INCREMENTAL"><!-- --></A><H3>
PUBLISH_INCREMENTAL</H3>
<PRE>
static final int <B>PUBLISH_INCREMENTAL</B></PRE>
<DL>
<DD>Publish kind constant (value 1) indicating an incremental publish request.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#publish(int, IProgressMonitor)"><CODE>publish(int, IProgressMonitor)</CODE></A>,
<A HREF="../../../../../constant-values.html#org.eclipse.wst.server.core.IServer.PUBLISH_INCREMENTAL">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="PUBLISH_FULL"><!-- --></A><H3>
PUBLISH_FULL</H3>
<PRE>
static final int <B>PUBLISH_FULL</B></PRE>
<DL>
<DD>Publish kind constant (value 2) indicating a full publish request.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#publish(int, IProgressMonitor)"><CODE>publish(int, IProgressMonitor)</CODE></A>,
<A HREF="../../../../../constant-values.html#org.eclipse.wst.server.core.IServer.PUBLISH_FULL">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="PUBLISH_AUTO"><!-- --></A><H3>
PUBLISH_AUTO</H3>
<PRE>
static final int <B>PUBLISH_AUTO</B></PRE>
<DL>
<DD>Publish kind constant (value 3) indicating an automatic publish request.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#publish(int, IProgressMonitor)"><CODE>publish(int, IProgressMonitor)</CODE></A>,
<A HREF="../../../../../constant-values.html#org.eclipse.wst.server.core.IServer.PUBLISH_AUTO">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="PUBLISH_CLEAN"><!-- --></A><H3>
PUBLISH_CLEAN</H3>
<PRE>
static final int <B>PUBLISH_CLEAN</B></PRE>
<DL>
<DD>Publish kind constant (value 4) indicating a publish clean request
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#publish(int, IProgressMonitor)"><CODE>publish(int, IProgressMonitor)</CODE></A>,
<A HREF="../../../../../constant-values.html#org.eclipse.wst.server.core.IServer.PUBLISH_CLEAN">Constant Field Values</A></DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="getServerState()"><!-- --></A><H3>
getServerState</H3>
<PRE>
int <B>getServerState</B>()</PRE>
<DL>
<DD>Returns the current state of this server.
<p>
Note that this operation is guaranteed to be fast
(it does not actually communicate with any actual
server).
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>one of the server state (<code>STATE_XXX</code>)
constants declared on <A HREF="../../../../../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core"><CODE>IServer</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getMode()"><!-- --></A><H3>
getMode</H3>
<PRE>
java.lang.String <B>getMode</B>()</PRE>
<DL>
<DD>Returns the ILaunchManager mode that the server is in. This method will
return null if the server is not running.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the mode in which a server is running, one of the mode constants
defined by <CODE>org.eclipse.debug.core.ILaunchManager</CODE>, or
<code>null</code> if the server is stopped.</DL>
</DD>
</DL>
<HR>
<A NAME="getServerPublishState()"><!-- --></A><H3>
getServerPublishState</H3>
<PRE>
int <B>getServerPublishState</B>()</PRE>
<DL>
<DD>Returns the server's sync state.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>one of the PUBLISH_XXX state flags</DL>
</DD>
</DL>
<HR>
<A NAME="addServerListener(org.eclipse.wst.server.core.IServerListener)"><!-- --></A><H3>
addServerListener</H3>
<PRE>
void <B>addServerListener</B>(<A HREF="../../../../../org/eclipse/wst/server/core/IServerListener.html" title="interface in org.eclipse.wst.server.core">IServerListener</A>&nbsp;listener)</PRE>
<DL>
<DD>Adds the given server state listener to this server.
Once registered, a listener starts receiving notification of
state changes to this server. The listener continues to receive
notifications until it is removed.
Has no effect if an identical listener is already registered.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the server listener<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#removeServerListener(org.eclipse.wst.server.core.IServerListener)"><CODE>removeServerListener(IServerListener)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="addServerListener(org.eclipse.wst.server.core.IServerListener, int)"><!-- --></A><H3>
addServerListener</H3>
<PRE>
void <B>addServerListener</B>(<A HREF="../../../../../org/eclipse/wst/server/core/IServerListener.html" title="interface in org.eclipse.wst.server.core">IServerListener</A>&nbsp;listener,
int&nbsp;eventMask)</PRE>
<DL>
<DD>Adds the given server state listener to this server.
Once registered, a listener starts receiving notification of
state changes to this server. The listener continues to receive
notifications until it is removed.
Has no effect if an identical listener is already registered.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the server listener<DD><CODE>eventMask</CODE> - the bit-wise OR of all event types of interest to the
listener<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#removeServerListener(org.eclipse.wst.server.core.IServerListener)"><CODE>removeServerListener(IServerListener)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="removeServerListener(org.eclipse.wst.server.core.IServerListener)"><!-- --></A><H3>
removeServerListener</H3>
<PRE>
void <B>removeServerListener</B>(<A HREF="../../../../../org/eclipse/wst/server/core/IServerListener.html" title="interface in org.eclipse.wst.server.core">IServerListener</A>&nbsp;listener)</PRE>
<DL>
<DD>Removes the given server state listener from this server. Has no
effect if the listener is not registered.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the listener<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#addServerListener(org.eclipse.wst.server.core.IServerListener)"><CODE>addServerListener(IServerListener)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="addPublishListener(org.eclipse.wst.server.core.IPublishListener)"><!-- --></A><H3>
addPublishListener</H3>
<PRE>
void <B>addPublishListener</B>(<A HREF="../../../../../org/eclipse/wst/server/core/IPublishListener.html" title="interface in org.eclipse.wst.server.core">IPublishListener</A>&nbsp;listener)</PRE>
<DL>
<DD>Adds a publish listener to this server.
Has no effect if an identical listener is already registered.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the publish listener<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#removePublishListener(org.eclipse.wst.server.core.IPublishListener)"><CODE>removePublishListener(IPublishListener)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="removePublishListener(org.eclipse.wst.server.core.IPublishListener)"><!-- --></A><H3>
removePublishListener</H3>
<PRE>
void <B>removePublishListener</B>(<A HREF="../../../../../org/eclipse/wst/server/core/IPublishListener.html" title="interface in org.eclipse.wst.server.core">IPublishListener</A>&nbsp;listener)</PRE>
<DL>
<DD>Removes a publish listener from this server.
Has no effect if the listener is not registered.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the publish listener<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#addPublishListener(org.eclipse.wst.server.core.IPublishListener)"><CODE>addPublishListener(IPublishListener)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="canPublish()"><!-- --></A><H3>
canPublish</H3>
<PRE>
IStatus <B>canPublish</B>()</PRE>
<DL>
<DD>Returns whether this server is in a state that it can
be published to.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>a status object with code <code>IStatus.OK</code> if the server can
be published to, otherwise a status object indicating what is wrong</DL>
</DD>
</DL>
<HR>
<A NAME="shouldPublish()"><!-- --></A><H3>
shouldPublish</H3>
<PRE>
boolean <B>shouldPublish</B>()</PRE>
<DL>
<DD>Returns true if the server should be published to. This is <code>true</code> when the server
can be published to and the server's publish state or any module's publish state is not
PUBLISH_STATE_NONE.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>boolean<DT><B>Since:</B></DT>
<DD>2.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="publish(int, IProgressMonitor)"><!-- --></A><H3>
publish</H3>
<PRE>
IStatus <B>publish</B>(int&nbsp;kind,
IProgressMonitor&nbsp;monitor)</PRE>
<DL>
<DD>Publish to the server using the progress monitor. The result of the
publish operation is returned as an IStatus.
<p>
This method should not be called from the UI thread. Publishing is long-
running and may trigger resource change events or builds. Although this
framework is safe, there is no guarantee that other bundles are UI-safe
and the risk of UI deadlock is high.
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>kind</CODE> - the kind of publish being requested. Valid values are:
<ul>
<li><code>PUBLISH_FULL</code>- indicates a full publish.</li>
<li><code>PUBLISH_INCREMENTAL</code>- indicates a incremental publish.
<li><code>PUBLISH_CLEAN</code>- indicates a clean request. Clean throws
out all state and cleans up the module on the server before doing a
full publish.
</ul><DD><CODE>monitor</CODE> - a progress monitor, or <code>null</code> if progress
reporting and cancellation are not desired
<DT><B>Returns:</B><DD>status indicating what (if anything) went wrong<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#publish(int, java.util.List, IAdaptable, org.eclipse.wst.server.core.IServer.IOperationListener)"><CODE>publish(int, List, IAdaptable, IOperationListener)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="publish(int, java.util.List, IAdaptable, org.eclipse.wst.server.core.IServer.IOperationListener)"><!-- --></A><H3>
publish</H3>
<PRE>
void <B>publish</B>(int&nbsp;kind,
java.util.List&lt;<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&gt;&nbsp;modules,
IAdaptable&nbsp;info,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core">IServer.IOperationListener</A>&nbsp;listener)</PRE>
<DL>
<DD>Publish one or more modules to the server.
<p>
The operation listener can be used to add a listener for notification
of the publish result. The listener will be called with a
single successful status (severity OK) when the server has
finished publishing, or a single failure (severity ERROR) if
there was an error publishing to the server.
</p><p>
This method should not be called from the UI thread. Publishing is long-
running and may trigger resource change events or builds. Although this
framework is safe, there is no guarantee that other bundles are UI-safe
and the risk of UI deadlock is high.
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>kind</CODE> - the kind of publish being requested. Valid values are:
<ul>
<li><code>PUBLISH_FULL</code>- indicates a full publish.</li>
<li><code>PUBLISH_INCREMENTAL</code>- indicates a incremental publish.
<li><code>PUBLISH_CLEAN</code>- indicates a clean request. Clean throws
out all state and cleans up the module on the server before doing a
full publish.
</ul><DD><CODE>modules</CODE> - a list of modules to publish, or <code>null</code> to
publish all modules<DD><CODE>info</CODE> - the IAdaptable (or <code>null</code>) provided by the
caller in order to supply UI information for prompting the
user if necessary. When this parameter is not
<code>null</code>, it should minimally contain an adapter
for the Shell class.<DD><CODE>listener</CODE> - an operation listener to receive notification when this
operation is done, or <code>null</code> if notification is not
required<DT><B>Since:</B></DT>
<DD>3.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="canStart(java.lang.String)"><!-- --></A><H3>
canStart</H3>
<PRE>
IStatus <B>canStart</B>(java.lang.String&nbsp;launchMode)</PRE>
<DL>
<DD>Returns whether this server is in a state that it can
be started in the given mode.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>launchMode</CODE> - a mode in which a server can be launched,
one of the mode constants defined by
<CODE>org.eclipse.debug.core.ILaunchManager</CODE>
<DT><B>Returns:</B><DD>a status object with code <code>IStatus.OK</code> if the server can
be started, otherwise a status object indicating why it can't</DL>
</DD>
</DL>
<HR>
<A NAME="start(java.lang.String, IProgressMonitor)"><!-- --></A><H3>
start</H3>
<PRE>
void <B>start</B>(java.lang.String&nbsp;launchMode,
IProgressMonitor&nbsp;monitor)
throws CoreException</PRE>
<DL>
<DD>Asynchronously starts this server in the given launch mode.
<p>
If canStart(launchMode) is false, this method will throw an
exception.
</p>
<p>
If the caller wants to listen for failure or success of the
server starting, it can add a server listener or use the
version of this method that takes an operation listener as a
parameter.
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>launchMode</CODE> - a mode in which a server can be launched,
one of the mode constants defined by
<CODE>org.eclipse.debug.core.ILaunchManager</CODE><DD><CODE>monitor</CODE> - a progress monitor, or <code>null</code> if progress
reporting and cancellation are not desired
<DT><B>Throws:</B>
<DD><CODE>CoreException</CODE> - if an error occurs while trying to start the server<DT><B>See Also:</B><DD><CODE>#start(String, IServer.IOperationListener)</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="canRestart(java.lang.String)"><!-- --></A><H3>
canRestart</H3>
<PRE>
IStatus <B>canRestart</B>(java.lang.String&nbsp;mode)</PRE>
<DL>
<DD>Returns whether this server is in a state that it can
be restarted in the given mode. Note that only servers
that are currently running can be restarted.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>mode</CODE> - a mode in which a server can be launched,
one of the mode constants defined by
<CODE>org.eclipse.debug.core.ILaunchManager</CODE>
<DT><B>Returns:</B><DD>a status object with code <code>IStatus.OK</code> if the server can
be restarted, otherwise a status object indicating why it can't</DL>
</DD>
</DL>
<HR>
<A NAME="shouldRestart()"><!-- --></A><H3>
shouldRestart</H3>
<PRE>
boolean <B>shouldRestart</B>()</PRE>
<DL>
<DD>Returns true if the server should be restarted. This is <code>true</code> when the server
can be restarted and the server's restart state or any module's restart states is not
false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>boolean<DT><B>Since:</B></DT>
<DD>2.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getServerRestartState()"><!-- --></A><H3>
getServerRestartState</H3>
<PRE>
boolean <B>getServerRestartState</B>()</PRE>
<DL>
<DD>Returns whether this server is out of sync and needs to be
restarted. This method will return false when the
server is not running.
<p>
[issue: Need to explain what is it that can get out of
"out of sync" here, and how this can happen.]
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD><code>true</code> if this server is out of sync and needs to be
restarted, and <code>false</code> otherwise (e.g., if the contents have
not been modified and the server process is still in sync); the
result is unspecified if the server is not currently running</DL>
</DD>
</DL>
<HR>
<A NAME="restart(java.lang.String, IProgressMonitor)"><!-- --></A><H3>
restart</H3>
<PRE>
void <B>restart</B>(java.lang.String&nbsp;launchMode,
IProgressMonitor&nbsp;monitor)</PRE>
<DL>
<DD>Asynchronously restarts this server. This operation does
nothing if this server cannot be stopped (<A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#canRestart(java.lang.String)"><CODE>canRestart(String)</CODE></A>
returns <code>false</code>.
This method cannot be used to start the server from a stopped state.
<p>
If the caller wants to listen for failure or success of the
server restarting, it can add a server listener or use the
version of this method that takes an operation listener as a
parameter.
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>launchMode</CODE> - a mode in which a server can be launched,
one of the mode constants defined by
<CODE>org.eclipse.debug.core.ILaunchManager</CODE><DD><CODE>monitor</CODE> - a progress monitor, or <code>null</code> if progress
reporting and cancellation are not desired<DT><B>See Also:</B><DD><CODE>#restart(String, IServer.IOperationListener)</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="canStop()"><!-- --></A><H3>
canStop</H3>
<PRE>
IStatus <B>canStop</B>()</PRE>
<DL>
<DD>Returns whether this server is in a state that it can
be stopped.
Servers can be stopped if they are not already stopped and if
they belong to a state-set that can be stopped.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>a status object with code <code>IStatus.OK</code> if the server can
be stopped, otherwise a status object indicating why it can't</DL>
</DD>
</DL>
<HR>
<A NAME="stop(boolean)"><!-- --></A><H3>
stop</H3>
<PRE>
void <B>stop</B>(boolean&nbsp;force)</PRE>
<DL>
<DD>Asynchronously stops this server. This operation does
nothing if this server cannot be stopped (<A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#canStop()"><CODE>canStop()</CODE></A>
returns <code>false</code>.
<p>
If force is <code>false</code>, it will attempt to stop the server
normally/gracefully. If force is <code>true</code>, then the server
process will be terminated any way that it can.
</p>
<p>
If the caller wants to listen for success or failure of the
server stopping, it can add a server listener or use the
version of this method that takes an operation listener as a
parameter.
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>force</CODE> - <code>true</code> to kill the server, or <code>false</code>
to stop normally<DT><B>See Also:</B><DD><CODE>#start(String, IServer.IOperationListener)</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="stop(boolean, org.eclipse.wst.server.core.IServer.IOperationListener)"><!-- --></A><H3>
stop</H3>
<PRE>
void <B>stop</B>(boolean&nbsp;force,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core">IServer.IOperationListener</A>&nbsp;listener)</PRE>
<DL>
<DD>Asynchronously stops this server. This operation does
nothing if this server cannot be stopped (<A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#canStop()"><CODE>canStop()</CODE></A>
returns <code>false</code>.
<p>
If force is <code>false</code>, it will attempt to stop the server
normally/gracefully. If force is <code>true</code>, then the server
process will be terminated any way that it can.
</p>
<p>
The operation listener can be used to add a listener for notification
of this specific server stop. The listener will be called with a
single successful status (severity OK) when the server has
finished stopping, or a single failure (severity ERROR) if
there was an error stopping the server.
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>force</CODE> - <code>true</code> to kill the server, or <code>false</code>
to stop normally<DD><CODE>listener</CODE> - an operation listener to receive notification when this
operation is done, or <code>null</code> if notification is not
required</DL>
</DD>
</DL>
<HR>
<A NAME="getModuleState(org.eclipse.wst.server.core.IModule[])"><!-- --></A><H3>
getModuleState</H3>
<PRE>
int <B>getModuleState</B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module)</PRE>
<DL>
<DD>Returns the current state of the given module on this server.
Returns <code>STATE_UNKNOWN</code> if the module
is not among the ones associated with this server.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>module</CODE> - the module
<DT><B>Returns:</B><DD>one of the state (<code>STATE_XXX</code>) constants declared
on <A HREF="../../../../../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core"><CODE>IServer</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getModulePublishState(org.eclipse.wst.server.core.IModule[])"><!-- --></A><H3>
getModulePublishState</H3>
<PRE>
int <B>getModulePublishState</B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module)</PRE>
<DL>
<DD>Returns the module's sync state.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>module</CODE> - the module
<DT><B>Returns:</B><DD>one of the PUBLISH_STATE_XXX state flags</DL>
</DD>
</DL>
<HR>
<A NAME="getModuleRestartState(org.eclipse.wst.server.core.IModule[])"><!-- --></A><H3>
getModuleRestartState</H3>
<PRE>
boolean <B>getModuleRestartState</B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module)</PRE>
<DL>
<DD>Check if the given module is in sync on the server. It should
return true if the module should be restarted (is out of
sync) or false if the module does not need to be restarted.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>module</CODE> - the module
<DT><B>Returns:</B><DD>boolean</DL>
</DD>
</DL>
<HR>
<A NAME="canControlModule(org.eclipse.wst.server.core.IModule[], IProgressMonitor)"><!-- --></A><H3>
canControlModule</H3>
<PRE>
IStatus <B>canControlModule</B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module,
IProgressMonitor&nbsp;monitor)</PRE>
<DL>
<DD>Returns whether the given module can be restarted.
<p>
This method has a progress monitor because it may involve plugin
and class loading. No communication to the server will occur.
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>module</CODE> - the module<DD><CODE>monitor</CODE> - a progress monitor, or <code>null</code> if progress
reporting and cancellation are not desired
<DT><B>Returns:</B><DD>a status object with code <code>IStatus.OK</code> if the module can
be restarted, otherwise a status object indicating why it can't</DL>
</DD>
</DL>
<HR>
<A NAME="startModule(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IServer.IOperationListener)"><!-- --></A><H3>
startModule</H3>
<PRE>
void <B>startModule</B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core">IServer.IOperationListener</A>&nbsp;listener)</PRE>
<DL>
<DD>Asynchronously starts this server in the given launch mode.
<p>
If canStart(launchMode) is false, this method will throw an
exception.
</p>
<p>
The operation listener can be used to add a listener for notification
of this specific module start. The listener will be called with a
single successful status (severity OK) when the module has
finished starting, or a single failure (severity ERROR) if
there was an error starting the module.
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>module</CODE> - the module to be started<DD><CODE>listener</CODE> - an operation listener to receive notification when this
operation is done, or <code>null</code> if notification is not
required</DL>
</DD>
</DL>
<HR>
<A NAME="stopModule(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IServer.IOperationListener)"><!-- --></A><H3>
stopModule</H3>
<PRE>
void <B>stopModule</B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core">IServer.IOperationListener</A>&nbsp;listener)</PRE>
<DL>
<DD>Asynchronously stops the given module. This operation does
nothing if this module cannot be stopped.
<p>
The operation listener can be used to add a listener for notification
of this specific module stop. The listener will be called with a
single successful status (severity OK) when the module has
finished stopping, or a single failure (severity ERROR) if
there was an error stopping the module.
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>module</CODE> - the module to be stopped<DD><CODE>listener</CODE> - an operation listener to receive notification when this
operation is done, or <code>null</code> if notification is not
required</DL>
</DD>
</DL>
<HR>
<A NAME="restartModule(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IServer.IOperationListener)"><!-- --></A><H3>
restartModule</H3>
<PRE>
void <B>restartModule</B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;module,
<A HREF="../../../../../org/eclipse/wst/server/core/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core">IServer.IOperationListener</A>&nbsp;listener)</PRE>
<DL>
<DD>Asynchronously restarts the given module on the server.
<p>
The implementation should update the module sync state and fire
an event for the module. If the module does not exist on the server,
an exception will be thrown.
</p>
<p>
[issue: If the module was just published to the server
and had never been started, would is be ok to "start"
the module using this method?]
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>module</CODE> - the module to be started<DD><CODE>listener</CODE> - an operation listener to receive notification when this
operation is done, or <code>null</code> if notification is not
required</DL>
</DD>
</DL>
<HR>
<A NAME="getLaunchConfiguration(boolean, IProgressMonitor)"><!-- --></A><H3>
getLaunchConfiguration</H3>
<PRE>
ILaunchConfiguration <B>getLaunchConfiguration</B>(boolean&nbsp;create,
IProgressMonitor&nbsp;monitor)
throws CoreException</PRE>
<DL>
<DD>Return the launch configuration for this server. If one does not exist, it
will be created if "create" is true, and otherwise will return <code>null</code>.
Will return <code>null</code> if this server type is invalid or has no associated
launch configuration type (i.e. this server type cannot be started).
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>create</CODE> - <code>true</code> if a new launch configuration should be
created if there are none already<DD><CODE>monitor</CODE> - a progress monitor, or <code>null</code> if progress
reporting and cancellation are not desired
<DT><B>Returns:</B><DD>the launch configuration, or <code>null</code> if there was no
existing launch configuration and <code>create</code> was false
<DT><B>Throws:</B>
<DD><CODE>CoreException</CODE><DT><B>Since:</B></DT>
<DD>2.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getLaunch()"><!-- --></A><H3>
getLaunch</H3>
<PRE>
ILaunch <B>getLaunch</B>()</PRE>
<DL>
<DD>Returns the launch that was used to start the server, if available. If the server
is not running, will return <code>null</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the launch used to start the currently running server, or <code>null</code>
if the launch is unavailable or could not be found<DT><B>Since:</B></DT>
<DD>3.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getStartTimeout()"><!-- --></A><H3>
getStartTimeout</H3>
<PRE>
int <B>getStartTimeout</B>()</PRE>
<DL>
<DD>Returns the start timeout in seconds.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the start timeout in seconds<DT><B>Since:</B></DT>
<DD>3.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getStopTimeout()"><!-- --></A><H3>
getStopTimeout</H3>
<PRE>
int <B>getStopTimeout</B>()</PRE>
<DL>
<DD>Returns the stop timeout in seconds.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the stop timeout in seconds<DT><B>Since:</B></DT>
<DD>3.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="synchronousStart(java.lang.String, IProgressMonitor)"><!-- --></A><H3>
synchronousStart</H3>
<PRE>
void <B>synchronousStart</B>(java.lang.String&nbsp;launchMode,
IProgressMonitor&nbsp;monitor)
throws CoreException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>use <CODE>#start(String, IServer.IOperationListener)</CODE>
instead</I>
<P>
<DD>Starts this server in the given launch mode and waits until the server
has finished starting.
<p>
This convenience method uses <A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#start(java.lang.String, IProgressMonitor)"><CODE>start(String, IProgressMonitor)</CODE></A>
to start the server, and an internal thread and listener to detect
when the server has finished starting.
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>launchMode</CODE> - a mode in which a server can be launched,
one of the mode constants defined by
<CODE>org.eclipse.debug.core.ILaunchManager</CODE><DD><CODE>monitor</CODE> - a progress monitor, or <code>null</code> if progress
reporting and cancellation are not desired
<DT><B>Throws:</B>
<DD><CODE>CoreException</CODE> - if an error occurs while trying to start the server</DL>
</DD>
</DL>
<HR>
<A NAME="synchronousStop(boolean)"><!-- --></A><H3>
synchronousStop</H3>
<PRE>
void <B>synchronousStop</B>(boolean&nbsp;force)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>use <A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#stop(boolean, org.eclipse.wst.server.core.IServer.IOperationListener)"><CODE>stop(boolean, IOperationListener)</CODE></A>
instead</I>
<P>
<DD>Stops this server and waits until the server has completely stopped.
<p>
This convenience method uses <A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#stop(boolean)"><CODE>stop(boolean)</CODE></A>
to stop the server, and an internal thread and listener to detect
when the server has complied.
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>force</CODE> - <code>true</code> to kill the server, or <code>false</code>
to stop normally</DL>
</DD>
</DL>
<HR>
<A NAME="synchronousRestart(java.lang.String, IProgressMonitor)"><!-- --></A><H3>
synchronousRestart</H3>
<PRE>
void <B>synchronousRestart</B>(java.lang.String&nbsp;launchMode,
IProgressMonitor&nbsp;monitor)
throws CoreException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>use <CODE>#restart(String, IServer.IOperationListener)</CODE>
instead</I>
<P>
<DD>Synchronously restarts this server. This operation does
nothing if this server cannot be stopped (<A HREF="../../../../../org/eclipse/wst/server/core/IServer.html#canRestart(java.lang.String)"><CODE>canRestart(String)</CODE></A>
returns <code>false</code>.
<p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>launchMode</CODE> - a mode in which a server can be launched,
one of the mode constants defined by
<CODE>org.eclipse.debug.core.ILaunchManager</CODE><DD><CODE>monitor</CODE> - a progress monitor, or <code>null</code> if progress
reporting and cancellation are not desired
<DT><B>Throws:</B>
<DD><CODE>CoreException</CODE> - if there was an error</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/IServer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../serialized-form.html"><FONT CLASS="NavBarFont1"><B>Serialized</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html" title="interface in org.eclipse.wst.server.core"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/eclipse/wst/server/core/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/eclipse/wst/server/core/IServer.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IServer.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>