<!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.4.2_07) on Fri Feb 18 00:47:27 EST 2005 -->
<TITLE>
S-Index
</TITLE>


<LINK REL ="stylesheet" TYPE="text/css" HREF="../apistyles.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="S-Index";
}
</SCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= 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=3 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="../org/eclipse/wst/common/modulecore/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</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-11.html"><B>PREV LETTER</B></A>&nbsp;
&nbsp;<A HREF="index-13.html"><B>NEXT LETTER</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-12.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">I</A> <A HREF="index-8.html">M</A> <A HREF="index-9.html">O</A> <A HREF="index-10.html">P</A> <A HREF="index-11.html">R</A> <A HREF="index-12.html">S</A> <A HREF="index-13.html">T</A> <A HREF="index-14.html">U</A> <A HREF="index-15.html">V</A> <A HREF="index-16.html">W</A> <HR>
<A NAME="_S_"><!-- --></A><H2>
<B>S</B></H2>
<DL>
<DT><A HREF="../org/eclipse/wst/common/modulecore/ArtifactEdit.html#save(IProgressMonitor)"><B>save(IProgressMonitor)</B></A> - 
Method in class org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/ArtifactEdit.html" title="class in org.eclipse.wst.common.modulecore">ArtifactEdit</A>
<DD>
 Force a save of the underlying model.
<DT><A HREF="../org/eclipse/wst/common/modulecore/IEditModelHandler.html#save(IProgressMonitor)"><B>save(IProgressMonitor)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/IEditModelHandler.html" title="interface in org.eclipse.wst.common.modulecore">IEditModelHandler</A>
<DD>
 Force a save of the underlying edit model and keep track of progress using the supplied
 progress monitor.
<DT><A HREF="../org/eclipse/wst/common/modulecore/ModuleCore.html#save(IProgressMonitor)"><B>save(IProgressMonitor)</B></A> - 
Method in class org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/ModuleCore.html" title="class in org.eclipse.wst.common.modulecore">ModuleCore</A>
<DD>
 Force a save of the underlying model.
<DT><A HREF="../org/eclipse/wst/common/modulecore/ArtifactEdit.html#saveIfNecessary(IProgressMonitor)"><B>saveIfNecessary(IProgressMonitor)</B></A> - 
Method in class org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/ArtifactEdit.html" title="class in org.eclipse.wst.common.modulecore">ArtifactEdit</A>
<DD>
 Save the underlying model only if no other clients are currently using the model.
<DT><A HREF="../org/eclipse/wst/common/modulecore/IEditModelHandler.html#saveIfNecessary(IProgressMonitor)"><B>saveIfNecessary(IProgressMonitor)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/IEditModelHandler.html" title="interface in org.eclipse.wst.common.modulecore">IEditModelHandler</A>
<DD>
 Save the underlying edit model, if no other consumers are using the edit model, and keep
 track of progress using the supplied progress monitor.
<DT><A HREF="../org/eclipse/wst/common/modulecore/ModuleCore.html#saveIfNecessary(IProgressMonitor)"><B>saveIfNecessary(IProgressMonitor)</B></A> - 
Method in class org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/ModuleCore.html" title="class in org.eclipse.wst.common.modulecore">ModuleCore</A>
<DD>
 Save the underlying model only if no other clients are currently using the model.
<DT><A HREF="../org/eclipse/wst/common/modulecore/ModuleCoreNature.html#secondaryContributeToContext(EMFWorkbenchContextBase)"><B>secondaryContributeToContext(EMFWorkbenchContextBase)</B></A> - 
Method in class org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/ModuleCoreNature.html" title="class in org.eclipse.wst.common.modulecore">ModuleCoreNature</A>
<DD>
 This method should not be invoked by clients.
<DT><A HREF="../org/eclipse/wst/common/modulecore/DependentModule.html#setDependencyType(org.eclipse.wst.common.modulecore.DependencyType)"><B>setDependencyType(DependencyType)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/DependentModule.html" title="interface in org.eclipse.wst.common.modulecore">DependentModule</A>
<DD>Sets the value of the '
 <A HREF="../org/eclipse/wst/common/modulecore/DependentModule.html#getDependencyType()"><CODE><em>Dependency Type</em></CODE></A>'
 attribute.
<DT><A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModule.html#setDeployedName(java.lang.String)"><B>setDeployedName(String)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModule.html" title="interface in org.eclipse.wst.common.modulecore">WorkbenchModule</A>
<DD>Sets the value of the '<A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModule.html#getDeployedName()"><CODE><em>Deployed Name</em></CODE></A>' attribute.
<DT><A HREF="../org/eclipse/wst/common/modulecore/DependentModule.html#setDeployedPath(URI)"><B>setDeployedPath(URI)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/DependentModule.html" title="interface in org.eclipse.wst.common.modulecore">DependentModule</A>
<DD>Sets the value of the '
 <A HREF="../org/eclipse/wst/common/modulecore/DependentModule.html#getDeployedPath()"><CODE><em>Deployed Path</em></CODE></A>'
 attribute.
<DT><A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModuleResource.html#setDeployedPath(URI)"><B>setDeployedPath(URI)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModuleResource.html" title="interface in org.eclipse.wst.common.modulecore">WorkbenchModuleResource</A>
<DD>Sets the value of the '
 <A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModuleResource.html#getDeployedPath()"><CODE><em>Deployed Path</em></CODE></A>'
 attribute.
<DT><A HREF="../org/eclipse/wst/common/modulecore/DependentModule.html#setHandle(URI)"><B>setHandle(URI)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/DependentModule.html" title="interface in org.eclipse.wst.common.modulecore">DependentModule</A>
<DD>Sets the value of the '
 <A HREF="../org/eclipse/wst/common/modulecore/DependentModule.html#getHandle()"><CODE><em>Handle</em></CODE></A>'
 attribute.
<DT><A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModule.html#setHandle(URI)"><B>setHandle(URI)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModule.html" title="interface in org.eclipse.wst.common.modulecore">WorkbenchModule</A>
<DD>Sets the value of the '<A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModule.html#getHandle()"><CODE><em>Handle</em></CODE></A>' attribute.
<DT><A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModuleResource.html#setModule(org.eclipse.wst.common.modulecore.WorkbenchModule)"><B>setModule(WorkbenchModule)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModuleResource.html" title="interface in org.eclipse.wst.common.modulecore">WorkbenchModuleResource</A>
<DD>Sets the value of the '
 <A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModuleResource.html#getModule()"><CODE><em>Module</em></CODE></A>'
 container reference.
<DT><A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModule.html#setModuleType(org.eclipse.wst.common.modulecore.ModuleType)"><B>setModuleType(ModuleType)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModule.html" title="interface in org.eclipse.wst.common.modulecore">WorkbenchModule</A>
<DD>Sets the value of the '<A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModule.html#getModuleType()"><CODE><em>Module Type</em></CODE></A>' reference.
<DT><A HREF="../org/eclipse/wst/common/modulecore/ModuleType.html#setModuleTypeId(java.lang.String)"><B>setModuleTypeId(String)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/ModuleType.html" title="interface in org.eclipse.wst.common.modulecore">ModuleType</A>
<DD>Sets the value of the '
 <A HREF="../org/eclipse/wst/common/modulecore/ModuleType.html#getModuleTypeId()"><CODE><em>Module Type Id</em></CODE></A>'
 attribute.
<DT><A HREF="../org/eclipse/wst/common/modulecore/ProjectModules.html#setProjectName(java.lang.String)"><B>setProjectName(String)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/ProjectModules.html" title="interface in org.eclipse.wst.common.modulecore">ProjectModules</A>
<DD>Sets the value of the '
 <A HREF="../org/eclipse/wst/common/modulecore/ProjectModules.html#getProjectName()"><CODE><em>Project Name</em></CODE></A>'
 attribute.
<DT><A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModuleResource.html#setSourcePath(URI)"><B>setSourcePath(URI)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModuleResource.html" title="interface in org.eclipse.wst.common.modulecore">WorkbenchModuleResource</A>
<DD>Sets the value of the '
 <A HREF="../org/eclipse/wst/common/modulecore/WorkbenchModuleResource.html#getSourcePath()"><CODE><em>Source Path</em></CODE></A>'
 attribute.
<DT><A HREF="../org/eclipse/wst/common/modulecore/IModuleStructureListener.html#structureChanged(org.eclipse.wst.common.modulecore.internal.impl.ModuleStructureEvent)"><B>structureChanged(ModuleStructureEvent)</B></A> - 
Method in interface org.eclipse.wst.common.modulecore.<A HREF="../org/eclipse/wst/common/modulecore/IModuleStructureListener.html" title="interface in org.eclipse.wst.common.modulecore">IModuleStructureListener</A>
<DD>&nbsp;
</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=3 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="../org/eclipse/wst/common/modulecore/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</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-11.html"><B>PREV LETTER</B></A>&nbsp;
&nbsp;<A HREF="index-13.html"><B>NEXT LETTER</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-12.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">I</A> <A HREF="index-8.html">M</A> <A HREF="index-9.html">O</A> <A HREF="index-10.html">P</A> <A HREF="index-11.html">R</A> <A HREF="index-12.html">S</A> <A HREF="index-13.html">T</A> <A HREF="index-14.html">U</A> <A HREF="index-15.html">V</A> <A HREF="index-16.html">W</A> <HR>

</BODY>
</HTML>
