<!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:15 EDT 2008 -->
<TITLE>
S-Index
</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="S-Index";
    }
}
</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">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../overview-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="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&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="index-15.html"><B>PREV LETTER</B></A>&nbsp;
&nbsp;<A HREF="index-17.html"><B>NEXT LETTER</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../index.html?index-filesindex-16.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-16.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>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">D</A> <A HREF="index-4.html">E</A> <A HREF="index-5.html">F</A> <A HREF="index-6.html">G</A> <A HREF="index-7.html">H</A> <A HREF="index-8.html">I</A> <A HREF="index-9.html">J</A> <A HREF="index-10.html">L</A> <A HREF="index-11.html">M</A> <A HREF="index-12.html">N</A> <A HREF="index-13.html">O</A> <A HREF="index-14.html">P</A> <A HREF="index-15.html">R</A> <A HREF="index-16.html">S</A> <A HREF="index-17.html">T</A> <A HREF="index-18.html">U</A> <A HREF="index-19.html">V</A> <A HREF="index-20.html">W</A> <HR>
<A NAME="_S_"><!-- --></A><H2>
<B>S</B></H2>
<DL>
<DT><A HREF="../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html#save(boolean, IProgressMonitor)"><B>save(boolean, IProgressMonitor)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IRuntimeWorkingCopy</A>
<DD>Commits the changes made in this working copy.
<DT><A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html#save(boolean, IProgressMonitor)"><B>save(boolean, IProgressMonitor)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IServerWorkingCopy</A>
<DD>Commits the changes made in this working copy.
<DT><A HREF="../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html#SAVE_CONFLICT"><B>SAVE_CONFLICT</B></A> - 
Static variable in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IRuntimeWorkingCopy</A>
<DD>Status code (value 1) returned from the save() method when the save
 failed with force set to <code>false</code> because the runtime has
 been modified and saved since this working copy was created.
<DT><A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html#SAVE_CONFLICT"><B>SAVE_CONFLICT</B></A> - 
Static variable in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IServerWorkingCopy</A>
<DD>Status code (value 1) returned from the save() method when the save
 failed with force set to <code>false</code> because the runtime has
 been modified and saved since this working copy was created.
<DT><A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html#saveAll(boolean, IProgressMonitor)"><B>saveAll(boolean, IProgressMonitor)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IServerWorkingCopy</A>
<DD>Commits the changes made in this server working copy after
 first committing any associated server configuration or
 server runtime working copies.
<DT><A HREF="../org/eclipse/wst/server/core/model/ServerDelegate.html#saveConfiguration(IProgressMonitor)"><B>saveConfiguration(IProgressMonitor)</B></A> - 
Method in class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/ServerDelegate.html" title="class in org.eclipse.wst.server.core.model">ServerDelegate</A>
<DD>This method is called whenever the server configuration should be saved.
<DT><A HREF="../org/eclipse/wst/server/core/model/RuntimeLocatorDelegate.html#searchForRuntimes(IPath, org.eclipse.wst.server.core.model.RuntimeLocatorDelegate.IRuntimeSearchListener, IProgressMonitor)"><B>searchForRuntimes(IPath, RuntimeLocatorDelegate.IRuntimeSearchListener, IProgressMonitor)</B></A> - 
Method in class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/RuntimeLocatorDelegate.html" title="class in org.eclipse.wst.server.core.model">RuntimeLocatorDelegate</A>
<DD>Searches for local runtimes.
<DT><A HREF="../org/eclipse/jst/server/core/EJBBean.html#serialize()"><B>serialize()</B></A> - 
Method in class org.eclipse.jst.server.core.<A HREF="../org/eclipse/jst/server/core/EJBBean.html" title="class in org.eclipse.jst.server.core">EJBBean</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/jst/server/core/JndiObject.html#serialize()"><B>serialize()</B></A> - 
Method in class org.eclipse.jst.server.core.<A HREF="../org/eclipse/jst/server/core/JndiObject.html" title="class in org.eclipse.jst.server.core">JndiObject</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/jst/server/core/Servlet.html#serialize()"><B>serialize()</B></A> - 
Method in class org.eclipse.jst.server.core.<A HREF="../org/eclipse/jst/server/core/Servlet.html" title="class in org.eclipse.jst.server.core">Servlet</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/wst/server/core/model/ModuleArtifactDelegate.html#serialize()"><B>serialize()</B></A> - 
Method in class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/ModuleArtifactDelegate.html" title="class in org.eclipse.wst.server.core.model">ModuleArtifactDelegate</A>
<DD>Serialize this object into a string.
<DT><A HREF="../org/eclipse/wst/server/core/util/WebResource.html#serialize()"><B>serialize()</B></A> - 
Method in class org.eclipse.wst.server.core.util.<A HREF="../org/eclipse/wst/server/core/util/WebResource.html" title="class in org.eclipse.wst.server.core.util">WebResource</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/wst/server/core/ServerEvent.html#SERVER_CHANGE"><B>SERVER_CHANGE</B></A> - 
Static variable in class org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/ServerEvent.html" title="class in org.eclipse.wst.server.core">ServerEvent</A>
<DD>For event on server changes.
<DT><A HREF="../org/eclipse/wst/server/core/ServerUtil.html#SERVER_JOB_FAMILY"><B>SERVER_JOB_FAMILY</B></A> - 
Static variable in class org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/ServerUtil.html" title="class in org.eclipse.wst.server.core">ServerUtil</A>
<DD>Constant identifying the job family identifier for server operations.
<DT><A HREF="../org/eclipse/wst/server/core/IServerLifecycleListener.html#serverAdded(org.eclipse.wst.server.core.IServer)"><B>serverAdded(IServer)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerLifecycleListener.html" title="interface in org.eclipse.wst.server.core">IServerLifecycleListener</A>
<DD>A new server has been created.
<DT><A HREF="../org/eclipse/wst/server/core/util/ServerLifecycleAdapter.html#serverAdded(org.eclipse.wst.server.core.IServer)"><B>serverAdded(IServer)</B></A> - 
Method in class org.eclipse.wst.server.core.util.<A HREF="../org/eclipse/wst/server/core/util/ServerLifecycleAdapter.html" title="class in org.eclipse.wst.server.core.util">ServerLifecycleAdapter</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html" title="class in org.eclipse.wst.server.core.model"><B>ServerBehaviourDelegate</B></A> - Class in <A HREF="../org/eclipse/wst/server/core/model/package-summary.html">org.eclipse.wst.server.core.model</A><DD>A server delegate provides the implementation for various 
 generic and server-type-specific operations for a specific type of server.<DT><A HREF="../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#ServerBehaviourDelegate()"><B>ServerBehaviourDelegate()</B></A> - 
Constructor for class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html" title="class in org.eclipse.wst.server.core.model">ServerBehaviourDelegate</A>
<DD>Delegates must have a public 0-arg constructor.
<DT><A HREF="../org/eclipse/wst/server/core/IServerLifecycleListener.html#serverChanged(org.eclipse.wst.server.core.IServer)"><B>serverChanged(IServer)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerLifecycleListener.html" title="interface in org.eclipse.wst.server.core">IServerLifecycleListener</A>
<DD>An existing server has been updated or modified.
<DT><A HREF="../org/eclipse/wst/server/core/IServerListener.html#serverChanged(org.eclipse.wst.server.core.ServerEvent)"><B>serverChanged(ServerEvent)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerListener.html" title="interface in org.eclipse.wst.server.core">IServerListener</A>
<DD>A server or module has been changed as specified in the event.
<DT><A HREF="../org/eclipse/wst/server/core/util/ServerLifecycleAdapter.html#serverChanged(org.eclipse.wst.server.core.IServer)"><B>serverChanged(IServer)</B></A> - 
Method in class org.eclipse.wst.server.core.util.<A HREF="../org/eclipse/wst/server/core/util/ServerLifecycleAdapter.html" title="class in org.eclipse.wst.server.core.util">ServerLifecycleAdapter</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/wst/server/core/ServerCore.html" title="class in org.eclipse.wst.server.core"><B>ServerCore</B></A> - Class in <A HREF="../org/eclipse/wst/server/core/package-summary.html">org.eclipse.wst.server.core</A><DD>Main class for server core API.<DT><A HREF="../org/eclipse/wst/server/core/model/ServerDelegate.html" title="class in org.eclipse.wst.server.core.model"><B>ServerDelegate</B></A> - Class in <A HREF="../org/eclipse/wst/server/core/model/package-summary.html">org.eclipse.wst.server.core.model</A><DD>A server delegate provides the implementation for various 
 generic and server-type-specific operations for a specific type of server.<DT><A HREF="../org/eclipse/wst/server/core/model/ServerDelegate.html#ServerDelegate()"><B>ServerDelegate()</B></A> - 
Constructor for class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/ServerDelegate.html" title="class in org.eclipse.wst.server.core.model">ServerDelegate</A>
<DD>Delegates must have a public 0-arg constructor.
<DT><A HREF="../org/eclipse/wst/server/ui/editor/ServerEditorPart.html" title="class in org.eclipse.wst.server.ui.editor"><B>ServerEditorPart</B></A> - Class in <A HREF="../org/eclipse/wst/server/ui/editor/package-summary.html">org.eclipse.wst.server.ui.editor</A><DD>An abstract server editor which implements the most common methods
 from IEditorPart.<DT><A HREF="../org/eclipse/wst/server/ui/editor/ServerEditorPart.html#ServerEditorPart()"><B>ServerEditorPart()</B></A> - 
Constructor for class org.eclipse.wst.server.ui.editor.<A HREF="../org/eclipse/wst/server/ui/editor/ServerEditorPart.html" title="class in org.eclipse.wst.server.ui.editor">ServerEditorPart</A>
<DD>Create a new server editor part.
<DT><A HREF="../org/eclipse/wst/server/ui/editor/ServerEditorSection.html" title="class in org.eclipse.wst.server.ui.editor"><B>ServerEditorSection</B></A> - Class in <A HREF="../org/eclipse/wst/server/ui/editor/package-summary.html">org.eclipse.wst.server.ui.editor</A><DD>An abstract server editor section.<DT><A HREF="../org/eclipse/wst/server/ui/editor/ServerEditorSection.html#ServerEditorSection()"><B>ServerEditorSection()</B></A> - 
Constructor for class org.eclipse.wst.server.ui.editor.<A HREF="../org/eclipse/wst/server/ui/editor/ServerEditorSection.html" title="class in org.eclipse.wst.server.ui.editor">ServerEditorSection</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/wst/server/core/ServerEvent.html" title="class in org.eclipse.wst.server.core"><B>ServerEvent</B></A> - Class in <A HREF="../org/eclipse/wst/server/core/package-summary.html">org.eclipse.wst.server.core</A><DD>An event fired when a server change or module changes.<DT><A HREF="../org/eclipse/wst/server/core/ServerEvent.html#ServerEvent(int, org.eclipse.wst.server.core.IServer, int, int, boolean)"><B>ServerEvent(int, IServer, int, int, boolean)</B></A> - 
Constructor for class org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/ServerEvent.html" title="class in org.eclipse.wst.server.core">ServerEvent</A>
<DD>Create a new server event for server change events.
<DT><A HREF="../org/eclipse/wst/server/core/ServerEvent.html#ServerEvent(int, org.eclipse.wst.server.core.IServer, org.eclipse.wst.server.core.IModule[], int, int, boolean)"><B>ServerEvent(int, IServer, IModule[], int, int, boolean)</B></A> - 
Constructor for class org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/ServerEvent.html" title="class in org.eclipse.wst.server.core">ServerEvent</A>
<DD>Create a new ServerEvent for module change events.
<DT><A HREF="../org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.html" title="class in org.eclipse.wst.server.ui"><B>ServerLaunchConfigurationTab</B></A> - Class in <A HREF="../org/eclipse/wst/server/ui/package-summary.html">org.eclipse.wst.server.ui</A><DD>Server launch configuration tab.<DT><A HREF="../org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.html#ServerLaunchConfigurationTab()"><B>ServerLaunchConfigurationTab()</B></A> - 
Constructor for class org.eclipse.wst.server.ui.<A HREF="../org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.html" title="class in org.eclipse.wst.server.ui">ServerLaunchConfigurationTab</A>
<DD>Create a new server launch configuration tab.
<DT><A HREF="../org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.html#ServerLaunchConfigurationTab(java.lang.String[])"><B>ServerLaunchConfigurationTab(String[])</B></A> - 
Constructor for class org.eclipse.wst.server.ui.<A HREF="../org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.html" title="class in org.eclipse.wst.server.ui">ServerLaunchConfigurationTab</A>
<DD>Create a new server launch configuration tab with the given server type ids.
<DT><A HREF="../org/eclipse/wst/server/core/util/ServerLifecycleAdapter.html" title="class in org.eclipse.wst.server.core.util"><B>ServerLifecycleAdapter</B></A> - Class in <A HREF="../org/eclipse/wst/server/core/util/package-summary.html">org.eclipse.wst.server.core.util</A><DD>Helper class which implements the IServerLifecycleListener interface
 with empty methods.<DT><A HREF="../org/eclipse/wst/server/core/util/ServerLifecycleAdapter.html#ServerLifecycleAdapter()"><B>ServerLifecycleAdapter()</B></A> - 
Constructor for class org.eclipse.wst.server.core.util.<A HREF="../org/eclipse/wst/server/core/util/ServerLifecycleAdapter.html" title="class in org.eclipse.wst.server.core.util">ServerLifecycleAdapter</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/wst/server/core/ServerPort.html" title="class in org.eclipse.wst.server.core"><B>ServerPort</B></A> - Class in <A HREF="../org/eclipse/wst/server/core/package-summary.html">org.eclipse.wst.server.core</A><DD>This class represents a port on a server.<DT><A HREF="../org/eclipse/wst/server/core/ServerPort.html#ServerPort(java.lang.String, java.lang.String, int, java.lang.String)"><B>ServerPort(String, String, int, String)</B></A> - 
Constructor for class org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/ServerPort.html" title="class in org.eclipse.wst.server.core">ServerPort</A>
<DD>Create a new server port.
<DT><A HREF="../org/eclipse/wst/server/core/ServerPort.html#ServerPort(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String[], boolean)"><B>ServerPort(String, String, int, String, String[], boolean)</B></A> - 
Constructor for class org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/ServerPort.html" title="class in org.eclipse.wst.server.core">ServerPort</A>
<DD>Create a new server port.
<DT><A HREF="../org/eclipse/jst/server/core/ServerProfilerDelegate.html" title="class in org.eclipse.jst.server.core"><B>ServerProfilerDelegate</B></A> - Class in <A HREF="../org/eclipse/jst/server/core/package-summary.html">org.eclipse.jst.server.core</A><DD>A server profiler delegate.<DT><A HREF="../org/eclipse/jst/server/core/ServerProfilerDelegate.html#ServerProfilerDelegate()"><B>ServerProfilerDelegate()</B></A> - 
Constructor for class org.eclipse.jst.server.core.<A HREF="../org/eclipse/jst/server/core/ServerProfilerDelegate.html" title="class in org.eclipse.jst.server.core">ServerProfilerDelegate</A>
<DD>Create a new server profiler delegate.
<DT><A HREF="../org/eclipse/wst/server/core/IServerLifecycleListener.html#serverRemoved(org.eclipse.wst.server.core.IServer)"><B>serverRemoved(IServer)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerLifecycleListener.html" title="interface in org.eclipse.wst.server.core">IServerLifecycleListener</A>
<DD>A existing server has been removed.
<DT><A HREF="../org/eclipse/wst/server/core/util/ServerLifecycleAdapter.html#serverRemoved(org.eclipse.wst.server.core.IServer)"><B>serverRemoved(IServer)</B></A> - 
Method in class org.eclipse.wst.server.core.util.<A HREF="../org/eclipse/wst/server/core/util/ServerLifecycleAdapter.html" title="class in org.eclipse.wst.server.core.util">ServerLifecycleAdapter</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/wst/server/ui/ServerUICore.html" title="class in org.eclipse.wst.server.ui"><B>ServerUICore</B></A> - Class in <A HREF="../org/eclipse/wst/server/ui/package-summary.html">org.eclipse.wst.server.ui</A><DD>Server UI core.<DT><A HREF="../org/eclipse/wst/server/ui/ServerUIUtil.html" title="class in org.eclipse.wst.server.ui"><B>ServerUIUtil</B></A> - Class in <A HREF="../org/eclipse/wst/server/ui/package-summary.html">org.eclipse.wst.server.ui</A><DD>Server UI utility methods.<DT><A HREF="../org/eclipse/wst/server/core/ServerUtil.html" title="class in org.eclipse.wst.server.core"><B>ServerUtil</B></A> - Class in <A HREF="../org/eclipse/wst/server/core/package-summary.html">org.eclipse.wst.server.core</A><DD>Server utility methods.<DT><A HREF="../org/eclipse/jst/server/core/Servlet.html" title="class in org.eclipse.jst.server.core"><B>Servlet</B></A> - Class in <A HREF="../org/eclipse/jst/server/core/package-summary.html">org.eclipse.jst.server.core</A><DD>A J2EE Servlet.<DT><A HREF="../org/eclipse/jst/server/core/Servlet.html#Servlet(org.eclipse.wst.server.core.IModule, java.lang.String, java.lang.String)"><B>Servlet(IModule, String, String)</B></A> - 
Constructor for class org.eclipse.jst.server.core.<A HREF="../org/eclipse/jst/server/core/Servlet.html" title="class in org.eclipse.jst.server.core">Servlet</A>
<DD>Create a reference to a servlet.
<DT><A HREF="../org/eclipse/jst/server/core/Servlet.html#Servlet()"><B>Servlet()</B></A> - 
Constructor for class org.eclipse.jst.server.core.<A HREF="../org/eclipse/jst/server/core/Servlet.html" title="class in org.eclipse.jst.server.core">Servlet</A>
<DD>Create a new empty servlet.
<DT><A HREF="../org/eclipse/wst/server/core/model/RuntimeDelegate.html#setDefaults(IProgressMonitor)"><B>setDefaults(IProgressMonitor)</B></A> - 
Method in class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/RuntimeDelegate.html" title="class in org.eclipse.wst.server.core.model">RuntimeDelegate</A>
<DD>Initializes this runtime with default values.
<DT><A HREF="../org/eclipse/wst/server/core/model/ServerDelegate.html#setDefaults(IProgressMonitor)"><B>setDefaults(IProgressMonitor)</B></A> - 
Method in class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/ServerDelegate.html" title="class in org.eclipse.wst.server.core.model">ServerDelegate</A>
<DD>Initializes this server with default values.
<DT><A HREF="../org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.html#setDefaults(ILaunchConfigurationWorkingCopy)"><B>setDefaults(ILaunchConfigurationWorkingCopy)</B></A> - 
Method in class org.eclipse.wst.server.ui.<A HREF="../org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.html" title="class in org.eclipse.wst.server.ui">ServerLaunchConfigurationTab</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/wst/server/core/ServerCore.html#setDefaultServer(org.eclipse.wst.server.core.IModule, org.eclipse.wst.server.core.IServer, IProgressMonitor)"><B>setDefaultServer(IModule, IServer, IProgressMonitor)</B></A> - 
Static method in class org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/ServerCore.html" title="class in org.eclipse.wst.server.core">ServerCore</A>
<DD>Sets the preferred runtime server for the given module.
<DT><A HREF="../org/eclipse/wst/server/ui/wizard/IWizardHandle.html#setDescription(java.lang.String)"><B>setDescription(String)</B></A> - 
Method in interface org.eclipse.wst.server.ui.wizard.<A HREF="../org/eclipse/wst/server/ui/wizard/IWizardHandle.html" title="interface in org.eclipse.wst.server.ui.wizard">IWizardHandle</A>
<DD>The page's description.
<DT><A HREF="../org/eclipse/wst/server/ui/editor/ServerEditorPart.html#setErrorMessage(java.lang.String)"><B>setErrorMessage(String)</B></A> - 
Method in class org.eclipse.wst.server.ui.editor.<A HREF="../org/eclipse/wst/server/ui/editor/ServerEditorPart.html" title="class in org.eclipse.wst.server.ui.editor">ServerEditorPart</A>
<DD>Set an error message for this page.
<DT><A HREF="../org/eclipse/wst/server/ui/editor/ServerEditorSection.html#setErrorMessage(java.lang.String)"><B>setErrorMessage(String)</B></A> - 
Method in class org.eclipse.wst.server.ui.editor.<A HREF="../org/eclipse/wst/server/ui/editor/ServerEditorSection.html" title="class in org.eclipse.wst.server.ui.editor">ServerEditorSection</A>
<DD>Set an error message for this section.
<DT><A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html#setHost(java.lang.String)"><B>setHost(String)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IServerWorkingCopy</A>
<DD>Changes the host for the server.
<DT><A HREF="../org/eclipse/wst/server/ui/wizard/IWizardHandle.html#setImageDescriptor(ImageDescriptor)"><B>setImageDescriptor(ImageDescriptor)</B></A> - 
Method in interface org.eclipse.wst.server.ui.wizard.<A HREF="../org/eclipse/wst/server/ui/wizard/IWizardHandle.html" title="interface in org.eclipse.wst.server.ui.wizard">IWizardHandle</A>
<DD>The page's image descriptor.
<DT><A HREF="../org/eclipse/jst/server/core/EJBBean.html#setInterfaceName(java.lang.String)"><B>setInterfaceName(String)</B></A> - 
Method in class org.eclipse.jst.server.core.<A HREF="../org/eclipse/jst/server/core/EJBBean.html" title="class in org.eclipse.jst.server.core">EJBBean</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html#setLocation(IPath)"><B>setLocation(IPath)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IRuntimeWorkingCopy</A>
<DD>Sets the absolute path in the local file system to the root of the runtime,
 typically the installation directory.
<DT><A HREF="../org/eclipse/wst/server/core/util/ModuleFolder.html#setMembers(org.eclipse.wst.server.core.model.IModuleResource[])"><B>setMembers(IModuleResource[])</B></A> - 
Method in class org.eclipse.wst.server.core.util.<A HREF="../org/eclipse/wst/server/core/util/ModuleFolder.html" title="class in org.eclipse.wst.server.core.util">ModuleFolder</A>
<DD>Sets the members (contents) of this folder.
<DT><A HREF="../org/eclipse/wst/server/ui/wizard/IWizardHandle.html#setMessage(java.lang.String, int)"><B>setMessage(String, int)</B></A> - 
Method in interface org.eclipse.wst.server.ui.wizard.<A HREF="../org/eclipse/wst/server/ui/wizard/IWizardHandle.html" title="interface in org.eclipse.wst.server.ui.wizard">IWizardHandle</A>
<DD>Set an error or warning message.
<DT><A HREF="../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IRuntimeWorkingCopy</A>
<DD>Sets the displayable name for this runtime.
<DT><A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IServerWorkingCopy</A>
<DD>Sets the displayable name for this server.
<DT><A HREF="../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html#setReadOnly(boolean)"><B>setReadOnly(boolean)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IRuntimeWorkingCopy</A>
<DD>Sets or unsets whether this runtime is marked as read only.
<DT><A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html#setReadOnly(boolean)"><B>setReadOnly(boolean)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IServerWorkingCopy</A>
<DD>Sets or unsets whether this server is marked as read only.
<DT><A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html#setRuntime(org.eclipse.wst.server.core.IRuntime)"><B>setRuntime(IRuntime)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IServerWorkingCopy</A>
<DD>Sets the runtime associated with this server working copy.
<DT><A HREF="../org/eclipse/wst/server/core/ServerUtil.html#setRuntimeDefaultName(org.eclipse.wst.server.core.IRuntimeWorkingCopy)"><B>setRuntimeDefaultName(IRuntimeWorkingCopy)</B></A> - 
Static method in class org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/ServerUtil.html" title="class in org.eclipse.wst.server.core">ServerUtil</A>
<DD>Sets a default name on the given runtime.
<DT><A HREF="../org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.html#setRuntimeTarget(IProject, org.eclipse.wst.server.core.IRuntime, IProgressMonitor)"><B>setRuntimeTarget(IProject, IRuntime, IProgressMonitor)</B></A> - 
Method in class org.eclipse.jst.server.core.<A HREF="../org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.html" title="class in org.eclipse.jst.server.core">ClasspathRuntimeTargetHandler</A>
<DD><B>Deprecated.</B>&nbsp;(non-Javadoc)
<DT><A HREF="../org/eclipse/wst/server/core/model/RuntimeTargetHandlerDelegate.html#setRuntimeTarget(IProject, org.eclipse.wst.server.core.IRuntime, IProgressMonitor)"><B>setRuntimeTarget(IProject, IRuntime, IProgressMonitor)</B></A> - 
Method in class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/RuntimeTargetHandlerDelegate.html" title="class in org.eclipse.wst.server.core.model">RuntimeTargetHandlerDelegate</A>
<DD><B>Deprecated.</B>&nbsp;Set the runtime target on the given project.
<DT><A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html#setServerConfiguration(IFolder)"><B>setServerConfiguration(IFolder)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IServerWorkingCopy</A>
<DD>Sets the server configuration associated with this server working copy.
<DT><A HREF="../org/eclipse/wst/server/core/ServerUtil.html#setServerDefaultName(org.eclipse.wst.server.core.IServerWorkingCopy)"><B>setServerDefaultName(IServerWorkingCopy)</B></A> - 
Static method in class org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/ServerUtil.html" title="class in org.eclipse.wst.server.core">ServerUtil</A>
<DD>Sets a default name on the given server.
<DT><A HREF="../org/eclipse/wst/server/ui/editor/ServerEditorSection.html#setServerEditorPart(org.eclipse.wst.server.ui.editor.ServerEditorPart)"><B>setServerEditorPart(ServerEditorPart)</B></A> - 
Method in class org.eclipse.wst.server.ui.editor.<A HREF="../org/eclipse/wst/server/ui/editor/ServerEditorSection.html" title="class in org.eclipse.wst.server.ui.editor">ServerEditorSection</A>
<DD>Set the editor part that this section belongs to.
<DT><A HREF="../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html#setStub(boolean)"><B>setStub(boolean)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IRuntimeWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IRuntimeWorkingCopy</A>
<DD>Returns whether this runtime is a stub (used for compilation only)
 or a full runtime.
<DT><A HREF="../org/eclipse/wst/server/core/model/PublisherDelegate.html#setTaskModel(org.eclipse.wst.server.core.TaskModel)"><B>setTaskModel(TaskModel)</B></A> - 
Method in class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/PublisherDelegate.html" title="class in org.eclipse.wst.server.core.model">PublisherDelegate</A>
<DD>Set the task model.
<DT><A HREF="../org/eclipse/wst/server/core/model/PublishOperation.html#setTaskModel(org.eclipse.wst.server.core.TaskModel)"><B>setTaskModel(TaskModel)</B></A> - 
Method in class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/PublishOperation.html" title="class in org.eclipse.wst.server.core.model">PublishOperation</A>
<DD>Set the task model.
<DT><A HREF="../org/eclipse/wst/server/ui/wizard/WizardFragment.html#setTaskModel(org.eclipse.wst.server.core.TaskModel)"><B>setTaskModel(TaskModel)</B></A> - 
Method in class org.eclipse.wst.server.ui.wizard.<A HREF="../org/eclipse/wst/server/ui/wizard/WizardFragment.html" title="class in org.eclipse.wst.server.ui.wizard">WizardFragment</A>
<DD>Sets the wizard task model.
<DT><A HREF="../org/eclipse/wst/server/ui/wizard/IWizardHandle.html#setTitle(java.lang.String)"><B>setTitle(String)</B></A> - 
Method in interface org.eclipse.wst.server.ui.wizard.<A HREF="../org/eclipse/wst/server/ui/wizard/IWizardHandle.html" title="interface in org.eclipse.wst.server.ui.wizard">IWizardHandle</A>
<DD>Sets the title of this wizard page.
<DT><A HREF="../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#setupLaunchConfiguration(ILaunchConfigurationWorkingCopy, IProgressMonitor)"><B>setupLaunchConfiguration(ILaunchConfigurationWorkingCopy, IProgressMonitor)</B></A> - 
Method in class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html" title="class in org.eclipse.wst.server.core.model">ServerBehaviourDelegate</A>
<DD>Configure the given launch configuration to start this server.
<DT><A HREF="../org/eclipse/jst/server/core/IJavaRuntimeWorkingCopy.html#setVMInstall(IVMInstall)"><B>setVMInstall(IVMInstall)</B></A> - 
Method in interface org.eclipse.jst.server.core.<A HREF="../org/eclipse/jst/server/core/IJavaRuntimeWorkingCopy.html" title="interface in org.eclipse.jst.server.core">IJavaRuntimeWorkingCopy</A>
<DD>Set the VM install (installed JRE) that this runtime is using.
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#shouldPublish()"><B>shouldPublish()</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD>Returns true if the server should be published to.
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#shouldRestart()"><B>shouldRestart()</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD>Returns true if the server should be restarted.
<DT><A HREF="../org/eclipse/wst/server/ui/ServerUIUtil.html#showNewRuntimeWizard(Shell, java.lang.String, java.lang.String)"><B>showNewRuntimeWizard(Shell, String, String)</B></A> - 
Static method in class org.eclipse.wst.server.ui.<A HREF="../org/eclipse/wst/server/ui/ServerUIUtil.html" title="class in org.eclipse.wst.server.ui">ServerUIUtil</A>
<DD>Open the new runtime wizard.
<DT><A HREF="../org/eclipse/wst/server/ui/ServerUIUtil.html#showNewRuntimeWizard(Shell, java.lang.String, java.lang.String, java.lang.String)"><B>showNewRuntimeWizard(Shell, String, String, String)</B></A> - 
Static method in class org.eclipse.wst.server.ui.<A HREF="../org/eclipse/wst/server/ui/ServerUIUtil.html" title="class in org.eclipse.wst.server.ui">ServerUIUtil</A>
<DD>Open the new runtime wizard.
<DT><A HREF="../org/eclipse/wst/server/ui/ServerUIUtil.html#showNewServerWizard(Shell, java.lang.String, java.lang.String, java.lang.String)"><B>showNewServerWizard(Shell, String, String, String)</B></A> - 
Static method in class org.eclipse.wst.server.ui.<A HREF="../org/eclipse/wst/server/ui/ServerUIUtil.html" title="class in org.eclipse.wst.server.ui">ServerUIUtil</A>
<DD>Open the new server wizard.
<DT><A HREF="../org/eclipse/jst/server/core/PublishUtil.html#smartCopy(org.eclipse.wst.server.core.model.IModuleResource[], IPath, IProgressMonitor)"><B>smartCopy(IModuleResource[], IPath, IProgressMonitor)</B></A> - 
Static method in class org.eclipse.jst.server.core.<A HREF="../org/eclipse/jst/server/core/PublishUtil.html" title="class in org.eclipse.jst.server.core">PublishUtil</A>
<DD><B>Deprecated.</B>&nbsp;<I>This method only returns a single error in the case of failure. Use publishSmart() instead.</I>
<DT><A HREF="../org/eclipse/wst/server/core/util/SocketUtil.html" title="class in org.eclipse.wst.server.core.util"><B>SocketUtil</B></A> - Class in <A HREF="../org/eclipse/wst/server/core/util/package-summary.html">org.eclipse.wst.server.core.util</A><DD>A utility class for socket-related function.<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#start(java.lang.String, IProgressMonitor)"><B>start(String, IProgressMonitor)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD>Asynchronously starts this server in the given launch mode.
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#startModule(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IServer.IOperationListener)"><B>startModule(IModule[], IServer.IOperationListener)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD>Asynchronously starts this server in the given launch mode.
<DT><A HREF="../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#startModule(org.eclipse.wst.server.core.IModule[], IProgressMonitor)"><B>startModule(IModule[], IProgressMonitor)</B></A> - 
Method in class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html" title="class in org.eclipse.wst.server.core.model">ServerBehaviourDelegate</A>
<DD>Starts the given module on the server.
<DT><A HREF="../org/eclipse/wst/server/core/ServerEvent.html#STATE_CHANGE"><B>STATE_CHANGE</B></A> - 
Static variable in class org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/ServerEvent.html" title="class in org.eclipse.wst.server.core">ServerEvent</A>
<DD>For notification when the state has changed.
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#STATE_STARTED"><B>STATE_STARTED</B></A> - 
Static variable in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD>Server state constant (value 2) indicating that the
 server is ready to serve content.
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#STATE_STARTING"><B>STATE_STARTING</B></A> - 
Static variable in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD>Server state constant (value 1) indicating that the
 server is starting, but not yet ready to serve content.
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#STATE_STOPPED"><B>STATE_STOPPED</B></A> - 
Static variable in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD>Server state constant (value 4) indicating that the
 server is stopped.
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#STATE_STOPPING"><B>STATE_STOPPING</B></A> - 
Static variable in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD>Server state constant (value 3) indicating that the
 server is shutting down.
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#STATE_UNKNOWN"><B>STATE_UNKNOWN</B></A> - 
Static variable in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD>Server state constant (value 0) indicating that the
 server is in an unknown state.
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#stop(boolean)"><B>stop(boolean)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD>Asynchronously stops this server.
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#stop(boolean, org.eclipse.wst.server.core.IServer.IOperationListener)"><B>stop(boolean, IServer.IOperationListener)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD>Asynchronously stops this server.
<DT><A HREF="../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#stop(boolean)"><B>stop(boolean)</B></A> - 
Method in class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html" title="class in org.eclipse.wst.server.core.model">ServerBehaviourDelegate</A>
<DD>Shuts down and stops this server.
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#stopModule(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IServer.IOperationListener)"><B>stopModule(IModule[], IServer.IOperationListener)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD>Asynchronously stops the given module.
<DT><A HREF="../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#stopModule(org.eclipse.wst.server.core.IModule[], IProgressMonitor)"><B>stopModule(IModule[], IProgressMonitor)</B></A> - 
Method in class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html" title="class in org.eclipse.wst.server.core.model">ServerBehaviourDelegate</A>
<DD>Stops the given module on the server.
<DT><A HREF="../org/eclipse/wst/server/core/model/ClientDelegate.html#supports(org.eclipse.wst.server.core.IServer, java.lang.Object, java.lang.String)"><B>supports(IServer, Object, String)</B></A> - 
Method in class org.eclipse.wst.server.core.model.<A HREF="../org/eclipse/wst/server/core/model/ClientDelegate.html" title="class in org.eclipse.wst.server.core.model">ClientDelegate</A>
<DD>Returns true if this launchable can be run by this client.
<DT><A HREF="../org/eclipse/wst/server/core/IServerType.html#supportsLaunchMode(java.lang.String)"><B>supportsLaunchMode(String)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerType.html" title="interface in org.eclipse.wst.server.core">IServerType</A>
<DD>Returns whether this type of server supports the given launch mode.
<DT><A HREF="../org/eclipse/wst/server/core/IServerType.html#supportsRemoteHosts()"><B>supportsRemoteHosts()</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServerType.html" title="interface in org.eclipse.wst.server.core">IServerType</A>
<DD>Returns <code>true</code> if this type of server can run on a remote host.
<DT><A HREF="../org/eclipse/wst/server/core/IRuntimeTargetHandler.html#supportsRuntimeType(org.eclipse.wst.server.core.IRuntimeType)"><B>supportsRuntimeType(IRuntimeType)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IRuntimeTargetHandler.html" title="interface in org.eclipse.wst.server.core">IRuntimeTargetHandler</A>
<DD><B>Deprecated.</B>&nbsp;Returns <code>true</code> if this runtime target handler supports
 (can work with) the given runtime.
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#synchronousRestart(java.lang.String, IProgressMonitor)"><B>synchronousRestart(String, IProgressMonitor)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD><B>Deprecated.</B>&nbsp;<I>use <CODE>#restart(String, IServer.IOperationListener)</CODE> 
    instead</I>
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#synchronousStart(java.lang.String, IProgressMonitor)"><B>synchronousStart(String, IProgressMonitor)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<DD><B>Deprecated.</B>&nbsp;<I>use <CODE>#start(String, IServer.IOperationListener)</CODE>
    instead</I>
<DT><A HREF="../org/eclipse/wst/server/core/IServer.html#synchronousStop(boolean)"><B>synchronousStop(boolean)</B></A> - 
Method in interface org.eclipse.wst.server.core.<A HREF="../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>
<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>IServer.stop(boolean, IOperationListener)</CODE></A>
    instead</I>
</DL>
<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">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../overview-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="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&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="index-15.html"><B>PREV LETTER</B></A>&nbsp;
&nbsp;<A HREF="index-17.html"><B>NEXT LETTER</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../index.html?index-filesindex-16.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-16.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>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">D</A> <A HREF="index-4.html">E</A> <A HREF="index-5.html">F</A> <A HREF="index-6.html">G</A> <A HREF="index-7.html">H</A> <A HREF="index-8.html">I</A> <A HREF="index-9.html">J</A> <A HREF="index-10.html">L</A> <A HREF="index-11.html">M</A> <A HREF="index-12.html">N</A> <A HREF="index-13.html">O</A> <A HREF="index-14.html">P</A> <A HREF="index-15.html">R</A> <A HREF="index-16.html">S</A> <A HREF="index-17.html">T</A> <A HREF="index-18.html">U</A> <A HREF="index-19.html">V</A> <A HREF="index-20.html">W</A> <HR>

</BODY>
</HTML>
