<!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_15) on Thu Jul 29 16:06:34 CEST 2010 -->
<TITLE>
E-Index
</TITLE>

<META NAME="date" CONTENT="2010-07-29">

<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="E-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="../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-4.html"><B>PREV LETTER</B></A>&nbsp;
&nbsp;<A HREF="index-6.html"><B>NEXT LETTER</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../index.html?index-filesindex-5.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-5.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">B</A> <A HREF="index-3.html">C</A> <A HREF="index-4.html">D</A> <A HREF="index-5.html">E</A> <A HREF="index-6.html">F</A> <A HREF="index-7.html">G</A> <A HREF="index-8.html">H</A> <A HREF="index-9.html">I</A> <A HREF="index-10.html">L</A> <A HREF="index-11.html">M</A> <A HREF="index-12.html">O</A> <A HREF="index-13.html">P</A> <A HREF="index-14.html">R</A> <A HREF="index-15.html">S</A> <A HREF="index-16.html">T</A> <A HREF="index-17.html">U</A> <A HREF="index-18.html">V</A> <HR>
<A NAME="_E_"><!-- --></A><H2>
<B>E</B></H2>
<DL>
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/EmfRefactoringEntryImpl.html#eGet(int, boolean, boolean)"><B>eGet(int, boolean, boolean)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/EmfRefactoringEntryImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">EmfRefactoringEntryImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupImpl.html#eGet(int, boolean, boolean)"><B>eGet(int, boolean, boolean)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">GroupImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupManagementImpl.html#eGet(int, boolean, boolean)"><B>eGet(int, boolean, boolean)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupManagementImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">GroupManagementImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/MetaModelGroupImpl.html#eGet(int, boolean, boolean)"><B>eGet(int, boolean, boolean)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/MetaModelGroupImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">MetaModelGroupImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementFactory.html#eINSTANCE"><B>eINSTANCE</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementFactory.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementFactory</A>
<DD>The singleton instance of the factory
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html#eINSTANCE"><B>eINSTANCE</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage</A>
<DD>The singleton instance of the package
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupImpl.html#eInverseRemove(org.eclipse.emf.ecore.InternalEObject, int, org.eclipse.emf.common.notify.NotificationChain)"><B>eInverseRemove(InternalEObject, int, NotificationChain)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">GroupImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupManagementImpl.html#eInverseRemove(org.eclipse.emf.ecore.InternalEObject, int, org.eclipse.emf.common.notify.NotificationChain)"><B>eInverseRemove(InternalEObject, int, NotificationChain)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupManagementImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">GroupManagementImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/MetaModelGroupImpl.html#eInverseRemove(org.eclipse.emf.ecore.InternalEObject, int, org.eclipse.emf.common.notify.NotificationChain)"><B>eInverseRemove(InternalEObject, int, NotificationChain)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/MetaModelGroupImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">MetaModelGroupImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/EmfRefactoringEntryImpl.html#eIsSet(int)"><B>eIsSet(int)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/EmfRefactoringEntryImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">EmfRefactoringEntryImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupImpl.html#eIsSet(int)"><B>eIsSet(int)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">GroupImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupManagementImpl.html#eIsSet(int)"><B>eIsSet(int)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupManagementImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">GroupManagementImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/MetaModelGroupImpl.html#eIsSet(int)"><B>eIsSet(int)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/MetaModelGroupImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">MetaModelGroupImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html#EMF_REFACTORING_ENTRY"><B>EMF_REFACTORING_ENTRY</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage</A>
<DD>The meta object id for the '<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/EmfRefactoringEntryImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl"><CODE><em>Emf Refactoring Entry</em></CODE></A>' class
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.Literals.html#EMF_REFACTORING_ENTRY"><B>EMF_REFACTORING_ENTRY</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.Literals.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage.Literals</A>
<DD>The meta object literal for the '<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/EmfRefactoringEntryImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl"><CODE><em>Emf Refactoring Entry</em></CODE></A>' class
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html#EMF_REFACTORING_ENTRY__ALIAS"><B>EMF_REFACTORING_ENTRY__ALIAS</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage</A>
<DD>The feature id for the '<em><b>Alias</b></em>' attribute
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.Literals.html#EMF_REFACTORING_ENTRY__ALIAS"><B>EMF_REFACTORING_ENTRY__ALIAS</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.Literals.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage.Literals</A>
<DD>The meta object literal for the '<em><b>Alias</b></em>' attribute feature
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html#EMF_REFACTORING_ENTRY__ID"><B>EMF_REFACTORING_ENTRY__ID</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage</A>
<DD>The feature id for the '<em><b>Id</b></em>' attribute
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.Literals.html#EMF_REFACTORING_ENTRY__ID"><B>EMF_REFACTORING_ENTRY__ID</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.Literals.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage.Literals</A>
<DD>The meta object literal for the '<em><b>Id</b></em>' attribute feature
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html#EMF_REFACTORING_ENTRY__MMGROUP"><B>EMF_REFACTORING_ENTRY__MMGROUP</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage</A>
<DD>The feature id for the '<em><b>Mmgroup</b></em>' reference
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.Literals.html#EMF_REFACTORING_ENTRY__MMGROUP"><B>EMF_REFACTORING_ENTRY__MMGROUP</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.Literals.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage.Literals</A>
<DD>The meta object literal for the '<em><b>Mmgroup</b></em>' reference feature
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html#EMF_REFACTORING_ENTRY__NAME"><B>EMF_REFACTORING_ENTRY__NAME</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage</A>
<DD>The feature id for the '<em><b>Name</b></em>' attribute
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.Literals.html#EMF_REFACTORING_ENTRY__NAME"><B>EMF_REFACTORING_ENTRY__NAME</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.Literals.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage.Literals</A>
<DD>The meta object literal for the '<em><b>Name</b></em>' attribute feature
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html#EMF_REFACTORING_ENTRY_FEATURE_COUNT"><B>EMF_REFACTORING_ENTRY_FEATURE_COUNT</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage</A>
<DD>The number of structural features of the '<em>Emf Refactoring Entry</em>' class
<DT><A HREF="../org/eclipse/emf/refactor/common/config/EmfRefactorConfig.html" title="class in org.eclipse.emf.refactor.common.config"><B>EmfRefactorConfig</B></A> - Class in <A HREF="../org/eclipse/emf/refactor/common/config/package-summary.html">org.eclipse.emf.refactor.common.config</A><DD>Configuration class of Emf Refactor.<DT><A HREF="../org/eclipse/emf/refactor/common/core/EmfRefactoring.html" title="class in org.eclipse.emf.refactor.common.core"><B>EmfRefactoring</B></A> - Class in <A HREF="../org/eclipse/emf/refactor/common/core/package-summary.html">org.eclipse.emf.refactor.common.core</A><DD>Base class of a specific emf model refactoring.<DT><A HREF="../org/eclipse/emf/refactor/common/core/EmfRefactoring.html#EmfRefactoring(java.lang.String, java.lang.String, java.lang.String, org.eclipse.emf.refactor.common.core.ui.IGuiHandler, org.eclipse.emf.refactor.common.core.IController)"><B>EmfRefactoring(String, String, String, IGuiHandler, IController)</B></A> - 
Constructor for class org.eclipse.emf.refactor.common.core.<A HREF="../org/eclipse/emf/refactor/common/core/EmfRefactoring.html" title="class in org.eclipse.emf.refactor.common.core">EmfRefactoring</A>
<DD>Contructs an emf model refactoring with GuiHandler and a controller
 object.
<DT><A HREF="../org/eclipse/emf/refactor/common/core/EmfRefactoring.html#EmfRefactoring(java.lang.String, java.lang.String, java.lang.String, org.eclipse.emf.refactor.common.core.ui.IGuiHandler, org.eclipse.core.runtime.IConfigurationElement)"><B>EmfRefactoring(String, String, String, IGuiHandler, IConfigurationElement)</B></A> - 
Constructor for class org.eclipse.emf.refactor.common.core.<A HREF="../org/eclipse/emf/refactor/common/core/EmfRefactoring.html" title="class in org.eclipse.emf.refactor.common.core">EmfRefactoring</A>
<DD>Contructs an emf model refactoring with GuiHandler and a 
 ConfigurationElement object.
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/EmfRefactoringEntry.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement"><B>EmfRefactoringEntry</B></A> - Interface in <A HREF="../org/eclipse/emf/refactor/common/groupmanagement/package-summary.html">org.eclipse.emf.refactor.common.groupmanagement</A><DD>A representation of the model object '<em><b>Emf Refactoring Entry</b></em>'<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/EmfRefactoringEntryImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl"><B>EmfRefactoringEntryImpl</B></A> - Class in <A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/package-summary.html">org.eclipse.emf.refactor.common.groupmanagement.impl</A><DD>An implementation of the model object '<em><b>Emf Refactoring Entry</b></em>'<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html#eNAME"><B>eNAME</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage</A>
<DD>The package name
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html#eNS_PREFIX"><B>eNS_PREFIX</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage</A>
<DD>The package namespace name
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html#eNS_URI"><B>eNS_URI</B></A> - 
Static variable in interface org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupmanagementPackage.html" title="interface in org.eclipse.emf.refactor.common.groupmanagement">GroupmanagementPackage</A>
<DD>The package namespace URI
<DT><A HREF="../org/eclipse/emf/refactor/common/core/EmfRefactoring.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.eclipse.emf.refactor.common.core.<A HREF="../org/eclipse/emf/refactor/common/core/EmfRefactoring.html" title="class in org.eclipse.emf.refactor.common.core">EmfRefactoring</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/core/Port.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.eclipse.emf.refactor.common.core.<A HREF="../org/eclipse/emf/refactor/common/core/Port.html" title="class in org.eclipse.emf.refactor.common.core">Port</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/EmfRefactoringEntryImpl.html#eSet(int, java.lang.Object)"><B>eSet(int, Object)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/EmfRefactoringEntryImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">EmfRefactoringEntryImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupImpl.html#eSet(int, java.lang.Object)"><B>eSet(int, Object)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">GroupImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupManagementImpl.html#eSet(int, java.lang.Object)"><B>eSet(int, Object)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupManagementImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">GroupManagementImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/MetaModelGroupImpl.html#eSet(int, java.lang.Object)"><B>eSet(int, Object)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/MetaModelGroupImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">MetaModelGroupImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/EmfRefactoringEntryImpl.html#eUnset(int)"><B>eUnset(int)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/EmfRefactoringEntryImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">EmfRefactoringEntryImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupImpl.html#eUnset(int)"><B>eUnset(int)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">GroupImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupManagementImpl.html#eUnset(int)"><B>eUnset(int)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/GroupManagementImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">GroupManagementImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/MetaModelGroupImpl.html#eUnset(int)"><B>eUnset(int)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.impl.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/impl/MetaModelGroupImpl.html" title="class in org.eclipse.emf.refactor.common.groupmanagement.impl">MetaModelGroupImpl</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/henshin/runtime/command/CheckConditionsCommand.html#execute()"><B>execute()</B></A> - 
Method in class org.eclipse.emf.refactor.henshin.runtime.command.<A HREF="../org/eclipse/emf/refactor/henshin/runtime/command/CheckConditionsCommand.html" title="class in org.eclipse.emf.refactor.henshin.runtime.command">CheckConditionsCommand</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/runtime/ltk/command/PreviewCommand.html#execute()"><B>execute()</B></A> - 
Method in class org.eclipse.emf.refactor.runtime.ltk.command.<A HREF="../org/eclipse/emf/refactor/runtime/ltk/command/PreviewCommand.html" title="class in org.eclipse.emf.refactor.runtime.ltk.command">PreviewCommand</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/runtime/ltk/command/RefactoringCommand.html#execute()"><B>execute()</B></A> - 
Method in class org.eclipse.emf.refactor.runtime.ltk.command.<A HREF="../org/eclipse/emf/refactor/runtime/ltk/command/RefactoringCommand.html" title="class in org.eclipse.emf.refactor.runtime.ltk.command">RefactoringCommand</A>
<DD>&nbsp;
<DT><A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupManagementController.html#existsGroup(java.lang.String)"><B>existsGroup(String)</B></A> - 
Method in class org.eclipse.emf.refactor.common.groupmanagement.<A HREF="../org/eclipse/emf/refactor/common/groupmanagement/GroupManagementController.html" title="class in org.eclipse.emf.refactor.common.groupmanagement">GroupManagementController</A>
<DD>Method for checking whether a model refactoring group with the
 given name exists.
</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="../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-4.html"><B>PREV LETTER</B></A>&nbsp;
&nbsp;<A HREF="index-6.html"><B>NEXT LETTER</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../index.html?index-filesindex-5.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-5.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">B</A> <A HREF="index-3.html">C</A> <A HREF="index-4.html">D</A> <A HREF="index-5.html">E</A> <A HREF="index-6.html">F</A> <A HREF="index-7.html">G</A> <A HREF="index-8.html">H</A> <A HREF="index-9.html">I</A> <A HREF="index-10.html">L</A> <A HREF="index-11.html">M</A> <A HREF="index-12.html">O</A> <A HREF="index-13.html">P</A> <A HREF="index-14.html">R</A> <A HREF="index-15.html">S</A> <A HREF="index-16.html">T</A> <A HREF="index-17.html">U</A> <A HREF="index-18.html">V</A> <HR>

</BODY>
</HTML>
