blob: 98780fe37164a91c8ed8f7339534fcd148bc4683 [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:12 EDT 2008 -->
<TITLE>
ServerBehaviourDelegate
</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="ServerBehaviourDelegate";
}
}
</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/ServerBehaviourDelegate.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/model/RuntimeTargetHandlerDelegate.html" title="class in org.eclipse.wst.server.core.model"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/eclipse/wst/server/core/model/ServerDelegate.html" title="class in org.eclipse.wst.server.core.model"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ServerBehaviourDelegate.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;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&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;<A HREF="#constructor_detail">CONSTR</A>&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.model</FONT>
<BR>
Class ServerBehaviourDelegate</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.eclipse.wst.server.core.model.ServerBehaviourDelegate</B>
</PRE>
<HR>
<DL>
<DT><PRE>public abstract class <B>ServerBehaviourDelegate</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
A server delegate provides the implementation for various
generic and server-type-specific operations for a specific type of server.
A server delegate is specified by the
<code>class</code> attribute of a <code>serverTypes</code> extension.
<p>
When the server instance needs to be given a delegate, the delegate class
specified for the server type is instantiated with a 0-argument constructor
and primed with <code>delegate.initialize(((IServerState)server)</code>,
which it is expected to hang on to. Later, when
<code>delegate.dispose()</code> is called as the server instance is
being discarded, the delegate is expected to let go of the server instance.
</p>
<p>
Server delegates may keep state in instance fields, but that state is
transient and will not be persisted across workbench sessions.
</p>
<p>
This abstract class is intended to be extended only by clients
to extend the <code>serverTypes</code> extension point.
</p>
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>1.0</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../../../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core"><CODE>IServer</CODE></A>,
<A HREF="../../../../../../org/eclipse/wst/server/core/IServerWorkingCopy.html" title="interface in org.eclipse.wst.server.core"><CODE>IServerWorkingCopy</CODE></A></DL>
<HR>
<P>
<!-- =========== 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/model/ServerBehaviourDelegate.html#ADDED">ADDED</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish kind constant (value 1) for added resources.</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/model/ServerBehaviourDelegate.html#CHANGED">CHANGED</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish kind constant (value 2) for changed resources.</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/model/ServerBehaviourDelegate.html#NO_CHANGE">NO_CHANGE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish kind constant (value 0) for no change.</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/model/ServerBehaviourDelegate.html#REMOVED">REMOVED</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish kind constant (value 3) for removed resources.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_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>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#ServerBehaviourDelegate()">ServerBehaviourDelegate</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delegates must have a public 0-arg constructor.</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;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#canControlModule(org.eclipse.wst.server.core.IModule[])">canControlModule</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 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/model/ServerBehaviourDelegate.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/model/ServerBehaviourDelegate.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/model/ServerBehaviourDelegate.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/model/ServerBehaviourDelegate.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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#dispose()">dispose</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disposes of this server delegate.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#getServer()">getServer</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the server that this server delegate corresponds to.</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/model/ServerBehaviourDelegate.html#handleResourceChange()">handleResourceChange</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called when resources change within the workspace.</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/model/ServerBehaviourDelegate.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.</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/model/ServerBehaviourDelegate.html#publish(int, java.util.List, IProgressMonitor, IAdaptable)">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,
IProgressMonitor&nbsp;monitor,
IAdaptable&nbsp;info)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Publish 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/model/ServerBehaviourDelegate.html#restart(java.lang.String)">restart</A></B>(java.lang.String&nbsp;launchMode)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Restart 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/model/ServerBehaviourDelegate.html#restartModule(org.eclipse.wst.server.core.IModule[], IProgressMonitor)">restartModule</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;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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#setupLaunchConfiguration(ILaunchConfigurationWorkingCopy, IProgressMonitor)">setupLaunchConfiguration</A></B>(ILaunchConfigurationWorkingCopy&nbsp;workingCopy,
IProgressMonitor&nbsp;monitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure the given launch configuration to start 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/model/ServerBehaviourDelegate.html#startModule(org.eclipse.wst.server.core.IModule[], IProgressMonitor)">startModule</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;Starts the given module on the server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#stop(boolean)">stop</A></B>(boolean&nbsp;force)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shuts down and 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/model/ServerBehaviourDelegate.html#stopModule(org.eclipse.wst.server.core.IModule[], IProgressMonitor)">stopModule</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;Stops the given module on the server.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="NO_CHANGE"><!-- --></A><H3>
NO_CHANGE</H3>
<PRE>
public static final int <B>NO_CHANGE</B></PRE>
<DL>
<DD>Publish kind constant (value 0) for no change.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#publishModule(int, int, org.eclipse.wst.server.core.IModule[], IProgressMonitor)"><CODE>publishModule(int, int, IModule[], IProgressMonitor)</CODE></A>,
<A HREF="../../../../../../constant-values.html#org.eclipse.wst.server.core.model.ServerBehaviourDelegate.NO_CHANGE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="ADDED"><!-- --></A><H3>
ADDED</H3>
<PRE>
public static final int <B>ADDED</B></PRE>
<DL>
<DD>Publish kind constant (value 1) for added resources.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#publishModule(int, int, org.eclipse.wst.server.core.IModule[], IProgressMonitor)"><CODE>publishModule(int, int, IModule[], IProgressMonitor)</CODE></A>,
<A HREF="../../../../../../constant-values.html#org.eclipse.wst.server.core.model.ServerBehaviourDelegate.ADDED">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="CHANGED"><!-- --></A><H3>
CHANGED</H3>
<PRE>
public static final int <B>CHANGED</B></PRE>
<DL>
<DD>Publish kind constant (value 2) for changed resources.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#publishModule(int, int, org.eclipse.wst.server.core.IModule[], IProgressMonitor)"><CODE>publishModule(int, int, IModule[], IProgressMonitor)</CODE></A>,
<A HREF="../../../../../../constant-values.html#org.eclipse.wst.server.core.model.ServerBehaviourDelegate.CHANGED">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="REMOVED"><!-- --></A><H3>
REMOVED</H3>
<PRE>
public static final int <B>REMOVED</B></PRE>
<DL>
<DD>Publish kind constant (value 3) for removed resources.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../../org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html#publishModule(int, int, org.eclipse.wst.server.core.IModule[], IProgressMonitor)"><CODE>publishModule(int, int, IModule[], IProgressMonitor)</CODE></A>,
<A HREF="../../../../../../constant-values.html#org.eclipse.wst.server.core.model.ServerBehaviourDelegate.REMOVED">Constant Field Values</A></DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_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>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="ServerBehaviourDelegate()"><!-- --></A><H3>
ServerBehaviourDelegate</H3>
<PRE>
public <B>ServerBehaviourDelegate</B>()</PRE>
<DL>
<DD>Delegates must have a public 0-arg constructor.
<P>
</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="getServer()"><!-- --></A><H3>
getServer</H3>
<PRE>
public final <A HREF="../../../../../../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A> <B>getServer</B>()</PRE>
<DL>
<DD>Returns the server that this server delegate corresponds to.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>the server</DL>
</DD>
</DL>
<HR>
<A NAME="dispose()"><!-- --></A><H3>
dispose</H3>
<PRE>
public void <B>dispose</B>()</PRE>
<DL>
<DD>Disposes of this server delegate.
<p>
This method is called by the server core framework.
Clients should never call this method.
</p>
<p>
Implementations are expected to let go of the delegate's reference
to the server, deregister listeners, etc.
</p>
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setupLaunchConfiguration(ILaunchConfigurationWorkingCopy, IProgressMonitor)"><!-- --></A><H3>
setupLaunchConfiguration</H3>
<PRE>
public void <B>setupLaunchConfiguration</B>(ILaunchConfigurationWorkingCopy&nbsp;workingCopy,
IProgressMonitor&nbsp;monitor)
throws CoreException</PRE>
<DL>
<DD>Configure the given launch configuration to start this server. This method is called whenever
the server is started to ensure that the launch configuration is accurate and up to date.
This method should not blindly update the launch configuration in cases where the user has
access to change the launch configuration by hand.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>workingCopy</CODE> - a launch configuration working copy<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 is an error setting up the configuration</DL>
</DD>
</DL>
<HR>
<A NAME="restart(java.lang.String)"><!-- --></A><H3>
restart</H3>
<PRE>
public void <B>restart</B>(java.lang.String&nbsp;launchMode)
throws CoreException</PRE>
<DL>
<DD>Restart this server. The server should use the server
listener to notify progress. It must use the same debug
flags as was originally passed into the start() method.
This method is used if there is a quick/better way to restart
the server. If it throws a CoreException, the normal stop/start
actions will be used.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>launchMode</CODE> - the mode to restart in, one of the mode constants
defined by <CODE>ILaunchManager</CODE>
<DT><B>Throws:</B>
<DD><CODE>CoreException</CODE> - if there was a problem restarting</DL>
</DD>
</DL>
<HR>
<A NAME="canControlModule(org.eclipse.wst.server.core.IModule[])"><!-- --></A><H3>
canControlModule</H3>
<PRE>
public boolean <B>canControlModule</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 whether the given module can be restarted.
<p>
This call should complete reasonably fast and not require communication
with the (potentially remote) server. If communication is required it
should be done asynchronously and this method should either fail until
that is complete or succeed and handle failure in the xxModule methods.
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>module</CODE> - the module
<DT><B>Returns:</B><DD><code>true</code> if the given module can be
restarted, and <code>false</code> otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="canStart(java.lang.String)"><!-- --></A><H3>
canStart</H3>
<PRE>
public 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>
This call should complete reasonably fast and not require communication
with the (potentially remote) server. If communication is required it
should be done asynchronously and this method should either fail until
that is complete or succeed and handle failure during start.
</p><p>
This method is called by the server core framework,
in response to a call to <code>IServer.canStart()</code>.
The framework has already filtered out obviously invalid situations,
such as starting a server that is already running.
Clients should never call this method directly.
</p>
<P>
<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<DT><B>Since:</B></DT>
<DD>3.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="canRestart(java.lang.String)"><!-- --></A><H3>
canRestart</H3>
<PRE>
public 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>
This call should complete reasonably fast and not require communication
with the (potentially remote) server. If communication is required it
should be done asynchronously and this method should either fail until
that is complete or succeed and handle failure during restart.
</p><p>
This method is called by the server core framework,
in response to a call to <code>IServer.canRestart()</code>.
The framework has already filtered out obviously invalid situations,
such as restarting a stopped server.
Clients should never call this method directly.
</p>
<P>
<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<DT><B>Since:</B></DT>
<DD>3.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="canStop()"><!-- --></A><H3>
canStop</H3>
<PRE>
public 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>
This call should complete reasonably fast and not require communication
with the (potentially remote) server. If communication is required it
should be done asynchronously and this method should either fail until
that is complete or succeed and handle failure during stop.
</p><p>
This method is called by the server core framework,
in response to a call to <code>IServer.canStop()</code>.
The framework has already filtered out obviously invalid situations,
such as stopping a server that is already stopped.
Clients should never call this method directly.
</p>
<P>
<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<DT><B>Since:</B></DT>
<DD>3.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="canPublish()"><!-- --></A><H3>
canPublish</H3>
<PRE>
public IStatus <B>canPublish</B>()</PRE>
<DL>
<DD>Returns whether this server is in a state that it can
be published to.
<p>
This call should complete reasonably fast and not require communication
with the (potentially remote) server. If communication is required it
should be done asynchronously and this method should either fail until
that is complete or succeed and handle failure during publish.
</p><p>
This method is called by the server core framework,
in response to a call to <code>IServer.canPublish()</code>.
The framework has already filtered out obviously invalid situations,
such as publishing to a server in the wrong mode.
Clients should never call this method directly.
</p>
<P>
<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<DT><B>Since:</B></DT>
<DD>3.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="startModule(org.eclipse.wst.server.core.IModule[], IProgressMonitor)"><!-- --></A><H3>
startModule</H3>
<PRE>
public 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,
IProgressMonitor&nbsp;monitor)
throws CoreException</PRE>
<DL>
<DD>Starts the given module on the server. See the specification of
<A HREF="../../../../../../org/eclipse/wst/server/core/IServer.html#startModule(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IServer.IOperationListener)"><CODE>IServer.startModule(IModule[], IServer.IOperationListener)</CODE></A>
for further details.
<p>
The implementation should update the module sync state and fire
an event for the module.
</p>
<p>
This method will throw an exception if the module does not exist on
the server.
</p>
<p>
[issue: Since this method is asynchronous, is there
any need for the progress monitor?]
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>module</CODE> - the module to be started<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 restart the module</DL>
</DD>
</DL>
<HR>
<A NAME="stopModule(org.eclipse.wst.server.core.IModule[], IProgressMonitor)"><!-- --></A><H3>
stopModule</H3>
<PRE>
public 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,
IProgressMonitor&nbsp;monitor)
throws CoreException</PRE>
<DL>
<DD>Stops the given module on the server. See the specification of
<A HREF="../../../../../../org/eclipse/wst/server/core/IServer.html#stopModule(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IServer.IOperationListener)"><CODE>IServer.stopModule(IModule[], IServer.IOperationListener)</CODE></A>
for further details.
<p>
The implementation should update the module sync state and fire
an event for the module.
</p>
<p>
This method will throw an exception if the module does not exist on
the server.
</p>
<p>
[issue: Since this method is asynchronous, is there
any need for the progress monitor?]
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>module</CODE> - the module to be stopped<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 restart the module</DL>
</DD>
</DL>
<HR>
<A NAME="restartModule(org.eclipse.wst.server.core.IModule[], IProgressMonitor)"><!-- --></A><H3>
restartModule</H3>
<PRE>
public 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,
IProgressMonitor&nbsp;monitor)
throws CoreException</PRE>
<DL>
<DD>Restarts the given module on the server. See the specification of
<A HREF="../../../../../../org/eclipse/wst/server/core/IServer.html#restartModule(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IServer.IOperationListener)"><CODE>IServer.restartModule(IModule[], IServer.IOperationListener)</CODE></A>
for further details.
<p>
The implementation should update the module sync state and fire
an event for the module.
</p>
<p>
This method will throw an exception if the module does not exist on
the server.
</p>
<p>
[issue: Since this method is asynchronous, is there
any need for the progress monitor?]
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>module</CODE> - the module to be stopped<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 restart the module</DL>
</DD>
</DL>
<HR>
<A NAME="stop(boolean)"><!-- --></A><H3>
stop</H3>
<PRE>
public abstract void <B>stop</B>(boolean&nbsp;force)</PRE>
<DL>
<DD>Shuts down and stops this server. The server should return from this method
quickly and use the server listener to notify shutdown progress.
<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>
[issue: There is no way to communicate failure to the
client. Given that this operation can go awry, there probably
should be a mechanism that allows failing async operations
to be diagnosed.]
</p>
<P>
<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="publish(int, java.util.List, IProgressMonitor, IAdaptable)"><!-- --></A><H3>
publish</H3>
<PRE>
public 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,
IProgressMonitor&nbsp;monitor,
IAdaptable&nbsp;info)
throws CoreException</PRE>
<DL>
<DD>Publish to the server.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>kind</CODE> - the publish kind<DD><CODE>modules</CODE> - <DD><CODE>monitor</CODE> - a progress monitor, or <code>null</code> if progress
reporting and cancellation are not desired<DD><CODE>info</CODE> -
<DT><B>Throws:</B>
<DD><CODE>CoreException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="publish(int, IProgressMonitor)"><!-- --></A><H3>
publish</H3>
<PRE>
public IStatus <B>publish</B>(int&nbsp;kind,
IProgressMonitor&nbsp;monitor)</PRE>
<DL>
<DD>Publish to the server.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>kind</CODE> - the publish kind<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 publish status</DL>
</DD>
</DL>
<HR>
<A NAME="handleResourceChange()"><!-- --></A><H3>
handleResourceChange</H3>
<PRE>
public void <B>handleResourceChange</B>()</PRE>
<DL>
<DD>Called when resources change within the workspace.
This gives the server an opportunity to update the server or module
restart state.
<P>
<DD><DL>
</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/ServerBehaviourDelegate.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/model/RuntimeTargetHandlerDelegate.html" title="class in org.eclipse.wst.server.core.model"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/eclipse/wst/server/core/model/ServerDelegate.html" title="class in org.eclipse.wst.server.core.model"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/eclipse/wst/server/core/model/ServerBehaviourDelegate.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ServerBehaviourDelegate.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;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&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;<A HREF="#constructor_detail">CONSTR</A>&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>