blob: 6cbf2bea63a3060871bdcf4d882b1de070c08cf7 [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>
IServerAttributes
</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="IServerAttributes";
}
}
</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/IServerAttributes.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/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/eclipse/wst/server/core/IServerLifecycleListener.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/IServerAttributes.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IServerAttributes.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&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 IServerAttributes</H2>
<DL>
<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../../org/eclipse/wst/server/core/IServer.html" title="interface in org.eclipse.wst.server.core">IServer</A>, <A HREF="../../../../../org/eclipse/wst/server/core/IServerWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IServerWorkingCopy</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>IServerAttributes</B></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>
IServerAttributes implements IAdaptable to allow users to obtain a
server-type-specific class. By casting the runtime extension to the type
prescribed in the API documentation for that particular server type, the
client can access server-type-specific properties and methods.
getAdapter() may involve plugin loading, and should not be called from
popup menus, etc.
</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>
<!-- ========== 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;IStatus</CODE></FONT></TD>
<TD><CODE><B><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></B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;add,
<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;remove,
IProgressMonitor&nbsp;monitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether the specified module modifications could be made to this
server at this time.</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/IServerWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IServerWorkingCopy</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#createWorkingCopy()">createWorkingCopy</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a server working copy for modifying this server instance.</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/IServerAttributes.html#delete()">delete</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deletes the persistent representation of this server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getAdapter(java.lang.Class)">getAdapter</A></B>(java.lang.Class&nbsp;adapter)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an object which is an instance of the given class
associated with this object.</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/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getChildModules(org.eclipse.wst.server.core.IModule[], IProgressMonitor)">getChildModules</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 the child module(s) of this module.</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/IServerAttributes.html#getHost()">getHost</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the host for the 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/IServerAttributes.html#getId()">getId</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the id of this server.</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/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getModules()">getModules</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array of modules that are currently configured on
the 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/IServerAttributes.html#getName()">getName</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the displayable name for this server.</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/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getRootModules(org.eclipse.wst.server.core.IModule, IProgressMonitor)">getRootModules</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 the parent module(s) of this module.</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/IRuntime.html" title="interface in org.eclipse.wst.server.core">IRuntime</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getRuntime()">getRuntime</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the runtime associated with this server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;IFolder</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getServerConfiguration()">getServerConfiguration</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the server configuration associated with this server.</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/ServerPort.html" title="class in org.eclipse.wst.server.core">ServerPort</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getServerPorts(IProgressMonitor)">getServerPorts</A></B>(IProgressMonitor&nbsp;monitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array of ServerPorts that this server has.</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/IServerType.html" title="interface in org.eclipse.wst.server.core">IServerType</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getServerType()">getServerType</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the type of this 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/IServerAttributes.html#isReadOnly()">isReadOnly</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether this server is marked read only.</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/IServerAttributes.html#isWorkingCopy()">isWorkingCopy</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this is a working copy.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#loadAdapter(java.lang.Class, IProgressMonitor)">loadAdapter</A></B>(java.lang.Class&nbsp;adapter,
IProgressMonitor&nbsp;monitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an object which is an instance of the given class
associated with this object.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ 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="getName()"><!-- --></A><H3>
getName</H3>
<PRE>
java.lang.String <B>getName</B>()</PRE>
<DL>
<DD>Returns the displayable name for this server.
<p>
Note that this name is appropriate for the current locale.
</p>
<P>
<DD><DL>
<DT><B>Returns:</B><DD>a displayable name</DL>
</DD>
</DL>
<HR>
<A NAME="getId()"><!-- --></A><H3>
getId</H3>
<PRE>
java.lang.String <B>getId</B>()</PRE>
<DL>
<DD>Returns the id of this server.
Each server (of a given type) has a distinct id, fixed for
its lifetime. Ids are intended to be used internally as keys;
they are not intended to be shown to end users.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>the server id</DL>
</DD>
</DL>
<HR>
<A NAME="delete()"><!-- --></A><H3>
delete</H3>
<PRE>
void <B>delete</B>()
throws CoreException</PRE>
<DL>
<DD>Deletes the persistent representation of this server.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>CoreException</CODE> - if there was any error received while deleting the server
or if this method is called on a working copy</DL>
</DD>
</DL>
<HR>
<A NAME="isReadOnly()"><!-- --></A><H3>
isReadOnly</H3>
<PRE>
boolean <B>isReadOnly</B>()</PRE>
<DL>
<DD>Returns whether this server is marked read only.
When a server is read only, working copies can be created but
they cannot be saved.
<P>
<DD><DL>
<DT><B>Returns:</B><DD><code>true</code> if this server is marked as read only,
and <code>false</code> otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="isWorkingCopy()"><!-- --></A><H3>
isWorkingCopy</H3>
<PRE>
boolean <B>isWorkingCopy</B>()</PRE>
<DL>
<DD>Returns true if this is a working copy.
<P>
<DD><DL>
<DT><B>Returns:</B><DD><code>true</code> if this server is a working copy,
and <code>false</code> otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="getAdapter(java.lang.Class)"><!-- --></A><H3>
getAdapter</H3>
<PRE>
java.lang.Object <B>getAdapter</B>(java.lang.Class&nbsp;adapter)</PRE>
<DL>
<DD>Returns an object which is an instance of the given class
associated with this object. Returns <code>null</code> if
no such object can be found, or if the delegate is not
loaded.
<p>
This method will not check the delegate classes for adapting
unless they are already loaded. No plugin loading will occur
when calling this method. It is suitable for popup menus and
other UI artifacts where performance is a concern.
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>adapter</CODE> - the adapter class to look up
<DT><B>Returns:</B><DD>a object castable to the given class,
or <code>null</code> if this object does not
have an adapter for the given class<DT><B>See Also:</B><DD><CODE>IAdaptable#getAdapter(Class)</CODE>,
<A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#loadAdapter(java.lang.Class, IProgressMonitor)"><CODE>loadAdapter(Class, IProgressMonitor)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="loadAdapter(java.lang.Class, IProgressMonitor)"><!-- --></A><H3>
loadAdapter</H3>
<PRE>
java.lang.Object <B>loadAdapter</B>(java.lang.Class&nbsp;adapter,
IProgressMonitor&nbsp;monitor)</PRE>
<DL>
<DD>Returns an object which is an instance of the given class
associated with this object. Returns <code>null</code> only if
no such object can be found after loading and initializing
delegates.
<p>
This method will force a load and initialization of all delegate
classes and check them for adapting.
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>adapter</CODE> - the adapter class to look up<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 object castable to the given class,
or <code>null</code> if this object does not
have an adapter for the given class<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServerAttributes.html#getAdapter(java.lang.Class)"><CODE>getAdapter(Class)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getHost()"><!-- --></A><H3>
getHost</H3>
<PRE>
java.lang.String <B>getHost</B>()</PRE>
<DL>
<DD>Returns the host for the server.
The format of the host can be either a qualified or unqualified hostname,
or an IP address and must conform to RFC 2732.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>a host string conforming to RFC 2732<DT><B>See Also:</B><DD><CODE>URL.getHost()</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getRuntime()"><!-- --></A><H3>
getRuntime</H3>
<PRE>
<A HREF="../../../../../org/eclipse/wst/server/core/IRuntime.html" title="interface in org.eclipse.wst.server.core">IRuntime</A> <B>getRuntime</B>()</PRE>
<DL>
<DD>Returns the runtime associated with this server.
<p>
Note: The runtime of a server working copy may or may not
be a working copy. For a server instance that is not a
working copy, the runtime instance is not a working copy
either.
</p>
<p>
[issue: According to serverType extension point,
runtimeTypeId is a mandatory attribute. It seems odd
then to have server runtime instance being an
optional property of server instance. What does it mean
for a server to not have a runtime?]
</p>
<P>
<DD><DL>
<DT><B>Returns:</B><DD>the runtime, or <code>null</code> if none</DL>
</DD>
</DL>
<HR>
<A NAME="getServerType()"><!-- --></A><H3>
getServerType</H3>
<PRE>
<A HREF="../../../../../org/eclipse/wst/server/core/IServerType.html" title="interface in org.eclipse.wst.server.core">IServerType</A> <B>getServerType</B>()</PRE>
<DL>
<DD>Returns the type of this server.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>the server type<DT><B>See Also:</B><DD><A HREF="../../../../../org/eclipse/wst/server/core/IServerType.html" title="interface in org.eclipse.wst.server.core"><CODE>IServerType</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getServerConfiguration()"><!-- --></A><H3>
getServerConfiguration</H3>
<PRE>
IFolder <B>getServerConfiguration</B>()</PRE>
<DL>
<DD>Returns the server configuration associated with this server.
<p>
Note: The server configuration of a server working copy may
or may not be a working copy. For a server instance that is
not a working copy, the server configuration instance is not
a working copy either.
</p>
<p>
[issue: According to serverType extension point,
configurationTypeId is an optional attribute. If a server type
has no server configuration type, then it seems reasonable to
expect this method to return null for all instances of that server
type. But what about a server type that explicitly specifies
a server configuration type. Does that mean that all server
instances of that server type must have a server configuration
instance of that server configuration type, and that this method
never returns null in those cases?]
</p>
<P>
<DD><DL>
<DT><B>Returns:</B><DD>the server configuration, or <code>null</code> if none</DL>
</DD>
</DL>
<HR>
<A NAME="createWorkingCopy()"><!-- --></A><H3>
createWorkingCopy</H3>
<PRE>
<A HREF="../../../../../org/eclipse/wst/server/core/IServerWorkingCopy.html" title="interface in org.eclipse.wst.server.core">IServerWorkingCopy</A> <B>createWorkingCopy</B>()</PRE>
<DL>
<DD>Returns a server working copy for modifying this server instance.
If this instance is already a working copy, it is returned.
If this instance is not a working copy, a new server working copy
is created with the same id and attributes.
Clients are responsible for saving or releasing the working copy when
they are done with it.
<p>
The server working copy is related to this server instance
in the following ways:
<pre>
this.getWorkingCopy().getId() == this.getId()
this.getWorkingCopy().getFile() == this.getFile()
this.getWorkingCopy().getOriginal() == this
this.getWorkingCopy().getRuntime() == this.getRuntime()
this.getWorkingCopy().getServerConfiguration() == this.getServerConfiguration()
</pre>
</p>
<p>
[issue: IServerWorkingCopy extends IServer.
Server.getWorkingCopy() create a new working copy;
ServerWorkingCopy.getWorkingCopy() returns this.
This may be convenient in code that is ignorant of
whether they are dealing with a working copy or not.
However, it is hard for clients to manage working copies
with this design.]
</p>
<P>
<DD><DL>
<DT><B>Returns:</B><DD>a new working copy</DL>
</DD>
</DL>
<HR>
<A NAME="getModules()"><!-- --></A><H3>
getModules</H3>
<PRE>
<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[] <B>getModules</B>()</PRE>
<DL>
<DD>Returns an array of modules that are currently configured on
the server. When the server is published, these are the modules
that will be configured on the server. This method may not return
the list of modules that are currently on the server if a module
has been added or removed since the last publish.
<p>
This method returns the root modules, which are not parented within
another modules. Each of these may contain child modules, which are
also deployed to this server.
</p>
<P>
<DD><DL>
<DT><B>Returns:</B><DD>a possibly-empty array of modules</DL>
</DD>
</DL>
<HR>
<A NAME="canModifyModules(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IModule[], IProgressMonitor)"><!-- --></A><H3>
canModifyModules</H3>
<PRE>
IStatus <B>canModifyModules</B>(<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;add,
<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[]&nbsp;remove,
IProgressMonitor&nbsp;monitor)</PRE>
<DL>
<DD>Returns whether the specified module modifications could be made to this
server at this time.
<p>
This method may decide based on the type of module
or refuse simply due to reaching a maximum number of
modules or other criteria.
</p>
<p>
[issue: This seems odd to have a pre-flight method.
I should expect that the client can propose making
any set of module changes they desire (via a server
working copy). If the server doesn't like it, the operation
should fail.]
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>add</CODE> - a possibly-empty list of modules to add<DD><CODE>remove</CODE> - a possibly-empty list of modules to remove<DD><CODE>monitor</CODE> - a progress monitor, or <code>null</code> if progress
reporting and cancellation are not desired
<DT><B>Returns:</B><DD><code>true</code> if the proposed modifications
look feasible, and <code>false</code> otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="getChildModules(org.eclipse.wst.server.core.IModule[], IProgressMonitor)"><!-- --></A><H3>
getChildModules</H3>
<PRE>
<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[] <B>getChildModules</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 the child module(s) of this module. If this
module contains other modules, it should list those
modules. If not, it should return an empty list.
<p>This method should only return the direct children.
To obtain the full module tree, this method may be
recursively called on the children.</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>module</CODE> - a 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>an array of direct module children</DL>
</DD>
</DL>
<HR>
<A NAME="getRootModules(org.eclipse.wst.server.core.IModule, IProgressMonitor)"><!-- --></A><H3>
getRootModules</H3>
<PRE>
<A HREF="../../../../../org/eclipse/wst/server/core/IModule.html" title="interface in org.eclipse.wst.server.core">IModule</A>[] <B>getRootModules</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>Returns the parent module(s) of this module. When determining if a given
project can run on a server, this method will be used to find the actual
module(s) that may be run on the server. For instance, a Web module may
return a list of EAR modules that it is contained in if the server only
supports configuring EAR modules. If the server supports running a module
directly, the returned array should contain the module.
<p>If the module type is not supported, this method will return null or
an empty array. If the type is normally supported but there is a
configuration problem or missing parent, etc., this method will fire a
CoreException that may then be presented to the user.</p>
<p>If it does return valid parent(s), this method will always return
the topmost parent module(s), even if there are a few levels
(a hierarchy) of modules.</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>module</CODE> - a 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>an array of possible root modules
<DT><B>Throws:</B>
<DD><CODE>CoreException</CODE> - if there is a problem</DL>
</DD>
</DL>
<HR>
<A NAME="getServerPorts(IProgressMonitor)"><!-- --></A><H3>
getServerPorts</H3>
<PRE>
<A HREF="../../../../../org/eclipse/wst/server/core/ServerPort.html" title="class in org.eclipse.wst.server.core">ServerPort</A>[] <B>getServerPorts</B>(IProgressMonitor&nbsp;monitor)</PRE>
<DL>
<DD>Returns an array of ServerPorts that this server has.
<P>
<DD><DL>
<DT><B>Parameters:</B><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 possibly empty array of servers ports</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/IServerAttributes.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/IServer.IOperationListener.html" title="interface in org.eclipse.wst.server.core"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/eclipse/wst/server/core/IServerLifecycleListener.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/IServerAttributes.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IServerAttributes.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&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>