Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 150693 Details for
Bug 255469
Investigate support for dynamic EOperation call API
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
updated patch
255469.patch (text/plain), 418.68 KB, created by
Kenn Hussey
on 2009-10-27 19:41:54 EDT
(
hide
)
Description:
updated patch
Filename:
MIME Type:
Creator:
Kenn Hussey
Created:
2009-10-27 19:41:54 EDT
Size:
418.68 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.emf.ecore >Index: src/org/eclipse/emf/ecore/EObject.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EObject.java,v >retrieving revision 1.11 >diff -u -r1.11 EObject.java >--- src/org/eclipse/emf/ecore/EObject.java 14 Jun 2007 18:32:46 -0000 1.11 >+++ src/org/eclipse/emf/ecore/EObject.java 27 Oct 2009 23:39:54 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2006 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -9,6 +9,7 @@ > * > * Contributors: > * IBM - Initial API and implementation >+ * Christian Damus (Zeligsoft) - 255469 > * > * </copyright> > * >@@ -17,6 +18,8 @@ > package org.eclipse.emf.ecore; > > >+import java.lang.reflect.InvocationTargetException; >+ > import org.eclipse.emf.common.notify.Notifier; > import org.eclipse.emf.common.util.EList; > import org.eclipse.emf.common.util.TreeIterator; >@@ -427,4 +430,29 @@ > */ > void eUnset(EStructuralFeature feature); > >+ /** >+ * <!-- begin-user-doc --> >+ * <p> >+ * Invokes the specified operation of the object. If the operation has >+ * parameters, then corresponding arguments must be supplied. There are no >+ * optional parameters in Ecore operations. >+ * </p><p> >+ * If the operation is a void operation, then on successful execution, the >+ * result of this invocation is <code>null</code>. Otherwise, if the >+ * operation is {@linkplain ETypedElement#isMany() multi-valued}, then an >+ * {@link EList} is returned (possibly empty). If single-valued, then an >+ * instance of the operation's {@linkplain ETypedElement#getEType() type} is >+ * returned, or possibly <code>null</code>. >+ * </p><p> >+ * If the invoked operation fails with an >+ * {@linkplain EOperation#getEExceptions() exception}, then it is re-thrown, >+ * wrapped in an {@link InvocationTargetException}. >+ * </p> >+ * @since 2.6 >+ * <!-- end-user-doc --> >+ * @model exceptions="org.eclipse.emf.ecore.EInvocationTargetException" argumentsMany="false" >+ * @generated >+ */ >+ Object eInvoke(EOperation operation, EList<?> arguments) throws InvocationTargetException; >+ > } >Index: src/org/eclipse/emf/ecore/EOperation.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EOperation.java,v >retrieving revision 1.8 >diff -u -r1.8 EOperation.java >--- src/org/eclipse/emf/ecore/EOperation.java 12 Jun 2007 15:07:48 -0000 1.8 >+++ src/org/eclipse/emf/ecore/EOperation.java 27 Oct 2009 23:39:54 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2006 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -9,6 +9,7 @@ > * > * Contributors: > * IBM - Initial API and implementation >+ * Christian Damus (Zeligsoft) - 255469 > * > * </copyright> > * >@@ -17,6 +18,10 @@ > package org.eclipse.emf.ecore; > > >+import java.lang.reflect.InvocationTargetException; >+import java.util.HashMap; >+import java.util.Map; >+ > import org.eclipse.emf.common.util.EList; > > >@@ -111,6 +116,17 @@ > EList<EGenericType> getEGenericExceptions(); > > /** >+ * <!-- begin-user-doc --> >+ * Returns the ID relative to the {@link #getEContainingClass containing} class. >+ * @return the relative ID. >+ * @since 2.6 >+ * <!-- end-user-doc --> >+ * @model kind="operation" >+ * @generated >+ */ >+ int getOperationID(); >+ >+ /** > * Returns the value of the '<em><b>EType Parameters</b></em>' containment reference list. > * The list contents are of type {@link org.eclipse.emf.ecore.ETypeParameter}. > * <!-- begin-user-doc --> >@@ -126,4 +142,106 @@ > */ > EList<ETypeParameter> getETypeParameters(); > >+ /** >+ * Internal API implemented by all operations. >+ * >+ * @since 2.6 >+ */ >+ interface Internal extends EOperation, InternalEObject >+ { >+ /** >+ * A pluggable, dynamic implementation of operation behavior. >+ */ >+ interface InvocationDelegate >+ { >+ /** >+ * A factory for creating invocation delegates. >+ */ >+ interface Factory >+ { >+ /** >+ * Creates the invocation delegate for the specified <tt>operation</tt>. >+ * >+ * @param operation the operation >+ * @return its invocation delegate >+ */ >+ InvocationDelegate createInvocationDelegate(EOperation operation); >+ >+ /** >+ * A <code>Factory</code> wrapper that is used by the {@link Factory.Registry}. >+ */ >+ interface Descriptor >+ { >+ Factory getFactory(); >+ } >+ >+ /** >+ * A registry of invocation-delegate factories. >+ */ >+ interface Registry extends Map<String, Object> >+ { >+ Registry INSTANCE = new Impl(); >+ >+ Factory getFactory(String uri); >+ >+ class Impl extends HashMap<String, Object> implements Registry >+ { >+ private static final long serialVersionUID = 1L; >+ >+ @Override >+ public Object get(Object key) >+ { >+ Object factory = super.get(key); >+ if (factory instanceof Descriptor) >+ { >+ Descriptor factoryDescriptor = (Descriptor)factory; >+ factory = factoryDescriptor.getFactory(); >+ put((String)key, factory); >+ return factory; >+ } >+ else >+ { >+ return factory; >+ } >+ } >+ >+ public Factory getFactory(String uri) >+ { >+ return (Factory)get(uri); >+ } >+ } >+ } >+ } >+ >+ /** >+ * Invokes the operation behaviour for the specified <tt>target</tt> >+ * object. >+ * >+ * @param target the object on which to invoke the operation >+ * @param arguments the arguments for the operation parameters (an >+ * empty list if the operation has no parameters) >+ * @return the operation's return result, or <code>null</code> if it is >+ * a void operation >+ * @throws InvocationTargetException in case of failure to execute the >+ * operation behaviour, usually because of an exception >+ */ >+ Object dynamicInvoke(InternalEObject target, EList<?> arguments) throws InvocationTargetException; >+ } >+ >+ /** >+ * Obtains the delegate for this operation. >+ * A default delegate is always available, so this should not return >+ * <code>null</code>. >+ * >+ * @return the operation delegate >+ */ >+ InvocationDelegate getInvocationDelegate(); >+ >+ /** >+ * Assigns a delegate to this operation. >+ * >+ * @param invocationDelegate the new operation delegate >+ */ >+ void setInvocationDelegate(InvocationDelegate invocationDelegate); >+ } > } //EOperation >Index: src/org/eclipse/emf/ecore/EClass.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java,v >retrieving revision 1.13 >diff -u -r1.13 EClass.java >--- src/org/eclipse/emf/ecore/EClass.java 8 Jan 2008 12:21:48 -0000 1.13 >+++ src/org/eclipse/emf/ecore/EClass.java 27 Oct 2009 23:39:54 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2006 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -384,6 +384,39 @@ > > /** > * <!-- begin-user-doc --> >+ * Returns the number of operations. >+ * @return the number of operations. >+ * @since 2.6 >+ * <!-- end-user-doc --> >+ * @model kind="operation" >+ * @generated >+ */ >+ int getOperationCount(); >+ >+ /** >+ * <!-- begin-user-doc --> >+ * Returns the operation with this ID. >+ * @return the operation with this ID. >+ * @since 2.6 >+ * <!-- end-user-doc --> >+ * @model >+ * @generated >+ */ >+ EOperation getEOperation(int operationID); >+ >+ /** >+ * <!-- begin-user-doc --> >+ * Returns the ID of the operation relative to this class, or -1 if the operation is not in this class. >+ * @return the ID of the operation relative to this class, or -1 if the operation is not in this class. >+ * @since 2.6 >+ * <!-- end-user-doc --> >+ * @model >+ * @generated >+ */ >+ int getOperationID(EOperation operation); >+ >+ /** >+ * <!-- begin-user-doc --> > * Returns the ID of the feature relative to this class, or -1 if the feature is not in this class. > * @return the ID of the feature relative to this class, or -1 if the feature is not in this class. > * <!-- end-user-doc --> >Index: src/org/eclipse/emf/ecore/EcorePackage.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EcorePackage.java,v >retrieving revision 1.16 >diff -u -r1.16 EcorePackage.java >--- src/org/eclipse/emf/ecore/EcorePackage.java 27 Apr 2008 20:26:15 -0000 1.16 >+++ src/org/eclipse/emf/ecore/EcorePackage.java 27 Oct 2009 23:39:56 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2006 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -9,6 +9,7 @@ > * > * Contributors: > * IBM - Initial API and implementation >+ * Christian Damus (Zeligsoft) - 255469 > * > * </copyright> > * >@@ -91,6 +92,150 @@ > int EOBJECT_FEATURE_COUNT = 0; > > /** >+ * The operation id for the '<em>EClass</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___ECLASS = 0; >+ >+ /** >+ * The operation id for the '<em>EIs Proxy</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___EIS_PROXY = 1; >+ >+ /** >+ * The operation id for the '<em>EResource</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___ERESOURCE = 2; >+ >+ /** >+ * The operation id for the '<em>EContainer</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___ECONTAINER = 3; >+ >+ /** >+ * The operation id for the '<em>EContaining Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___ECONTAINING_FEATURE = 4; >+ >+ /** >+ * The operation id for the '<em>EContainment Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___ECONTAINMENT_FEATURE = 5; >+ >+ /** >+ * The operation id for the '<em>EContents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___ECONTENTS = 6; >+ >+ /** >+ * The operation id for the '<em>EAll Contents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___EALL_CONTENTS = 7; >+ >+ /** >+ * The operation id for the '<em>ECross References</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___ECROSS_REFERENCES = 8; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___EGET__ESTRUCTURALFEATURE = 9; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___EGET__ESTRUCTURALFEATURE_BOOLEAN = 10; >+ >+ /** >+ * The operation id for the '<em>ESet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___ESET__ESTRUCTURALFEATURE_OBJECT = 11; >+ >+ /** >+ * The operation id for the '<em>EIs Set</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___EIS_SET__ESTRUCTURALFEATURE = 12; >+ >+ /** >+ * The operation id for the '<em>EUnset</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___EUNSET__ESTRUCTURALFEATURE = 13; >+ >+ /** >+ * The operation id for the '<em>EInvoke</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT___EINVOKE__EOPERATION_ELIST = 14; >+ >+ /** >+ * The number of operations of the '<em>EObject</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EOBJECT_OPERATION_COUNT = 15; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EModelElementImpl <em>EModel Element</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -119,161 +264,167 @@ > int EMODEL_ELEMENT_FEATURE_COUNT = EOBJECT_FEATURE_COUNT + 1; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.ENamedElementImpl <em>ENamed Element</em>}' class. >+ * The operation id for the '<em>EClass</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.ENamedElementImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getENamedElement() > * @generated >+ * @ordered > */ >- int ENAMED_ELEMENT = 9; >+ int EMODEL_ELEMENT___ECLASS = EOBJECT___ECLASS; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The operation id for the '<em>EIs Proxy</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ENAMED_ELEMENT__EANNOTATIONS = EMODEL_ELEMENT__EANNOTATIONS; >+ int EMODEL_ELEMENT___EIS_PROXY = EOBJECT___EIS_PROXY; > > /** >- * The feature id for the '<em><b>Name</b></em>' attribute. >+ * The operation id for the '<em>EResource</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ENAMED_ELEMENT__NAME = EMODEL_ELEMENT_FEATURE_COUNT + 0; >+ int EMODEL_ELEMENT___ERESOURCE = EOBJECT___ERESOURCE; > > /** >- * The number of structural features of the '<em>ENamed Element</em>' class. >+ * The operation id for the '<em>EContainer</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ENAMED_ELEMENT_FEATURE_COUNT = EMODEL_ELEMENT_FEATURE_COUNT + 1; >+ int EMODEL_ELEMENT___ECONTAINER = EOBJECT___ECONTAINER; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EStructuralFeatureImpl <em>EStructural Feature</em>}' class. >+ * The operation id for the '<em>EContaining Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EStructuralFeatureImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEStructuralFeature() > * @generated >+ * @ordered > */ >- int ESTRUCTURAL_FEATURE = 15; >+ int EMODEL_ELEMENT___ECONTAINING_FEATURE = EOBJECT___ECONTAINING_FEATURE; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EAttributeImpl <em>EAttribute</em>}' class. >+ * The operation id for the '<em>EContainment Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EAttributeImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEAttribute() > * @generated >+ * @ordered > */ >- int EATTRIBUTE = 0; >+ int EMODEL_ELEMENT___ECONTAINMENT_FEATURE = EOBJECT___ECONTAINMENT_FEATURE; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EClassImpl <em>EClass</em>}' class. >+ * The operation id for the '<em>EContents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EClassImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEClass() > * @generated >+ * @ordered > */ >- int ECLASS = 2; >+ int EMODEL_ELEMENT___ECONTENTS = EOBJECT___ECONTENTS; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.ETypedElementImpl <em>ETyped Element</em>}' class. >+ * The operation id for the '<em>EAll Contents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.ETypedElementImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getETypedElement() > * @generated >+ * @ordered > */ >- int ETYPED_ELEMENT = 16; >+ int EMODEL_ELEMENT___EALL_CONTENTS = EOBJECT___EALL_CONTENTS; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EDataTypeImpl <em>EData Type</em>}' class. >+ * The operation id for the '<em>ECross References</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EDataTypeImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEDataType() > * @generated >+ * @ordered > */ >- int EDATA_TYPE = 4; >+ int EMODEL_ELEMENT___ECROSS_REFERENCES = EOBJECT___ECROSS_REFERENCES; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EEnumImpl <em>EEnum</em>}' class. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EEnumImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEEnum() > * @generated >+ * @ordered > */ >- int EENUM = 5; >+ int EMODEL_ELEMENT___EGET__ESTRUCTURALFEATURE = EOBJECT___EGET__ESTRUCTURALFEATURE; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EEnumLiteralImpl <em>EEnum Literal</em>}' class. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EEnumLiteralImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEEnumLiteral() > * @generated >+ * @ordered > */ >- int EENUM_LITERAL = 6; >+ int EMODEL_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN = EOBJECT___EGET__ESTRUCTURALFEATURE_BOOLEAN; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EFactoryImpl <em>EFactory</em>}' class. >+ * The operation id for the '<em>ESet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EFactoryImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEFactory() > * @generated >+ * @ordered > */ >- int EFACTORY = 7; >+ int EMODEL_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT = EOBJECT___ESET__ESTRUCTURALFEATURE_OBJECT; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EOperationImpl <em>EOperation</em>}' class. >+ * The operation id for the '<em>EIs Set</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EOperationImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEOperation() > * @generated >+ * @ordered > */ >- int EOPERATION = 11; >+ int EMODEL_ELEMENT___EIS_SET__ESTRUCTURALFEATURE = EOBJECT___EIS_SET__ESTRUCTURALFEATURE; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EPackageImpl <em>EPackage</em>}' class. >+ * The operation id for the '<em>EUnset</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EPackageImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEPackage() > * @generated >+ * @ordered > */ >- int EPACKAGE = 12; >+ int EMODEL_ELEMENT___EUNSET__ESTRUCTURALFEATURE = EOBJECT___EUNSET__ESTRUCTURALFEATURE; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EParameterImpl <em>EParameter</em>}' class. >+ * The operation id for the '<em>EInvoke</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EParameterImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEParameter() > * @generated >+ * @ordered > */ >- int EPARAMETER = 13; >+ int EMODEL_ELEMENT___EINVOKE__EOPERATION_ELIST = EOBJECT___EINVOKE__EOPERATION_ELIST; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EReferenceImpl <em>EReference</em>}' class. >+ * The operation id for the '<em>Get EAnnotation</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EReferenceImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEReference() > * @generated >+ * @ordered > */ >- int EREFERENCE = 14; >+ int EMODEL_ELEMENT___GET_EANNOTATION__STRING = EOBJECT_OPERATION_COUNT + 0; >+ >+ /** >+ * The number of operations of the '<em>EModel Element</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EMODEL_ELEMENT_OPERATION_COUNT = EOBJECT_OPERATION_COUNT + 1; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.ENamedElementImpl <em>ENamed Element</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.ENamedElementImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getENamedElement() >+ * @generated >+ */ >+ int ENAMED_ELEMENT = 9; > > /** > * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >@@ -282,7 +433,7 @@ > * @generated > * @ordered > */ >- int ETYPED_ELEMENT__EANNOTATIONS = ENAMED_ELEMENT__EANNOTATIONS; >+ int ENAMED_ELEMENT__EANNOTATIONS = EMODEL_ELEMENT__EANNOTATIONS; > > /** > * The feature id for the '<em><b>Name</b></em>' attribute. >@@ -291,1830 +442,4848 @@ > * @generated > * @ordered > */ >- int ETYPED_ELEMENT__NAME = ENAMED_ELEMENT__NAME; >+ int ENAMED_ELEMENT__NAME = EMODEL_ELEMENT_FEATURE_COUNT + 0; > > /** >- * The feature id for the '<em><b>Ordered</b></em>' attribute. >+ * The number of structural features of the '<em>ENamed Element</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ETYPED_ELEMENT__ORDERED = ENAMED_ELEMENT_FEATURE_COUNT + 0; >+ int ENAMED_ELEMENT_FEATURE_COUNT = EMODEL_ELEMENT_FEATURE_COUNT + 1; > > /** >- * The feature id for the '<em><b>Unique</b></em>' attribute. >+ * The operation id for the '<em>EClass</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ETYPED_ELEMENT__UNIQUE = ENAMED_ELEMENT_FEATURE_COUNT + 1; >+ int ENAMED_ELEMENT___ECLASS = EMODEL_ELEMENT___ECLASS; > > /** >- * The feature id for the '<em><b>Lower Bound</b></em>' attribute. >+ * The operation id for the '<em>EIs Proxy</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ETYPED_ELEMENT__LOWER_BOUND = ENAMED_ELEMENT_FEATURE_COUNT + 2; >+ int ENAMED_ELEMENT___EIS_PROXY = EMODEL_ELEMENT___EIS_PROXY; > > /** >- * The feature id for the '<em><b>Upper Bound</b></em>' attribute. >+ * The operation id for the '<em>EResource</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ETYPED_ELEMENT__UPPER_BOUND = ENAMED_ELEMENT_FEATURE_COUNT + 3; >+ int ENAMED_ELEMENT___ERESOURCE = EMODEL_ELEMENT___ERESOURCE; > > /** >- * The feature id for the '<em><b>Many</b></em>' attribute. >+ * The operation id for the '<em>EContainer</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ETYPED_ELEMENT__MANY = ENAMED_ELEMENT_FEATURE_COUNT + 4; >+ int ENAMED_ELEMENT___ECONTAINER = EMODEL_ELEMENT___ECONTAINER; > > /** >- * The feature id for the '<em><b>Required</b></em>' attribute. >+ * The operation id for the '<em>EContaining Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ETYPED_ELEMENT__REQUIRED = ENAMED_ELEMENT_FEATURE_COUNT + 5; >+ int ENAMED_ELEMENT___ECONTAINING_FEATURE = EMODEL_ELEMENT___ECONTAINING_FEATURE; > > /** >- * The feature id for the '<em><b>EType</b></em>' reference. >+ * The operation id for the '<em>EContainment Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ETYPED_ELEMENT__ETYPE = ENAMED_ELEMENT_FEATURE_COUNT + 6; >+ int ENAMED_ELEMENT___ECONTAINMENT_FEATURE = EMODEL_ELEMENT___ECONTAINMENT_FEATURE; > > /** >- * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference. >+ * The operation id for the '<em>EContents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ETYPED_ELEMENT__EGENERIC_TYPE = ENAMED_ELEMENT_FEATURE_COUNT + 7; >+ int ENAMED_ELEMENT___ECONTENTS = EMODEL_ELEMENT___ECONTENTS; > > /** >- * The number of structural features of the '<em>ETyped Element</em>' class. >+ * The operation id for the '<em>EAll Contents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ETYPED_ELEMENT_FEATURE_COUNT = ENAMED_ELEMENT_FEATURE_COUNT + 8; >+ int ENAMED_ELEMENT___EALL_CONTENTS = EMODEL_ELEMENT___EALL_CONTENTS; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The operation id for the '<em>ECross References</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__EANNOTATIONS = ETYPED_ELEMENT__EANNOTATIONS; >+ int ENAMED_ELEMENT___ECROSS_REFERENCES = EMODEL_ELEMENT___ECROSS_REFERENCES; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ENAMED_ELEMENT___EGET__ESTRUCTURALFEATURE = EMODEL_ELEMENT___EGET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ENAMED_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN = EMODEL_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN; >+ >+ /** >+ * The operation id for the '<em>ESet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ENAMED_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT = EMODEL_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT; >+ >+ /** >+ * The operation id for the '<em>EIs Set</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ENAMED_ELEMENT___EIS_SET__ESTRUCTURALFEATURE = EMODEL_ELEMENT___EIS_SET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EUnset</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ENAMED_ELEMENT___EUNSET__ESTRUCTURALFEATURE = EMODEL_ELEMENT___EUNSET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EInvoke</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ENAMED_ELEMENT___EINVOKE__EOPERATION_ELIST = EMODEL_ELEMENT___EINVOKE__EOPERATION_ELIST; >+ >+ /** >+ * The operation id for the '<em>Get EAnnotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ENAMED_ELEMENT___GET_EANNOTATION__STRING = EMODEL_ELEMENT___GET_EANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>ENamed Element</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ENAMED_ELEMENT_OPERATION_COUNT = EMODEL_ELEMENT_OPERATION_COUNT + 0; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EStructuralFeatureImpl <em>EStructural Feature</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EStructuralFeatureImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEStructuralFeature() >+ * @generated >+ */ >+ int ESTRUCTURAL_FEATURE = 15; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EAttributeImpl <em>EAttribute</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EAttributeImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEAttribute() >+ * @generated >+ */ >+ int EATTRIBUTE = 0; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EClassImpl <em>EClass</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EClassImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEClass() >+ * @generated >+ */ >+ int ECLASS = 2; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.ETypedElementImpl <em>ETyped Element</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.ETypedElementImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getETypedElement() >+ * @generated >+ */ >+ int ETYPED_ELEMENT = 16; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EDataTypeImpl <em>EData Type</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EDataTypeImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEDataType() >+ * @generated >+ */ >+ int EDATA_TYPE = 4; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EEnumImpl <em>EEnum</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EEnumImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEEnum() >+ * @generated >+ */ >+ int EENUM = 5; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EEnumLiteralImpl <em>EEnum Literal</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EEnumLiteralImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEEnumLiteral() >+ * @generated >+ */ >+ int EENUM_LITERAL = 6; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EFactoryImpl <em>EFactory</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EFactoryImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEFactory() >+ * @generated >+ */ >+ int EFACTORY = 7; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EOperationImpl <em>EOperation</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EOperationImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEOperation() >+ * @generated >+ */ >+ int EOPERATION = 11; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EPackageImpl <em>EPackage</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EPackageImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEPackage() >+ * @generated >+ */ >+ int EPACKAGE = 12; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EParameterImpl <em>EParameter</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EParameterImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEParameter() >+ * @generated >+ */ >+ int EPARAMETER = 13; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EReferenceImpl <em>EReference</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EReferenceImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEReference() >+ * @generated >+ */ >+ int EREFERENCE = 14; >+ >+ /** >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT__EANNOTATIONS = ENAMED_ELEMENT__EANNOTATIONS; >+ >+ /** >+ * The feature id for the '<em><b>Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT__NAME = ENAMED_ELEMENT__NAME; >+ >+ /** >+ * The feature id for the '<em><b>Ordered</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT__ORDERED = ENAMED_ELEMENT_FEATURE_COUNT + 0; >+ >+ /** >+ * The feature id for the '<em><b>Unique</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT__UNIQUE = ENAMED_ELEMENT_FEATURE_COUNT + 1; >+ >+ /** >+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT__LOWER_BOUND = ENAMED_ELEMENT_FEATURE_COUNT + 2; >+ >+ /** >+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT__UPPER_BOUND = ENAMED_ELEMENT_FEATURE_COUNT + 3; >+ >+ /** >+ * The feature id for the '<em><b>Many</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT__MANY = ENAMED_ELEMENT_FEATURE_COUNT + 4; >+ >+ /** >+ * The feature id for the '<em><b>Required</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT__REQUIRED = ENAMED_ELEMENT_FEATURE_COUNT + 5; >+ >+ /** >+ * The feature id for the '<em><b>EType</b></em>' reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT__ETYPE = ENAMED_ELEMENT_FEATURE_COUNT + 6; >+ >+ /** >+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT__EGENERIC_TYPE = ENAMED_ELEMENT_FEATURE_COUNT + 7; >+ >+ /** >+ * The number of structural features of the '<em>ETyped Element</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT_FEATURE_COUNT = ENAMED_ELEMENT_FEATURE_COUNT + 8; >+ >+ /** >+ * The operation id for the '<em>EClass</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___ECLASS = ENAMED_ELEMENT___ECLASS; >+ >+ /** >+ * The operation id for the '<em>EIs Proxy</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___EIS_PROXY = ENAMED_ELEMENT___EIS_PROXY; >+ >+ /** >+ * The operation id for the '<em>EResource</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___ERESOURCE = ENAMED_ELEMENT___ERESOURCE; >+ >+ /** >+ * The operation id for the '<em>EContainer</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___ECONTAINER = ENAMED_ELEMENT___ECONTAINER; >+ >+ /** >+ * The operation id for the '<em>EContaining Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___ECONTAINING_FEATURE = ENAMED_ELEMENT___ECONTAINING_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContainment Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___ECONTAINMENT_FEATURE = ENAMED_ELEMENT___ECONTAINMENT_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___ECONTENTS = ENAMED_ELEMENT___ECONTENTS; >+ >+ /** >+ * The operation id for the '<em>EAll Contents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___EALL_CONTENTS = ENAMED_ELEMENT___EALL_CONTENTS; >+ >+ /** >+ * The operation id for the '<em>ECross References</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___ECROSS_REFERENCES = ENAMED_ELEMENT___ECROSS_REFERENCES; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___EGET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EGET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN = ENAMED_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN; >+ >+ /** >+ * The operation id for the '<em>ESet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT = ENAMED_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT; >+ >+ /** >+ * The operation id for the '<em>EIs Set</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___EIS_SET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EIS_SET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EUnset</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___EUNSET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EUNSET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EInvoke</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___EINVOKE__EOPERATION_ELIST = ENAMED_ELEMENT___EINVOKE__EOPERATION_ELIST; >+ >+ /** >+ * The operation id for the '<em>Get EAnnotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT___GET_EANNOTATION__STRING = ENAMED_ELEMENT___GET_EANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>ETyped Element</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ETYPED_ELEMENT_OPERATION_COUNT = ENAMED_ELEMENT_OPERATION_COUNT + 0; >+ >+ /** >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__EANNOTATIONS = ETYPED_ELEMENT__EANNOTATIONS; >+ >+ /** >+ * The feature id for the '<em><b>Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__NAME = ETYPED_ELEMENT__NAME; >+ >+ /** >+ * The feature id for the '<em><b>Ordered</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__ORDERED = ETYPED_ELEMENT__ORDERED; >+ >+ /** >+ * The feature id for the '<em><b>Unique</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__UNIQUE = ETYPED_ELEMENT__UNIQUE; >+ >+ /** >+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__LOWER_BOUND = ETYPED_ELEMENT__LOWER_BOUND; >+ >+ /** >+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__UPPER_BOUND = ETYPED_ELEMENT__UPPER_BOUND; >+ >+ /** >+ * The feature id for the '<em><b>Many</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__MANY = ETYPED_ELEMENT__MANY; >+ >+ /** >+ * The feature id for the '<em><b>Required</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__REQUIRED = ETYPED_ELEMENT__REQUIRED; >+ >+ /** >+ * The feature id for the '<em><b>EType</b></em>' reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__ETYPE = ETYPED_ELEMENT__ETYPE; >+ >+ /** >+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__EGENERIC_TYPE = ETYPED_ELEMENT__EGENERIC_TYPE; >+ >+ /** >+ * The feature id for the '<em><b>Changeable</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__CHANGEABLE = ETYPED_ELEMENT_FEATURE_COUNT + 0; >+ >+ /** >+ * The feature id for the '<em><b>Volatile</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__VOLATILE = ETYPED_ELEMENT_FEATURE_COUNT + 1; >+ >+ /** >+ * The feature id for the '<em><b>Transient</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__TRANSIENT = ETYPED_ELEMENT_FEATURE_COUNT + 2; >+ >+ /** >+ * The feature id for the '<em><b>Default Value Literal</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__DEFAULT_VALUE_LITERAL = ETYPED_ELEMENT_FEATURE_COUNT + 3; >+ >+ /** >+ * The feature id for the '<em><b>Default Value</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__DEFAULT_VALUE = ETYPED_ELEMENT_FEATURE_COUNT + 4; >+ >+ /** >+ * The feature id for the '<em><b>Unsettable</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__UNSETTABLE = ETYPED_ELEMENT_FEATURE_COUNT + 5; >+ >+ /** >+ * The feature id for the '<em><b>Derived</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__DERIVED = ETYPED_ELEMENT_FEATURE_COUNT + 6; >+ >+ /** >+ * The feature id for the '<em><b>EContaining Class</b></em>' container reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE__ECONTAINING_CLASS = ETYPED_ELEMENT_FEATURE_COUNT + 7; >+ >+ /** >+ * The number of structural features of the '<em>EStructural Feature</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE_FEATURE_COUNT = ETYPED_ELEMENT_FEATURE_COUNT + 8; >+ >+ /** >+ * The operation id for the '<em>EClass</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___ECLASS = ETYPED_ELEMENT___ECLASS; >+ >+ /** >+ * The operation id for the '<em>EIs Proxy</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___EIS_PROXY = ETYPED_ELEMENT___EIS_PROXY; >+ >+ /** >+ * The operation id for the '<em>EResource</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___ERESOURCE = ETYPED_ELEMENT___ERESOURCE; >+ >+ /** >+ * The operation id for the '<em>EContainer</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___ECONTAINER = ETYPED_ELEMENT___ECONTAINER; >+ >+ /** >+ * The operation id for the '<em>EContaining Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___ECONTAINING_FEATURE = ETYPED_ELEMENT___ECONTAINING_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContainment Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___ECONTAINMENT_FEATURE = ETYPED_ELEMENT___ECONTAINMENT_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___ECONTENTS = ETYPED_ELEMENT___ECONTENTS; >+ >+ /** >+ * The operation id for the '<em>EAll Contents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___EALL_CONTENTS = ETYPED_ELEMENT___EALL_CONTENTS; >+ >+ /** >+ * The operation id for the '<em>ECross References</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___ECROSS_REFERENCES = ETYPED_ELEMENT___ECROSS_REFERENCES; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___EGET__ESTRUCTURALFEATURE = ETYPED_ELEMENT___EGET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___EGET__ESTRUCTURALFEATURE_BOOLEAN = ETYPED_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN; >+ >+ /** >+ * The operation id for the '<em>ESet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___ESET__ESTRUCTURALFEATURE_OBJECT = ETYPED_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT; >+ >+ /** >+ * The operation id for the '<em>EIs Set</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___EIS_SET__ESTRUCTURALFEATURE = ETYPED_ELEMENT___EIS_SET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EUnset</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___EUNSET__ESTRUCTURALFEATURE = ETYPED_ELEMENT___EUNSET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EInvoke</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___EINVOKE__EOPERATION_ELIST = ETYPED_ELEMENT___EINVOKE__EOPERATION_ELIST; >+ >+ /** >+ * The operation id for the '<em>Get EAnnotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___GET_EANNOTATION__STRING = ETYPED_ELEMENT___GET_EANNOTATION__STRING; >+ >+ /** >+ * The operation id for the '<em>Get Feature ID</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___GET_FEATURE_ID = ETYPED_ELEMENT_OPERATION_COUNT + 0; >+ >+ /** >+ * The operation id for the '<em>Get Container Class</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE___GET_CONTAINER_CLASS = ETYPED_ELEMENT_OPERATION_COUNT + 1; >+ >+ /** >+ * The number of operations of the '<em>EStructural Feature</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ESTRUCTURAL_FEATURE_OPERATION_COUNT = ETYPED_ELEMENT_OPERATION_COUNT + 2; >+ >+ /** >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__EANNOTATIONS = ESTRUCTURAL_FEATURE__EANNOTATIONS; >+ >+ /** >+ * The feature id for the '<em><b>Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__NAME = ESTRUCTURAL_FEATURE__NAME; >+ >+ /** >+ * The feature id for the '<em><b>Ordered</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__ORDERED = ESTRUCTURAL_FEATURE__ORDERED; >+ >+ /** >+ * The feature id for the '<em><b>Unique</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__UNIQUE = ESTRUCTURAL_FEATURE__UNIQUE; >+ >+ /** >+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__LOWER_BOUND = ESTRUCTURAL_FEATURE__LOWER_BOUND; >+ >+ /** >+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__UPPER_BOUND = ESTRUCTURAL_FEATURE__UPPER_BOUND; >+ >+ /** >+ * The feature id for the '<em><b>Many</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__MANY = ESTRUCTURAL_FEATURE__MANY; >+ >+ /** >+ * The feature id for the '<em><b>Required</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__REQUIRED = ESTRUCTURAL_FEATURE__REQUIRED; >+ >+ /** >+ * The feature id for the '<em><b>EType</b></em>' reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__ETYPE = ESTRUCTURAL_FEATURE__ETYPE; >+ >+ /** >+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__EGENERIC_TYPE = ESTRUCTURAL_FEATURE__EGENERIC_TYPE; >+ >+ /** >+ * The feature id for the '<em><b>Changeable</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__CHANGEABLE = ESTRUCTURAL_FEATURE__CHANGEABLE; >+ >+ /** >+ * The feature id for the '<em><b>Volatile</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__VOLATILE = ESTRUCTURAL_FEATURE__VOLATILE; >+ >+ /** >+ * The feature id for the '<em><b>Transient</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__TRANSIENT = ESTRUCTURAL_FEATURE__TRANSIENT; >+ >+ /** >+ * The feature id for the '<em><b>Default Value Literal</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__DEFAULT_VALUE_LITERAL = ESTRUCTURAL_FEATURE__DEFAULT_VALUE_LITERAL; >+ >+ /** >+ * The feature id for the '<em><b>Default Value</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__DEFAULT_VALUE = ESTRUCTURAL_FEATURE__DEFAULT_VALUE; >+ >+ /** >+ * The feature id for the '<em><b>Unsettable</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__UNSETTABLE = ESTRUCTURAL_FEATURE__UNSETTABLE; >+ >+ /** >+ * The feature id for the '<em><b>Derived</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__DERIVED = ESTRUCTURAL_FEATURE__DERIVED; >+ >+ /** >+ * The feature id for the '<em><b>EContaining Class</b></em>' container reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__ECONTAINING_CLASS = ESTRUCTURAL_FEATURE__ECONTAINING_CLASS; >+ >+ /** >+ * The feature id for the '<em><b>ID</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__ID = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 0; >+ >+ /** >+ * The feature id for the '<em><b>EAttribute Type</b></em>' reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE__EATTRIBUTE_TYPE = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 1; >+ >+ /** >+ * The number of structural features of the '<em>EAttribute</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE_FEATURE_COUNT = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 2; >+ >+ /** >+ * The operation id for the '<em>EClass</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___ECLASS = ESTRUCTURAL_FEATURE___ECLASS; >+ >+ /** >+ * The operation id for the '<em>EIs Proxy</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___EIS_PROXY = ESTRUCTURAL_FEATURE___EIS_PROXY; >+ >+ /** >+ * The operation id for the '<em>EResource</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___ERESOURCE = ESTRUCTURAL_FEATURE___ERESOURCE; >+ >+ /** >+ * The operation id for the '<em>EContainer</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___ECONTAINER = ESTRUCTURAL_FEATURE___ECONTAINER; >+ >+ /** >+ * The operation id for the '<em>EContaining Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___ECONTAINING_FEATURE = ESTRUCTURAL_FEATURE___ECONTAINING_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContainment Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___ECONTAINMENT_FEATURE = ESTRUCTURAL_FEATURE___ECONTAINMENT_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___ECONTENTS = ESTRUCTURAL_FEATURE___ECONTENTS; >+ >+ /** >+ * The operation id for the '<em>EAll Contents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___EALL_CONTENTS = ESTRUCTURAL_FEATURE___EALL_CONTENTS; >+ >+ /** >+ * The operation id for the '<em>ECross References</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___ECROSS_REFERENCES = ESTRUCTURAL_FEATURE___ECROSS_REFERENCES; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___EGET__ESTRUCTURALFEATURE = ESTRUCTURAL_FEATURE___EGET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___EGET__ESTRUCTURALFEATURE_BOOLEAN = ESTRUCTURAL_FEATURE___EGET__ESTRUCTURALFEATURE_BOOLEAN; >+ >+ /** >+ * The operation id for the '<em>ESet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___ESET__ESTRUCTURALFEATURE_OBJECT = ESTRUCTURAL_FEATURE___ESET__ESTRUCTURALFEATURE_OBJECT; >+ >+ /** >+ * The operation id for the '<em>EIs Set</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___EIS_SET__ESTRUCTURALFEATURE = ESTRUCTURAL_FEATURE___EIS_SET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EUnset</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___EUNSET__ESTRUCTURALFEATURE = ESTRUCTURAL_FEATURE___EUNSET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EInvoke</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___EINVOKE__EOPERATION_ELIST = ESTRUCTURAL_FEATURE___EINVOKE__EOPERATION_ELIST; >+ >+ /** >+ * The operation id for the '<em>Get EAnnotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___GET_EANNOTATION__STRING = ESTRUCTURAL_FEATURE___GET_EANNOTATION__STRING; >+ >+ /** >+ * The operation id for the '<em>Get Feature ID</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___GET_FEATURE_ID = ESTRUCTURAL_FEATURE___GET_FEATURE_ID; >+ >+ /** >+ * The operation id for the '<em>Get Container Class</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE___GET_CONTAINER_CLASS = ESTRUCTURAL_FEATURE___GET_CONTAINER_CLASS; >+ >+ /** >+ * The number of operations of the '<em>EAttribute</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EATTRIBUTE_OPERATION_COUNT = ESTRUCTURAL_FEATURE_OPERATION_COUNT + 0; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EAnnotationImpl <em>EAnnotation</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EAnnotationImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEAnnotation() >+ * @generated >+ */ >+ int EANNOTATION = 1; >+ >+ /** >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION__EANNOTATIONS = EMODEL_ELEMENT__EANNOTATIONS; >+ >+ /** >+ * The feature id for the '<em><b>Source</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION__SOURCE = EMODEL_ELEMENT_FEATURE_COUNT + 0; >+ >+ /** >+ * The feature id for the '<em><b>Details</b></em>' map. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION__DETAILS = EMODEL_ELEMENT_FEATURE_COUNT + 1; >+ >+ /** >+ * The feature id for the '<em><b>EModel Element</b></em>' container reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION__EMODEL_ELEMENT = EMODEL_ELEMENT_FEATURE_COUNT + 2; >+ >+ /** >+ * The feature id for the '<em><b>Contents</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION__CONTENTS = EMODEL_ELEMENT_FEATURE_COUNT + 3; >+ >+ /** >+ * The feature id for the '<em><b>References</b></em>' reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION__REFERENCES = EMODEL_ELEMENT_FEATURE_COUNT + 4; >+ >+ /** >+ * The number of structural features of the '<em>EAnnotation</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION_FEATURE_COUNT = EMODEL_ELEMENT_FEATURE_COUNT + 5; >+ >+ /** >+ * The operation id for the '<em>EClass</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___ECLASS = EMODEL_ELEMENT___ECLASS; >+ >+ /** >+ * The operation id for the '<em>EIs Proxy</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___EIS_PROXY = EMODEL_ELEMENT___EIS_PROXY; >+ >+ /** >+ * The operation id for the '<em>EResource</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___ERESOURCE = EMODEL_ELEMENT___ERESOURCE; >+ >+ /** >+ * The operation id for the '<em>EContainer</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___ECONTAINER = EMODEL_ELEMENT___ECONTAINER; >+ >+ /** >+ * The operation id for the '<em>EContaining Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___ECONTAINING_FEATURE = EMODEL_ELEMENT___ECONTAINING_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContainment Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___ECONTAINMENT_FEATURE = EMODEL_ELEMENT___ECONTAINMENT_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___ECONTENTS = EMODEL_ELEMENT___ECONTENTS; >+ >+ /** >+ * The operation id for the '<em>EAll Contents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___EALL_CONTENTS = EMODEL_ELEMENT___EALL_CONTENTS; >+ >+ /** >+ * The operation id for the '<em>ECross References</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___ECROSS_REFERENCES = EMODEL_ELEMENT___ECROSS_REFERENCES; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___EGET__ESTRUCTURALFEATURE = EMODEL_ELEMENT___EGET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___EGET__ESTRUCTURALFEATURE_BOOLEAN = EMODEL_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN; >+ >+ /** >+ * The operation id for the '<em>ESet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___ESET__ESTRUCTURALFEATURE_OBJECT = EMODEL_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT; >+ >+ /** >+ * The operation id for the '<em>EIs Set</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___EIS_SET__ESTRUCTURALFEATURE = EMODEL_ELEMENT___EIS_SET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EUnset</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___EUNSET__ESTRUCTURALFEATURE = EMODEL_ELEMENT___EUNSET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EInvoke</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___EINVOKE__EOPERATION_ELIST = EMODEL_ELEMENT___EINVOKE__EOPERATION_ELIST; >+ >+ /** >+ * The operation id for the '<em>Get EAnnotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION___GET_EANNOTATION__STRING = EMODEL_ELEMENT___GET_EANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>EAnnotation</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EANNOTATION_OPERATION_COUNT = EMODEL_ELEMENT_OPERATION_COUNT + 0; >+ >+ /** >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EClassifierImpl <em>EClassifier</em>}' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EClassifierImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEClassifier() >+ * @generated >+ */ >+ int ECLASSIFIER = 3; >+ >+ /** >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER__EANNOTATIONS = ENAMED_ELEMENT__EANNOTATIONS; >+ >+ /** >+ * The feature id for the '<em><b>Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER__NAME = ENAMED_ELEMENT__NAME; >+ >+ /** >+ * The feature id for the '<em><b>Instance Class Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER__INSTANCE_CLASS_NAME = ENAMED_ELEMENT_FEATURE_COUNT + 0; >+ >+ /** >+ * The feature id for the '<em><b>Instance Class</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER__INSTANCE_CLASS = ENAMED_ELEMENT_FEATURE_COUNT + 1; >+ >+ /** >+ * The feature id for the '<em><b>Default Value</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER__DEFAULT_VALUE = ENAMED_ELEMENT_FEATURE_COUNT + 2; >+ >+ /** >+ * The feature id for the '<em><b>Instance Type Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER__INSTANCE_TYPE_NAME = ENAMED_ELEMENT_FEATURE_COUNT + 3; >+ >+ /** >+ * The feature id for the '<em><b>EPackage</b></em>' container reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER__EPACKAGE = ENAMED_ELEMENT_FEATURE_COUNT + 4; >+ >+ /** >+ * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER__ETYPE_PARAMETERS = ENAMED_ELEMENT_FEATURE_COUNT + 5; >+ >+ /** >+ * The number of structural features of the '<em>EClassifier</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER_FEATURE_COUNT = ENAMED_ELEMENT_FEATURE_COUNT + 6; >+ >+ /** >+ * The operation id for the '<em>EClass</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___ECLASS = ENAMED_ELEMENT___ECLASS; >+ >+ /** >+ * The operation id for the '<em>EIs Proxy</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___EIS_PROXY = ENAMED_ELEMENT___EIS_PROXY; >+ >+ /** >+ * The operation id for the '<em>EResource</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___ERESOURCE = ENAMED_ELEMENT___ERESOURCE; >+ >+ /** >+ * The operation id for the '<em>EContainer</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___ECONTAINER = ENAMED_ELEMENT___ECONTAINER; >+ >+ /** >+ * The operation id for the '<em>EContaining Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___ECONTAINING_FEATURE = ENAMED_ELEMENT___ECONTAINING_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContainment Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___ECONTAINMENT_FEATURE = ENAMED_ELEMENT___ECONTAINMENT_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___ECONTENTS = ENAMED_ELEMENT___ECONTENTS; >+ >+ /** >+ * The operation id for the '<em>EAll Contents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___EALL_CONTENTS = ENAMED_ELEMENT___EALL_CONTENTS; >+ >+ /** >+ * The operation id for the '<em>ECross References</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___ECROSS_REFERENCES = ENAMED_ELEMENT___ECROSS_REFERENCES; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___EGET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EGET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___EGET__ESTRUCTURALFEATURE_BOOLEAN = ENAMED_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN; >+ >+ /** >+ * The operation id for the '<em>ESet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___ESET__ESTRUCTURALFEATURE_OBJECT = ENAMED_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT; >+ >+ /** >+ * The operation id for the '<em>EIs Set</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___EIS_SET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EIS_SET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EUnset</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___EUNSET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EUNSET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EInvoke</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___EINVOKE__EOPERATION_ELIST = ENAMED_ELEMENT___EINVOKE__EOPERATION_ELIST; >+ >+ /** >+ * The operation id for the '<em>Get EAnnotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___GET_EANNOTATION__STRING = ENAMED_ELEMENT___GET_EANNOTATION__STRING; >+ >+ /** >+ * The operation id for the '<em>Is Instance</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___IS_INSTANCE__OBJECT = ENAMED_ELEMENT_OPERATION_COUNT + 0; >+ >+ /** >+ * The operation id for the '<em>Get Classifier ID</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER___GET_CLASSIFIER_ID = ENAMED_ELEMENT_OPERATION_COUNT + 1; >+ >+ /** >+ * The number of operations of the '<em>EClassifier</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASSIFIER_OPERATION_COUNT = ENAMED_ELEMENT_OPERATION_COUNT + 2; >+ >+ /** >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EANNOTATIONS = ECLASSIFIER__EANNOTATIONS; >+ >+ /** >+ * The feature id for the '<em><b>Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__NAME = ECLASSIFIER__NAME; >+ >+ /** >+ * The feature id for the '<em><b>Instance Class Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__INSTANCE_CLASS_NAME = ECLASSIFIER__INSTANCE_CLASS_NAME; >+ >+ /** >+ * The feature id for the '<em><b>Instance Class</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__INSTANCE_CLASS = ECLASSIFIER__INSTANCE_CLASS; >+ >+ /** >+ * The feature id for the '<em><b>Default Value</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__DEFAULT_VALUE = ECLASSIFIER__DEFAULT_VALUE; >+ >+ /** >+ * The feature id for the '<em><b>Instance Type Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__INSTANCE_TYPE_NAME = ECLASSIFIER__INSTANCE_TYPE_NAME; >+ >+ /** >+ * The feature id for the '<em><b>EPackage</b></em>' container reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EPACKAGE = ECLASSIFIER__EPACKAGE; >+ >+ /** >+ * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__ETYPE_PARAMETERS = ECLASSIFIER__ETYPE_PARAMETERS; >+ >+ /** >+ * The feature id for the '<em><b>Abstract</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__ABSTRACT = ECLASSIFIER_FEATURE_COUNT + 0; >+ >+ /** >+ * The feature id for the '<em><b>Interface</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__INTERFACE = ECLASSIFIER_FEATURE_COUNT + 1; >+ >+ /** >+ * The feature id for the '<em><b>ESuper Types</b></em>' reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__ESUPER_TYPES = ECLASSIFIER_FEATURE_COUNT + 2; >+ >+ /** >+ * The feature id for the '<em><b>EOperations</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EOPERATIONS = ECLASSIFIER_FEATURE_COUNT + 3; >+ >+ /** >+ * The feature id for the '<em><b>EAll Attributes</b></em>' reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EALL_ATTRIBUTES = ECLASSIFIER_FEATURE_COUNT + 4; >+ >+ /** >+ * The feature id for the '<em><b>EAll References</b></em>' reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EALL_REFERENCES = ECLASSIFIER_FEATURE_COUNT + 5; >+ >+ /** >+ * The feature id for the '<em><b>EReferences</b></em>' reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EREFERENCES = ECLASSIFIER_FEATURE_COUNT + 6; >+ >+ /** >+ * The feature id for the '<em><b>EAttributes</b></em>' reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EATTRIBUTES = ECLASSIFIER_FEATURE_COUNT + 7; >+ >+ /** >+ * The feature id for the '<em><b>EAll Containments</b></em>' reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EALL_CONTAINMENTS = ECLASSIFIER_FEATURE_COUNT + 8; >+ >+ /** >+ * The feature id for the '<em><b>EAll Operations</b></em>' reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EALL_OPERATIONS = ECLASSIFIER_FEATURE_COUNT + 9; >+ >+ /** >+ * The feature id for the '<em><b>EAll Structural Features</b></em>' reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EALL_STRUCTURAL_FEATURES = ECLASSIFIER_FEATURE_COUNT + 10; >+ >+ /** >+ * The feature id for the '<em><b>EAll Super Types</b></em>' reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EALL_SUPER_TYPES = ECLASSIFIER_FEATURE_COUNT + 11; >+ >+ /** >+ * The feature id for the '<em><b>EID Attribute</b></em>' reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EID_ATTRIBUTE = ECLASSIFIER_FEATURE_COUNT + 12; >+ >+ /** >+ * The feature id for the '<em><b>EStructural Features</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__ESTRUCTURAL_FEATURES = ECLASSIFIER_FEATURE_COUNT + 13; >+ >+ /** >+ * The feature id for the '<em><b>EGeneric Super Types</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EGENERIC_SUPER_TYPES = ECLASSIFIER_FEATURE_COUNT + 14; >+ >+ /** >+ * The feature id for the '<em><b>EAll Generic Super Types</b></em>' reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS__EALL_GENERIC_SUPER_TYPES = ECLASSIFIER_FEATURE_COUNT + 15; >+ >+ /** >+ * The number of structural features of the '<em>EClass</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS_FEATURE_COUNT = ECLASSIFIER_FEATURE_COUNT + 16; >+ >+ /** >+ * The operation id for the '<em>EClass</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___ECLASS = ECLASSIFIER___ECLASS; >+ >+ /** >+ * The operation id for the '<em>EIs Proxy</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___EIS_PROXY = ECLASSIFIER___EIS_PROXY; >+ >+ /** >+ * The operation id for the '<em>EResource</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___ERESOURCE = ECLASSIFIER___ERESOURCE; >+ >+ /** >+ * The operation id for the '<em>EContainer</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___ECONTAINER = ECLASSIFIER___ECONTAINER; >+ >+ /** >+ * The operation id for the '<em>EContaining Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___ECONTAINING_FEATURE = ECLASSIFIER___ECONTAINING_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContainment Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___ECONTAINMENT_FEATURE = ECLASSIFIER___ECONTAINMENT_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___ECONTENTS = ECLASSIFIER___ECONTENTS; >+ >+ /** >+ * The operation id for the '<em>EAll Contents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___EALL_CONTENTS = ECLASSIFIER___EALL_CONTENTS; >+ >+ /** >+ * The operation id for the '<em>ECross References</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___ECROSS_REFERENCES = ECLASSIFIER___ECROSS_REFERENCES; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___EGET__ESTRUCTURALFEATURE = ECLASSIFIER___EGET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___EGET__ESTRUCTURALFEATURE_BOOLEAN = ECLASSIFIER___EGET__ESTRUCTURALFEATURE_BOOLEAN; >+ >+ /** >+ * The operation id for the '<em>ESet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___ESET__ESTRUCTURALFEATURE_OBJECT = ECLASSIFIER___ESET__ESTRUCTURALFEATURE_OBJECT; >+ >+ /** >+ * The operation id for the '<em>EIs Set</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___EIS_SET__ESTRUCTURALFEATURE = ECLASSIFIER___EIS_SET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EUnset</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___EUNSET__ESTRUCTURALFEATURE = ECLASSIFIER___EUNSET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EInvoke</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___EINVOKE__EOPERATION_ELIST = ECLASSIFIER___EINVOKE__EOPERATION_ELIST; >+ >+ /** >+ * The operation id for the '<em>Get EAnnotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___GET_EANNOTATION__STRING = ECLASSIFIER___GET_EANNOTATION__STRING; >+ >+ /** >+ * The operation id for the '<em>Is Instance</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___IS_INSTANCE__OBJECT = ECLASSIFIER___IS_INSTANCE__OBJECT; >+ >+ /** >+ * The operation id for the '<em>Get Classifier ID</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___GET_CLASSIFIER_ID = ECLASSIFIER___GET_CLASSIFIER_ID; >+ >+ /** >+ * The operation id for the '<em>Is Super Type Of</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___IS_SUPER_TYPE_OF__ECLASS = ECLASSIFIER_OPERATION_COUNT + 0; >+ >+ /** >+ * The operation id for the '<em>Get Feature Count</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___GET_FEATURE_COUNT = ECLASSIFIER_OPERATION_COUNT + 1; >+ >+ /** >+ * The operation id for the '<em>Get EStructural Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___GET_ESTRUCTURAL_FEATURE__INT = ECLASSIFIER_OPERATION_COUNT + 2; >+ >+ /** >+ * The operation id for the '<em>Get Feature ID</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___GET_FEATURE_ID__ESTRUCTURALFEATURE = ECLASSIFIER_OPERATION_COUNT + 3; >+ >+ /** >+ * The operation id for the '<em>Get EStructural Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___GET_ESTRUCTURAL_FEATURE__STRING = ECLASSIFIER_OPERATION_COUNT + 4; >+ >+ /** >+ * The operation id for the '<em>Get Operation Count</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___GET_OPERATION_COUNT = ECLASSIFIER_OPERATION_COUNT + 5; >+ >+ /** >+ * The operation id for the '<em>Get EOperation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___GET_EOPERATION__INT = ECLASSIFIER_OPERATION_COUNT + 6; >+ >+ /** >+ * The operation id for the '<em>Get Operation ID</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS___GET_OPERATION_ID__EOPERATION = ECLASSIFIER_OPERATION_COUNT + 7; >+ >+ /** >+ * The number of operations of the '<em>EClass</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int ECLASS_OPERATION_COUNT = ECLASSIFIER_OPERATION_COUNT + 8; >+ >+ /** >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE__EANNOTATIONS = ECLASSIFIER__EANNOTATIONS; >+ >+ /** >+ * The feature id for the '<em><b>Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE__NAME = ECLASSIFIER__NAME; >+ >+ /** >+ * The feature id for the '<em><b>Instance Class Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE__INSTANCE_CLASS_NAME = ECLASSIFIER__INSTANCE_CLASS_NAME; >+ >+ /** >+ * The feature id for the '<em><b>Instance Class</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE__INSTANCE_CLASS = ECLASSIFIER__INSTANCE_CLASS; >+ >+ /** >+ * The feature id for the '<em><b>Default Value</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE__DEFAULT_VALUE = ECLASSIFIER__DEFAULT_VALUE; >+ >+ /** >+ * The feature id for the '<em><b>Instance Type Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE__INSTANCE_TYPE_NAME = ECLASSIFIER__INSTANCE_TYPE_NAME; >+ >+ /** >+ * The feature id for the '<em><b>EPackage</b></em>' container reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE__EPACKAGE = ECLASSIFIER__EPACKAGE; >+ >+ /** >+ * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE__ETYPE_PARAMETERS = ECLASSIFIER__ETYPE_PARAMETERS; >+ >+ /** >+ * The feature id for the '<em><b>Serializable</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE__SERIALIZABLE = ECLASSIFIER_FEATURE_COUNT + 0; >+ >+ /** >+ * The number of structural features of the '<em>EData Type</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE_FEATURE_COUNT = ECLASSIFIER_FEATURE_COUNT + 1; >+ >+ /** >+ * The operation id for the '<em>EClass</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___ECLASS = ECLASSIFIER___ECLASS; >+ >+ /** >+ * The operation id for the '<em>EIs Proxy</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___EIS_PROXY = ECLASSIFIER___EIS_PROXY; >+ >+ /** >+ * The operation id for the '<em>EResource</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___ERESOURCE = ECLASSIFIER___ERESOURCE; >+ >+ /** >+ * The operation id for the '<em>EContainer</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___ECONTAINER = ECLASSIFIER___ECONTAINER; >+ >+ /** >+ * The operation id for the '<em>EContaining Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___ECONTAINING_FEATURE = ECLASSIFIER___ECONTAINING_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContainment Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___ECONTAINMENT_FEATURE = ECLASSIFIER___ECONTAINMENT_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___ECONTENTS = ECLASSIFIER___ECONTENTS; >+ >+ /** >+ * The operation id for the '<em>EAll Contents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___EALL_CONTENTS = ECLASSIFIER___EALL_CONTENTS; >+ >+ /** >+ * The operation id for the '<em>ECross References</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___ECROSS_REFERENCES = ECLASSIFIER___ECROSS_REFERENCES; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___EGET__ESTRUCTURALFEATURE = ECLASSIFIER___EGET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___EGET__ESTRUCTURALFEATURE_BOOLEAN = ECLASSIFIER___EGET__ESTRUCTURALFEATURE_BOOLEAN; >+ >+ /** >+ * The operation id for the '<em>ESet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___ESET__ESTRUCTURALFEATURE_OBJECT = ECLASSIFIER___ESET__ESTRUCTURALFEATURE_OBJECT; >+ >+ /** >+ * The operation id for the '<em>EIs Set</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___EIS_SET__ESTRUCTURALFEATURE = ECLASSIFIER___EIS_SET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EUnset</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___EUNSET__ESTRUCTURALFEATURE = ECLASSIFIER___EUNSET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EInvoke</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___EINVOKE__EOPERATION_ELIST = ECLASSIFIER___EINVOKE__EOPERATION_ELIST; >+ >+ /** >+ * The operation id for the '<em>Get EAnnotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___GET_EANNOTATION__STRING = ECLASSIFIER___GET_EANNOTATION__STRING; >+ >+ /** >+ * The operation id for the '<em>Is Instance</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___IS_INSTANCE__OBJECT = ECLASSIFIER___IS_INSTANCE__OBJECT; >+ >+ /** >+ * The operation id for the '<em>Get Classifier ID</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE___GET_CLASSIFIER_ID = ECLASSIFIER___GET_CLASSIFIER_ID; >+ >+ /** >+ * The number of operations of the '<em>EData Type</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EDATA_TYPE_OPERATION_COUNT = ECLASSIFIER_OPERATION_COUNT + 0; >+ >+ /** >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM__EANNOTATIONS = EDATA_TYPE__EANNOTATIONS; >+ >+ /** >+ * The feature id for the '<em><b>Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM__NAME = EDATA_TYPE__NAME; >+ >+ /** >+ * The feature id for the '<em><b>Instance Class Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM__INSTANCE_CLASS_NAME = EDATA_TYPE__INSTANCE_CLASS_NAME; >+ >+ /** >+ * The feature id for the '<em><b>Instance Class</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM__INSTANCE_CLASS = EDATA_TYPE__INSTANCE_CLASS; >+ >+ /** >+ * The feature id for the '<em><b>Default Value</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM__DEFAULT_VALUE = EDATA_TYPE__DEFAULT_VALUE; >+ >+ /** >+ * The feature id for the '<em><b>Instance Type Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM__INSTANCE_TYPE_NAME = EDATA_TYPE__INSTANCE_TYPE_NAME; >+ >+ /** >+ * The feature id for the '<em><b>EPackage</b></em>' container reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM__EPACKAGE = EDATA_TYPE__EPACKAGE; >+ >+ /** >+ * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM__ETYPE_PARAMETERS = EDATA_TYPE__ETYPE_PARAMETERS; >+ >+ /** >+ * The feature id for the '<em><b>Serializable</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM__SERIALIZABLE = EDATA_TYPE__SERIALIZABLE; >+ >+ /** >+ * The feature id for the '<em><b>ELiterals</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM__ELITERALS = EDATA_TYPE_FEATURE_COUNT + 0; >+ >+ /** >+ * The number of structural features of the '<em>EEnum</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_FEATURE_COUNT = EDATA_TYPE_FEATURE_COUNT + 1; >+ >+ /** >+ * The operation id for the '<em>EClass</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___ECLASS = EDATA_TYPE___ECLASS; >+ >+ /** >+ * The operation id for the '<em>EIs Proxy</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___EIS_PROXY = EDATA_TYPE___EIS_PROXY; >+ >+ /** >+ * The operation id for the '<em>EResource</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___ERESOURCE = EDATA_TYPE___ERESOURCE; >+ >+ /** >+ * The operation id for the '<em>EContainer</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___ECONTAINER = EDATA_TYPE___ECONTAINER; >+ >+ /** >+ * The operation id for the '<em>EContaining Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___ECONTAINING_FEATURE = EDATA_TYPE___ECONTAINING_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContainment Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___ECONTAINMENT_FEATURE = EDATA_TYPE___ECONTAINMENT_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___ECONTENTS = EDATA_TYPE___ECONTENTS; >+ >+ /** >+ * The operation id for the '<em>EAll Contents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___EALL_CONTENTS = EDATA_TYPE___EALL_CONTENTS; >+ >+ /** >+ * The operation id for the '<em>ECross References</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___ECROSS_REFERENCES = EDATA_TYPE___ECROSS_REFERENCES; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___EGET__ESTRUCTURALFEATURE = EDATA_TYPE___EGET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___EGET__ESTRUCTURALFEATURE_BOOLEAN = EDATA_TYPE___EGET__ESTRUCTURALFEATURE_BOOLEAN; >+ >+ /** >+ * The operation id for the '<em>ESet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___ESET__ESTRUCTURALFEATURE_OBJECT = EDATA_TYPE___ESET__ESTRUCTURALFEATURE_OBJECT; >+ >+ /** >+ * The operation id for the '<em>EIs Set</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___EIS_SET__ESTRUCTURALFEATURE = EDATA_TYPE___EIS_SET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EUnset</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___EUNSET__ESTRUCTURALFEATURE = EDATA_TYPE___EUNSET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EInvoke</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___EINVOKE__EOPERATION_ELIST = EDATA_TYPE___EINVOKE__EOPERATION_ELIST; >+ >+ /** >+ * The operation id for the '<em>Get EAnnotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___GET_EANNOTATION__STRING = EDATA_TYPE___GET_EANNOTATION__STRING; >+ >+ /** >+ * The operation id for the '<em>Is Instance</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___IS_INSTANCE__OBJECT = EDATA_TYPE___IS_INSTANCE__OBJECT; >+ >+ /** >+ * The operation id for the '<em>Get Classifier ID</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___GET_CLASSIFIER_ID = EDATA_TYPE___GET_CLASSIFIER_ID; >+ >+ /** >+ * The operation id for the '<em>Get EEnum Literal</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___GET_EENUM_LITERAL__STRING = EDATA_TYPE_OPERATION_COUNT + 0; >+ >+ /** >+ * The operation id for the '<em>Get EEnum Literal</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___GET_EENUM_LITERAL__INT = EDATA_TYPE_OPERATION_COUNT + 1; >+ >+ /** >+ * The operation id for the '<em>Get EEnum Literal By Literal</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM___GET_EENUM_LITERAL_BY_LITERAL__STRING = EDATA_TYPE_OPERATION_COUNT + 2; >+ >+ /** >+ * The number of operations of the '<em>EEnum</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_OPERATION_COUNT = EDATA_TYPE_OPERATION_COUNT + 3; >+ >+ /** >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL__EANNOTATIONS = ENAMED_ELEMENT__EANNOTATIONS; >+ >+ /** >+ * The feature id for the '<em><b>Name</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL__NAME = ENAMED_ELEMENT__NAME; >+ >+ /** >+ * The feature id for the '<em><b>Value</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL__VALUE = ENAMED_ELEMENT_FEATURE_COUNT + 0; >+ >+ /** >+ * The feature id for the '<em><b>Instance</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL__INSTANCE = ENAMED_ELEMENT_FEATURE_COUNT + 1; >+ >+ /** >+ * The feature id for the '<em><b>Literal</b></em>' attribute. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL__LITERAL = ENAMED_ELEMENT_FEATURE_COUNT + 2; >+ >+ /** >+ * The feature id for the '<em><b>EEnum</b></em>' container reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL__EENUM = ENAMED_ELEMENT_FEATURE_COUNT + 3; >+ >+ /** >+ * The number of structural features of the '<em>EEnum Literal</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL_FEATURE_COUNT = ENAMED_ELEMENT_FEATURE_COUNT + 4; >+ >+ /** >+ * The operation id for the '<em>EClass</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___ECLASS = ENAMED_ELEMENT___ECLASS; >+ >+ /** >+ * The operation id for the '<em>EIs Proxy</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___EIS_PROXY = ENAMED_ELEMENT___EIS_PROXY; >+ >+ /** >+ * The operation id for the '<em>EResource</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___ERESOURCE = ENAMED_ELEMENT___ERESOURCE; >+ >+ /** >+ * The operation id for the '<em>EContainer</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___ECONTAINER = ENAMED_ELEMENT___ECONTAINER; >+ >+ /** >+ * The operation id for the '<em>EContaining Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___ECONTAINING_FEATURE = ENAMED_ELEMENT___ECONTAINING_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContainment Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___ECONTAINMENT_FEATURE = ENAMED_ELEMENT___ECONTAINMENT_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___ECONTENTS = ENAMED_ELEMENT___ECONTENTS; >+ >+ /** >+ * The operation id for the '<em>EAll Contents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___EALL_CONTENTS = ENAMED_ELEMENT___EALL_CONTENTS; >+ >+ /** >+ * The operation id for the '<em>ECross References</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___ECROSS_REFERENCES = ENAMED_ELEMENT___ECROSS_REFERENCES; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___EGET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EGET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___EGET__ESTRUCTURALFEATURE_BOOLEAN = ENAMED_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN; >+ >+ /** >+ * The operation id for the '<em>ESet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___ESET__ESTRUCTURALFEATURE_OBJECT = ENAMED_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT; >+ >+ /** >+ * The operation id for the '<em>EIs Set</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___EIS_SET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EIS_SET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EUnset</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___EUNSET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EUNSET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EInvoke</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___EINVOKE__EOPERATION_ELIST = ENAMED_ELEMENT___EINVOKE__EOPERATION_ELIST; >+ >+ /** >+ * The operation id for the '<em>Get EAnnotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL___GET_EANNOTATION__STRING = ENAMED_ELEMENT___GET_EANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>EEnum Literal</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EENUM_LITERAL_OPERATION_COUNT = ENAMED_ELEMENT_OPERATION_COUNT + 0; >+ >+ /** >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY__EANNOTATIONS = EMODEL_ELEMENT__EANNOTATIONS; >+ >+ /** >+ * The feature id for the '<em><b>EPackage</b></em>' reference. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY__EPACKAGE = EMODEL_ELEMENT_FEATURE_COUNT + 0; >+ >+ /** >+ * The number of structural features of the '<em>EFactory</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY_FEATURE_COUNT = EMODEL_ELEMENT_FEATURE_COUNT + 1; >+ >+ /** >+ * The operation id for the '<em>EClass</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY___ECLASS = EMODEL_ELEMENT___ECLASS; >+ >+ /** >+ * The operation id for the '<em>EIs Proxy</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY___EIS_PROXY = EMODEL_ELEMENT___EIS_PROXY; >+ >+ /** >+ * The operation id for the '<em>EResource</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY___ERESOURCE = EMODEL_ELEMENT___ERESOURCE; >+ >+ /** >+ * The operation id for the '<em>EContainer</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY___ECONTAINER = EMODEL_ELEMENT___ECONTAINER; >+ >+ /** >+ * The operation id for the '<em>EContaining Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY___ECONTAINING_FEATURE = EMODEL_ELEMENT___ECONTAINING_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContainment Feature</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY___ECONTAINMENT_FEATURE = EMODEL_ELEMENT___ECONTAINMENT_FEATURE; >+ >+ /** >+ * The operation id for the '<em>EContents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY___ECONTENTS = EMODEL_ELEMENT___ECONTENTS; >+ >+ /** >+ * The operation id for the '<em>EAll Contents</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY___EALL_CONTENTS = EMODEL_ELEMENT___EALL_CONTENTS; >+ >+ /** >+ * The operation id for the '<em>ECross References</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY___ECROSS_REFERENCES = EMODEL_ELEMENT___ECROSS_REFERENCES; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY___EGET__ESTRUCTURALFEATURE = EMODEL_ELEMENT___EGET__ESTRUCTURALFEATURE; >+ >+ /** >+ * The operation id for the '<em>EGet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY___EGET__ESTRUCTURALFEATURE_BOOLEAN = EMODEL_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN; >+ >+ /** >+ * The operation id for the '<em>ESet</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY___ESET__ESTRUCTURALFEATURE_OBJECT = EMODEL_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT; >+ >+ /** >+ * The operation id for the '<em>EIs Set</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int EFACTORY___EIS_SET__ESTRUCTURALFEATURE = EMODEL_ELEMENT___EIS_SET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>Name</b></em>' attribute. >+ * The operation id for the '<em>EUnset</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__NAME = ETYPED_ELEMENT__NAME; >+ int EFACTORY___EUNSET__ESTRUCTURALFEATURE = EMODEL_ELEMENT___EUNSET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>Ordered</b></em>' attribute. >+ * The operation id for the '<em>EInvoke</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__ORDERED = ETYPED_ELEMENT__ORDERED; >+ int EFACTORY___EINVOKE__EOPERATION_ELIST = EMODEL_ELEMENT___EINVOKE__EOPERATION_ELIST; > > /** >- * The feature id for the '<em><b>Unique</b></em>' attribute. >+ * The operation id for the '<em>Get EAnnotation</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__UNIQUE = ETYPED_ELEMENT__UNIQUE; >+ int EFACTORY___GET_EANNOTATION__STRING = EMODEL_ELEMENT___GET_EANNOTATION__STRING; > > /** >- * The feature id for the '<em><b>Lower Bound</b></em>' attribute. >+ * The operation id for the '<em>Create</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__LOWER_BOUND = ETYPED_ELEMENT__LOWER_BOUND; >+ int EFACTORY___CREATE__ECLASS = EMODEL_ELEMENT_OPERATION_COUNT + 0; > > /** >- * The feature id for the '<em><b>Upper Bound</b></em>' attribute. >+ * The operation id for the '<em>Create From String</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__UPPER_BOUND = ETYPED_ELEMENT__UPPER_BOUND; >+ int EFACTORY___CREATE_FROM_STRING__EDATATYPE_STRING = EMODEL_ELEMENT_OPERATION_COUNT + 1; > > /** >- * The feature id for the '<em><b>Many</b></em>' attribute. >+ * The operation id for the '<em>Convert To String</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__MANY = ETYPED_ELEMENT__MANY; >+ int EFACTORY___CONVERT_TO_STRING__EDATATYPE_OBJECT = EMODEL_ELEMENT_OPERATION_COUNT + 2; > > /** >- * The feature id for the '<em><b>Required</b></em>' attribute. >+ * The number of operations of the '<em>EFactory</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__REQUIRED = ETYPED_ELEMENT__REQUIRED; >+ int EFACTORY_OPERATION_COUNT = EMODEL_ELEMENT_OPERATION_COUNT + 3; > > /** >- * The feature id for the '<em><b>EType</b></em>' reference. >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__ETYPE = ETYPED_ELEMENT__ETYPE; >+ int EOPERATION__EANNOTATIONS = ETYPED_ELEMENT__EANNOTATIONS; > > /** >- * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference. >+ * The feature id for the '<em><b>Name</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__EGENERIC_TYPE = ETYPED_ELEMENT__EGENERIC_TYPE; >+ int EOPERATION__NAME = ETYPED_ELEMENT__NAME; > > /** >- * The feature id for the '<em><b>Changeable</b></em>' attribute. >+ * The feature id for the '<em><b>Ordered</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__CHANGEABLE = ETYPED_ELEMENT_FEATURE_COUNT + 0; >+ int EOPERATION__ORDERED = ETYPED_ELEMENT__ORDERED; > > /** >- * The feature id for the '<em><b>Volatile</b></em>' attribute. >+ * The feature id for the '<em><b>Unique</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__VOLATILE = ETYPED_ELEMENT_FEATURE_COUNT + 1; >+ int EOPERATION__UNIQUE = ETYPED_ELEMENT__UNIQUE; > > /** >- * The feature id for the '<em><b>Transient</b></em>' attribute. >+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__TRANSIENT = ETYPED_ELEMENT_FEATURE_COUNT + 2; >+ int EOPERATION__LOWER_BOUND = ETYPED_ELEMENT__LOWER_BOUND; > > /** >- * The feature id for the '<em><b>Default Value Literal</b></em>' attribute. >+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__DEFAULT_VALUE_LITERAL = ETYPED_ELEMENT_FEATURE_COUNT + 3; >+ int EOPERATION__UPPER_BOUND = ETYPED_ELEMENT__UPPER_BOUND; > > /** >- * The feature id for the '<em><b>Default Value</b></em>' attribute. >+ * The feature id for the '<em><b>Many</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__DEFAULT_VALUE = ETYPED_ELEMENT_FEATURE_COUNT + 4; >+ int EOPERATION__MANY = ETYPED_ELEMENT__MANY; > > /** >- * The feature id for the '<em><b>Unsettable</b></em>' attribute. >+ * The feature id for the '<em><b>Required</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__UNSETTABLE = ETYPED_ELEMENT_FEATURE_COUNT + 5; >+ int EOPERATION__REQUIRED = ETYPED_ELEMENT__REQUIRED; > > /** >- * The feature id for the '<em><b>Derived</b></em>' attribute. >+ * The feature id for the '<em><b>EType</b></em>' reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__DERIVED = ETYPED_ELEMENT_FEATURE_COUNT + 6; >+ int EOPERATION__ETYPE = ETYPED_ELEMENT__ETYPE; > > /** >- * The feature id for the '<em><b>EContaining Class</b></em>' container reference. >+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE__ECONTAINING_CLASS = ETYPED_ELEMENT_FEATURE_COUNT + 7; >+ int EOPERATION__EGENERIC_TYPE = ETYPED_ELEMENT__EGENERIC_TYPE; > > /** >- * The number of structural features of the '<em>EStructural Feature</em>' class. >+ * The feature id for the '<em><b>EContaining Class</b></em>' container reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRUCTURAL_FEATURE_FEATURE_COUNT = ETYPED_ELEMENT_FEATURE_COUNT + 8; >+ int EOPERATION__ECONTAINING_CLASS = ETYPED_ELEMENT_FEATURE_COUNT + 0; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__EANNOTATIONS = ESTRUCTURAL_FEATURE__EANNOTATIONS; >+ int EOPERATION__ETYPE_PARAMETERS = ETYPED_ELEMENT_FEATURE_COUNT + 1; > > /** >- * The feature id for the '<em><b>Name</b></em>' attribute. >+ * The feature id for the '<em><b>EParameters</b></em>' containment reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__NAME = ESTRUCTURAL_FEATURE__NAME; >+ int EOPERATION__EPARAMETERS = ETYPED_ELEMENT_FEATURE_COUNT + 2; > > /** >- * The feature id for the '<em><b>Ordered</b></em>' attribute. >+ * The feature id for the '<em><b>EExceptions</b></em>' reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__ORDERED = ESTRUCTURAL_FEATURE__ORDERED; >+ int EOPERATION__EEXCEPTIONS = ETYPED_ELEMENT_FEATURE_COUNT + 3; > > /** >- * The feature id for the '<em><b>Unique</b></em>' attribute. >+ * The feature id for the '<em><b>EGeneric Exceptions</b></em>' containment reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__UNIQUE = ESTRUCTURAL_FEATURE__UNIQUE; >+ int EOPERATION__EGENERIC_EXCEPTIONS = ETYPED_ELEMENT_FEATURE_COUNT + 4; > > /** >- * The feature id for the '<em><b>Lower Bound</b></em>' attribute. >+ * The number of structural features of the '<em>EOperation</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__LOWER_BOUND = ESTRUCTURAL_FEATURE__LOWER_BOUND; >+ int EOPERATION_FEATURE_COUNT = ETYPED_ELEMENT_FEATURE_COUNT + 5; > > /** >- * The feature id for the '<em><b>Upper Bound</b></em>' attribute. >+ * The operation id for the '<em>EClass</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__UPPER_BOUND = ESTRUCTURAL_FEATURE__UPPER_BOUND; >+ int EOPERATION___ECLASS = ETYPED_ELEMENT___ECLASS; > > /** >- * The feature id for the '<em><b>Many</b></em>' attribute. >+ * The operation id for the '<em>EIs Proxy</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__MANY = ESTRUCTURAL_FEATURE__MANY; >+ int EOPERATION___EIS_PROXY = ETYPED_ELEMENT___EIS_PROXY; > > /** >- * The feature id for the '<em><b>Required</b></em>' attribute. >+ * The operation id for the '<em>EResource</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__REQUIRED = ESTRUCTURAL_FEATURE__REQUIRED; >+ int EOPERATION___ERESOURCE = ETYPED_ELEMENT___ERESOURCE; > > /** >- * The feature id for the '<em><b>EType</b></em>' reference. >+ * The operation id for the '<em>EContainer</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__ETYPE = ESTRUCTURAL_FEATURE__ETYPE; >+ int EOPERATION___ECONTAINER = ETYPED_ELEMENT___ECONTAINER; > > /** >- * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference. >+ * The operation id for the '<em>EContaining Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__EGENERIC_TYPE = ESTRUCTURAL_FEATURE__EGENERIC_TYPE; >+ int EOPERATION___ECONTAINING_FEATURE = ETYPED_ELEMENT___ECONTAINING_FEATURE; > > /** >- * The feature id for the '<em><b>Changeable</b></em>' attribute. >+ * The operation id for the '<em>EContainment Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__CHANGEABLE = ESTRUCTURAL_FEATURE__CHANGEABLE; >+ int EOPERATION___ECONTAINMENT_FEATURE = ETYPED_ELEMENT___ECONTAINMENT_FEATURE; > > /** >- * The feature id for the '<em><b>Volatile</b></em>' attribute. >+ * The operation id for the '<em>EContents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__VOLATILE = ESTRUCTURAL_FEATURE__VOLATILE; >+ int EOPERATION___ECONTENTS = ETYPED_ELEMENT___ECONTENTS; > > /** >- * The feature id for the '<em><b>Transient</b></em>' attribute. >+ * The operation id for the '<em>EAll Contents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__TRANSIENT = ESTRUCTURAL_FEATURE__TRANSIENT; >+ int EOPERATION___EALL_CONTENTS = ETYPED_ELEMENT___EALL_CONTENTS; > > /** >- * The feature id for the '<em><b>Default Value Literal</b></em>' attribute. >+ * The operation id for the '<em>ECross References</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__DEFAULT_VALUE_LITERAL = ESTRUCTURAL_FEATURE__DEFAULT_VALUE_LITERAL; >+ int EOPERATION___ECROSS_REFERENCES = ETYPED_ELEMENT___ECROSS_REFERENCES; > > /** >- * The feature id for the '<em><b>Default Value</b></em>' attribute. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__DEFAULT_VALUE = ESTRUCTURAL_FEATURE__DEFAULT_VALUE; >+ int EOPERATION___EGET__ESTRUCTURALFEATURE = ETYPED_ELEMENT___EGET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>Unsettable</b></em>' attribute. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__UNSETTABLE = ESTRUCTURAL_FEATURE__UNSETTABLE; >+ int EOPERATION___EGET__ESTRUCTURALFEATURE_BOOLEAN = ETYPED_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN; > > /** >- * The feature id for the '<em><b>Derived</b></em>' attribute. >+ * The operation id for the '<em>ESet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__DERIVED = ESTRUCTURAL_FEATURE__DERIVED; >+ int EOPERATION___ESET__ESTRUCTURALFEATURE_OBJECT = ETYPED_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT; > > /** >- * The feature id for the '<em><b>EContaining Class</b></em>' container reference. >+ * The operation id for the '<em>EIs Set</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__ECONTAINING_CLASS = ESTRUCTURAL_FEATURE__ECONTAINING_CLASS; >+ int EOPERATION___EIS_SET__ESTRUCTURALFEATURE = ETYPED_ELEMENT___EIS_SET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>ID</b></em>' attribute. >+ * The operation id for the '<em>EUnset</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__ID = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 0; >+ int EOPERATION___EUNSET__ESTRUCTURALFEATURE = ETYPED_ELEMENT___EUNSET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>EAttribute Type</b></em>' reference. >+ * The operation id for the '<em>EInvoke</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE__EATTRIBUTE_TYPE = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 1; >+ int EOPERATION___EINVOKE__EOPERATION_ELIST = ETYPED_ELEMENT___EINVOKE__EOPERATION_ELIST; > > /** >- * The number of structural features of the '<em>EAttribute</em>' class. >+ * The operation id for the '<em>Get EAnnotation</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EATTRIBUTE_FEATURE_COUNT = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 2; >+ int EOPERATION___GET_EANNOTATION__STRING = ETYPED_ELEMENT___GET_EANNOTATION__STRING; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EAnnotationImpl <em>EAnnotation</em>}' class. >+ * The operation id for the '<em>Get Operation ID</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EAnnotationImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEAnnotation() > * @generated >+ * @ordered > */ >- int EANNOTATION = 1; >+ int EOPERATION___GET_OPERATION_ID = ETYPED_ELEMENT_OPERATION_COUNT + 0; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The number of operations of the '<em>EOperation</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EANNOTATION__EANNOTATIONS = EMODEL_ELEMENT__EANNOTATIONS; >+ int EOPERATION_OPERATION_COUNT = ETYPED_ELEMENT_OPERATION_COUNT + 1; > > /** >- * The feature id for the '<em><b>Source</b></em>' attribute. >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EANNOTATION__SOURCE = EMODEL_ELEMENT_FEATURE_COUNT + 0; >+ int EPACKAGE__EANNOTATIONS = ENAMED_ELEMENT__EANNOTATIONS; > > /** >- * The feature id for the '<em><b>Details</b></em>' map. >+ * The feature id for the '<em><b>Name</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EANNOTATION__DETAILS = EMODEL_ELEMENT_FEATURE_COUNT + 1; >+ int EPACKAGE__NAME = ENAMED_ELEMENT__NAME; > > /** >- * The feature id for the '<em><b>EModel Element</b></em>' container reference. >+ * The feature id for the '<em><b>Ns URI</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EANNOTATION__EMODEL_ELEMENT = EMODEL_ELEMENT_FEATURE_COUNT + 2; >+ int EPACKAGE__NS_URI = ENAMED_ELEMENT_FEATURE_COUNT + 0; > > /** >- * The feature id for the '<em><b>Contents</b></em>' containment reference list. >+ * The feature id for the '<em><b>Ns Prefix</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EANNOTATION__CONTENTS = EMODEL_ELEMENT_FEATURE_COUNT + 3; >+ int EPACKAGE__NS_PREFIX = ENAMED_ELEMENT_FEATURE_COUNT + 1; > > /** >- * The feature id for the '<em><b>References</b></em>' reference list. >+ * The feature id for the '<em><b>EFactory Instance</b></em>' reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EANNOTATION__REFERENCES = EMODEL_ELEMENT_FEATURE_COUNT + 4; >+ int EPACKAGE__EFACTORY_INSTANCE = ENAMED_ELEMENT_FEATURE_COUNT + 2; > > /** >- * The number of structural features of the '<em>EAnnotation</em>' class. >+ * The feature id for the '<em><b>EClassifiers</b></em>' containment reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EANNOTATION_FEATURE_COUNT = EMODEL_ELEMENT_FEATURE_COUNT + 5; >+ int EPACKAGE__ECLASSIFIERS = ENAMED_ELEMENT_FEATURE_COUNT + 3; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EClassifierImpl <em>EClassifier</em>}' class. >+ * The feature id for the '<em><b>ESubpackages</b></em>' containment reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EClassifierImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEClassifier() > * @generated >+ * @ordered > */ >- int ECLASSIFIER = 3; >+ int EPACKAGE__ESUBPACKAGES = ENAMED_ELEMENT_FEATURE_COUNT + 4; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The feature id for the '<em><b>ESuper Package</b></em>' container reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASSIFIER__EANNOTATIONS = ENAMED_ELEMENT__EANNOTATIONS; >+ int EPACKAGE__ESUPER_PACKAGE = ENAMED_ELEMENT_FEATURE_COUNT + 5; > > /** >- * The feature id for the '<em><b>Name</b></em>' attribute. >+ * The number of structural features of the '<em>EPackage</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASSIFIER__NAME = ENAMED_ELEMENT__NAME; >+ int EPACKAGE_FEATURE_COUNT = ENAMED_ELEMENT_FEATURE_COUNT + 6; > > /** >- * The feature id for the '<em><b>Instance Class Name</b></em>' attribute. >+ * The operation id for the '<em>EClass</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASSIFIER__INSTANCE_CLASS_NAME = ENAMED_ELEMENT_FEATURE_COUNT + 0; >+ int EPACKAGE___ECLASS = ENAMED_ELEMENT___ECLASS; > > /** >- * The feature id for the '<em><b>Instance Class</b></em>' attribute. >+ * The operation id for the '<em>EIs Proxy</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASSIFIER__INSTANCE_CLASS = ENAMED_ELEMENT_FEATURE_COUNT + 1; >+ int EPACKAGE___EIS_PROXY = ENAMED_ELEMENT___EIS_PROXY; > > /** >- * The feature id for the '<em><b>Default Value</b></em>' attribute. >+ * The operation id for the '<em>EResource</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASSIFIER__DEFAULT_VALUE = ENAMED_ELEMENT_FEATURE_COUNT + 2; >+ int EPACKAGE___ERESOURCE = ENAMED_ELEMENT___ERESOURCE; > > /** >- * The feature id for the '<em><b>Instance Type Name</b></em>' attribute. >+ * The operation id for the '<em>EContainer</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASSIFIER__INSTANCE_TYPE_NAME = ENAMED_ELEMENT_FEATURE_COUNT + 3; >+ int EPACKAGE___ECONTAINER = ENAMED_ELEMENT___ECONTAINER; > > /** >- * The feature id for the '<em><b>EPackage</b></em>' container reference. >+ * The operation id for the '<em>EContaining Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASSIFIER__EPACKAGE = ENAMED_ELEMENT_FEATURE_COUNT + 4; >+ int EPACKAGE___ECONTAINING_FEATURE = ENAMED_ELEMENT___ECONTAINING_FEATURE; > > /** >- * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list. >+ * The operation id for the '<em>EContainment Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASSIFIER__ETYPE_PARAMETERS = ENAMED_ELEMENT_FEATURE_COUNT + 5; >+ int EPACKAGE___ECONTAINMENT_FEATURE = ENAMED_ELEMENT___ECONTAINMENT_FEATURE; > > /** >- * The number of structural features of the '<em>EClassifier</em>' class. >+ * The operation id for the '<em>EContents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASSIFIER_FEATURE_COUNT = ENAMED_ELEMENT_FEATURE_COUNT + 6; >+ int EPACKAGE___ECONTENTS = ENAMED_ELEMENT___ECONTENTS; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The operation id for the '<em>EAll Contents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EANNOTATIONS = ECLASSIFIER__EANNOTATIONS; >+ int EPACKAGE___EALL_CONTENTS = ENAMED_ELEMENT___EALL_CONTENTS; > > /** >- * The feature id for the '<em><b>Name</b></em>' attribute. >+ * The operation id for the '<em>ECross References</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__NAME = ECLASSIFIER__NAME; >+ int EPACKAGE___ECROSS_REFERENCES = ENAMED_ELEMENT___ECROSS_REFERENCES; > > /** >- * The feature id for the '<em><b>Instance Class Name</b></em>' attribute. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__INSTANCE_CLASS_NAME = ECLASSIFIER__INSTANCE_CLASS_NAME; >+ int EPACKAGE___EGET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EGET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>Instance Class</b></em>' attribute. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__INSTANCE_CLASS = ECLASSIFIER__INSTANCE_CLASS; >+ int EPACKAGE___EGET__ESTRUCTURALFEATURE_BOOLEAN = ENAMED_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN; > > /** >- * The feature id for the '<em><b>Default Value</b></em>' attribute. >+ * The operation id for the '<em>ESet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__DEFAULT_VALUE = ECLASSIFIER__DEFAULT_VALUE; >+ int EPACKAGE___ESET__ESTRUCTURALFEATURE_OBJECT = ENAMED_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT; > > /** >- * The feature id for the '<em><b>Instance Type Name</b></em>' attribute. >+ * The operation id for the '<em>EIs Set</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__INSTANCE_TYPE_NAME = ECLASSIFIER__INSTANCE_TYPE_NAME; >+ int EPACKAGE___EIS_SET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EIS_SET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>EPackage</b></em>' container reference. >+ * The operation id for the '<em>EUnset</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EPACKAGE = ECLASSIFIER__EPACKAGE; >+ int EPACKAGE___EUNSET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EUNSET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list. >+ * The operation id for the '<em>EInvoke</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__ETYPE_PARAMETERS = ECLASSIFIER__ETYPE_PARAMETERS; >+ int EPACKAGE___EINVOKE__EOPERATION_ELIST = ENAMED_ELEMENT___EINVOKE__EOPERATION_ELIST; > > /** >- * The feature id for the '<em><b>Abstract</b></em>' attribute. >+ * The operation id for the '<em>Get EAnnotation</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__ABSTRACT = ECLASSIFIER_FEATURE_COUNT + 0; >+ int EPACKAGE___GET_EANNOTATION__STRING = ENAMED_ELEMENT___GET_EANNOTATION__STRING; > > /** >- * The feature id for the '<em><b>Interface</b></em>' attribute. >+ * The operation id for the '<em>Get EClassifier</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__INTERFACE = ECLASSIFIER_FEATURE_COUNT + 1; >+ int EPACKAGE___GET_ECLASSIFIER__STRING = ENAMED_ELEMENT_OPERATION_COUNT + 0; > > /** >- * The feature id for the '<em><b>ESuper Types</b></em>' reference list. >+ * The number of operations of the '<em>EPackage</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__ESUPER_TYPES = ECLASSIFIER_FEATURE_COUNT + 2; >+ int EPACKAGE_OPERATION_COUNT = ENAMED_ELEMENT_OPERATION_COUNT + 1; > > /** >- * The feature id for the '<em><b>EOperations</b></em>' containment reference list. >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EOPERATIONS = ECLASSIFIER_FEATURE_COUNT + 3; >+ int EPARAMETER__EANNOTATIONS = ETYPED_ELEMENT__EANNOTATIONS; > > /** >- * The feature id for the '<em><b>EAll Attributes</b></em>' reference list. >+ * The feature id for the '<em><b>Name</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EALL_ATTRIBUTES = ECLASSIFIER_FEATURE_COUNT + 4; >+ int EPARAMETER__NAME = ETYPED_ELEMENT__NAME; > > /** >- * The feature id for the '<em><b>EAll References</b></em>' reference list. >+ * The feature id for the '<em><b>Ordered</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EALL_REFERENCES = ECLASSIFIER_FEATURE_COUNT + 5; >+ int EPARAMETER__ORDERED = ETYPED_ELEMENT__ORDERED; > > /** >- * The feature id for the '<em><b>EReferences</b></em>' reference list. >+ * The feature id for the '<em><b>Unique</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EREFERENCES = ECLASSIFIER_FEATURE_COUNT + 6; >+ int EPARAMETER__UNIQUE = ETYPED_ELEMENT__UNIQUE; > > /** >- * The feature id for the '<em><b>EAttributes</b></em>' reference list. >+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EATTRIBUTES = ECLASSIFIER_FEATURE_COUNT + 7; >+ int EPARAMETER__LOWER_BOUND = ETYPED_ELEMENT__LOWER_BOUND; > > /** >- * The feature id for the '<em><b>EAll Containments</b></em>' reference list. >+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EALL_CONTAINMENTS = ECLASSIFIER_FEATURE_COUNT + 8; >+ int EPARAMETER__UPPER_BOUND = ETYPED_ELEMENT__UPPER_BOUND; > > /** >- * The feature id for the '<em><b>EAll Operations</b></em>' reference list. >+ * The feature id for the '<em><b>Many</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EALL_OPERATIONS = ECLASSIFIER_FEATURE_COUNT + 9; >+ int EPARAMETER__MANY = ETYPED_ELEMENT__MANY; > > /** >- * The feature id for the '<em><b>EAll Structural Features</b></em>' reference list. >+ * The feature id for the '<em><b>Required</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EALL_STRUCTURAL_FEATURES = ECLASSIFIER_FEATURE_COUNT + 10; >+ int EPARAMETER__REQUIRED = ETYPED_ELEMENT__REQUIRED; > > /** >- * The feature id for the '<em><b>EAll Super Types</b></em>' reference list. >+ * The feature id for the '<em><b>EType</b></em>' reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EALL_SUPER_TYPES = ECLASSIFIER_FEATURE_COUNT + 11; >+ int EPARAMETER__ETYPE = ETYPED_ELEMENT__ETYPE; > > /** >- * The feature id for the '<em><b>EID Attribute</b></em>' reference. >+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EID_ATTRIBUTE = ECLASSIFIER_FEATURE_COUNT + 12; >+ int EPARAMETER__EGENERIC_TYPE = ETYPED_ELEMENT__EGENERIC_TYPE; > > /** >- * The feature id for the '<em><b>EStructural Features</b></em>' containment reference list. >+ * The feature id for the '<em><b>EOperation</b></em>' container reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__ESTRUCTURAL_FEATURES = ECLASSIFIER_FEATURE_COUNT + 13; >+ int EPARAMETER__EOPERATION = ETYPED_ELEMENT_FEATURE_COUNT + 0; > > /** >- * The feature id for the '<em><b>EGeneric Super Types</b></em>' containment reference list. >+ * The number of structural features of the '<em>EParameter</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EGENERIC_SUPER_TYPES = ECLASSIFIER_FEATURE_COUNT + 14; >+ int EPARAMETER_FEATURE_COUNT = ETYPED_ELEMENT_FEATURE_COUNT + 1; > > /** >- * The feature id for the '<em><b>EAll Generic Super Types</b></em>' reference list. >+ * The operation id for the '<em>EClass</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS__EALL_GENERIC_SUPER_TYPES = ECLASSIFIER_FEATURE_COUNT + 15; >+ int EPARAMETER___ECLASS = ETYPED_ELEMENT___ECLASS; > > /** >- * The number of structural features of the '<em>EClass</em>' class. >+ * The operation id for the '<em>EIs Proxy</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ECLASS_FEATURE_COUNT = ECLASSIFIER_FEATURE_COUNT + 16; >+ int EPARAMETER___EIS_PROXY = ETYPED_ELEMENT___EIS_PROXY; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The operation id for the '<em>EResource</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EDATA_TYPE__EANNOTATIONS = ECLASSIFIER__EANNOTATIONS; >+ int EPARAMETER___ERESOURCE = ETYPED_ELEMENT___ERESOURCE; > > /** >- * The feature id for the '<em><b>Name</b></em>' attribute. >+ * The operation id for the '<em>EContainer</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EDATA_TYPE__NAME = ECLASSIFIER__NAME; >+ int EPARAMETER___ECONTAINER = ETYPED_ELEMENT___ECONTAINER; > > /** >- * The feature id for the '<em><b>Instance Class Name</b></em>' attribute. >+ * The operation id for the '<em>EContaining Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EDATA_TYPE__INSTANCE_CLASS_NAME = ECLASSIFIER__INSTANCE_CLASS_NAME; >+ int EPARAMETER___ECONTAINING_FEATURE = ETYPED_ELEMENT___ECONTAINING_FEATURE; > > /** >- * The feature id for the '<em><b>Instance Class</b></em>' attribute. >+ * The operation id for the '<em>EContainment Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EDATA_TYPE__INSTANCE_CLASS = ECLASSIFIER__INSTANCE_CLASS; >+ int EPARAMETER___ECONTAINMENT_FEATURE = ETYPED_ELEMENT___ECONTAINMENT_FEATURE; > > /** >- * The feature id for the '<em><b>Default Value</b></em>' attribute. >+ * The operation id for the '<em>EContents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EDATA_TYPE__DEFAULT_VALUE = ECLASSIFIER__DEFAULT_VALUE; >+ int EPARAMETER___ECONTENTS = ETYPED_ELEMENT___ECONTENTS; > > /** >- * The feature id for the '<em><b>Instance Type Name</b></em>' attribute. >+ * The operation id for the '<em>EAll Contents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EDATA_TYPE__INSTANCE_TYPE_NAME = ECLASSIFIER__INSTANCE_TYPE_NAME; >+ int EPARAMETER___EALL_CONTENTS = ETYPED_ELEMENT___EALL_CONTENTS; > > /** >- * The feature id for the '<em><b>EPackage</b></em>' container reference. >+ * The operation id for the '<em>ECross References</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EDATA_TYPE__EPACKAGE = ECLASSIFIER__EPACKAGE; >+ int EPARAMETER___ECROSS_REFERENCES = ETYPED_ELEMENT___ECROSS_REFERENCES; > > /** >- * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EDATA_TYPE__ETYPE_PARAMETERS = ECLASSIFIER__ETYPE_PARAMETERS; >+ int EPARAMETER___EGET__ESTRUCTURALFEATURE = ETYPED_ELEMENT___EGET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>Serializable</b></em>' attribute. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EDATA_TYPE__SERIALIZABLE = ECLASSIFIER_FEATURE_COUNT + 0; >+ int EPARAMETER___EGET__ESTRUCTURALFEATURE_BOOLEAN = ETYPED_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN; > > /** >- * The number of structural features of the '<em>EData Type</em>' class. >+ * The operation id for the '<em>ESet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EDATA_TYPE_FEATURE_COUNT = ECLASSIFIER_FEATURE_COUNT + 1; >+ int EPARAMETER___ESET__ESTRUCTURALFEATURE_OBJECT = ETYPED_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The operation id for the '<em>EIs Set</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM__EANNOTATIONS = EDATA_TYPE__EANNOTATIONS; >+ int EPARAMETER___EIS_SET__ESTRUCTURALFEATURE = ETYPED_ELEMENT___EIS_SET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>Name</b></em>' attribute. >+ * The operation id for the '<em>EUnset</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM__NAME = EDATA_TYPE__NAME; >+ int EPARAMETER___EUNSET__ESTRUCTURALFEATURE = ETYPED_ELEMENT___EUNSET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>Instance Class Name</b></em>' attribute. >+ * The operation id for the '<em>EInvoke</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM__INSTANCE_CLASS_NAME = EDATA_TYPE__INSTANCE_CLASS_NAME; >+ int EPARAMETER___EINVOKE__EOPERATION_ELIST = ETYPED_ELEMENT___EINVOKE__EOPERATION_ELIST; > > /** >- * The feature id for the '<em><b>Instance Class</b></em>' attribute. >+ * The operation id for the '<em>Get EAnnotation</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM__INSTANCE_CLASS = EDATA_TYPE__INSTANCE_CLASS; >+ int EPARAMETER___GET_EANNOTATION__STRING = ETYPED_ELEMENT___GET_EANNOTATION__STRING; > > /** >- * The feature id for the '<em><b>Default Value</b></em>' attribute. >+ * The number of operations of the '<em>EParameter</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM__DEFAULT_VALUE = EDATA_TYPE__DEFAULT_VALUE; >+ int EPARAMETER_OPERATION_COUNT = ETYPED_ELEMENT_OPERATION_COUNT + 0; > > /** >- * The feature id for the '<em><b>Instance Type Name</b></em>' attribute. >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM__INSTANCE_TYPE_NAME = EDATA_TYPE__INSTANCE_TYPE_NAME; >+ int EREFERENCE__EANNOTATIONS = ESTRUCTURAL_FEATURE__EANNOTATIONS; > > /** >- * The feature id for the '<em><b>EPackage</b></em>' container reference. >+ * The feature id for the '<em><b>Name</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM__EPACKAGE = EDATA_TYPE__EPACKAGE; >+ int EREFERENCE__NAME = ESTRUCTURAL_FEATURE__NAME; > > /** >- * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list. >+ * The feature id for the '<em><b>Ordered</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM__ETYPE_PARAMETERS = EDATA_TYPE__ETYPE_PARAMETERS; >+ int EREFERENCE__ORDERED = ESTRUCTURAL_FEATURE__ORDERED; > > /** >- * The feature id for the '<em><b>Serializable</b></em>' attribute. >+ * The feature id for the '<em><b>Unique</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM__SERIALIZABLE = EDATA_TYPE__SERIALIZABLE; >+ int EREFERENCE__UNIQUE = ESTRUCTURAL_FEATURE__UNIQUE; > > /** >- * The feature id for the '<em><b>ELiterals</b></em>' containment reference list. >+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM__ELITERALS = EDATA_TYPE_FEATURE_COUNT + 0; >+ int EREFERENCE__LOWER_BOUND = ESTRUCTURAL_FEATURE__LOWER_BOUND; > > /** >- * The number of structural features of the '<em>EEnum</em>' class. >+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM_FEATURE_COUNT = EDATA_TYPE_FEATURE_COUNT + 1; >+ int EREFERENCE__UPPER_BOUND = ESTRUCTURAL_FEATURE__UPPER_BOUND; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The feature id for the '<em><b>Many</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM_LITERAL__EANNOTATIONS = ENAMED_ELEMENT__EANNOTATIONS; >+ int EREFERENCE__MANY = ESTRUCTURAL_FEATURE__MANY; > > /** >- * The feature id for the '<em><b>Name</b></em>' attribute. >+ * The feature id for the '<em><b>Required</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM_LITERAL__NAME = ENAMED_ELEMENT__NAME; >+ int EREFERENCE__REQUIRED = ESTRUCTURAL_FEATURE__REQUIRED; > > /** >- * The feature id for the '<em><b>Value</b></em>' attribute. >+ * The feature id for the '<em><b>EType</b></em>' reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM_LITERAL__VALUE = ENAMED_ELEMENT_FEATURE_COUNT + 0; >+ int EREFERENCE__ETYPE = ESTRUCTURAL_FEATURE__ETYPE; > > /** >- * The feature id for the '<em><b>Instance</b></em>' attribute. >+ * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM_LITERAL__INSTANCE = ENAMED_ELEMENT_FEATURE_COUNT + 1; >+ int EREFERENCE__EGENERIC_TYPE = ESTRUCTURAL_FEATURE__EGENERIC_TYPE; > > /** >- * The feature id for the '<em><b>Literal</b></em>' attribute. >+ * The feature id for the '<em><b>Changeable</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM_LITERAL__LITERAL = ENAMED_ELEMENT_FEATURE_COUNT + 2; >+ int EREFERENCE__CHANGEABLE = ESTRUCTURAL_FEATURE__CHANGEABLE; > > /** >- * The feature id for the '<em><b>EEnum</b></em>' container reference. >+ * The feature id for the '<em><b>Volatile</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM_LITERAL__EENUM = ENAMED_ELEMENT_FEATURE_COUNT + 3; >+ int EREFERENCE__VOLATILE = ESTRUCTURAL_FEATURE__VOLATILE; > > /** >- * The number of structural features of the '<em>EEnum Literal</em>' class. >+ * The feature id for the '<em><b>Transient</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EENUM_LITERAL_FEATURE_COUNT = ENAMED_ELEMENT_FEATURE_COUNT + 4; >+ int EREFERENCE__TRANSIENT = ESTRUCTURAL_FEATURE__TRANSIENT; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The feature id for the '<em><b>Default Value Literal</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EFACTORY__EANNOTATIONS = EMODEL_ELEMENT__EANNOTATIONS; >+ int EREFERENCE__DEFAULT_VALUE_LITERAL = ESTRUCTURAL_FEATURE__DEFAULT_VALUE_LITERAL; > > /** >- * The feature id for the '<em><b>EPackage</b></em>' reference. >+ * The feature id for the '<em><b>Default Value</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EFACTORY__EPACKAGE = EMODEL_ELEMENT_FEATURE_COUNT + 0; >+ int EREFERENCE__DEFAULT_VALUE = ESTRUCTURAL_FEATURE__DEFAULT_VALUE; > > /** >- * The number of structural features of the '<em>EFactory</em>' class. >+ * The feature id for the '<em><b>Unsettable</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EFACTORY_FEATURE_COUNT = EMODEL_ELEMENT_FEATURE_COUNT + 1; >+ int EREFERENCE__UNSETTABLE = ESTRUCTURAL_FEATURE__UNSETTABLE; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The feature id for the '<em><b>Derived</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__EANNOTATIONS = ETYPED_ELEMENT__EANNOTATIONS; >+ int EREFERENCE__DERIVED = ESTRUCTURAL_FEATURE__DERIVED; > > /** >- * The feature id for the '<em><b>Name</b></em>' attribute. >+ * The feature id for the '<em><b>EContaining Class</b></em>' container reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__NAME = ETYPED_ELEMENT__NAME; >+ int EREFERENCE__ECONTAINING_CLASS = ESTRUCTURAL_FEATURE__ECONTAINING_CLASS; > > /** >- * The feature id for the '<em><b>Ordered</b></em>' attribute. >+ * The feature id for the '<em><b>Containment</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__ORDERED = ETYPED_ELEMENT__ORDERED; >+ int EREFERENCE__CONTAINMENT = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 0; > > /** >- * The feature id for the '<em><b>Unique</b></em>' attribute. >+ * The feature id for the '<em><b>Container</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__UNIQUE = ETYPED_ELEMENT__UNIQUE; >+ int EREFERENCE__CONTAINER = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 1; > > /** >- * The feature id for the '<em><b>Lower Bound</b></em>' attribute. >+ * The feature id for the '<em><b>Resolve Proxies</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__LOWER_BOUND = ETYPED_ELEMENT__LOWER_BOUND; >+ int EREFERENCE__RESOLVE_PROXIES = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 2; > > /** >- * The feature id for the '<em><b>Upper Bound</b></em>' attribute. >+ * The feature id for the '<em><b>EOpposite</b></em>' reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__UPPER_BOUND = ETYPED_ELEMENT__UPPER_BOUND; >+ int EREFERENCE__EOPPOSITE = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 3; > > /** >- * The feature id for the '<em><b>Many</b></em>' attribute. >+ * The feature id for the '<em><b>EReference Type</b></em>' reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__MANY = ETYPED_ELEMENT__MANY; >+ int EREFERENCE__EREFERENCE_TYPE = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 4; > > /** >- * The feature id for the '<em><b>Required</b></em>' attribute. >+ * The feature id for the '<em><b>EKeys</b></em>' reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__REQUIRED = ETYPED_ELEMENT__REQUIRED; >+ int EREFERENCE__EKEYS = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 5; > > /** >- * The feature id for the '<em><b>EType</b></em>' reference. >+ * The number of structural features of the '<em>EReference</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__ETYPE = ETYPED_ELEMENT__ETYPE; >+ int EREFERENCE_FEATURE_COUNT = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 6; > > /** >- * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference. >+ * The operation id for the '<em>EClass</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__EGENERIC_TYPE = ETYPED_ELEMENT__EGENERIC_TYPE; >+ int EREFERENCE___ECLASS = ESTRUCTURAL_FEATURE___ECLASS; > > /** >- * The feature id for the '<em><b>EContaining Class</b></em>' container reference. >+ * The operation id for the '<em>EIs Proxy</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__ECONTAINING_CLASS = ETYPED_ELEMENT_FEATURE_COUNT + 0; >+ int EREFERENCE___EIS_PROXY = ESTRUCTURAL_FEATURE___EIS_PROXY; > > /** >- * The feature id for the '<em><b>EType Parameters</b></em>' containment reference list. >+ * The operation id for the '<em>EResource</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__ETYPE_PARAMETERS = ETYPED_ELEMENT_FEATURE_COUNT + 1; >+ int EREFERENCE___ERESOURCE = ESTRUCTURAL_FEATURE___ERESOURCE; > > /** >- * The feature id for the '<em><b>EParameters</b></em>' containment reference list. >+ * The operation id for the '<em>EContainer</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__EPARAMETERS = ETYPED_ELEMENT_FEATURE_COUNT + 2; >+ int EREFERENCE___ECONTAINER = ESTRUCTURAL_FEATURE___ECONTAINER; > > /** >- * The feature id for the '<em><b>EExceptions</b></em>' reference list. >+ * The operation id for the '<em>EContaining Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__EEXCEPTIONS = ETYPED_ELEMENT_FEATURE_COUNT + 3; >+ int EREFERENCE___ECONTAINING_FEATURE = ESTRUCTURAL_FEATURE___ECONTAINING_FEATURE; > > /** >- * The feature id for the '<em><b>EGeneric Exceptions</b></em>' containment reference list. >+ * The operation id for the '<em>EContainment Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION__EGENERIC_EXCEPTIONS = ETYPED_ELEMENT_FEATURE_COUNT + 4; >+ int EREFERENCE___ECONTAINMENT_FEATURE = ESTRUCTURAL_FEATURE___ECONTAINMENT_FEATURE; > > /** >- * The number of structural features of the '<em>EOperation</em>' class. >+ * The operation id for the '<em>EContents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EOPERATION_FEATURE_COUNT = ETYPED_ELEMENT_FEATURE_COUNT + 5; >+ int EREFERENCE___ECONTENTS = ESTRUCTURAL_FEATURE___ECONTENTS; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The operation id for the '<em>EAll Contents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPACKAGE__EANNOTATIONS = ENAMED_ELEMENT__EANNOTATIONS; >+ int EREFERENCE___EALL_CONTENTS = ESTRUCTURAL_FEATURE___EALL_CONTENTS; > > /** >- * The feature id for the '<em><b>Name</b></em>' attribute. >+ * The operation id for the '<em>ECross References</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPACKAGE__NAME = ENAMED_ELEMENT__NAME; >+ int EREFERENCE___ECROSS_REFERENCES = ESTRUCTURAL_FEATURE___ECROSS_REFERENCES; > > /** >- * The feature id for the '<em><b>Ns URI</b></em>' attribute. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPACKAGE__NS_URI = ENAMED_ELEMENT_FEATURE_COUNT + 0; >+ int EREFERENCE___EGET__ESTRUCTURALFEATURE = ESTRUCTURAL_FEATURE___EGET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>Ns Prefix</b></em>' attribute. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPACKAGE__NS_PREFIX = ENAMED_ELEMENT_FEATURE_COUNT + 1; >+ int EREFERENCE___EGET__ESTRUCTURALFEATURE_BOOLEAN = ESTRUCTURAL_FEATURE___EGET__ESTRUCTURALFEATURE_BOOLEAN; > > /** >- * The feature id for the '<em><b>EFactory Instance</b></em>' reference. >+ * The operation id for the '<em>ESet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPACKAGE__EFACTORY_INSTANCE = ENAMED_ELEMENT_FEATURE_COUNT + 2; >+ int EREFERENCE___ESET__ESTRUCTURALFEATURE_OBJECT = ESTRUCTURAL_FEATURE___ESET__ESTRUCTURALFEATURE_OBJECT; > > /** >- * The feature id for the '<em><b>EClassifiers</b></em>' containment reference list. >+ * The operation id for the '<em>EIs Set</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPACKAGE__ECLASSIFIERS = ENAMED_ELEMENT_FEATURE_COUNT + 3; >+ int EREFERENCE___EIS_SET__ESTRUCTURALFEATURE = ESTRUCTURAL_FEATURE___EIS_SET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>ESubpackages</b></em>' containment reference list. >+ * The operation id for the '<em>EUnset</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPACKAGE__ESUBPACKAGES = ENAMED_ELEMENT_FEATURE_COUNT + 4; >+ int EREFERENCE___EUNSET__ESTRUCTURALFEATURE = ESTRUCTURAL_FEATURE___EUNSET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>ESuper Package</b></em>' container reference. >+ * The operation id for the '<em>EInvoke</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPACKAGE__ESUPER_PACKAGE = ENAMED_ELEMENT_FEATURE_COUNT + 5; >+ int EREFERENCE___EINVOKE__EOPERATION_ELIST = ESTRUCTURAL_FEATURE___EINVOKE__EOPERATION_ELIST; > > /** >- * The number of structural features of the '<em>EPackage</em>' class. >+ * The operation id for the '<em>Get EAnnotation</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPACKAGE_FEATURE_COUNT = ENAMED_ELEMENT_FEATURE_COUNT + 6; >+ int EREFERENCE___GET_EANNOTATION__STRING = ESTRUCTURAL_FEATURE___GET_EANNOTATION__STRING; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The operation id for the '<em>Get Feature ID</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPARAMETER__EANNOTATIONS = ETYPED_ELEMENT__EANNOTATIONS; >+ int EREFERENCE___GET_FEATURE_ID = ESTRUCTURAL_FEATURE___GET_FEATURE_ID; > > /** >- * The feature id for the '<em><b>Name</b></em>' attribute. >+ * The operation id for the '<em>Get Container Class</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPARAMETER__NAME = ETYPED_ELEMENT__NAME; >+ int EREFERENCE___GET_CONTAINER_CLASS = ESTRUCTURAL_FEATURE___GET_CONTAINER_CLASS; > > /** >- * The feature id for the '<em><b>Ordered</b></em>' attribute. >+ * The number of operations of the '<em>EReference</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPARAMETER__ORDERED = ETYPED_ELEMENT__ORDERED; >+ int EREFERENCE_OPERATION_COUNT = ESTRUCTURAL_FEATURE_OPERATION_COUNT + 0; > > /** >- * The feature id for the '<em><b>Unique</b></em>' attribute. >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl <em>EString To String Map Entry</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEStringToStringMapEntry() > * @generated >- * @ordered > */ >- int EPARAMETER__UNIQUE = ETYPED_ELEMENT__UNIQUE; >+ int ESTRING_TO_STRING_MAP_ENTRY = 17; > > /** >- * The feature id for the '<em><b>Lower Bound</b></em>' attribute. >+ * The feature id for the '<em><b>Key</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPARAMETER__LOWER_BOUND = ETYPED_ELEMENT__LOWER_BOUND; >+ int ESTRING_TO_STRING_MAP_ENTRY__KEY = 0; > > /** >- * The feature id for the '<em><b>Upper Bound</b></em>' attribute. >+ * The feature id for the '<em><b>Value</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPARAMETER__UPPER_BOUND = ETYPED_ELEMENT__UPPER_BOUND; >+ int ESTRING_TO_STRING_MAP_ENTRY__VALUE = 1; > > /** >- * The feature id for the '<em><b>Many</b></em>' attribute. >+ * The number of structural features of the '<em>EString To String Map Entry</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPARAMETER__MANY = ETYPED_ELEMENT__MANY; >+ int ESTRING_TO_STRING_MAP_ENTRY_FEATURE_COUNT = 2; > > /** >- * The feature id for the '<em><b>Required</b></em>' attribute. >+ * The number of operations of the '<em>EString To String Map Entry</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPARAMETER__REQUIRED = ETYPED_ELEMENT__REQUIRED; >+ int ESTRING_TO_STRING_MAP_ENTRY_OPERATION_COUNT = 0; > > /** >- * The feature id for the '<em><b>EType</b></em>' reference. >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EGenericTypeImpl <em>EGeneric Type</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.EGenericTypeImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEGenericType() > * @generated >- * @ordered > */ >- int EPARAMETER__ETYPE = ETYPED_ELEMENT__ETYPE; >+ int EGENERIC_TYPE = 18; > > /** >- * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference. >+ * The feature id for the '<em><b>EUpper Bound</b></em>' containment reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPARAMETER__EGENERIC_TYPE = ETYPED_ELEMENT__EGENERIC_TYPE; >+ int EGENERIC_TYPE__EUPPER_BOUND = EOBJECT_FEATURE_COUNT + 0; > > /** >- * The feature id for the '<em><b>EOperation</b></em>' container reference. >+ * The feature id for the '<em><b>EType Arguments</b></em>' containment reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPARAMETER__EOPERATION = ETYPED_ELEMENT_FEATURE_COUNT + 0; >+ int EGENERIC_TYPE__ETYPE_ARGUMENTS = EOBJECT_FEATURE_COUNT + 1; > > /** >- * The number of structural features of the '<em>EParameter</em>' class. >+ * The feature id for the '<em><b>ERaw Type</b></em>' reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EPARAMETER_FEATURE_COUNT = ETYPED_ELEMENT_FEATURE_COUNT + 1; >+ int EGENERIC_TYPE__ERAW_TYPE = EOBJECT_FEATURE_COUNT + 2; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The feature id for the '<em><b>ELower Bound</b></em>' containment reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__EANNOTATIONS = ESTRUCTURAL_FEATURE__EANNOTATIONS; >+ int EGENERIC_TYPE__ELOWER_BOUND = EOBJECT_FEATURE_COUNT + 3; > > /** >- * The feature id for the '<em><b>Name</b></em>' attribute. >+ * The feature id for the '<em><b>EType Parameter</b></em>' reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__NAME = ESTRUCTURAL_FEATURE__NAME; >+ int EGENERIC_TYPE__ETYPE_PARAMETER = EOBJECT_FEATURE_COUNT + 4; > > /** >- * The feature id for the '<em><b>Ordered</b></em>' attribute. >+ * The feature id for the '<em><b>EClassifier</b></em>' reference. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__ORDERED = ESTRUCTURAL_FEATURE__ORDERED; >+ int EGENERIC_TYPE__ECLASSIFIER = EOBJECT_FEATURE_COUNT + 5; > > /** >- * The feature id for the '<em><b>Unique</b></em>' attribute. >+ * The number of structural features of the '<em>EGeneric Type</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__UNIQUE = ESTRUCTURAL_FEATURE__UNIQUE; >+ int EGENERIC_TYPE_FEATURE_COUNT = EOBJECT_FEATURE_COUNT + 6; > > /** >- * The feature id for the '<em><b>Lower Bound</b></em>' attribute. >+ * The operation id for the '<em>EClass</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__LOWER_BOUND = ESTRUCTURAL_FEATURE__LOWER_BOUND; >+ int EGENERIC_TYPE___ECLASS = EOBJECT___ECLASS; > > /** >- * The feature id for the '<em><b>Upper Bound</b></em>' attribute. >+ * The operation id for the '<em>EIs Proxy</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__UPPER_BOUND = ESTRUCTURAL_FEATURE__UPPER_BOUND; >+ int EGENERIC_TYPE___EIS_PROXY = EOBJECT___EIS_PROXY; > > /** >- * The feature id for the '<em><b>Many</b></em>' attribute. >+ * The operation id for the '<em>EResource</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__MANY = ESTRUCTURAL_FEATURE__MANY; >+ int EGENERIC_TYPE___ERESOURCE = EOBJECT___ERESOURCE; > > /** >- * The feature id for the '<em><b>Required</b></em>' attribute. >+ * The operation id for the '<em>EContainer</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__REQUIRED = ESTRUCTURAL_FEATURE__REQUIRED; >+ int EGENERIC_TYPE___ECONTAINER = EOBJECT___ECONTAINER; > > /** >- * The feature id for the '<em><b>EType</b></em>' reference. >+ * The operation id for the '<em>EContaining Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__ETYPE = ESTRUCTURAL_FEATURE__ETYPE; >+ int EGENERIC_TYPE___ECONTAINING_FEATURE = EOBJECT___ECONTAINING_FEATURE; > > /** >- * The feature id for the '<em><b>EGeneric Type</b></em>' containment reference. >+ * The operation id for the '<em>EContainment Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__EGENERIC_TYPE = ESTRUCTURAL_FEATURE__EGENERIC_TYPE; >+ int EGENERIC_TYPE___ECONTAINMENT_FEATURE = EOBJECT___ECONTAINMENT_FEATURE; > > /** >- * The feature id for the '<em><b>Changeable</b></em>' attribute. >+ * The operation id for the '<em>EContents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__CHANGEABLE = ESTRUCTURAL_FEATURE__CHANGEABLE; >+ int EGENERIC_TYPE___ECONTENTS = EOBJECT___ECONTENTS; > > /** >- * The feature id for the '<em><b>Volatile</b></em>' attribute. >+ * The operation id for the '<em>EAll Contents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__VOLATILE = ESTRUCTURAL_FEATURE__VOLATILE; >+ int EGENERIC_TYPE___EALL_CONTENTS = EOBJECT___EALL_CONTENTS; > > /** >- * The feature id for the '<em><b>Transient</b></em>' attribute. >+ * The operation id for the '<em>ECross References</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__TRANSIENT = ESTRUCTURAL_FEATURE__TRANSIENT; >+ int EGENERIC_TYPE___ECROSS_REFERENCES = EOBJECT___ECROSS_REFERENCES; > > /** >- * The feature id for the '<em><b>Default Value Literal</b></em>' attribute. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__DEFAULT_VALUE_LITERAL = ESTRUCTURAL_FEATURE__DEFAULT_VALUE_LITERAL; >+ int EGENERIC_TYPE___EGET__ESTRUCTURALFEATURE = EOBJECT___EGET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>Default Value</b></em>' attribute. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__DEFAULT_VALUE = ESTRUCTURAL_FEATURE__DEFAULT_VALUE; >+ int EGENERIC_TYPE___EGET__ESTRUCTURALFEATURE_BOOLEAN = EOBJECT___EGET__ESTRUCTURALFEATURE_BOOLEAN; > > /** >- * The feature id for the '<em><b>Unsettable</b></em>' attribute. >+ * The operation id for the '<em>ESet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__UNSETTABLE = ESTRUCTURAL_FEATURE__UNSETTABLE; >+ int EGENERIC_TYPE___ESET__ESTRUCTURALFEATURE_OBJECT = EOBJECT___ESET__ESTRUCTURALFEATURE_OBJECT; > > /** >- * The feature id for the '<em><b>Derived</b></em>' attribute. >+ * The operation id for the '<em>EIs Set</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__DERIVED = ESTRUCTURAL_FEATURE__DERIVED; >+ int EGENERIC_TYPE___EIS_SET__ESTRUCTURALFEATURE = EOBJECT___EIS_SET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>EContaining Class</b></em>' container reference. >+ * The operation id for the '<em>EUnset</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__ECONTAINING_CLASS = ESTRUCTURAL_FEATURE__ECONTAINING_CLASS; >+ int EGENERIC_TYPE___EUNSET__ESTRUCTURALFEATURE = EOBJECT___EUNSET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>Containment</b></em>' attribute. >+ * The operation id for the '<em>EInvoke</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__CONTAINMENT = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 0; >+ int EGENERIC_TYPE___EINVOKE__EOPERATION_ELIST = EOBJECT___EINVOKE__EOPERATION_ELIST; > > /** >- * The feature id for the '<em><b>Container</b></em>' attribute. >+ * The number of operations of the '<em>EGeneric Type</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__CONTAINER = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 1; >+ int EGENERIC_TYPE_OPERATION_COUNT = EOBJECT_OPERATION_COUNT + 0; > > /** >- * The feature id for the '<em><b>Resolve Proxies</b></em>' attribute. >+ * The meta object id for the '{@link org.eclipse.emf.ecore.impl.ETypeParameterImpl <em>EType Parameter</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >+ * @see org.eclipse.emf.ecore.impl.ETypeParameterImpl >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getETypeParameter() > * @generated >- * @ordered > */ >- int EREFERENCE__RESOLVE_PROXIES = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 2; >+ int ETYPE_PARAMETER = 19; > > /** >- * The feature id for the '<em><b>EOpposite</b></em>' reference. >+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__EOPPOSITE = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 3; >+ int ETYPE_PARAMETER__EANNOTATIONS = ENAMED_ELEMENT__EANNOTATIONS; > > /** >- * The feature id for the '<em><b>EReference Type</b></em>' reference. >+ * The feature id for the '<em><b>Name</b></em>' attribute. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__EREFERENCE_TYPE = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 4; >+ int ETYPE_PARAMETER__NAME = ENAMED_ELEMENT__NAME; > > /** >- * The feature id for the '<em><b>EKeys</b></em>' reference list. >+ * The feature id for the '<em><b>EBounds</b></em>' containment reference list. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE__EKEYS = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 5; >+ int ETYPE_PARAMETER__EBOUNDS = ENAMED_ELEMENT_FEATURE_COUNT + 0; > > /** >- * The number of structural features of the '<em>EReference</em>' class. >+ * The number of structural features of the '<em>EType Parameter</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EREFERENCE_FEATURE_COUNT = ESTRUCTURAL_FEATURE_FEATURE_COUNT + 6; >+ int ETYPE_PARAMETER_FEATURE_COUNT = ENAMED_ELEMENT_FEATURE_COUNT + 1; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl <em>EString To String Map Entry</em>}' class. >+ * The operation id for the '<em>EClass</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEStringToStringMapEntry() > * @generated >+ * @ordered > */ >- int ESTRING_TO_STRING_MAP_ENTRY = 17; >+ int ETYPE_PARAMETER___ECLASS = ENAMED_ELEMENT___ECLASS; > > /** >- * The feature id for the '<em><b>Key</b></em>' attribute. >+ * The operation id for the '<em>EIs Proxy</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRING_TO_STRING_MAP_ENTRY__KEY = 0; >+ int ETYPE_PARAMETER___EIS_PROXY = ENAMED_ELEMENT___EIS_PROXY; > > /** >- * The feature id for the '<em><b>Value</b></em>' attribute. >+ * The operation id for the '<em>EResource</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRING_TO_STRING_MAP_ENTRY__VALUE = 1; >+ int ETYPE_PARAMETER___ERESOURCE = ENAMED_ELEMENT___ERESOURCE; > > /** >- * The number of structural features of the '<em>EString To String Map Entry</em>' class. >+ * The operation id for the '<em>EContainer</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ESTRING_TO_STRING_MAP_ENTRY_FEATURE_COUNT = 2; >+ int ETYPE_PARAMETER___ECONTAINER = ENAMED_ELEMENT___ECONTAINER; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.EGenericTypeImpl <em>EGeneric Type</em>}' class. >+ * The operation id for the '<em>EContaining Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.EGenericTypeImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEGenericType() > * @generated >+ * @ordered > */ >- int EGENERIC_TYPE = 18; >+ int ETYPE_PARAMETER___ECONTAINING_FEATURE = ENAMED_ELEMENT___ECONTAINING_FEATURE; > > /** >- * The feature id for the '<em><b>EUpper Bound</b></em>' containment reference. >+ * The operation id for the '<em>EContainment Feature</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EGENERIC_TYPE__EUPPER_BOUND = EOBJECT_FEATURE_COUNT + 0; >+ int ETYPE_PARAMETER___ECONTAINMENT_FEATURE = ENAMED_ELEMENT___ECONTAINMENT_FEATURE; > > /** >- * The feature id for the '<em><b>EType Arguments</b></em>' containment reference list. >+ * The operation id for the '<em>EContents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EGENERIC_TYPE__ETYPE_ARGUMENTS = EOBJECT_FEATURE_COUNT + 1; >+ int ETYPE_PARAMETER___ECONTENTS = ENAMED_ELEMENT___ECONTENTS; > > /** >- * The feature id for the '<em><b>ERaw Type</b></em>' reference. >+ * The operation id for the '<em>EAll Contents</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EGENERIC_TYPE__ERAW_TYPE = EOBJECT_FEATURE_COUNT + 2; >+ int ETYPE_PARAMETER___EALL_CONTENTS = ENAMED_ELEMENT___EALL_CONTENTS; > > /** >- * The feature id for the '<em><b>ELower Bound</b></em>' containment reference. >+ * The operation id for the '<em>ECross References</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EGENERIC_TYPE__ELOWER_BOUND = EOBJECT_FEATURE_COUNT + 3; >+ int ETYPE_PARAMETER___ECROSS_REFERENCES = ENAMED_ELEMENT___ECROSS_REFERENCES; > > /** >- * The feature id for the '<em><b>EType Parameter</b></em>' reference. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EGENERIC_TYPE__ETYPE_PARAMETER = EOBJECT_FEATURE_COUNT + 4; >+ int ETYPE_PARAMETER___EGET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EGET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>EClassifier</b></em>' reference. >+ * The operation id for the '<em>EGet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EGENERIC_TYPE__ECLASSIFIER = EOBJECT_FEATURE_COUNT + 5; >+ int ETYPE_PARAMETER___EGET__ESTRUCTURALFEATURE_BOOLEAN = ENAMED_ELEMENT___EGET__ESTRUCTURALFEATURE_BOOLEAN; > > /** >- * The number of structural features of the '<em>EGeneric Type</em>' class. >+ * The operation id for the '<em>ESet</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int EGENERIC_TYPE_FEATURE_COUNT = EOBJECT_FEATURE_COUNT + 6; >+ int ETYPE_PARAMETER___ESET__ESTRUCTURALFEATURE_OBJECT = ENAMED_ELEMENT___ESET__ESTRUCTURALFEATURE_OBJECT; > > /** >- * The meta object id for the '{@link org.eclipse.emf.ecore.impl.ETypeParameterImpl <em>EType Parameter</em>}' class. >+ * The operation id for the '<em>EIs Set</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @see org.eclipse.emf.ecore.impl.ETypeParameterImpl >- * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getETypeParameter() > * @generated >+ * @ordered > */ >- int ETYPE_PARAMETER = 19; >+ int ETYPE_PARAMETER___EIS_SET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EIS_SET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list. >+ * The operation id for the '<em>EUnset</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ETYPE_PARAMETER__EANNOTATIONS = ENAMED_ELEMENT__EANNOTATIONS; >+ int ETYPE_PARAMETER___EUNSET__ESTRUCTURALFEATURE = ENAMED_ELEMENT___EUNSET__ESTRUCTURALFEATURE; > > /** >- * The feature id for the '<em><b>Name</b></em>' attribute. >+ * The operation id for the '<em>EInvoke</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ETYPE_PARAMETER__NAME = ENAMED_ELEMENT__NAME; >+ int ETYPE_PARAMETER___EINVOKE__EOPERATION_ELIST = ENAMED_ELEMENT___EINVOKE__EOPERATION_ELIST; > > /** >- * The feature id for the '<em><b>EBounds</b></em>' containment reference list. >+ * The operation id for the '<em>Get EAnnotation</em>' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ETYPE_PARAMETER__EBOUNDS = ENAMED_ELEMENT_FEATURE_COUNT + 0; >+ int ETYPE_PARAMETER___GET_EANNOTATION__STRING = ENAMED_ELEMENT___GET_EANNOTATION__STRING; > > /** >- * The number of structural features of the '<em>EType Parameter</em>' class. >+ * The number of operations of the '<em>EType Parameter</em>' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @generated > * @ordered > */ >- int ETYPE_PARAMETER_FEATURE_COUNT = ENAMED_ELEMENT_FEATURE_COUNT + 1; >+ int ETYPE_PARAMETER_OPERATION_COUNT = ENAMED_ELEMENT_OPERATION_COUNT + 0; > > /** > * The meta object id for the '<em>EBig Decimal</em>' data type. >@@ -2389,6 +5558,16 @@ > > > /** >+ * The meta object id for the '<em>EInvocation Target Exception</em>' data type. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see java.lang.reflect.InvocationTargetException >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEInvocationTargetException() >+ * @generated >+ */ >+ int EINVOCATION_TARGET_EXCEPTION = 52; >+ >+ /** > * The meta object id for the '<em>EFeature Map Entry</em>' data type. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -2715,6 +5894,86 @@ > EReference getEClass_EAllGenericSuperTypes(); > > /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EClass#isSuperTypeOf(org.eclipse.emf.ecore.EClass) <em>Is Super Type Of</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Is Super Type Of</em>' operation. >+ * @see org.eclipse.emf.ecore.EClass#isSuperTypeOf(org.eclipse.emf.ecore.EClass) >+ * @generated >+ */ >+ EOperation getEClass__IsSuperTypeOf_EClass(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EClass#getFeatureCount() <em>Get Feature Count</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get Feature Count</em>' operation. >+ * @see org.eclipse.emf.ecore.EClass#getFeatureCount() >+ * @generated >+ */ >+ EOperation getEClass__GetFeatureCount(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EClass#getEStructuralFeature(int) <em>Get EStructural Feature</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get EStructural Feature</em>' operation. >+ * @see org.eclipse.emf.ecore.EClass#getEStructuralFeature(int) >+ * @generated >+ */ >+ EOperation getEClass__GetEStructuralFeature_int(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EClass#getFeatureID(org.eclipse.emf.ecore.EStructuralFeature) <em>Get Feature ID</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get Feature ID</em>' operation. >+ * @see org.eclipse.emf.ecore.EClass#getFeatureID(org.eclipse.emf.ecore.EStructuralFeature) >+ * @generated >+ */ >+ EOperation getEClass__GetFeatureID_EStructuralFeature(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EClass#getEStructuralFeature(java.lang.String) <em>Get EStructural Feature</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get EStructural Feature</em>' operation. >+ * @see org.eclipse.emf.ecore.EClass#getEStructuralFeature(java.lang.String) >+ * @generated >+ */ >+ EOperation getEClass__GetEStructuralFeature_String(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EClass#getOperationCount() <em>Get Operation Count</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get Operation Count</em>' operation. >+ * @see org.eclipse.emf.ecore.EClass#getOperationCount() >+ * @generated >+ */ >+ EOperation getEClass__GetOperationCount(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EClass#getEOperation(int) <em>Get EOperation</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get EOperation</em>' operation. >+ * @see org.eclipse.emf.ecore.EClass#getEOperation(int) >+ * @generated >+ */ >+ EOperation getEClass__GetEOperation_int(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EClass#getOperationID(org.eclipse.emf.ecore.EOperation) <em>Get Operation ID</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get Operation ID</em>' operation. >+ * @see org.eclipse.emf.ecore.EClass#getOperationID(org.eclipse.emf.ecore.EOperation) >+ * @generated >+ */ >+ EOperation getEClass__GetOperationID_EOperation(); >+ >+ /** > * Returns the meta object for class '{@link org.eclipse.emf.ecore.EDataType <em>EData Type</em>}'. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -2757,6 +6016,36 @@ > EReference getEEnum_ELiterals(); > > /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EEnum#getEEnumLiteral(java.lang.String) <em>Get EEnum Literal</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get EEnum Literal</em>' operation. >+ * @see org.eclipse.emf.ecore.EEnum#getEEnumLiteral(java.lang.String) >+ * @generated >+ */ >+ EOperation getEEnum__GetEEnumLiteral_String(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EEnum#getEEnumLiteral(int) <em>Get EEnum Literal</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get EEnum Literal</em>' operation. >+ * @see org.eclipse.emf.ecore.EEnum#getEEnumLiteral(int) >+ * @generated >+ */ >+ EOperation getEEnum__GetEEnumLiteral_int(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EEnum#getEEnumLiteralByLiteral(java.lang.String) <em>Get EEnum Literal By Literal</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get EEnum Literal By Literal</em>' operation. >+ * @see org.eclipse.emf.ecore.EEnum#getEEnumLiteralByLiteral(java.lang.String) >+ * @generated >+ */ >+ EOperation getEEnum__GetEEnumLiteralByLiteral_String(); >+ >+ /** > * Returns the meta object for class '{@link org.eclipse.emf.ecore.EEnumLiteral <em>EEnum Literal</em>}'. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -2832,6 +6121,36 @@ > EReference getEFactory_EPackage(); > > /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EFactory#create(org.eclipse.emf.ecore.EClass) <em>Create</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Create</em>' operation. >+ * @see org.eclipse.emf.ecore.EFactory#create(org.eclipse.emf.ecore.EClass) >+ * @generated >+ */ >+ EOperation getEFactory__Create_EClass(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EFactory#createFromString(org.eclipse.emf.ecore.EDataType, java.lang.String) <em>Create From String</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Create From String</em>' operation. >+ * @see org.eclipse.emf.ecore.EFactory#createFromString(org.eclipse.emf.ecore.EDataType, java.lang.String) >+ * @generated >+ */ >+ EOperation getEFactory__CreateFromString_EDataType_String(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EFactory#convertToString(org.eclipse.emf.ecore.EDataType, java.lang.Object) <em>Convert To String</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Convert To String</em>' operation. >+ * @see org.eclipse.emf.ecore.EFactory#convertToString(org.eclipse.emf.ecore.EDataType, java.lang.Object) >+ * @generated >+ */ >+ EOperation getEFactory__ConvertToString_EDataType_Object(); >+ >+ /** > * Returns the meta object for class '{@link org.eclipse.emf.ecore.EClassifier <em>EClassifier</em>}'. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -2908,6 +6227,26 @@ > EReference getEClassifier_ETypeParameters(); > > /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EClassifier#isInstance(java.lang.Object) <em>Is Instance</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Is Instance</em>' operation. >+ * @see org.eclipse.emf.ecore.EClassifier#isInstance(java.lang.Object) >+ * @generated >+ */ >+ EOperation getEClassifier__IsInstance_Object(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EClassifier#getClassifierID() <em>Get Classifier ID</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get Classifier ID</em>' operation. >+ * @see org.eclipse.emf.ecore.EClassifier#getClassifierID() >+ * @generated >+ */ >+ EOperation getEClassifier__GetClassifierID(); >+ >+ /** > * Returns the meta object for class '{@link org.eclipse.emf.ecore.EModelElement <em>EModel Element</em>}'. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -2929,6 +6268,16 @@ > EReference getEModelElement_EAnnotations(); > > /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EModelElement#getEAnnotation(java.lang.String) <em>Get EAnnotation</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get EAnnotation</em>' operation. >+ * @see org.eclipse.emf.ecore.EModelElement#getEAnnotation(java.lang.String) >+ * @generated >+ */ >+ EOperation getEModelElement__GetEAnnotation_String(); >+ >+ /** > * Returns the meta object for class '{@link org.eclipse.emf.ecore.ENamedElement <em>ENamed Element</em>}'. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -2950,14 +6299,164 @@ > EAttribute getENamedElement_Name(); > > /** >- * Returns the meta object for class '{@link org.eclipse.emf.ecore.EObject <em>EObject</em>}'. >+ * Returns the meta object for class '{@link org.eclipse.emf.ecore.EObject <em>EObject</em>}'. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for class '<em>EObject</em>'. >+ * @see org.eclipse.emf.ecore.EObject >+ * @generated >+ */ >+ EClass getEObject(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eClass() <em>EClass</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>EClass</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eClass() >+ * @generated >+ */ >+ EOperation getEObject__EClass(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eIsProxy() <em>EIs Proxy</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>EIs Proxy</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eIsProxy() >+ * @generated >+ */ >+ EOperation getEObject__EIsProxy(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eResource() <em>EResource</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>EResource</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eResource() >+ * @generated >+ */ >+ EOperation getEObject__EResource(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eContainer() <em>EContainer</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>EContainer</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eContainer() >+ * @generated >+ */ >+ EOperation getEObject__EContainer(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eContainingFeature() <em>EContaining Feature</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>EContaining Feature</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eContainingFeature() >+ * @generated >+ */ >+ EOperation getEObject__EContainingFeature(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eContainmentFeature() <em>EContainment Feature</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>EContainment Feature</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eContainmentFeature() >+ * @generated >+ */ >+ EOperation getEObject__EContainmentFeature(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eContents() <em>EContents</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>EContents</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eContents() >+ * @generated >+ */ >+ EOperation getEObject__EContents(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eAllContents() <em>EAll Contents</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>EAll Contents</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eAllContents() >+ * @generated >+ */ >+ EOperation getEObject__EAllContents(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eCrossReferences() <em>ECross References</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>ECross References</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eCrossReferences() >+ * @generated >+ */ >+ EOperation getEObject__ECrossReferences(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eGet(org.eclipse.emf.ecore.EStructuralFeature) <em>EGet</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>EGet</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eGet(org.eclipse.emf.ecore.EStructuralFeature) >+ * @generated >+ */ >+ EOperation getEObject__EGet_EStructuralFeature(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eGet(org.eclipse.emf.ecore.EStructuralFeature, boolean) <em>EGet</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>EGet</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eGet(org.eclipse.emf.ecore.EStructuralFeature, boolean) >+ * @generated >+ */ >+ EOperation getEObject__EGet_EStructuralFeature_boolean(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eSet(org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) <em>ESet</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>ESet</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eSet(org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) >+ * @generated >+ */ >+ EOperation getEObject__ESet_EStructuralFeature_Object(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eIsSet(org.eclipse.emf.ecore.EStructuralFeature) <em>EIs Set</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>EIs Set</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eIsSet(org.eclipse.emf.ecore.EStructuralFeature) >+ * @generated >+ */ >+ EOperation getEObject__EIsSet_EStructuralFeature(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eUnset(org.eclipse.emf.ecore.EStructuralFeature) <em>EUnset</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>EUnset</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eUnset(org.eclipse.emf.ecore.EStructuralFeature) >+ * @generated >+ */ >+ EOperation getEObject__EUnset_EStructuralFeature(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EObject#eInvoke(org.eclipse.emf.ecore.EOperation, org.eclipse.emf.common.util.EList) <em>EInvoke</em>}' operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >- * @return the meta object for class '<em>EObject</em>'. >- * @see org.eclipse.emf.ecore.EObject >+ * @return the meta object for the '<em>EInvoke</em>' operation. >+ * @see org.eclipse.emf.ecore.EObject#eInvoke(org.eclipse.emf.ecore.EOperation, org.eclipse.emf.common.util.EList) > * @generated > */ >- EClass getEObject(); >+ EOperation getEObject__EInvoke_EOperation_EList(); > > /** > * Returns the meta object for class '{@link org.eclipse.emf.ecore.EOperation <em>EOperation</em>}'. >@@ -3014,6 +6513,16 @@ > EReference getEOperation_EGenericExceptions(); > > /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EOperation#getOperationID() <em>Get Operation ID</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get Operation ID</em>' operation. >+ * @see org.eclipse.emf.ecore.EOperation#getOperationID() >+ * @generated >+ */ >+ EOperation getEOperation__GetOperationID(); >+ >+ /** > * Returns the meta object for the containment reference list '{@link org.eclipse.emf.ecore.EOperation#getETypeParameters <em>EType Parameters</em>}'. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -3101,6 +6610,16 @@ > EReference getEPackage_ESuperPackage(); > > /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EPackage#getEClassifier(java.lang.String) <em>Get EClassifier</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get EClassifier</em>' operation. >+ * @see org.eclipse.emf.ecore.EPackage#getEClassifier(java.lang.String) >+ * @generated >+ */ >+ EOperation getEPackage__GetEClassifier_String(); >+ >+ /** > * Returns the meta object for class '{@link org.eclipse.emf.ecore.EParameter <em>EParameter</em>}'. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -3296,6 +6815,26 @@ > EReference getEStructuralFeature_EContainingClass(); > > /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EStructuralFeature#getFeatureID() <em>Get Feature ID</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get Feature ID</em>' operation. >+ * @see org.eclipse.emf.ecore.EStructuralFeature#getFeatureID() >+ * @generated >+ */ >+ EOperation getEStructuralFeature__GetFeatureID(); >+ >+ /** >+ * Returns the meta object for the '{@link org.eclipse.emf.ecore.EStructuralFeature#getContainerClass() <em>Get Container Class</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get Container Class</em>' operation. >+ * @see org.eclipse.emf.ecore.EStructuralFeature#getContainerClass() >+ * @generated >+ */ >+ EOperation getEStructuralFeature__GetContainerClass(); >+ >+ /** > * @deprecated > * replaced by getETypedElement_Unique() > */ >@@ -3877,6 +7416,17 @@ > EDataType getETreeIterator(); > > /** >+ * Returns the meta object for data type '{@link java.lang.reflect.InvocationTargetException <em>EInvocation Target Exception</em>}'. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for data type '<em>EInvocation Target Exception</em>'. >+ * @see java.lang.reflect.InvocationTargetException >+ * @model instanceClass="java.lang.reflect.InvocationTargetException" >+ * @generated >+ */ >+ EDataType getEInvocationTargetException(); >+ >+ /** > * Returns the meta object for data type '{@link org.eclipse.emf.ecore.util.FeatureMap.Entry <em>EFeature Map Entry</em>}'. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -4159,6 +7709,70 @@ > EReference ECLASS__EALL_GENERIC_SUPER_TYPES = eINSTANCE.getEClass_EAllGenericSuperTypes(); > > /** >+ * The meta object literal for the '<em><b>Is Super Type Of</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation ECLASS___IS_SUPER_TYPE_OF__ECLASS = eINSTANCE.getEClass__IsSuperTypeOf_EClass(); >+ >+ /** >+ * The meta object literal for the '<em><b>Get Feature Count</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation ECLASS___GET_FEATURE_COUNT = eINSTANCE.getEClass__GetFeatureCount(); >+ >+ /** >+ * The meta object literal for the '<em><b>Get EStructural Feature</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation ECLASS___GET_ESTRUCTURAL_FEATURE__INT = eINSTANCE.getEClass__GetEStructuralFeature_int(); >+ >+ /** >+ * The meta object literal for the '<em><b>Get Feature ID</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation ECLASS___GET_FEATURE_ID__ESTRUCTURALFEATURE = eINSTANCE.getEClass__GetFeatureID_EStructuralFeature(); >+ >+ /** >+ * The meta object literal for the '<em><b>Get EStructural Feature</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation ECLASS___GET_ESTRUCTURAL_FEATURE__STRING = eINSTANCE.getEClass__GetEStructuralFeature_String(); >+ >+ /** >+ * The meta object literal for the '<em><b>Get Operation Count</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation ECLASS___GET_OPERATION_COUNT = eINSTANCE.getEClass__GetOperationCount(); >+ >+ /** >+ * The meta object literal for the '<em><b>Get EOperation</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation ECLASS___GET_EOPERATION__INT = eINSTANCE.getEClass__GetEOperation_int(); >+ >+ /** >+ * The meta object literal for the '<em><b>Get Operation ID</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation ECLASS___GET_OPERATION_ID__EOPERATION = eINSTANCE.getEClass__GetOperationID_EOperation(); >+ >+ /** > * The meta object literal for the '{@link org.eclipse.emf.ecore.impl.EClassifierImpl <em>EClassifier</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -4217,6 +7831,22 @@ > EReference ECLASSIFIER__ETYPE_PARAMETERS = eINSTANCE.getEClassifier_ETypeParameters(); > > /** >+ * The meta object literal for the '<em><b>Is Instance</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation ECLASSIFIER___IS_INSTANCE__OBJECT = eINSTANCE.getEClassifier__IsInstance_Object(); >+ >+ /** >+ * The meta object literal for the '<em><b>Get Classifier ID</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation ECLASSIFIER___GET_CLASSIFIER_ID = eINSTANCE.getEClassifier__GetClassifierID(); >+ >+ /** > * The meta object literal for the '{@link org.eclipse.emf.ecore.impl.EDataTypeImpl <em>EData Type</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -4253,6 +7883,30 @@ > EReference EENUM__ELITERALS = eINSTANCE.getEEnum_ELiterals(); > > /** >+ * The meta object literal for the '<em><b>Get EEnum Literal</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EENUM___GET_EENUM_LITERAL__STRING = eINSTANCE.getEEnum__GetEEnumLiteral_String(); >+ >+ /** >+ * The meta object literal for the '<em><b>Get EEnum Literal</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EENUM___GET_EENUM_LITERAL__INT = eINSTANCE.getEEnum__GetEEnumLiteral_int(); >+ >+ /** >+ * The meta object literal for the '<em><b>Get EEnum Literal By Literal</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EENUM___GET_EENUM_LITERAL_BY_LITERAL__STRING = eINSTANCE.getEEnum__GetEEnumLiteralByLiteral_String(); >+ >+ /** > * The meta object literal for the '{@link org.eclipse.emf.ecore.impl.EEnumLiteralImpl <em>EEnum Literal</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -4313,6 +7967,30 @@ > EReference EFACTORY__EPACKAGE = eINSTANCE.getEFactory_EPackage(); > > /** >+ * The meta object literal for the '<em><b>Create</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EFACTORY___CREATE__ECLASS = eINSTANCE.getEFactory__Create_EClass(); >+ >+ /** >+ * The meta object literal for the '<em><b>Create From String</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EFACTORY___CREATE_FROM_STRING__EDATATYPE_STRING = eINSTANCE.getEFactory__CreateFromString_EDataType_String(); >+ >+ /** >+ * The meta object literal for the '<em><b>Convert To String</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EFACTORY___CONVERT_TO_STRING__EDATATYPE_OBJECT = eINSTANCE.getEFactory__ConvertToString_EDataType_Object(); >+ >+ /** > * The meta object literal for the '{@link org.eclipse.emf.ecore.impl.EModelElementImpl <em>EModel Element</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -4331,6 +8009,14 @@ > EReference EMODEL_ELEMENT__EANNOTATIONS = eINSTANCE.getEModelElement_EAnnotations(); > > /** >+ * The meta object literal for the '<em><b>Get EAnnotation</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EMODEL_ELEMENT___GET_EANNOTATION__STRING = eINSTANCE.getEModelElement__GetEAnnotation_String(); >+ >+ /** > * The meta object literal for the '{@link org.eclipse.emf.ecore.impl.ENamedElementImpl <em>ENamed Element</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -4359,6 +8045,126 @@ > EClass EOBJECT = eINSTANCE.getEObject(); > > /** >+ * The meta object literal for the '<em><b>EClass</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___ECLASS = eINSTANCE.getEObject__EClass(); >+ >+ /** >+ * The meta object literal for the '<em><b>EIs Proxy</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___EIS_PROXY = eINSTANCE.getEObject__EIsProxy(); >+ >+ /** >+ * The meta object literal for the '<em><b>EResource</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___ERESOURCE = eINSTANCE.getEObject__EResource(); >+ >+ /** >+ * The meta object literal for the '<em><b>EContainer</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___ECONTAINER = eINSTANCE.getEObject__EContainer(); >+ >+ /** >+ * The meta object literal for the '<em><b>EContaining Feature</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___ECONTAINING_FEATURE = eINSTANCE.getEObject__EContainingFeature(); >+ >+ /** >+ * The meta object literal for the '<em><b>EContainment Feature</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___ECONTAINMENT_FEATURE = eINSTANCE.getEObject__EContainmentFeature(); >+ >+ /** >+ * The meta object literal for the '<em><b>EContents</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___ECONTENTS = eINSTANCE.getEObject__EContents(); >+ >+ /** >+ * The meta object literal for the '<em><b>EAll Contents</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___EALL_CONTENTS = eINSTANCE.getEObject__EAllContents(); >+ >+ /** >+ * The meta object literal for the '<em><b>ECross References</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___ECROSS_REFERENCES = eINSTANCE.getEObject__ECrossReferences(); >+ >+ /** >+ * The meta object literal for the '<em><b>EGet</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___EGET__ESTRUCTURALFEATURE = eINSTANCE.getEObject__EGet_EStructuralFeature(); >+ >+ /** >+ * The meta object literal for the '<em><b>EGet</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___EGET__ESTRUCTURALFEATURE_BOOLEAN = eINSTANCE.getEObject__EGet_EStructuralFeature_boolean(); >+ >+ /** >+ * The meta object literal for the '<em><b>ESet</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___ESET__ESTRUCTURALFEATURE_OBJECT = eINSTANCE.getEObject__ESet_EStructuralFeature_Object(); >+ >+ /** >+ * The meta object literal for the '<em><b>EIs Set</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___EIS_SET__ESTRUCTURALFEATURE = eINSTANCE.getEObject__EIsSet_EStructuralFeature(); >+ >+ /** >+ * The meta object literal for the '<em><b>EUnset</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___EUNSET__ESTRUCTURALFEATURE = eINSTANCE.getEObject__EUnset_EStructuralFeature(); >+ >+ /** >+ * The meta object literal for the '<em><b>EInvoke</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOBJECT___EINVOKE__EOPERATION_ELIST = eINSTANCE.getEObject__EInvoke_EOperation_EList(); >+ >+ /** > * The meta object literal for the '{@link org.eclipse.emf.ecore.impl.EOperationImpl <em>EOperation</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -4401,6 +8207,14 @@ > EReference EOPERATION__EGENERIC_EXCEPTIONS = eINSTANCE.getEOperation_EGenericExceptions(); > > /** >+ * The meta object literal for the '<em><b>Get Operation ID</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EOPERATION___GET_OPERATION_ID = eINSTANCE.getEOperation__GetOperationID(); >+ >+ /** > * The meta object literal for the '<em><b>EType Parameters</b></em>' containment reference list feature. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -4467,6 +8281,14 @@ > EReference EPACKAGE__ESUPER_PACKAGE = eINSTANCE.getEPackage_ESuperPackage(); > > /** >+ * The meta object literal for the '<em><b>Get EClassifier</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation EPACKAGE___GET_ECLASSIFIER__STRING = eINSTANCE.getEPackage__GetEClassifier_String(); >+ >+ /** > * The meta object literal for the '{@link org.eclipse.emf.ecore.impl.EParameterImpl <em>EParameter</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -4617,6 +8439,22 @@ > EReference ESTRUCTURAL_FEATURE__ECONTAINING_CLASS = eINSTANCE.getEStructuralFeature_EContainingClass(); > > /** >+ * The meta object literal for the '<em><b>Get Feature ID</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation ESTRUCTURAL_FEATURE___GET_FEATURE_ID = eINSTANCE.getEStructuralFeature__GetFeatureID(); >+ >+ /** >+ * The meta object literal for the '<em><b>Get Container Class</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation ESTRUCTURAL_FEATURE___GET_CONTAINER_CLASS = eINSTANCE.getEStructuralFeature__GetContainerClass(); >+ >+ /** > * The meta object literal for the '{@link org.eclipse.emf.ecore.impl.ETypedElementImpl <em>ETyped Element</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -5103,6 +8941,16 @@ > */ > EDataType ETREE_ITERATOR = eINSTANCE.getETreeIterator(); > >+ /** >+ * The meta object literal for the '<em>EInvocation Target Exception</em>' data type. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see java.lang.reflect.InvocationTargetException >+ * @see org.eclipse.emf.ecore.impl.EcorePackageImpl#getEInvocationTargetException() >+ * @generated >+ */ >+ EDataType EINVOCATION_TARGET_EXCEPTION = eINSTANCE.getEInvocationTargetException(); >+ > } > > // Internal bootstrap uses Literals constants, so we must force initialization this inner interface first. >Index: src/org/eclipse/emf/ecore/EStructuralFeature.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java,v >retrieving revision 1.14 >diff -u -r1.14 EStructuralFeature.java >--- src/org/eclipse/emf/ecore/EStructuralFeature.java 14 Jun 2007 18:32:46 -0000 1.14 >+++ src/org/eclipse/emf/ecore/EStructuralFeature.java 27 Oct 2009 23:39:54 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2006 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -17,6 +17,9 @@ > package org.eclipse.emf.ecore; > > >+import java.util.HashMap; >+import java.util.Map; >+ > import org.eclipse.emf.common.notify.NotificationChain; > import org.eclipse.emf.ecore.util.FeatureMap; > >@@ -365,6 +368,65 @@ > interface SettingDelegate > { > /** >+ * A factory for creating setting delegates. >+ * @since 2.5 >+ */ >+ interface Factory >+ { >+ /** >+ * Creates a setting delegate for the given feature. >+ * @param eStructuralFeature the feature for which a setting delegate is to be created. >+ * @return a new a setting delegate for the given feature. >+ */ >+ SettingDelegate createSettingDelegate(EStructuralFeature eStructuralFeature); >+ >+ /** >+ * A <code>Factory</code> wrapper that is used by the {@link Factory.Registry}. >+ */ >+ interface Descriptor >+ { >+ Factory getFactory(); >+ } >+ >+ /** >+ * A registry of factories for creating setting delegates. >+ */ >+ interface Registry extends Map<String, Object> >+ { >+ Registry INSTANCE = new Impl(); >+ >+ Factory getFactory(String uri); >+ >+ class Impl extends HashMap<String, Object> implements Registry >+ { >+ private static final long serialVersionUID = 1L; >+ >+ @Override >+ public Object get(Object key) >+ { >+ Object factory = super.get(key); >+ if (factory instanceof Descriptor) >+ { >+ Descriptor factoryDescriptor = (Descriptor)factory; >+ factory = factoryDescriptor.getFactory(); >+ put((String)key, factory); >+ return factory; >+ } >+ else >+ { >+ return factory; >+ } >+ } >+ >+ public Factory getFactory(String uri) >+ { >+ return (Factory)get(uri); >+ } >+ } >+ } >+ } >+ >+ /** > * Returns a setting that can be used to access the owner's feature. > * @param owner the owner of the feature. > * @param settings the owner's array of cached values. >Index: src/org/eclipse/emf/ecore/InternalEObject.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/InternalEObject.java,v >retrieving revision 1.7 >diff -u -r1.7 InternalEObject.java >--- src/org/eclipse/emf/ecore/InternalEObject.java 14 Jun 2007 18:32:46 -0000 1.7 >+++ src/org/eclipse/emf/ecore/InternalEObject.java 27 Oct 2009 23:39:56 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2006 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -17,6 +17,8 @@ > package org.eclipse.emf.ecore; > > >+import java.lang.reflect.InvocationTargetException; >+ > import org.eclipse.emf.common.notify.NotificationChain; > import org.eclipse.emf.common.util.EList; > import org.eclipse.emf.common.util.URI; >@@ -114,6 +116,24 @@ > int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass); > > /** >+ * Returns the operation ID relative to the base class, given an operation ID relative to this derived object's actual class. >+ * @param derivedOperationID the ID in the actual derived class >+ * @param baseClass the base class for which a relative ID is desired. >+ * @return the up-cast operation ID. >+ * @since 2.6 >+ */ >+ int eBaseOperationID(int derivedOperationID, Class<?> baseClass); >+ >+ /** >+ * Returns the operation ID relative to this derived object's actual class, given an operation ID relative to the given base class. >+ * @param baseOperationID the ID relative to a base class. >+ * @param baseClass the base class to which the ID is relative. >+ * @return the down-cast operation ID. >+ * @since 2.6 >+ */ >+ int eDerivedOperationID(int baseOperationID, Class<?> baseClass); >+ >+ /** > * Sets this object to be directly contained by the resource > * and returns accumulated notifications. > * This is only done as the inverse of {@link Resource#getContents()}<code>.add(this)</code>. >@@ -413,26 +433,33 @@ > public Object eGet(EStructuralFeature eFeature, boolean resolve, boolean coreType); > > /** >- * Does the equivalent of <code>eObject.eGet(eObjecte.eClass().getEStructuralFeature(featureID), resolve, coreType)</code>. >+ * Does the equivalent of <code>eObject.eGet(eObject.eClass().getEStructuralFeature(featureID), resolve, coreType)</code>. > * @see #eGet(EStructuralFeature, boolean, boolean) > */ > Object eGet(int featureID, boolean resolve, boolean coreType); > > /** >- * Does the equivalent of <code>eObject.eSet(eObjecte.eClass().getEStructuralFeature(featureID), newValue)</code>. >+ * Does the equivalent of <code>eObject.eSet(eObject.eClass().getEStructuralFeature(featureID), newValue)</code>. > * @see #eSet(EStructuralFeature, Object) > */ > void eSet(int featureID, Object newValue); > > /** >- * Does the equivalent of <code>eObject.eUnset(eObjecte.eClass().getEStructuralFeature(featureID))</code>. >+ * Does the equivalent of <code>eObject.eUnset(eObject.eClass().getEStructuralFeature(featureID))</code>. > * @see #eUnset(EStructuralFeature) > */ > void eUnset(int featureID); > > /** >- * Does the equivalent of <code>eObject.eIsSet(eObjecte.eClass().getEStructuralFeature(featureID))</code>. >+ * Does the equivalent of <code>eObject.eIsSet(eObject.eClass().getEStructuralFeature(featureID))</code>. > * @see #eIsSet(EStructuralFeature) > */ > boolean eIsSet(int featureID); >+ >+ /** >+ * Does the equivalent of <code>eObject.eInvoke(eObject.eClass().getEOperation(featureID), arguments)</code>. >+ * @see #eInvoke(EOperation, EList<?>) >+ * @since 2.6 >+ */ >+ Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException; > } >Index: model/Ecore.ecore >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/model/Ecore.ecore,v >retrieving revision 1.16 >diff -u -r1.16 Ecore.ecore >--- model/Ecore.ecore 22 Dec 2008 19:51:05 -0000 1.16 >+++ model/Ecore.ecore 27 Oct 2009 23:39:54 -0000 >@@ -42,6 +42,13 @@ > <eOperations name="getEStructuralFeature" eType="#//EStructuralFeature"> > <eParameters name="featureName" eType="#//EString"/> > </eOperations> >+ <eOperations name="getOperationCount" eType="#//EInt"/> >+ <eOperations name="getEOperation" eType="#//EOperation"> >+ <eParameters name="operationID" eType="#//EInt"/> >+ </eOperations> >+ <eOperations name="getOperationID" eType="#//EInt"> >+ <eParameters name="operation" eType="#//EOperation"/> >+ </eOperations> > <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="#//EBoolean"/> > <eStructuralFeatures xsi:type="ecore:EAttribute" name="interface" eType="#//EBoolean"/> > <eStructuralFeatures xsi:type="ecore:EReference" name="eSuperTypes" upperBound="-1" >@@ -221,11 +228,20 @@ > <eOperations name="eUnset"> > <eParameters name="feature" eType="#//EStructuralFeature"/> > </eOperations> >+ <eOperations name="eInvoke" eType="#//EJavaObject" eExceptions="#//EInvocationTargetException"> >+ <eParameters name="operation" eType="#//EOperation"/> >+ <eParameters name="arguments"> >+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList"> >+ <eTypeArguments/> >+ </eGenericType> >+ </eParameters> >+ </eOperations> > </eClassifiers> > <eClassifiers xsi:type="ecore:EClass" name="EOperation" eSuperTypes="#//ETypedElement"> > <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> > <details key="constraints" value="UniqueParameterNames UniqueTypeParameterNames NoRepeatingVoid"/> > </eAnnotations> >+ <eOperations name="getOperationID" eType="#//EInt"/> > <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingClass" eType="#//EClass" > changeable="false" transient="true" resolveProxies="false" eOpposite="#//EClass/eOperations"/> > <eStructuralFeatures xsi:type="ecore:EReference" name="eTypeParameters" upperBound="-1" >@@ -495,4 +511,5 @@ > <eStructuralFeatures xsi:type="ecore:EReference" name="eBounds" upperBound="-1" > eType="#//EGenericType" containment="true" resolveProxies="false"/> > </eClassifiers> >+ <eClassifiers xsi:type="ecore:EDataType" name="EInvocationTargetException" instanceClassName="java.lang.reflect.InvocationTargetException"/> > </ecore:EPackage> >Index: model/Ecore.genmodel >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/model/Ecore.genmodel,v >retrieving revision 1.18 >diff -u -r1.18 Ecore.genmodel >--- model/Ecore.genmodel 27 Apr 2008 20:26:15 -0000 1.18 >+++ model/Ecore.genmodel 27 Oct 2009 23:39:54 -0000 >@@ -3,7 +3,7 @@ > xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" > xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.ecore/src" > modelPluginID="org.eclipse.emf.ecore" runtimeJar="true" modelName="Ecore" updateClasspath="false" >- testsDirectory="" booleanFlagsField="eFlags" booleanFlagsReservedBits="8" importerID="org.eclipse.emf.importer.rose" >+ testsDirectory="" booleanFlagsField="eFlags" booleanFlagsReservedBits="8" importerID="org.eclipse.emf.importer.ecore" > containmentProxies="true" minimalReflectiveMethods="false" complianceLevel="5.0" > language="en"> > <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/exporter/org.eclipse.xsd.ecore.exporter"> >@@ -18,9 +18,7 @@ > </genAnnotations> > <details key="directoryURI" value="."/> > </genAnnotations> >- <foreignModel>Ecore.mdl</foreignModel> >- <foreignModel>VABASE_PLUGINS_PATH</foreignModel> >- <foreignModel>../..</foreignModel> >+ <foreignModel>Ecore.ecore</foreignModel> > <genPackages prefix="Ecore" basePackage="org.eclipse.emf" disposableProviderFactory="true" > multipleEditorPages="false" contentTypeIdentifier="org.eclipse.emf.ecore" ecorePackage="Ecore.ecore#/"> > <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/exporter/org.eclipse.xsd.ecore.exporter"> >@@ -70,6 +68,7 @@ > <genDataTypes ecoreDataType="Ecore.ecore#//ETreeIterator"> > <genTypeParameters ecoreTypeParameter="Ecore.ecore#//ETreeIterator/E"/> > </genDataTypes> >+ <genDataTypes ecoreDataType="Ecore.ecore#//EInvocationTargetException"/> > <genClasses ecoreClass="Ecore.ecore#//EAttribute"> > <genFeatures createChild="false" propertyDescription="Whether the value of this attribute uniquely identifies an object within its containing resource" > ecoreFeature="ecore:EAttribute Ecore.ecore#//EAttribute/iD"/> >@@ -120,6 +119,13 @@ > <genOperations ecoreOperation="Ecore.ecore#//EClass/getEStructuralFeature.1"> > <genParameters ecoreParameter="Ecore.ecore#//EClass/getEStructuralFeature.1/featureName"/> > </genOperations> >+ <genOperations ecoreOperation="Ecore.ecore#//EClass/getOperationCount"/> >+ <genOperations ecoreOperation="Ecore.ecore#//EClass/getEOperation"> >+ <genParameters ecoreParameter="Ecore.ecore#//EClass/getEOperation/operationID"/> >+ </genOperations> >+ <genOperations ecoreOperation="Ecore.ecore#//EClass/getOperationID"> >+ <genParameters ecoreParameter="Ecore.ecore#//EClass/getOperationID/operation"/> >+ </genOperations> > </genClasses> > <genClasses image="false" ecoreClass="Ecore.ecore#//EClassifier"> > <genFeatures createChild="false" propertyDescription="The erased instance class name denoted by this classifier" >@@ -214,6 +220,10 @@ > <genOperations ecoreOperation="Ecore.ecore#//EObject/eUnset"> > <genParameters ecoreParameter="Ecore.ecore#//EObject/eUnset/feature"/> > </genOperations> >+ <genOperations ecoreOperation="Ecore.ecore#//EObject/eInvoke"> >+ <genParameters ecoreParameter="Ecore.ecore#//EObject/eInvoke/operation"/> >+ <genParameters ecoreParameter="Ecore.ecore#//EObject/eInvoke/arguments"/> >+ </genOperations> > </genClasses> > <genClasses ecoreClass="Ecore.ecore#//EOperation"> > <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference Ecore.ecore#//EOperation/eContainingClass"/> >@@ -222,6 +232,7 @@ > <genFeatures notify="false" createChild="false" propertyDescription="The exceptions thrown by this operation" > propertySortChoices="true" ecoreFeature="ecore:EReference Ecore.ecore#//EOperation/eExceptions"/> > <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Ecore.ecore#//EOperation/eGenericExceptions"/> >+ <genOperations ecoreOperation="Ecore.ecore#//EOperation/getOperationID"/> > </genClasses> > <genClasses ecoreClass="Ecore.ecore#//EPackage"> > <genFeatures createChild="false" propertyCategory="" propertyDescription="The universally unique namespace identifier, typically an absolute URI, for this package" >Index: model/EcoreDataTypes.ecorediag >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/model/EcoreDataTypes.ecorediag,v >retrieving revision 1.1 >diff -u -r1.1 EcoreDataTypes.ecorediag >--- model/EcoreDataTypes.ecorediag 2 Aug 2008 15:22:20 -0000 1.1 >+++ model/EcoreDataTypes.ecorediag 27 Oct 2009 23:39:54 -0000 >@@ -224,6 +224,13 @@ > <element xmi:type="ecore:EDataType" href="Ecore.ecore#//ETreeIterator"/> > <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n9W90D-IEd2DT6rVsxRmdQ" x="408" y="228"/> > </children> >+ <children xmi:type="notation:Node" xmi:id="_z-RYILP5Ed2JrdFLh2Y_ww" type="1004"> >+ <children xmi:type="notation:Node" xmi:id="_z-VpkLP5Ed2JrdFLh2Y_ww" type="4008"/> >+ <children xmi:type="notation:Node" xmi:id="_z-VpkbP5Ed2JrdFLh2Y_ww" type="4009"/> >+ <styles xmi:type="notation:ShapeStyle" xmi:id="_z-RYIbP5Ed2JrdFLh2Y_ww" fontName="Lucida Grande" fontHeight="10" fillColor="13420443" lineColor="8421504"/> >+ <element xmi:type="ecore:EDataType" href="Ecore.ecore#//EInvocationTargetException"/> >+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-RYIrP5Ed2JrdFLh2Y_ww" x="-216" y="585"/> >+ </children> > <styles xmi:type="notation:DiagramStyle" xmi:id="_n9W90T-IEd2DT6rVsxRmdQ"/> > <element xmi:type="ecore:EPackage" href="Ecore.ecore#/"/> > </notation:Diagram> >Index: model/EcoreAnnotations.ecorediag >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/model/EcoreAnnotations.ecorediag,v >retrieving revision 1.2 >diff -u -r1.2 EcoreAnnotations.ecorediag >--- model/EcoreAnnotations.ecorediag 14 Dec 2008 16:44:30 -0000 1.2 >+++ model/EcoreAnnotations.ecorediag 27 Oct 2009 23:39:54 -0000 >@@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8"?> >-<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.1/notation" xmi:id="_sFlvID-OEd2DT6rVsxRmdQ" type="EcoreTools" measurementUnit="Pixel"> >+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_sFlvID-OEd2DT6rVsxRmdQ" type="EcoreTools" measurementUnit="Pixel"> > <children xmi:type="notation:Node" xmi:id="_sFlvIT-OEd2DT6rVsxRmdQ" type="1001"> > <children xmi:type="notation:Node" xmi:id="_sFlvIj-OEd2DT6rVsxRmdQ" type="4001"/> > <children xmi:type="notation:Node" xmi:id="_sFlvIz-OEd2DT6rVsxRmdQ" type="5001"> >@@ -14,7 +14,7 @@ > </children> > <styles xmi:type="notation:ShapeStyle" xmi:id="_sFlvLT-OEd2DT6rVsxRmdQ" fontName="Microsoft Sans Serif" fontHeight="10" fillColor="13761016" lineColor="0"/> > <element xmi:type="ecore:EClass" href="Ecore.ecore#//EAnnotation"/> >- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sFlvLj-OEd2DT6rVsxRmdQ" x="114" y="312"/> >+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sFlvLj-OEd2DT6rVsxRmdQ" x="108" y="333"/> > </children> > <children xmi:type="notation:Node" xmi:id="_sFlvLz-OEd2DT6rVsxRmdQ" type="1001"> > <children xmi:type="notation:Node" xmi:id="_sFlvMD-OEd2DT6rVsxRmdQ" type="4001"/> >@@ -40,6 +40,66 @@ > <styles xmi:type="notation:FilteringStyle" xmi:id="_sFlvRD-OEd2DT6rVsxRmdQ"/> > </children> > <children xmi:type="notation:Node" xmi:id="_sFlvRT-OEd2DT6rVsxRmdQ" type="5002"> >+ <children xmi:type="notation:Node" xmi:id="_qywyMLP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eClass"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qywyMbP2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_qyxZQLP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eIsProxy"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qyxZQbP2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_qyxZQrP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eResource"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qyxZQ7P2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_qyxZRLP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eContainer"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qyxZRbP2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_qyxZRrP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eContainingFeature"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qyxZR7P2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_qyyAULP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eContainmentFeature"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qyyAUbP2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_qyyAUrP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eContents"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qyyAU7P2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_qyyAVLP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eAllContents"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qyyAVbP2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_qyyAVrP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eCrossReferences"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qyyAV7P2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_qyynYLP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eGet"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qyynYbP2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_qyynYrP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eGet.1"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qyynY7P2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_qyzOcLP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eSet"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qyzOcbP2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_qyzOcrP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eIsSet"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qyzOc7P2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_qyzOdLP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eUnset"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qyzOdbP2Ed2JrdFLh2Y_ww"/> >+ </children> >+ <children xmi:type="notation:Node" xmi:id="_xxmzoLP2Ed2JrdFLh2Y_ww" type="2002"> >+ <element xmi:type="ecore:EOperation" href="Ecore.ecore#//EObject/eInvoke"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_xxmzobP2Ed2JrdFLh2Y_ww"/> >+ </children> > <styles xmi:type="notation:DrawerStyle" xmi:id="_sFlvRj-OEd2DT6rVsxRmdQ"/> > <styles xmi:type="notation:SortingStyle" xmi:id="_sFlvRz-OEd2DT6rVsxRmdQ"/> > <styles xmi:type="notation:FilteringStyle" xmi:id="_sFlvSD-OEd2DT6rVsxRmdQ"/> >@@ -64,26 +124,26 @@ > </edges> > <edges xmi:type="notation:Edge" xmi:id="_sFlvcD-OEd2DT6rVsxRmdQ" type="3002" source="_sFlvIT-OEd2DT6rVsxRmdQ" target="_sFlvPz-OEd2DT6rVsxRmdQ"> > <children xmi:type="notation:Node" xmi:id="_sFlvcT-OEd2DT6rVsxRmdQ" type="4011"> >- <layoutConstraint xmi:type="notation:Location" xmi:id="_sFlvcj-OEd2DT6rVsxRmdQ" x="-10" y="-35"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_sFlvcj-OEd2DT6rVsxRmdQ" x="-12" y="-25"/> > </children> > <children xmi:type="notation:Node" xmi:id="_sFlvcz-OEd2DT6rVsxRmdQ" type="4012"> >- <layoutConstraint xmi:type="notation:Location" xmi:id="_sFlvdD-OEd2DT6rVsxRmdQ" x="-10" y="21"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_sFlvdD-OEd2DT6rVsxRmdQ" x="-3" y="17"/> > </children> > <styles xmi:type="notation:ConnectorStyle" xmi:id="_sFlvdT-OEd2DT6rVsxRmdQ" routing="Rectilinear" lineColor="0"/> > <styles xmi:type="notation:FontStyle" xmi:id="_sFlvdj-OEd2DT6rVsxRmdQ" fontName="Microsoft Sans Serif" fontHeight="10"/> > <element xmi:type="ecore:EReference" href="Ecore.ecore#//EAnnotation/contents"/> >- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sFlvdz-OEd2DT6rVsxRmdQ" points="[-42, -23, -43, 173]$[-42, -68, -43, 128]"/> >+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sFlvdz-OEd2DT6rVsxRmdQ" points="[-32, -20, -82, 186]$[-32, -70, -82, 136]"/> > </edges> > <edges xmi:type="notation:Edge" xmi:id="_sFlveD-OEd2DT6rVsxRmdQ" type="3002" source="_sFlvIT-OEd2DT6rVsxRmdQ" target="_sFlvPz-OEd2DT6rVsxRmdQ"> > <children xmi:type="notation:Node" xmi:id="_sFlveT-OEd2DT6rVsxRmdQ" type="4011"> >- <layoutConstraint xmi:type="notation:Location" xmi:id="_sFlvej-OEd2DT6rVsxRmdQ" x="-10" y="44"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_sFlvej-OEd2DT6rVsxRmdQ" x="-12" y="33"/> > </children> > <children xmi:type="notation:Node" xmi:id="_sFlvez-OEd2DT6rVsxRmdQ" type="4012"> >- <layoutConstraint xmi:type="notation:Location" xmi:id="_sFlvfD-OEd2DT6rVsxRmdQ" x="-10" y="-15"/> >+ <layoutConstraint xmi:type="notation:Location" xmi:id="_sFlvfD-OEd2DT6rVsxRmdQ" x="-3" y="-10"/> > </children> > <styles xmi:type="notation:ConnectorStyle" xmi:id="_sFlvfT-OEd2DT6rVsxRmdQ" routing="Rectilinear" lineColor="0"/> > <styles xmi:type="notation:FontStyle" xmi:id="_sFlvfj-OEd2DT6rVsxRmdQ" fontName="Microsoft Sans Serif" fontHeight="10"/> > <element xmi:type="ecore:EReference" href="Ecore.ecore#//EAnnotation/references"/> >- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sFlvfz-OEd2DT6rVsxRmdQ" points="[42, -23, 41, 173]$[42, -68, 41, 128]"/> >+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sFlvfz-OEd2DT6rVsxRmdQ" points="[31, -20, -19, 186]$[31, -70, -19, 136]"/> > </edges> > </notation:Diagram> >Index: src/org/eclipse/emf/ecore/impl/EFactoryImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EFactoryImpl.java,v >retrieving revision 1.28 >diff -u -r1.28 EFactoryImpl.java >--- src/org/eclipse/emf/ecore/impl/EFactoryImpl.java 5 Aug 2009 17:19:17 -0000 1.28 >+++ src/org/eclipse/emf/ecore/impl/EFactoryImpl.java 27 Oct 2009 23:39:57 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2006 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -38,6 +38,7 @@ > > import org.eclipse.emf.common.notify.Notification; > import org.eclipse.emf.common.notify.NotificationChain; >+import org.eclipse.emf.common.util.EList; > import org.eclipse.emf.ecore.EAnnotation; > import org.eclipse.emf.ecore.EClass; > import org.eclipse.emf.ecore.EDataType; >@@ -226,6 +227,26 @@ > } > > /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ @Override >+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException >+ { >+ switch (operationID) >+ { >+ case EcorePackage.EFACTORY___CREATE__ECLASS: >+ return create((EClass)arguments.get(0)); >+ case EcorePackage.EFACTORY___CREATE_FROM_STRING__EDATATYPE_STRING: >+ return createFromString((EDataType)arguments.get(0), (String)arguments.get(1)); >+ case EcorePackage.EFACTORY___CONVERT_TO_STRING__EDATATYPE_OBJECT: >+ return convertToString((EDataType)arguments.get(0), (Object)arguments.get(1)); >+ } >+ return eDynamicInvoke(operationID, arguments); >+ } >+ >+ /** > * @generated modifiable > */ > public EObject create(EClass eClass) >Index: src/org/eclipse/emf/ecore/impl/EcorePackageImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EcorePackageImpl.java,v >retrieving revision 1.29 >diff -u -r1.29 EcorePackageImpl.java >--- src/org/eclipse/emf/ecore/impl/EcorePackageImpl.java 12 May 2009 15:54:45 -0000 1.29 >+++ src/org/eclipse/emf/ecore/impl/EcorePackageImpl.java 27 Oct 2009 23:39:59 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2007 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -9,6 +9,7 @@ > * > * Contributors: > * IBM - Initial API and implementation >+ * Christian Damus (Zeligsoft) - 255469 > * > * </copyright> > * >@@ -17,6 +18,7 @@ > package org.eclipse.emf.ecore.impl; > > >+import java.lang.reflect.InvocationTargetException; > import java.math.BigDecimal; > import java.math.BigInteger; > import java.util.ArrayList; >@@ -410,6 +412,13 @@ > * <!-- end-user-doc --> > * @generated > */ >+ private EDataType eInvocationTargetExceptionEDataType = null; >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ > private EDataType eFeatureMapEntryEDataType = null; > > /** >@@ -703,6 +712,86 @@ > * <!-- end-user-doc --> > * @generated > */ >+ public EOperation getEClass__IsSuperTypeOf_EClass() >+ { >+ return (EOperation)eClassEClass.getEOperations().get(0); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEClass__GetFeatureCount() >+ { >+ return (EOperation)eClassEClass.getEOperations().get(1); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEClass__GetEStructuralFeature_int() >+ { >+ return (EOperation)eClassEClass.getEOperations().get(2); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEClass__GetFeatureID_EStructuralFeature() >+ { >+ return (EOperation)eClassEClass.getEOperations().get(3); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEClass__GetEStructuralFeature_String() >+ { >+ return (EOperation)eClassEClass.getEOperations().get(4); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEClass__GetOperationCount() >+ { >+ return (EOperation)eClassEClass.getEOperations().get(5); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEClass__GetEOperation_int() >+ { >+ return (EOperation)eClassEClass.getEOperations().get(6); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEClass__GetOperationID_EOperation() >+ { >+ return (EOperation)eClassEClass.getEOperations().get(7); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ > public EClass getEDataType() > { > return eDataTypeEClass; >@@ -793,6 +882,26 @@ > * <!-- end-user-doc --> > * @generated > */ >+ public EOperation getEClassifier__IsInstance_Object() >+ { >+ return (EOperation)eClassifierEClass.getEOperations().get(0); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEClassifier__GetClassifierID() >+ { >+ return (EOperation)eClassifierEClass.getEOperations().get(1); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ > public EClass getENamedElement() > { > return eNamedElementEClass; >@@ -863,6 +972,16 @@ > * <!-- end-user-doc --> > * @generated > */ >+ public EOperation getEOperation__GetOperationID() >+ { >+ return (EOperation)eOperationEClass.getEOperations().get(0); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ > public EReference getEOperation_ETypeParameters() > { > return (EReference)eOperationEClass.getEStructuralFeatures().get(1); >@@ -893,6 +1012,16 @@ > * <!-- end-user-doc --> > * @generated > */ >+ public EOperation getEModelElement__GetEAnnotation_String() >+ { >+ return (EOperation)eModelElementEClass.getEOperations().get(0); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ > public EClass getEStructuralFeature() > { > return eStructuralFeatureEClass; >@@ -979,6 +1108,26 @@ > } > > /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEStructuralFeature__GetFeatureID() >+ { >+ return (EOperation)eStructuralFeatureEClass.getEOperations().get(0); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEStructuralFeature__GetContainerClass() >+ { >+ return (EOperation)eStructuralFeatureEClass.getEOperations().get(1); >+ } >+ >+ /** > * @deprecated > */ > @Deprecated >@@ -1548,6 +1697,156 @@ > * <!-- end-user-doc --> > * @generated > */ >+ public EOperation getEObject__EClass() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(0); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__EIsProxy() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(1); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__EResource() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(2); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__EContainer() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(3); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__EContainingFeature() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(4); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__EContainmentFeature() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(5); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__EContents() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(6); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__EAllContents() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(7); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__ECrossReferences() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(8); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__EGet_EStructuralFeature() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(9); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__EGet_EStructuralFeature_boolean() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(10); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__ESet_EStructuralFeature_Object() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(11); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__EIsSet_EStructuralFeature() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(12); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__EUnset_EStructuralFeature() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(13); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEObject__EInvoke_EOperation_EList() >+ { >+ return (EOperation)eObjectEClass.getEOperations().get(14); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ > public EClass getEPackage() > { > return ePackageEClass; >@@ -1618,6 +1917,16 @@ > * <!-- end-user-doc --> > * @generated > */ >+ public EOperation getEPackage__GetEClassifier_String() >+ { >+ return (EOperation)ePackageEClass.getEOperations().get(0); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ > public EClass getEEnum() > { > return eEnumEClass; >@@ -1638,6 +1947,36 @@ > * <!-- end-user-doc --> > * @generated > */ >+ public EOperation getEEnum__GetEEnumLiteral_String() >+ { >+ return (EOperation)eEnumEClass.getEOperations().get(0); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEEnum__GetEEnumLiteral_int() >+ { >+ return (EOperation)eEnumEClass.getEOperations().get(1); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEEnum__GetEEnumLiteralByLiteral_String() >+ { >+ return (EOperation)eEnumEClass.getEOperations().get(2); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ > public EClass getEEnumLiteral() > { > return eEnumLiteralEClass; >@@ -1828,6 +2167,16 @@ > * <!-- end-user-doc --> > * @generated > */ >+ public EDataType getEInvocationTargetException() >+ { >+ return eInvocationTargetExceptionEDataType; >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ > public EDataType getEFeatureMapEntry() > { > return eFeatureMapEntryEDataType; >@@ -1941,6 +2290,14 @@ > createEReference(eClassEClass, ECLASS__ESTRUCTURAL_FEATURES); > createEReference(eClassEClass, ECLASS__EGENERIC_SUPER_TYPES); > createEReference(eClassEClass, ECLASS__EALL_GENERIC_SUPER_TYPES); >+ createEOperation(eClassEClass, ECLASS___IS_SUPER_TYPE_OF__ECLASS); >+ createEOperation(eClassEClass, ECLASS___GET_FEATURE_COUNT); >+ createEOperation(eClassEClass, ECLASS___GET_ESTRUCTURAL_FEATURE__INT); >+ createEOperation(eClassEClass, ECLASS___GET_FEATURE_ID__ESTRUCTURALFEATURE); >+ createEOperation(eClassEClass, ECLASS___GET_ESTRUCTURAL_FEATURE__STRING); >+ createEOperation(eClassEClass, ECLASS___GET_OPERATION_COUNT); >+ createEOperation(eClassEClass, ECLASS___GET_EOPERATION__INT); >+ createEOperation(eClassEClass, ECLASS___GET_OPERATION_ID__EOPERATION); > > eClassifierEClass = createEClass(ECLASSIFIER); > createEAttribute(eClassifierEClass, ECLASSIFIER__INSTANCE_CLASS_NAME); >@@ -1949,12 +2306,17 @@ > createEAttribute(eClassifierEClass, ECLASSIFIER__INSTANCE_TYPE_NAME); > createEReference(eClassifierEClass, ECLASSIFIER__EPACKAGE); > createEReference(eClassifierEClass, ECLASSIFIER__ETYPE_PARAMETERS); >+ createEOperation(eClassifierEClass, ECLASSIFIER___IS_INSTANCE__OBJECT); >+ createEOperation(eClassifierEClass, ECLASSIFIER___GET_CLASSIFIER_ID); > > eDataTypeEClass = createEClass(EDATA_TYPE); > createEAttribute(eDataTypeEClass, EDATA_TYPE__SERIALIZABLE); > > eEnumEClass = createEClass(EENUM); > createEReference(eEnumEClass, EENUM__ELITERALS); >+ createEOperation(eEnumEClass, EENUM___GET_EENUM_LITERAL__STRING); >+ createEOperation(eEnumEClass, EENUM___GET_EENUM_LITERAL__INT); >+ createEOperation(eEnumEClass, EENUM___GET_EENUM_LITERAL_BY_LITERAL__STRING); > > eEnumLiteralEClass = createEClass(EENUM_LITERAL); > createEAttribute(eEnumLiteralEClass, EENUM_LITERAL__VALUE); >@@ -1964,14 +2326,33 @@ > > eFactoryEClass = createEClass(EFACTORY); > createEReference(eFactoryEClass, EFACTORY__EPACKAGE); >+ createEOperation(eFactoryEClass, EFACTORY___CREATE__ECLASS); >+ createEOperation(eFactoryEClass, EFACTORY___CREATE_FROM_STRING__EDATATYPE_STRING); >+ createEOperation(eFactoryEClass, EFACTORY___CONVERT_TO_STRING__EDATATYPE_OBJECT); > > eModelElementEClass = createEClass(EMODEL_ELEMENT); > createEReference(eModelElementEClass, EMODEL_ELEMENT__EANNOTATIONS); >+ createEOperation(eModelElementEClass, EMODEL_ELEMENT___GET_EANNOTATION__STRING); > > eNamedElementEClass = createEClass(ENAMED_ELEMENT); > createEAttribute(eNamedElementEClass, ENAMED_ELEMENT__NAME); > > eObjectEClass = createEClass(EOBJECT); >+ createEOperation(eObjectEClass, EOBJECT___ECLASS); >+ createEOperation(eObjectEClass, EOBJECT___EIS_PROXY); >+ createEOperation(eObjectEClass, EOBJECT___ERESOURCE); >+ createEOperation(eObjectEClass, EOBJECT___ECONTAINER); >+ createEOperation(eObjectEClass, EOBJECT___ECONTAINING_FEATURE); >+ createEOperation(eObjectEClass, EOBJECT___ECONTAINMENT_FEATURE); >+ createEOperation(eObjectEClass, EOBJECT___ECONTENTS); >+ createEOperation(eObjectEClass, EOBJECT___EALL_CONTENTS); >+ createEOperation(eObjectEClass, EOBJECT___ECROSS_REFERENCES); >+ createEOperation(eObjectEClass, EOBJECT___EGET__ESTRUCTURALFEATURE); >+ createEOperation(eObjectEClass, EOBJECT___EGET__ESTRUCTURALFEATURE_BOOLEAN); >+ createEOperation(eObjectEClass, EOBJECT___ESET__ESTRUCTURALFEATURE_OBJECT); >+ createEOperation(eObjectEClass, EOBJECT___EIS_SET__ESTRUCTURALFEATURE); >+ createEOperation(eObjectEClass, EOBJECT___EUNSET__ESTRUCTURALFEATURE); >+ createEOperation(eObjectEClass, EOBJECT___EINVOKE__EOPERATION_ELIST); > > eOperationEClass = createEClass(EOPERATION); > createEReference(eOperationEClass, EOPERATION__ECONTAINING_CLASS); >@@ -1979,6 +2360,7 @@ > createEReference(eOperationEClass, EOPERATION__EPARAMETERS); > createEReference(eOperationEClass, EOPERATION__EEXCEPTIONS); > createEReference(eOperationEClass, EOPERATION__EGENERIC_EXCEPTIONS); >+ createEOperation(eOperationEClass, EOPERATION___GET_OPERATION_ID); > > ePackageEClass = createEClass(EPACKAGE); > createEAttribute(ePackageEClass, EPACKAGE__NS_URI); >@@ -1987,6 +2369,7 @@ > createEReference(ePackageEClass, EPACKAGE__ECLASSIFIERS); > createEReference(ePackageEClass, EPACKAGE__ESUBPACKAGES); > createEReference(ePackageEClass, EPACKAGE__ESUPER_PACKAGE); >+ createEOperation(ePackageEClass, EPACKAGE___GET_ECLASSIFIER__STRING); > > eParameterEClass = createEClass(EPARAMETER); > createEReference(eParameterEClass, EPARAMETER__EOPERATION); >@@ -2008,6 +2391,8 @@ > createEAttribute(eStructuralFeatureEClass, ESTRUCTURAL_FEATURE__UNSETTABLE); > createEAttribute(eStructuralFeatureEClass, ESTRUCTURAL_FEATURE__DERIVED); > createEReference(eStructuralFeatureEClass, ESTRUCTURAL_FEATURE__ECONTAINING_CLASS); >+ createEOperation(eStructuralFeatureEClass, ESTRUCTURAL_FEATURE___GET_FEATURE_ID); >+ createEOperation(eStructuralFeatureEClass, ESTRUCTURAL_FEATURE___GET_CONTAINER_CLASS); > > eTypedElementEClass = createEClass(ETYPED_ELEMENT); > createEAttribute(eTypedElementEClass, ETYPED_ELEMENT__ORDERED); >@@ -2067,6 +2452,7 @@ > eShortObjectEDataType = createEDataType(ESHORT_OBJECT); > eStringEDataType = createEDataType(ESTRING); > eTreeIteratorEDataType = createEDataType(ETREE_ITERATOR); >+ eInvocationTargetExceptionEDataType = createEDataType(EINVOCATION_TARGET_EXCEPTION); > } > > /** >@@ -2122,7 +2508,7 @@ > eGenericTypeEClass.getESuperTypes().add(this.getEObject()); > eTypeParameterEClass.getESuperTypes().add(this.getENamedElement()); > >- // Initialize classes and features; add operations and parameters >+ // Initialize classes, features, and operations; add parameters > initEClass(eAttributeEClass, EAttribute.class, "EAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); > initEAttribute(getEAttribute_ID(), this.getEBoolean(), "iD", null, 0, 1, EAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > initEReference(getEAttribute_EAttributeType(), this.getEDataType(), null, "eAttributeType", null, 1, 1, EAttribute.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); >@@ -2152,20 +2538,28 @@ > initEReference(getEClass_EGenericSuperTypes(), this.getEGenericType(), null, "eGenericSuperTypes", null, 0, -1, EClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > initEReference(getEClass_EAllGenericSuperTypes(), this.getEGenericType(), null, "eAllGenericSuperTypes", null, 0, -1, EClass.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); > >- EOperation op = addEOperation(eClassEClass, this.getEBoolean(), "isSuperTypeOf", 0, 1, IS_UNIQUE, IS_ORDERED); >+ EOperation op = initEOperation(getEClass__IsSuperTypeOf_EClass(), this.getEBoolean(), "isSuperTypeOf", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEClass(), "someClass", 0, 1, IS_UNIQUE, IS_ORDERED); > >- addEOperation(eClassEClass, this.getEInt(), "getFeatureCount", 0, 1, IS_UNIQUE, IS_ORDERED); >+ initEOperation(getEClass__GetFeatureCount(), this.getEInt(), "getFeatureCount", 0, 1, IS_UNIQUE, IS_ORDERED); > >- op = addEOperation(eClassEClass, this.getEStructuralFeature(), "getEStructuralFeature", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEClass__GetEStructuralFeature_int(), this.getEStructuralFeature(), "getEStructuralFeature", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEInt(), "featureID", 0, 1, IS_UNIQUE, IS_ORDERED); > >- op = addEOperation(eClassEClass, this.getEInt(), "getFeatureID", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEClass__GetFeatureID_EStructuralFeature(), this.getEInt(), "getFeatureID", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEStructuralFeature(), "feature", 0, 1, IS_UNIQUE, IS_ORDERED); > >- op = addEOperation(eClassEClass, this.getEStructuralFeature(), "getEStructuralFeature", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEClass__GetEStructuralFeature_String(), this.getEStructuralFeature(), "getEStructuralFeature", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEString(), "featureName", 0, 1, IS_UNIQUE, IS_ORDERED); > >+ initEOperation(getEClass__GetOperationCount(), this.getEInt(), "getOperationCount", 0, 1, IS_UNIQUE, IS_ORDERED); >+ >+ op = initEOperation(getEClass__GetEOperation_int(), this.getEOperation(), "getEOperation", 0, 1, IS_UNIQUE, IS_ORDERED); >+ addEParameter(op, this.getEInt(), "operationID", 0, 1, IS_UNIQUE, IS_ORDERED); >+ >+ op = initEOperation(getEClass__GetOperationID_EOperation(), this.getEInt(), "getOperationID", 0, 1, IS_UNIQUE, IS_ORDERED); >+ addEParameter(op, this.getEOperation(), "operation", 0, 1, IS_UNIQUE, IS_ORDERED); >+ > initEClass(eClassifierEClass, EClassifier.class, "EClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); > initEAttribute(getEClassifier_InstanceClassName(), this.getEString(), "instanceClassName", null, 0, 1, EClassifier.class, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > EGenericType g1 = createEGenericType(this.getEJavaClass()); >@@ -2177,10 +2571,10 @@ > initEReference(getEClassifier_EPackage(), this.getEPackage(), this.getEPackage_EClassifiers(), "ePackage", null, 0, 1, EClassifier.class, IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > initEReference(getEClassifier_ETypeParameters(), this.getETypeParameter(), null, "eTypeParameters", null, 0, -1, EClassifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > >- op = addEOperation(eClassifierEClass, this.getEBoolean(), "isInstance", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEClassifier__IsInstance_Object(), this.getEBoolean(), "isInstance", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEJavaObject(), "object", 0, 1, IS_UNIQUE, IS_ORDERED); > >- addEOperation(eClassifierEClass, this.getEInt(), "getClassifierID", 0, 1, IS_UNIQUE, IS_ORDERED); >+ initEOperation(getEClassifier__GetClassifierID(), this.getEInt(), "getClassifierID", 0, 1, IS_UNIQUE, IS_ORDERED); > > initEClass(eDataTypeEClass, EDataType.class, "EDataType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); > initEAttribute(getEDataType_Serializable(), this.getEBoolean(), "serializable", "true", 0, 1, EDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); >@@ -2188,13 +2582,13 @@ > initEClass(eEnumEClass, EEnum.class, "EEnum", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); > initEReference(getEEnum_ELiterals(), this.getEEnumLiteral(), this.getEEnumLiteral_EEnum(), "eLiterals", null, 0, -1, EEnum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > >- op = addEOperation(eEnumEClass, this.getEEnumLiteral(), "getEEnumLiteral", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEEnum__GetEEnumLiteral_String(), this.getEEnumLiteral(), "getEEnumLiteral", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEString(), "name", 0, 1, IS_UNIQUE, IS_ORDERED); > >- op = addEOperation(eEnumEClass, this.getEEnumLiteral(), "getEEnumLiteral", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEEnum__GetEEnumLiteral_int(), this.getEEnumLiteral(), "getEEnumLiteral", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEInt(), "value", 0, 1, IS_UNIQUE, IS_ORDERED); > >- op = addEOperation(eEnumEClass, this.getEEnumLiteral(), "getEEnumLiteralByLiteral", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEEnum__GetEEnumLiteralByLiteral_String(), this.getEEnumLiteral(), "getEEnumLiteralByLiteral", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEString(), "literal", 0, 1, IS_UNIQUE, IS_ORDERED); > > initEClass(eEnumLiteralEClass, EEnumLiteral.class, "EEnumLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); >@@ -2206,21 +2600,21 @@ > initEClass(eFactoryEClass, EFactory.class, "EFactory", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); > initEReference(getEFactory_EPackage(), this.getEPackage(), this.getEPackage_EFactoryInstance(), "ePackage", null, 1, 1, EFactory.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > >- op = addEOperation(eFactoryEClass, this.getEObject(), "create", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEFactory__Create_EClass(), this.getEObject(), "create", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEClass(), "eClass", 0, 1, IS_UNIQUE, IS_ORDERED); > >- op = addEOperation(eFactoryEClass, this.getEJavaObject(), "createFromString", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEFactory__CreateFromString_EDataType_String(), this.getEJavaObject(), "createFromString", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEDataType(), "eDataType", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEString(), "literalValue", 0, 1, IS_UNIQUE, IS_ORDERED); > >- op = addEOperation(eFactoryEClass, this.getEString(), "convertToString", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEFactory__ConvertToString_EDataType_Object(), this.getEString(), "convertToString", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEDataType(), "eDataType", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEJavaObject(), "instanceValue", 0, 1, IS_UNIQUE, IS_ORDERED); > > initEClass(eModelElementEClass, EModelElement.class, "EModelElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); > initEReference(getEModelElement_EAnnotations(), this.getEAnnotation(), this.getEAnnotation_EModelElement(), "eAnnotations", null, 0, -1, EModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > >- op = addEOperation(eModelElementEClass, this.getEAnnotation(), "getEAnnotation", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEModelElement__GetEAnnotation_String(), this.getEAnnotation(), "getEAnnotation", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEString(), "source", 0, 1, IS_UNIQUE, IS_ORDERED); > > initEClass(eNamedElementEClass, ENamedElement.class, "ENamedElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); >@@ -2228,53 +2622,61 @@ > > initEClass(eObjectEClass, EObject.class, "EObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); > >- addEOperation(eObjectEClass, this.getEClass(), "eClass", 0, 1, IS_UNIQUE, IS_ORDERED); >+ initEOperation(getEObject__EClass(), this.getEClass(), "eClass", 0, 1, IS_UNIQUE, IS_ORDERED); > >- addEOperation(eObjectEClass, this.getEBoolean(), "eIsProxy", 0, 1, IS_UNIQUE, IS_ORDERED); >+ initEOperation(getEObject__EIsProxy(), this.getEBoolean(), "eIsProxy", 0, 1, IS_UNIQUE, IS_ORDERED); > >- addEOperation(eObjectEClass, this.getEResource(), "eResource", 0, 1, IS_UNIQUE, IS_ORDERED); >+ initEOperation(getEObject__EResource(), this.getEResource(), "eResource", 0, 1, IS_UNIQUE, IS_ORDERED); > >- addEOperation(eObjectEClass, this.getEObject(), "eContainer", 0, 1, IS_UNIQUE, IS_ORDERED); >+ initEOperation(getEObject__EContainer(), this.getEObject(), "eContainer", 0, 1, IS_UNIQUE, IS_ORDERED); > >- addEOperation(eObjectEClass, this.getEStructuralFeature(), "eContainingFeature", 0, 1, IS_UNIQUE, IS_ORDERED); >+ initEOperation(getEObject__EContainingFeature(), this.getEStructuralFeature(), "eContainingFeature", 0, 1, IS_UNIQUE, IS_ORDERED); > >- addEOperation(eObjectEClass, this.getEReference(), "eContainmentFeature", 0, 1, IS_UNIQUE, IS_ORDERED); >+ initEOperation(getEObject__EContainmentFeature(), this.getEReference(), "eContainmentFeature", 0, 1, IS_UNIQUE, IS_ORDERED); > >- op = addEOperation(eObjectEClass, null, "eContents", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEObject__EContents(), null, "eContents", 0, 1, IS_UNIQUE, IS_ORDERED); > g1 = createEGenericType(this.getEEList()); > g2 = createEGenericType(this.getEObject()); > g1.getETypeArguments().add(g2); > initEOperation(op, g1); > >- op = addEOperation(eObjectEClass, null, "eAllContents", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEObject__EAllContents(), null, "eAllContents", 0, 1, IS_UNIQUE, IS_ORDERED); > g1 = createEGenericType(this.getETreeIterator()); > g2 = createEGenericType(this.getEObject()); > g1.getETypeArguments().add(g2); > initEOperation(op, g1); > >- op = addEOperation(eObjectEClass, null, "eCrossReferences", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEObject__ECrossReferences(), null, "eCrossReferences", 0, 1, IS_UNIQUE, IS_ORDERED); > g1 = createEGenericType(this.getEEList()); > g2 = createEGenericType(this.getEObject()); > g1.getETypeArguments().add(g2); > initEOperation(op, g1); > >- op = addEOperation(eObjectEClass, this.getEJavaObject(), "eGet", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEObject__EGet_EStructuralFeature(), this.getEJavaObject(), "eGet", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEStructuralFeature(), "feature", 0, 1, IS_UNIQUE, IS_ORDERED); > >- op = addEOperation(eObjectEClass, this.getEJavaObject(), "eGet", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEObject__EGet_EStructuralFeature_boolean(), this.getEJavaObject(), "eGet", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEStructuralFeature(), "feature", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEBoolean(), "resolve", 0, 1, IS_UNIQUE, IS_ORDERED); > >- op = addEOperation(eObjectEClass, null, "eSet", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEObject__ESet_EStructuralFeature_Object(), null, "eSet", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEStructuralFeature(), "feature", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEJavaObject(), "newValue", 0, 1, IS_UNIQUE, IS_ORDERED); > >- op = addEOperation(eObjectEClass, this.getEBoolean(), "eIsSet", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEObject__EIsSet_EStructuralFeature(), this.getEBoolean(), "eIsSet", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEStructuralFeature(), "feature", 0, 1, IS_UNIQUE, IS_ORDERED); > >- op = addEOperation(eObjectEClass, null, "eUnset", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEObject__EUnset_EStructuralFeature(), null, "eUnset", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEStructuralFeature(), "feature", 0, 1, IS_UNIQUE, IS_ORDERED); > >+ op = initEOperation(getEObject__EInvoke_EOperation_EList(), this.getEJavaObject(), "eInvoke", 0, 1, IS_UNIQUE, IS_ORDERED); >+ addEParameter(op, this.getEOperation(), "operation", 0, 1, IS_UNIQUE, IS_ORDERED); >+ g1 = createEGenericType(ecorePackage.getEEList()); >+ g2 = createEGenericType(); >+ g1.getETypeArguments().add(g2); >+ addEParameter(op, g1, "arguments", 0, 1, IS_UNIQUE, IS_ORDERED); >+ addEException(op, this.getEInvocationTargetException()); >+ > initEClass(eOperationEClass, EOperation.class, "EOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); > initEReference(getEOperation_EContainingClass(), this.getEClass(), this.getEClass_EOperations(), "eContainingClass", null, 0, 1, EOperation.class, IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > initEReference(getEOperation_ETypeParameters(), this.getETypeParameter(), null, "eTypeParameters", null, 0, -1, EOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); >@@ -2282,6 +2684,8 @@ > initEReference(getEOperation_EExceptions(), this.getEClassifier(), null, "eExceptions", null, 0, -1, EOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > initEReference(getEOperation_EGenericExceptions(), this.getEGenericType(), null, "eGenericExceptions", null, 0, -1, EOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > >+ initEOperation(getEOperation__GetOperationID(), this.getEInt(), "getOperationID", 0, 1, IS_UNIQUE, IS_ORDERED); >+ > initEClass(ePackageEClass, EPackage.class, "EPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); > initEAttribute(getEPackage_NsURI(), this.getEString(), "nsURI", null, 0, 1, EPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > initEAttribute(getEPackage_NsPrefix(), this.getEString(), "nsPrefix", null, 0, 1, EPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); >@@ -2290,7 +2694,7 @@ > initEReference(getEPackage_ESubpackages(), this.getEPackage(), this.getEPackage_ESuperPackage(), "eSubpackages", null, 0, -1, EPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > initEReference(getEPackage_ESuperPackage(), this.getEPackage(), this.getEPackage_ESubpackages(), "eSuperPackage", null, 0, 1, EPackage.class, IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > >- op = addEOperation(ePackageEClass, this.getEClassifier(), "getEClassifier", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEPackage__GetEClassifier_String(), this.getEClassifier(), "getEClassifier", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, this.getEString(), "name", 0, 1, IS_UNIQUE, IS_ORDERED); > > initEClass(eParameterEClass, EParameter.class, "EParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); >@@ -2314,9 +2718,9 @@ > initEAttribute(getEStructuralFeature_Derived(), this.getEBoolean(), "derived", null, 0, 1, EStructuralFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > initEReference(getEStructuralFeature_EContainingClass(), this.getEClass(), this.getEClass_EStructuralFeatures(), "eContainingClass", null, 0, 1, EStructuralFeature.class, IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > >- addEOperation(eStructuralFeatureEClass, this.getEInt(), "getFeatureID", 0, 1, IS_UNIQUE, IS_ORDERED); >+ initEOperation(getEStructuralFeature__GetFeatureID(), this.getEInt(), "getFeatureID", 0, 1, IS_UNIQUE, IS_ORDERED); > >- op = addEOperation(eStructuralFeatureEClass, null, "getContainerClass", 0, 1, IS_UNIQUE, IS_ORDERED); >+ op = initEOperation(getEStructuralFeature__GetContainerClass(), null, "getContainerClass", 0, 1, IS_UNIQUE, IS_ORDERED); > g1 = createEGenericType(this.getEJavaClass()); > g2 = createEGenericType(); > g1.getETypeArguments().add(g2); >@@ -2380,6 +2784,7 @@ > initEDataType(eShortObjectEDataType, Short.class, "EShortObject", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); > initEDataType(eStringEDataType, String.class, "EString", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); > initEDataType(eTreeIteratorEDataType, TreeIterator.class, "ETreeIterator", !IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); >+ initEDataType(eInvocationTargetExceptionEDataType, InvocationTargetException.class, "EInvocationTargetException", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); > > // Create resource > createResource(eNS_URI); >@@ -2652,4 +3057,34 @@ > return (EReference)eFactoryEClass.getEStructuralFeatures().get(0); > } > >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEFactory__Create_EClass() >+ { >+ return (EOperation)eFactoryEClass.getEOperations().get(0); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEFactory__CreateFromString_EDataType_String() >+ { >+ return (EOperation)eFactoryEClass.getEOperations().get(1); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public EOperation getEFactory__ConvertToString_EDataType_Object() >+ { >+ return (EOperation)eFactoryEClass.getEOperations().get(2); >+ } >+ > } >Index: src/org/eclipse/emf/ecore/impl/EEnumImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EEnumImpl.java,v >retrieving revision 1.20 >diff -u -r1.20 EEnumImpl.java >--- src/org/eclipse/emf/ecore/impl/EEnumImpl.java 22 Dec 2008 14:24:54 -0000 1.20 >+++ src/org/eclipse/emf/ecore/impl/EEnumImpl.java 27 Oct 2009 23:39:57 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2006 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -17,6 +17,7 @@ > package org.eclipse.emf.ecore.impl; > > >+import java.lang.reflect.InvocationTargetException; > import java.util.Collection; > > import org.eclipse.emf.common.notify.NotificationChain; >@@ -287,6 +288,26 @@ > } > > /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ @Override >+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException >+ { >+ switch (operationID) >+ { >+ case EcorePackage.EENUM___GET_EENUM_LITERAL__STRING: >+ return getEEnumLiteral((String)arguments.get(0)); >+ case EcorePackage.EENUM___GET_EENUM_LITERAL__INT: >+ return getEEnumLiteral((Integer)arguments.get(0)); >+ case EcorePackage.EENUM___GET_EENUM_LITERAL_BY_LITERAL__STRING: >+ return getEEnumLiteralByLiteral((String)arguments.get(0)); >+ } >+ return eDynamicInvoke(operationID, arguments); >+ } >+ >+ /** > * @generated NOT > */ > public EEnumLiteral getEEnumLiteral(String name) >Index: src/org/eclipse/emf/ecore/impl/EOperationImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EOperationImpl.java,v >retrieving revision 1.23 >diff -u -r1.23 EOperationImpl.java >--- src/org/eclipse/emf/ecore/impl/EOperationImpl.java 16 Jan 2009 12:55:11 -0000 1.23 >+++ src/org/eclipse/emf/ecore/impl/EOperationImpl.java 27 Oct 2009 23:39:57 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2007 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -9,6 +9,7 @@ > * > * Contributors: > * IBM - Initial API and implementation >+ * Christian Damus (Zeligsoft) - 255469 > * > * </copyright> > * >@@ -17,6 +18,7 @@ > package org.eclipse.emf.ecore.impl; > > >+import java.lang.reflect.InvocationTargetException; > import java.lang.reflect.Array; > import java.util.AbstractSequentialList; > import java.util.Collection; >@@ -38,9 +40,11 @@ > import org.eclipse.emf.ecore.EcoreFactory; > import org.eclipse.emf.ecore.EcorePackage; > import org.eclipse.emf.ecore.InternalEObject; >+import org.eclipse.emf.ecore.util.BasicInvocationDelegate; > import org.eclipse.emf.ecore.util.DelegatingEcoreEList; > import org.eclipse.emf.ecore.util.EObjectContainmentEList; > import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; >+import org.eclipse.emf.ecore.util.EcoreUtil; > // import org.eclipse.emf.ecore.util.EObjectResolvingEList; > import org.eclipse.emf.ecore.util.InternalEList; > >@@ -48,6 +52,7 @@ > /** > * <!-- begin-user-doc --> > * An implementation of the model object '<em><b>EOperation</b></em>'. >+ * @extends EOperation.Internal > * <!-- end-user-doc --> > * <p> > * The following features are implemented: >@@ -62,8 +67,10 @@ > * > * @generated > */ >-public class EOperationImpl extends ETypedElementImpl implements EOperation >+public class EOperationImpl extends ETypedElementImpl implements EOperation, EOperation.Internal > { >+ protected int operationID = -1; >+ > /** > * The cached value of the '{@link #getETypeParameters() <em>EType Parameters</em>}' containment reference list. > * <!-- begin-user-doc --> >@@ -736,6 +743,21 @@ > /** > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >+ * @generated modifiable >+ */ >+ public int getOperationID() >+ { >+ return operationID; >+ } >+ >+ public void setOperationID(int operationID) >+ { >+ this.operationID = operationID; >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> > * @generated > */ > public EList<ETypeParameter> getETypeParameters() >@@ -1007,4 +1029,45 @@ > return eDynamicIsSet(featureID); > } > >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ @Override >+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException >+ { >+ switch (operationID) >+ { >+ case EcorePackage.EOPERATION___GET_OPERATION_ID: >+ return getOperationID(); >+ } >+ return eDynamicInvoke(operationID, arguments); >+ } >+ >+ protected EOperation.Internal.InvocationDelegate invocationDelegate; >+ >+ public InvocationDelegate getInvocationDelegate() >+ { >+ if (invocationDelegate == null) >+ { >+ InvocationDelegate.Factory factory = EcoreUtil.getInvocationDelegateFactory(this); >+ if (factory != null) >+ { >+ invocationDelegate = factory.createInvocationDelegate(this); >+ } >+ if (invocationDelegate == null) >+ { >+ invocationDelegate = new BasicInvocationDelegate(this); >+ } >+ } >+ >+ return invocationDelegate; >+ } >+ >+ public void setInvocationDelegate(InvocationDelegate invocationDelegate) >+ { >+ this.invocationDelegate = invocationDelegate; >+ } >+ > } >Index: src/org/eclipse/emf/ecore/impl/EModelElementImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EModelElementImpl.java,v >retrieving revision 1.22 >diff -u -r1.22 EModelElementImpl.java >--- src/org/eclipse/emf/ecore/impl/EModelElementImpl.java 16 Jan 2009 12:55:11 -0000 1.22 >+++ src/org/eclipse/emf/ecore/impl/EModelElementImpl.java 27 Oct 2009 23:39:57 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2006 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -17,6 +17,7 @@ > package org.eclipse.emf.ecore.impl; > > >+import java.lang.reflect.InvocationTargetException; > import java.util.Collection; > > import org.eclipse.emf.common.notify.NotificationChain; >@@ -310,6 +311,22 @@ > return eDynamicIsSet(featureID); > } > >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ @Override >+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException >+ { >+ switch (operationID) >+ { >+ case EcorePackage.EMODEL_ELEMENT___GET_EANNOTATION__STRING: >+ return getEAnnotation((String)arguments.get(0)); >+ } >+ return eDynamicInvoke(operationID, arguments); >+ } >+ > @Override > public String eURIFragmentSegment(EStructuralFeature eStructuralFeature, EObject eObject) > { >Index: src/org/eclipse/emf/ecore/impl/BasicEObjectImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/BasicEObjectImpl.java,v >retrieving revision 1.39 >diff -u -r1.39 BasicEObjectImpl.java >--- src/org/eclipse/emf/ecore/impl/BasicEObjectImpl.java 16 Jan 2009 12:55:11 -0000 1.39 >+++ src/org/eclipse/emf/ecore/impl/BasicEObjectImpl.java 27 Oct 2009 23:39:56 -0000 >@@ -9,6 +9,7 @@ > * > * Contributors: > * IBM - Initial API and implementation >+ * Christian Damus (Zeligsoft) - 255469 > * > * </copyright> > * >@@ -17,6 +18,7 @@ > package org.eclipse.emf.ecore.impl; > > >+import java.lang.reflect.InvocationTargetException; > import java.util.ArrayList; > import java.util.Iterator; > import java.util.List; >@@ -36,6 +38,7 @@ > import org.eclipse.emf.ecore.EDataType; > import org.eclipse.emf.ecore.EFactory; > import org.eclipse.emf.ecore.EObject; >+import org.eclipse.emf.ecore.EOperation; > import org.eclipse.emf.ecore.EReference; > import org.eclipse.emf.ecore.EStructuralFeature; > import org.eclipse.emf.ecore.ETypedElement; >@@ -226,6 +229,11 @@ > return eStaticClass().getFeatureCount(); > } > >+ protected int eStaticOperationCount() >+ { >+ return eStaticClass().getOperationCount(); >+ } >+ > protected EPropertiesHolder eProperties() > { > throw new UnsupportedOperationException(); >@@ -1504,6 +1512,30 @@ > } > } > >+ public int eBaseOperationID(int derivedOperationID, Class<?> baseClass) >+ { >+ return derivedOperationID; >+ } >+ >+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) >+ { >+ return baseOperationID; >+ } >+ >+ public int eDerivedOperationID(EOperation eOperation) >+ { >+ Class<?> containerClass = eOperation.getEContainingClass().getInstanceClass(); >+ if (containerClass == null) >+ { >+ return eClass().getOperationID(eOperation); >+ } >+ else >+ { >+ assert eClass().getEAllOperations().contains(eOperation) : "The operation '" + eOperation.getName() + "' is not a valid operation"; >+ return eDerivedOperationID(eOperation.getOperationID(), containerClass); >+ } >+ } >+ > public EClass eClass() > { > if (eBasicProperties() != null) >@@ -1613,6 +1645,11 @@ > return setting; > } > >+ protected EOperation.Internal.InvocationDelegate eInvocationDelegate(EOperation eOperation) >+ { >+ return ((EOperation.Internal)eOperation).getInvocationDelegate(); >+ } >+ > public InternalEObject.EStore eStore() > { > return null; >@@ -1995,6 +2032,37 @@ > } > } > >+ public Object eInvoke(EOperation eOperation, EList<?> arguments) throws InvocationTargetException >+ { >+ int operationID = eDerivedOperationID(eOperation); >+ if (operationID >= 0) >+ { >+ return eInvoke(operationID, arguments); >+ } >+ else >+ { >+ throw new IllegalArgumentException("The operation '" + eOperation.getName() + "' is not a valid operation"); >+ } >+ } >+ >+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException >+ { >+ EOperation eOperation = eClass().getEOperation(operationID); >+ assert eOperation != null : "Invalid operationID: " + operationID; >+ >+ return eInvocationDelegate(eOperation).dynamicInvoke(this, arguments); >+ } >+ >+ public Object eDynamicInvoke(int operationID, EList<?> arguments) throws InvocationTargetException >+ { >+ return eDynamicInvoke(eClass().getEOperation(operationID), arguments); >+ } >+ >+ protected Object eDynamicInvoke(EOperation eOperation, EList<?> arguments) throws InvocationTargetException >+ { >+ return eInvocationDelegate(eOperation).dynamicInvoke(this, arguments); >+ } >+ > @Override > public String toString() > { >Index: src/org/eclipse/emf/ecore/impl/EStructuralFeatureImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EStructuralFeatureImpl.java,v >retrieving revision 1.39 >diff -u -r1.39 EStructuralFeatureImpl.java >--- src/org/eclipse/emf/ecore/impl/EStructuralFeatureImpl.java 7 Aug 2009 14:30:00 -0000 1.39 >+++ src/org/eclipse/emf/ecore/impl/EStructuralFeatureImpl.java 27 Oct 2009 23:39:58 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2007 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -17,12 +17,14 @@ > package org.eclipse.emf.ecore.impl; > > >+import java.lang.reflect.InvocationTargetException; > import java.util.Collection; > import java.util.List; > import java.util.Map; > > import org.eclipse.emf.common.notify.Notification; > import org.eclipse.emf.common.notify.NotificationChain; >+import org.eclipse.emf.common.util.EList; > import org.eclipse.emf.common.notify.impl.NotificationChainImpl; > import org.eclipse.emf.common.util.BasicEMap; > import org.eclipse.emf.common.util.EMap; >@@ -766,6 +768,24 @@ > return eDynamicIsSet(featureID); > } > >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ @Override >+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException >+ { >+ switch (operationID) >+ { >+ case EcorePackage.ESTRUCTURAL_FEATURE___GET_FEATURE_ID: >+ return getFeatureID(); >+ case EcorePackage.ESTRUCTURAL_FEATURE___GET_CONTAINER_CLASS: >+ return getContainerClass(); >+ } >+ return eDynamicInvoke(operationID, arguments); >+ } >+ > public void setContainerClass(Class<?> containerClass) > { > this.containerClass = containerClass; >@@ -816,10 +836,15 @@ > Object intrinsicDefaultValue = eType.getDefaultValue(); > > EStructuralFeature featureMapFeature; >- if (isDerived() && >- (((featureMapFeature = ExtendedMetaData.INSTANCE.getMixedFeature(eClass)) != null && >- featureMapFeature != this) || >- ((featureMapFeature = ExtendedMetaData.INSTANCE.getGroup(this)) != null))) >+ SettingDelegate.Factory settingDelegateFactory; >+ if ((settingDelegateFactory = EcoreUtil.getSettingDelegateFactory(this)) != null) >+ { >+ settingDelegate = settingDelegateFactory.createSettingDelegate(this); >+ } >+ else if (isDerived() && >+ (((featureMapFeature = ExtendedMetaData.INSTANCE.getMixedFeature(eClass)) != null && >+ featureMapFeature != this) || >+ ((featureMapFeature = ExtendedMetaData.INSTANCE.getGroup(this)) != null))) > { > settingDelegate = new InternalSettingDelegateFeatureMapDelegator(this, featureMapFeature); > } >Index: src/org/eclipse/emf/ecore/impl/EClassImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EClassImpl.java,v >retrieving revision 1.46 >diff -u -r1.46 EClassImpl.java >--- src/org/eclipse/emf/ecore/impl/EClassImpl.java 22 Dec 2008 14:24:54 -0000 1.46 >+++ src/org/eclipse/emf/ecore/impl/EClassImpl.java 27 Oct 2009 23:39:57 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2007 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -14,10 +14,10 @@ > * > * $Id: EClassImpl.java,v 1.46 2008/12/22 14:24:54 emerks Exp $ > */ >- > package org.eclipse.emf.ecore.impl; > > >+import java.lang.reflect.InvocationTargetException; > import java.lang.reflect.Array; > import java.util.AbstractSequentialList; > import java.util.Collection; >@@ -105,6 +105,7 @@ > protected EStructuralFeature[] eAllStructuralFeaturesData; > protected BasicEList<EReference> eAllContainments; > protected BasicEList<EOperation> eAllOperations; >+ protected EOperation[] eAllOperationsData; > protected BasicEList<EClass> eAllSuperTypes; > protected BasicEList<EGenericType> eAllGenericSuperTypes; > protected Map<String, EStructuralFeature> eNameToFeatureMap; >@@ -923,17 +924,29 @@ > } > computationInProgress.remove(this); > } >+ int operationID = result.size(); >+ for (Iterator<EOperation> i = getEOperations().iterator(); i.hasNext(); ++operationID) >+ { >+ ((EOperationImpl)i.next()).setOperationID(operationID); >+ } > result.addAll(getEOperations()); > result.shrink(); > eAllOperations = > new EcoreEList.UnmodifiableEList.FastCompare<EOperation> > (this, EcorePackage.eINSTANCE.getEClass_EAllOperations(), result.size(), result.data()); >+ eAllOperationsData = (EOperation[])result.data(); >+ if (eAllOperationsData == null) >+ { >+ eAllOperationsData = NO_EALL_OPERATIONS_DATA; >+ } > getESuperAdapter().setAllOperationsCollectionModified(false); > } > > return eAllOperations; > } > >+ private static final EOperation[] NO_EALL_OPERATIONS_DATA = {}; >+ > /** > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1160,6 +1173,36 @@ > return eDynamicIsSet(featureID); > } > >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ @Override >+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException >+ { >+ switch (operationID) >+ { >+ case EcorePackage.ECLASS___IS_SUPER_TYPE_OF__ECLASS: >+ return isSuperTypeOf((EClass)arguments.get(0)); >+ case EcorePackage.ECLASS___GET_FEATURE_COUNT: >+ return getFeatureCount(); >+ case EcorePackage.ECLASS___GET_ESTRUCTURAL_FEATURE__INT: >+ return getEStructuralFeature((Integer)arguments.get(0)); >+ case EcorePackage.ECLASS___GET_FEATURE_ID__ESTRUCTURALFEATURE: >+ return getFeatureID((EStructuralFeature)arguments.get(0)); >+ case EcorePackage.ECLASS___GET_ESTRUCTURAL_FEATURE__STRING: >+ return getEStructuralFeature((String)arguments.get(0)); >+ case EcorePackage.ECLASS___GET_OPERATION_COUNT: >+ return getOperationCount(); >+ case EcorePackage.ECLASS___GET_EOPERATION__INT: >+ return getEOperation((Integer)arguments.get(0)); >+ case EcorePackage.ECLASS___GET_OPERATION_ID__EOPERATION: >+ return getOperationID((EOperation)arguments.get(0)); >+ } >+ return eDynamicInvoke(operationID, arguments); >+ } >+ > public EList<EReference> getEAllContainments() > { > if (eAllContainments == null) >@@ -1215,6 +1258,61 @@ > return eNameToFeatureMap.get(name); > } > >+ protected EOperation[] getEAllOperationsData() >+ { >+ if (eAllOperationsData == null) >+ { >+ getEAllOperations(); >+ } >+ return eAllOperationsData; >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated NOT >+ */ >+ public int getOperationCount() >+ { >+ return getEAllOperationsData().length; >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated NOT >+ */ >+ public EOperation getEOperation(int operationID) >+ { >+ EOperation [] eAllOperationsData = getEAllOperationsData(); >+ return >+ operationID >= 0 && operationID < eAllOperationsData.length ? >+ eAllOperationsData[operationID] : >+ null; >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated NOT >+ */ >+ public int getOperationID(EOperation operation) >+ { >+ EOperation [] eAllOperationsData = getEAllOperationsData(); >+ int index = operation.getOperationID(); >+ if (index != -1) >+ { >+ for (int last = eAllOperationsData.length; index < last; ++index) >+ { >+ if (eAllOperationsData[index] == operation) >+ { >+ return index; >+ } >+ } >+ } >+ return -1; >+ } >+ > /** > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1285,6 +1383,11 @@ > return getEAllStructuralFeaturesData().length; > } > >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated NOT >+ */ > public EStructuralFeature getEStructuralFeature(int featureID) > { > EStructuralFeature [] eAllStructuralFeaturesData = getEAllStructuralFeaturesData(); >Index: src/org/eclipse/emf/ecore/impl/EPackageImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EPackageImpl.java,v >retrieving revision 1.40 >diff -u -r1.40 EPackageImpl.java >--- src/org/eclipse/emf/ecore/impl/EPackageImpl.java 19 Oct 2009 11:37:11 -0000 1.40 >+++ src/org/eclipse/emf/ecore/impl/EPackageImpl.java 27 Oct 2009 23:39:58 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2007 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -17,6 +17,7 @@ > package org.eclipse.emf.ecore.impl; > > >+import java.lang.reflect.InvocationTargetException; > import java.lang.reflect.Method; > import java.util.Collection; > import java.util.HashMap; >@@ -699,6 +700,22 @@ > * @generated > */ > @Override >+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException >+ { >+ switch (operationID) >+ { >+ case EcorePackage.EPACKAGE___GET_ECLASSIFIER__STRING: >+ return getEClassifier((String)arguments.get(0)); >+ } >+ return eDynamicInvoke(operationID, arguments); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ @Override > public String toString() > { > if (eIsProxy()) return super.toString(); >@@ -774,7 +791,17 @@ > r.setFeatureID(id); > owner.getEStructuralFeatures().add(r); > } >- >+ >+ /** >+ * @since 2.6 >+ */ >+ protected void createEOperation(EClass owner, int id) >+ { >+ EOperationImpl o = (EOperationImpl)ecoreFactory.createEOperation(); >+ o.setOperationID(id); >+ owner.getEOperations().add(o); >+ } >+ > protected ETypeParameter addETypeParameter(EClassifier owner, String name) > { > ETypeParameter eTypeParameter = ecoreFactory.createETypeParameter(); >@@ -1471,28 +1498,59 @@ > protected EOperation addEOperation(EClass owner, EClassifier type, String name) > { > EOperation o = ecoreFactory.createEOperation(); >- o.setEType(type); >- o.setName(name); >+ initEOperation(o, type, name); > owner.getEOperations().add(o); > return o; > } > > protected EOperation addEOperation(EClass owner, EClassifier type, String name, int lowerBound, int upperBound) > { >- EOperation o = addEOperation(owner, type, name); >- o.setLowerBound(lowerBound); >- o.setUpperBound(upperBound); >+ EOperation o = ecoreFactory.createEOperation(); >+ initEOperation(o, type, name, lowerBound, upperBound); >+ owner.getEOperations().add(o); > return o; > } > > protected EOperation addEOperation(EClass owner, EClassifier type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered) > { >- EOperation o = addEOperation(owner, type, name, lowerBound, upperBound); >- o.setUnique(isUnique); >- o.setOrdered(isOrdered); >+ EOperation o = ecoreFactory.createEOperation(); >+ initEOperation(o, type, name, lowerBound, upperBound, isUnique, isOrdered); >+ owner.getEOperations().add(o); > return o; > } > >+ /** >+ * @since 2.6 >+ */ >+ protected EOperation initEOperation(EOperation eOperation, EClassifier type, String name) >+ { >+ eOperation.setEType(type); >+ eOperation.setName(name); >+ return eOperation; >+ } >+ >+ /** >+ * @since 2.6 >+ */ >+ protected EOperation initEOperation(EOperation eOperation, EClassifier type, String name, int lowerBound, int upperBound) >+ { >+ initEOperation(eOperation, type, name); >+ eOperation.setLowerBound(lowerBound); >+ eOperation.setUpperBound(upperBound); >+ return eOperation; >+ } >+ >+ /** >+ * @since 2.6 >+ */ >+ protected EOperation initEOperation(EOperation eOperation, EClassifier type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered) >+ { >+ initEOperation(eOperation, type, name, lowerBound, upperBound); >+ eOperation.setUnique(isUnique); >+ eOperation.setOrdered(isOrdered); >+ return eOperation; >+ } >+ > protected void initEOperation(EOperation eOperation, EGenericType eGenericType) > { > eOperation.setEGenericType(eGenericType); >@@ -1643,6 +1701,7 @@ > eClassifier.setClassifierID(id++); > fixInstanceClass(eClassifier); > fixEStructuralFeatures((EClass)eClassifier); >+ fixEOperations((EClass)eClassifier); > } > } > >@@ -1711,6 +1770,24 @@ > } > } > >+ /** >+ * @since 2.6 >+ */ >+ protected void fixEOperations(EClass eClass) >+ { >+ List<EOperation> operations = eClass.getEOperations(); >+ if (!operations.isEmpty()) >+ { >+ int id = eClass.getOperationID(operations.get(0)); >+ >+ for (Iterator<EOperation> i = operations.iterator(); i.hasNext(); ) >+ { >+ EOperationImpl eOperation = (EOperationImpl)i.next(); >+ eOperation.setOperationID(id++); >+ } >+ } >+ } >+ > protected void fixEEnumLiterals(EEnum eEnum) > { > Class<?> enumClass = eEnum.getInstanceClass(); >Index: src/org/eclipse/emf/ecore/impl/EcoreFactoryImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EcoreFactoryImpl.java,v >retrieving revision 1.16 >diff -u -r1.16 EcoreFactoryImpl.java >--- src/org/eclipse/emf/ecore/impl/EcoreFactoryImpl.java 22 Dec 2008 14:24:54 -0000 1.16 >+++ src/org/eclipse/emf/ecore/impl/EcoreFactoryImpl.java 27 Oct 2009 23:39:58 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2006 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -9,6 +9,7 @@ > * > * Contributors: > * IBM - Initial API and implementation >+ * Christian Damus (Zeligsoft) - 255469 > * > * </copyright> > * >@@ -17,6 +18,7 @@ > package org.eclipse.emf.ecore.impl; > > >+import java.lang.reflect.InvocationTargetException; > import java.math.BigDecimal; > import java.math.BigInteger; > import java.text.ParseException; >@@ -161,6 +163,8 @@ > return createEShortObjectFromString(eDataType, initialValue); > case EcorePackage.ESTRING: > return createEStringFromString(eDataType, initialValue); >+ case EcorePackage.EINVOCATION_TARGET_EXCEPTION: >+ return createEInvocationTargetExceptionFromString(eDataType, initialValue); > default: > throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); > } >@@ -222,6 +226,8 @@ > return convertEShortObjectToString(eDataType, instanceValue); > case EcorePackage.ESTRING: > return convertEStringToString(eDataType, instanceValue); >+ case EcorePackage.EINVOCATION_TARGET_EXCEPTION: >+ return convertEInvocationTargetExceptionToString(eDataType, instanceValue); > default: > throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); > } >@@ -654,6 +660,26 @@ > /** > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >+ * @generated >+ */ >+ public InvocationTargetException createEInvocationTargetExceptionFromString(EDataType eDataType, String initialValue) >+ { >+ return (InvocationTargetException)super.createFromString(eDataType, initialValue); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public String convertEInvocationTargetExceptionToString(EDataType eDataType, Object instanceValue) >+ { >+ return super.convertToString(eDataType, instanceValue); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> > * @generated NOT > */ > public Integer createEIntFromString(EDataType metaObject, String initialValue) >Index: src/org/eclipse/emf/ecore/impl/EClassifierImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/EClassifierImpl.java,v >retrieving revision 1.29 >diff -u -r1.29 EClassifierImpl.java >--- src/org/eclipse/emf/ecore/impl/EClassifierImpl.java 16 Jan 2009 12:55:11 -0000 1.29 >+++ src/org/eclipse/emf/ecore/impl/EClassifierImpl.java 27 Oct 2009 23:39:57 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2007 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -17,6 +17,7 @@ > package org.eclipse.emf.ecore.impl; > > >+import java.lang.reflect.InvocationTargetException; > import java.util.Collection; > > import org.eclipse.emf.common.notify.Notification; >@@ -900,6 +901,24 @@ > return eDynamicIsSet(featureID); > } > >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ @Override >+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException >+ { >+ switch (operationID) >+ { >+ case EcorePackage.ECLASSIFIER___IS_INSTANCE__OBJECT: >+ return isInstance((Object)arguments.get(0)); >+ case EcorePackage.ECLASSIFIER___GET_CLASSIFIER_ID: >+ return getClassifierID(); >+ } >+ return eDynamicInvoke(operationID, arguments); >+ } >+ > protected BasicExtendedMetaData.EClassifierExtendedMetaData eClassifierExtendedMetaData; > > public BasicExtendedMetaData.EClassifierExtendedMetaData getExtendedMetaData() >Index: src/org/eclipse/emf/ecore/impl/DynamicEObjectImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/DynamicEObjectImpl.java,v >retrieving revision 1.8 >diff -u -r1.8 DynamicEObjectImpl.java >--- src/org/eclipse/emf/ecore/impl/DynamicEObjectImpl.java 25 Aug 2009 08:08:40 -0000 1.8 >+++ src/org/eclipse/emf/ecore/impl/DynamicEObjectImpl.java 27 Oct 2009 23:39:56 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2006 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -22,6 +22,7 @@ > import org.eclipse.emf.common.util.URI; > import org.eclipse.emf.ecore.EClass; > import org.eclipse.emf.ecore.EObject; >+import org.eclipse.emf.ecore.EOperation; > import org.eclipse.emf.ecore.EStructuralFeature; > import org.eclipse.emf.ecore.resource.Resource; > >@@ -250,6 +251,18 @@ > } > > @Override >+ protected int eStaticOperationCount() >+ { >+ return 0; >+ } >+ >+ @Override >+ public int eDerivedOperationID(EOperation eOperation) >+ { >+ return eClass().getOperationID(eOperation); >+ } >+ >+ @Override > protected EClass eDynamicClass() > { > return eClass; >Index: plugin.properties >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/plugin.properties,v >retrieving revision 1.37 >diff -u -r1.37 plugin.properties >--- plugin.properties 19 Oct 2009 10:58:31 -0000 1.37 >+++ plugin.properties 27 Oct 2009 23:39:53 -0000 >@@ -118,6 +118,9 @@ > _UI_ContentHandlerRegistry_extensionpoint = Content Handler Registry > _UI_URIMappingRegistry_extensionpoint = URI Converter Mapping Registry > _UI_PackageRegistryImplementation_extensionpoint = Ecore Package Registry Implementation >+_UI_ValidationDelegateRegistry_extensionpoint = Validation Delegate Registry >+_UI_SettingDelegateRegistry_extensionpoint = Feature Setting Delegate Factory Registry >+_UI_InvocationDelegateRegistry_extensionpoint = Operation Invocation Delegate Factory Registry > > _UI_GenericInvariant_diagnostic = The ''{0}'' invariant is violated on ''{1}'' > _UI_GenericConstraint_diagnostic = The ''{0}'' constraint is violated on ''{1}'' >Index: plugin.xml >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/plugin.xml,v >retrieving revision 1.24 >diff -u -r1.24 plugin.xml >--- plugin.xml 18 Sep 2009 18:10:41 -0000 1.24 >+++ plugin.xml 27 Oct 2009 23:39:53 -0000 >@@ -11,6 +11,8 @@ > <extension-point id="uri_mapping" name="%_UI_URIMappingRegistry_extensionpoint" schema="schema/uri_mapping.exsd"/> > <extension-point id="package_registry_implementation" name="%_UI_PackageRegistryImplementation_extensionpoint" schema="schema/package_registry_implementation.exsd"/> > <extension-point id="validation_delegate" name="%_UI_ValidationDelegateRegistry_extensionpoint" schema="schema/validation_delegate.exsd"/> >+ <extension-point id="setting_delegate" name="%_UI_SettingDelegateRegistry_extensionpoint" schema="schema/setting_delegate.exsd"/> >+ <extension-point id="invocation_delegate" name="%_UI_InvocationDelegateRegistry_extensionpoint" schema="schema/invocation_delegate.exsd"/> > > <extension point="org.eclipse.emf.ecore.generated_package"> > <package >Index: src/org/eclipse/emf/ecore/util/EcoreUtil.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/util/EcoreUtil.java,v >retrieving revision 1.68 >diff -u -r1.68 EcoreUtil.java >--- src/org/eclipse/emf/ecore/util/EcoreUtil.java 18 Sep 2009 18:10:41 -0000 1.68 >+++ src/org/eclipse/emf/ecore/util/EcoreUtil.java 27 Oct 2009 23:40:00 -0000 >@@ -4155,6 +4155,146 @@ > } > } > >+ /** >+ * @since 2.6 >+ */ >+ public static List<String> getSettingDelegates(EPackage ePackage) >+ { >+ EAnnotation eAnnotation = ePackage.getEAnnotation(EcorePackage.eNS_URI); >+ if (eAnnotation != null) >+ { >+ String settingDelegates = eAnnotation.getDetails().get("settingDelegates"); >+ if (settingDelegates != null) >+ { >+ List<String> result = new ArrayList<String>(); >+ for (StringTokenizer stringTokenizer = new StringTokenizer(settingDelegates); stringTokenizer.hasMoreTokens();) >+ { >+ String settingDelegate = stringTokenizer.nextToken(); >+ result.add(settingDelegate); >+ } >+ return result; >+ } >+ } >+ return Collections.emptyList(); >+ } >+ >+ /** >+ * @since 2.6 >+ */ >+ public static void setSettingDelegates(EPackage ePackage, List<String> settingDelegates) >+ { >+ EAnnotation eAnnotation = ePackage.getEAnnotation(EcorePackage.eNS_URI); >+ if (settingDelegates == null || settingDelegates.isEmpty()) >+ { >+ if (eAnnotation != null) >+ { >+ eAnnotation.getDetails().remove("settingDelegates"); >+ } >+ } >+ else >+ { >+ if (eAnnotation == null) >+ { >+ eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation(); >+ eAnnotation.setSource(EcorePackage.eNS_URI); >+ ePackage.getEAnnotations().add(eAnnotation); >+ } >+ StringBuffer value = new StringBuffer(); >+ for (Iterator<String> i = settingDelegates.iterator(); i.hasNext();) >+ { >+ value.append(i.next()); >+ if (i.hasNext()) >+ { >+ value.append(' '); >+ } >+ } >+ eAnnotation.getDetails().put("settingDelegates", value.toString()); >+ } >+ } >+ >+ /** >+ * @since 2.6 >+ */ >+ public static EStructuralFeature.Internal.SettingDelegate.Factory getSettingDelegateFactory(EStructuralFeature eStructuralFeature) >+ { >+ for (String settingDelegate : getSettingDelegates(eStructuralFeature.getEContainingClass().getEPackage())) >+ { >+ if (eStructuralFeature.getEAnnotation(settingDelegate) != null) >+ return EStructuralFeature.Internal.SettingDelegate.Factory.Registry.INSTANCE.getFactory(settingDelegate); >+ } >+ return null; >+ } >+ >+ /** >+ * @since 2.6 >+ */ >+ public static List<String> getInvocationDelegates(EPackage ePackage) >+ { >+ EAnnotation eAnnotation = ePackage.getEAnnotation(EcorePackage.eNS_URI); >+ if (eAnnotation != null) >+ { >+ String invocationDelegates = eAnnotation.getDetails().get("invocationDelegates"); >+ if (invocationDelegates != null) >+ { >+ List<String> result = new ArrayList<String>(); >+ for (StringTokenizer stringTokenizer = new StringTokenizer(invocationDelegates); stringTokenizer.hasMoreTokens();) >+ { >+ String invocationDelegate = stringTokenizer.nextToken(); >+ result.add(invocationDelegate); >+ } >+ return result; >+ } >+ } >+ return Collections.emptyList(); >+ } >+ >+ /** >+ * @since 2.6 >+ */ >+ public static void setInvocationDelegates(EPackage ePackage, List<String> invocationDelegates) >+ { >+ EAnnotation eAnnotation = ePackage.getEAnnotation(EcorePackage.eNS_URI); >+ if (invocationDelegates == null || invocationDelegates.isEmpty()) >+ { >+ if (eAnnotation != null) >+ { >+ eAnnotation.getDetails().remove("invocationDelegates"); >+ } >+ } >+ else >+ { >+ if (eAnnotation == null) >+ { >+ eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation(); >+ eAnnotation.setSource(EcorePackage.eNS_URI); >+ ePackage.getEAnnotations().add(eAnnotation); >+ } >+ StringBuffer value = new StringBuffer(); >+ for (Iterator<String> i = invocationDelegates.iterator(); i.hasNext();) >+ { >+ value.append(i.next()); >+ if (i.hasNext()) >+ { >+ value.append(' '); >+ } >+ } >+ eAnnotation.getDetails().put("invocationDelegates", value.toString()); >+ } >+ } >+ >+ /** >+ * @since 2.6 >+ */ >+ public static EOperation.Internal.InvocationDelegate.Factory getInvocationDelegateFactory(EOperation eOperation) >+ { >+ for (String invocationDelegate : getInvocationDelegates(eOperation.getEContainingClass().getEPackage())) >+ { >+ if (eOperation.getEAnnotation(invocationDelegate) != null) >+ return EOperation.Internal.InvocationDelegate.Factory.Registry.INSTANCE.getFactory(invocationDelegate); >+ } >+ return null; >+ } >+ > /* > static > { >Index: src/org/eclipse/emf/ecore/util/EcoreValidator.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/util/EcoreValidator.java,v >retrieving revision 1.39 >diff -u -r1.39 EcoreValidator.java >--- src/org/eclipse/emf/ecore/util/EcoreValidator.java 19 Oct 2009 11:27:26 -0000 1.39 >+++ src/org/eclipse/emf/ecore/util/EcoreValidator.java 27 Oct 2009 23:40:01 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2006-2007 IBM Corporation and others. >+ * Copyright (c) 2006-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -9,6 +9,7 @@ > * > * Contributors: > * IBM - Initial API and implementation >+ * Christian Damus (Zeligsoft) - 255469 > * > * </copyright> > * >@@ -16,6 +17,7 @@ > */ > package org.eclipse.emf.ecore.util; > >+import java.lang.reflect.InvocationTargetException; > import java.math.BigDecimal; > import java.math.BigInteger; > >@@ -501,6 +503,8 @@ > return validateEString((String)value, diagnostics, context); > case EcorePackage.ETREE_ITERATOR: > return validateETreeIterator((TreeIterator<?>)value, diagnostics, context); >+ case EcorePackage.EINVOCATION_TARGET_EXCEPTION: >+ return validateEInvocationTargetException((InvocationTargetException)value, diagnostics, context); > default: > return true; > } >@@ -4087,6 +4091,16 @@ > } > > /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ public boolean validateEInvocationTargetException(InvocationTargetException eInvocationTargetException, DiagnosticChain diagnostics, Map<Object, Object> context) >+ { >+ return true; >+ } >+ >+ /** > * Returns the resource locator that will be used to fetch messages for this validator's diagnostics. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >Index: src/org/eclipse/emf/ecore/plugin/EcorePlugin.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/plugin/EcorePlugin.java,v >retrieving revision 1.24 >diff -u -r1.24 EcorePlugin.java >--- src/org/eclipse/emf/ecore/plugin/EcorePlugin.java 18 Sep 2009 18:10:41 -0000 1.24 >+++ src/org/eclipse/emf/ecore/plugin/EcorePlugin.java 27 Oct 2009 23:39:59 -0000 >@@ -576,6 +576,8 @@ > new ContentHandlerRegistryReader().readRegistry(); > new URIMappingRegistryReader().readRegistry(); > new ValidationDelegateRegistryReader().readRegistry(); >+ new SettingDelegateFactoryRegistryReader().readRegistry(); >+ new InvocationDelegateFactoryRegistryReader().readRegistry(); > } > } > >@@ -632,5 +634,7 @@ > public static final String SCHEME_PARSER_PPID = "scheme_parser"; > public static final String URI_MAPPING_PPID = "uri_mapping"; > public static final String PACKAGE_REGISTRY_IMPLEMENTATION_PPID = "package_registry_implementation"; >- public static final String VALIDATION_DELEGATE_PPID = "validation_delegate"; >+ public static final String VALIDATION_DELEGATE_PPID = "validation_delegate"; >+ public static final String SETTING_DELEGATE_PPID = "setting_delegate"; >+ public static final String INVOCATION_DELEGATE_PPID = "invocation_delegate"; > } >\ No newline at end of file >Index: schema/validation_delegate.exsd >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.ecore/schema/validation_delegate.exsd,v >retrieving revision 1.1 >diff -u -r1.1 validation_delegate.exsd >--- schema/validation_delegate.exsd 18 Sep 2009 18:10:41 -0000 1.1 >+++ schema/validation_delegate.exsd 27 Oct 2009 23:39:54 -0000 >@@ -88,7 +88,7 @@ > Following is an example of how a validation delegate can be registered: > <pre> > <extension point="org.eclipse.emf.ecore.validation_delegate" > >- <delegate uri="org.eclipse.ocl.ecore.OCL" class="org.eclipse.ocl.OCLValidationDelegate"/> >+ <delegate uri="org.eclipse.ocl.ecore.OCL" class="org.eclipse.ocl.ecore.delegate.OCLValidationDelegate"/> > </extension> > </pre> > </documentation> >Index: src/org/eclipse/emf/ecore/util/BasicInvocationDelegate.java >=================================================================== >RCS file: src/org/eclipse/emf/ecore/util/BasicInvocationDelegate.java >diff -N src/org/eclipse/emf/ecore/util/BasicInvocationDelegate.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/emf/ecore/util/BasicInvocationDelegate.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,97 @@ >+/** >+ * <copyright> >+ * >+ * Copyright (c) 2008-2009 Zeligsoft Inc. and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * Zeligsoft - Initial API and implementation >+ * >+ * </copyright> >+ * >+ * $Id$ >+ */ >+ >+package org.eclipse.emf.ecore.util; >+ >+import java.lang.reflect.InvocationTargetException; >+ >+import org.eclipse.emf.common.util.EList; >+import org.eclipse.emf.ecore.EObject; >+import org.eclipse.emf.ecore.EStructuralFeature; >+import org.eclipse.emf.ecore.EcorePackage; >+import org.eclipse.emf.ecore.InternalEObject; >+import org.eclipse.emf.ecore.EOperation; >+ >+ >+/** >+ * A basic implementation of the dynamic operation-invocation delegate API. In >+ * fact, it is so basic that it isn't much an implementation at all, but merely >+ * throws {@link UnsupportedOperationException} on every invocation, except for >+ * the operations defined for the {@link EObject} class. >+ * Subclasses should override the {@link #dynamicCall(InternalEObject, EList)} >+ * method to not do that. >+ */ >+public class BasicInvocationDelegate implements EOperation.Internal.InvocationDelegate >+{ >+ protected EOperation eOperation; >+ >+ /** >+ * Initializes me with the operation that delegates invokes me. >+ * >+ * @param operation my operation >+ */ >+ public BasicInvocationDelegate(EOperation operation) >+ { >+ this.eOperation = operation; >+ } >+ >+ public Object dynamicInvoke(InternalEObject target, EList< ? > arguments) throws InvocationTargetException >+ { >+ if (eOperation.getEContainingClass() == EcorePackage.Literals.EOBJECT) >+ { >+ >+ switch (eOperation.getEContainingClass().getEAllOperations().indexOf(eOperation)) >+ { >+ case EcorePackage.EOBJECT___ECLASS: >+ return target.eClass(); >+ case EcorePackage.EOBJECT___EIS_PROXY: >+ return target.eIsProxy(); >+ case EcorePackage.EOBJECT___ERESOURCE: >+ return target.eResource(); >+ case EcorePackage.EOBJECT___ECONTAINER: >+ return target.eContainer(); >+ case EcorePackage.EOBJECT___ECONTAINING_FEATURE: >+ return target.eContainingFeature(); >+ case EcorePackage.EOBJECT___ECONTAINMENT_FEATURE: >+ return target.eContainmentFeature(); >+ case EcorePackage.EOBJECT___ECONTENTS: >+ return target.eContents(); >+ case EcorePackage.EOBJECT___EALL_CONTENTS: >+ return target.eAllContents(); >+ case EcorePackage.EOBJECT___ECROSS_REFERENCES: >+ return target.eCrossReferences(); >+ case EcorePackage.EOBJECT___EGET__ESTRUCTURALFEATURE: >+ return target.eGet((EStructuralFeature)arguments.get(0)); >+ case EcorePackage.EOBJECT___EGET__ESTRUCTURALFEATURE_BOOLEAN: >+ return target.eGet((EStructuralFeature)arguments.get(0), (Boolean)arguments.get(1)); >+ case EcorePackage.EOBJECT___ESET__ESTRUCTURALFEATURE_OBJECT: >+ target.eSet((EStructuralFeature)arguments.get(0), arguments.get(1)); >+ return null; >+ case EcorePackage.EOBJECT___EIS_SET__ESTRUCTURALFEATURE: >+ return target.eIsSet((EStructuralFeature)arguments.get(0)); >+ case EcorePackage.EOBJECT___EUNSET__ESTRUCTURALFEATURE: >+ target.eUnset((EStructuralFeature)arguments.get(0)); >+ return null; >+ case EcorePackage.EOBJECT___EINVOKE__EOPERATION_ELIST: >+ return target.eInvoke((EOperation)arguments.get(0), (EList< ? >)arguments.get(1)); >+ } >+ } >+ >+ throw new UnsupportedOperationException("eInvoke not implemented for " + eOperation.getName()); >+ } >+ >+} >Index: schema/setting_delegate.exsd >=================================================================== >RCS file: schema/setting_delegate.exsd >diff -N schema/setting_delegate.exsd >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ schema/setting_delegate.exsd 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,124 @@ >+<?xml version='1.0' encoding='UTF-8'?> >+<!-- Schema file written by PDE --> >+<schema targetNamespace="org.eclipse.emf.ecore" xmlns="http://www.w3.org/2001/XMLSchema"> >+<annotation> >+ <appInfo> >+ <meta.schema plugin="org.eclipse.emf.ecore" id="setting_delegate" name="Setting Delegate Factory Registry"/> >+ </appInfo> >+ <documentation> >+ This extension point is used to define a factory for setting delegates whose type is identified by a URI. The global EMF setting delegate factory registry, <samp>EStructuralFeature.Internal.SettingDelegate.Factory.Registry.INSTANCE</samp>, is used to record the registration. >+ </documentation> >+ </annotation> >+ >+ <element name="extension"> >+ <annotation> >+ <appInfo> >+ <meta.element /> >+ </appInfo> >+ </annotation> >+ <complexType> >+ <sequence> >+ <element ref="factory" minOccurs="1" maxOccurs="unbounded"/> >+ </sequence> >+ <attribute name="point" type="string" use="required"> >+ <annotation> >+ <documentation> >+ A fully qualified identifier of the target extension point. >+ </documentation> >+ </annotation> >+ </attribute> >+ <attribute name="id" type="string"> >+ <annotation> >+ <documentation> >+ An optional identifier of the extension instance. >+ </documentation> >+ </annotation> >+ </attribute> >+ <attribute name="name" type="string"> >+ <annotation> >+ <documentation> >+ An optional name of the extension instance. >+ </documentation> >+ </annotation> >+ </attribute> >+ </complexType> >+ </element> >+ >+ <element name="factory"> >+ <annotation> >+ <appInfo> >+ <meta.element labelAttribute="id"/> >+ </appInfo> >+ </annotation> >+ <complexType> >+ <attribute name="uri" type="string" use="required"> >+ <annotation> >+ <documentation> >+ A URI identifying the type of setting delegates that can be created by the factory. >+ </documentation> >+ </annotation> >+ </attribute> >+ <attribute name="class" type="string" use="required"> >+ <annotation> >+ <documentation> >+ The fully qualified name of a Java class implementing <samp>org.eclipse.emf.ecore.EStructuralFeature.Internal.SettingDelegate.Factory</samp>. >+ </documentation> >+ <appInfo> >+ <meta.attribute kind="java" basedOn="org.eclipse.emf.ecore.EStructuralFeature.Internal.SettingDelegate.Factory"/> >+ </appInfo> >+ </annotation> >+ </attribute> >+ </complexType> >+ </element> >+ >+ <annotation> >+ <appInfo> >+ <meta.section type="since"/> >+ </appInfo> >+ <documentation> >+ 2.6.0 >+ </documentation> >+ </annotation> >+ >+ <annotation> >+ <appInfo> >+ <meta.section type="examples"/> >+ </appInfo> >+ <documentation> >+ Following is an example of how a setting delegate factory can be registered: >+<pre> >+ <extension point="org.eclipse.emf.ecore.setting_delegate" > >+ <factory uri="org.eclipse.ocl.ecore.OCL" class="org.eclipse.ocl.ecore.delegate.OCLSettingDelegateFactory"/> >+ </extension> >+</pre> >+ </documentation> >+ </annotation> >+ >+ <annotation> >+ <appInfo> >+ <meta.section type="apiInfo"/> >+ </appInfo> >+ <documentation> >+ The value of the class attribute must represent a class that implements <samp>org.eclipse.emf.ecore.EStructuralFeature.Internal.SettingDelegate.Factory</samp> and has a no argument contructor. >+<p> >+A setting delegate factory can be also registered from the source code with the <samp>EStructuralFeature.Internal.SettingDelegate.Factory.Registry.INSTANCE</samp> as follows: >+</p> >+<pre> >+ EStructuralFeature.Internal.SettingDelegate.Factory.Registry.INSTANCE.put("org.eclipse.ocl.ecore.OCL", new OCLSettingDelegateFactory()); >+</pre> >+ </documentation> >+ </annotation> >+ >+ >+ <annotation> >+ <appInfo> >+ <meta.section type="copyright"/> >+ </appInfo> >+ <documentation> >+ Copyright (c) 2009 Kenn Hussey and others.<br> >+All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at <a >+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> >+ </documentation> >+ </annotation> >+ >+</schema> >Index: src/org/eclipse/emf/ecore/util/BasicSettingDelegate.java >=================================================================== >RCS file: src/org/eclipse/emf/ecore/util/BasicSettingDelegate.java >diff -N src/org/eclipse/emf/ecore/util/BasicSettingDelegate.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/emf/ecore/util/BasicSettingDelegate.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,303 @@ >+/** >+ * <copyright> >+ * >+ * Copyright (c) 2008-2009 IBM Corporation and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * IBM - Initial API and implementation >+ * >+ * </copyright> >+ * >+ * $Id$ >+ */ >+package org.eclipse.emf.ecore.util; >+ >+import org.eclipse.emf.common.notify.NotificationChain; >+import org.eclipse.emf.ecore.EObject; >+import org.eclipse.emf.ecore.EStructuralFeature; >+import org.eclipse.emf.ecore.InternalEObject; >+import org.eclipse.emf.ecore.EStructuralFeature.Setting; >+import org.eclipse.emf.ecore.EStructuralFeature.Internal.DynamicValueHolder; >+ >+/** >+ * A basic implementation of a stateful setting delegate. >+ * At least the first two of these methods need to be overridden. >+ * <ul> >+ * <li>{@link #dynamicGet(InternalEObject, DynamicValueHolder, int, boolean, boolean)}</li> >+ * <li>{@link #dynamicIsSet(InternalEObject, DynamicValueHolder, int)}</li> >+ * <li>{@link #dynamicSet(InternalEObject, DynamicValueHolder, int, Object)}</li> >+ * <li>{@link #dynamicUnset(InternalEObject, DynamicValueHolder, int)}</li> >+ * <li>{@link #dynamicInverseAdd(InternalEObject, DynamicValueHolder, int, InternalEObject, NotificationChain)}</li> >+ * <li>{@link #dynamicInverseRemove(InternalEObject, DynamicValueHolder, int, InternalEObject, NotificationChain)}</li> >+ * </ul> >+ */ >+public abstract class BasicSettingDelegate implements EStructuralFeature.Internal.SettingDelegate >+{ >+ protected EStructuralFeature eStructuralFeature; >+ >+ public BasicSettingDelegate(EStructuralFeature eStructuralFeature) >+ { >+ this.eStructuralFeature = eStructuralFeature; >+ } >+ >+ public Setting dynamicSetting(final InternalEObject owner, final DynamicValueHolder settings, final int dynamicFeatureID) >+ { >+ return >+ new EStructuralFeature.Setting() >+ { >+ public EObject getEObject() >+ { >+ return owner; >+ } >+ >+ public EStructuralFeature getEStructuralFeature() >+ { >+ return eStructuralFeature; >+ } >+ >+ public Object get(boolean resolve) >+ { >+ return BasicSettingDelegate.this.dynamicGet(owner, settings, dynamicFeatureID, resolve, true); >+ } >+ >+ public boolean isSet() >+ { >+ return BasicSettingDelegate.this.dynamicIsSet(owner, settings, dynamicFeatureID); >+ } >+ >+ public void set(Object newValue) >+ { >+ BasicSettingDelegate.this.dynamicSet(owner, settings, dynamicFeatureID, newValue); >+ } >+ >+ public void unset() >+ { >+ BasicSettingDelegate.this.dynamicUnset(owner, settings, dynamicFeatureID); >+ } >+ }; >+ } >+ >+ public abstract Object dynamicGet(InternalEObject owner, DynamicValueHolder settings, int dynamicFeatureID, boolean resolve, boolean coreType); >+ >+ public abstract boolean dynamicIsSet(InternalEObject owner, DynamicValueHolder settings, int dynamicFeatureID); >+ >+ public void dynamicSet(InternalEObject owner, DynamicValueHolder settings, int dynamicFeatureID, Object newValue) >+ { >+ throw new UnsupportedOperationException(); >+ } >+ >+ public void dynamicUnset(InternalEObject owner, DynamicValueHolder settings, int dynamicFeatureID) >+ { >+ throw new UnsupportedOperationException(); >+ } >+ >+ public NotificationChain dynamicInverseAdd >+ (InternalEObject owner, >+ DynamicValueHolder settings, >+ int dynamicFeatureID, >+ InternalEObject otherEnd, >+ NotificationChain notifications) >+ { >+ throw new UnsupportedOperationException(); >+ } >+ >+ public NotificationChain dynamicInverseRemove >+ (InternalEObject owner, >+ DynamicValueHolder settings, >+ int dynamicFeatureID, >+ InternalEObject otherEnd, >+ NotificationChain notifications) >+ { >+ throw new UnsupportedOperationException(); >+ } >+ >+ /** >+ * A basic implementation of a stateless setting delegate. >+ * At least the first two of these methods should be overridden. >+ * <ul> >+ * <li>{@link #setting(InternalEObject)}</li> >+ * <li>{@link #get(InternalEObject, boolean, boolean)}</li> >+ * <li>{@link #set(InternalEObject, Object)}</li> >+ * <li>{@link #isSet(InternalEObject)}</li> >+ * <li>{@link #unset(InternalEObject)}</li> >+ * <li>{@link #inverseAdd(InternalEObject, InternalEObject, NotificationChain)}</li> >+ * <li>{@link #inverseRemove(InternalEObject, InternalEObject, NotificationChain)}</li> >+ * </ul> >+ */ >+ public static abstract class Stateless extends BasicSettingDelegate >+ { >+ public Stateless(EStructuralFeature eStructuralFeature) >+ { >+ super(eStructuralFeature); >+ } >+ >+ @Override >+ public final Setting dynamicSetting(InternalEObject owner, DynamicValueHolder settings, int dynamicFeatureID) >+ { >+ return setting(owner); >+ } >+ >+ /** >+ * Creates a setting for the owner and this delegate's feature. >+ * @param owner the owner for the setting. >+ * @return a new setting. >+ */ >+ protected Setting setting(final InternalEObject owner) >+ { >+ return >+ new EStructuralFeature.Setting() >+ { >+ public EObject getEObject() >+ { >+ return owner; >+ } >+ >+ public EStructuralFeature getEStructuralFeature() >+ { >+ return eStructuralFeature; >+ } >+ >+ public Object get(boolean resolve) >+ { >+ return Stateless.this.get(owner, resolve, true); >+ } >+ >+ public boolean isSet() >+ { >+ return Stateless.this.isSet(owner); >+ } >+ >+ public void set(Object newValue) >+ { >+ Stateless.this.set(owner, newValue); >+ } >+ >+ public void unset() >+ { >+ Stateless.this.unset(owner); >+ } >+ }; >+ } >+ >+ @Override >+ public final Object dynamicGet(InternalEObject owner, DynamicValueHolder settings, int dynamicFeatureID, boolean resolve, boolean coreType) >+ { >+ return get(owner, resolve, coreType); >+ } >+ >+ /** >+ * Returns the value of this delegate's feature for the owner. >+ * @param owner the object for with to fetch the value. >+ * @param resolve whether the returned object should be resolved it if is a proxy. >+ * @param coreType whether to return the core type value or the API type value. >+ * @return the value of this delegate's feature for the owner. >+ * @see InternalEObject#eGet(EStructuralFeature, boolean, boolean) >+ */ >+ protected abstract Object get(InternalEObject owner, boolean resolve, boolean coreType); >+ >+ @Override >+ public final boolean dynamicIsSet(InternalEObject owner, DynamicValueHolder settings, int dynamicFeatureID) >+ { >+ return isSet(owner); >+ } >+ >+ /** >+ * Returns whether the value of this delegate's feature is considered set for the owner. >+ * @param owner the object for with to test is set. >+ * @return whether the value of this delegate's feature is considered set for the owner. >+ * @see EObject#eIsSet(EStructuralFeature) >+ */ >+ protected abstract boolean isSet(InternalEObject owner); >+ >+ @Override >+ public final void dynamicSet(InternalEObject owner, DynamicValueHolder settings, int dynamicFeatureID, Object newValue) >+ { >+ set(owner, newValue); >+ } >+ >+ /** >+ * Sets this new value of this delegate's feature for the owner. >+ * @param owner the owner for which to set the value >+ * @param newValue the new value for the feature. >+ * @see EObject#eSet(EStructuralFeature, Object) >+ */ >+ protected void set(InternalEObject owner, Object newValue) >+ { >+ throw new UnsupportedOperationException(); >+ } >+ >+ @Override >+ public final void dynamicUnset(InternalEObject owner, DynamicValueHolder settings, int dynamicFeatureID) >+ { >+ unset(owner); >+ } >+ >+ /** >+ * Unsets the values of this delegate's feature for the owner. >+ * @param owner the owner for which to unset the value. >+ * @see EObject#eUnset(EStructuralFeature) >+ */ >+ protected void unset(InternalEObject owner) >+ { >+ throw new UnsupportedOperationException(); >+ } >+ >+ @Override >+ public final NotificationChain dynamicInverseAdd >+ (InternalEObject owner, >+ DynamicValueHolder settings, >+ int dynamicFeatureID, >+ InternalEObject otherEnd, >+ NotificationChain notifications) >+ { >+ return inverseAdd(owner, otherEnd, notifications); >+ } >+ >+ /** >+ * Adds the object at the other end of a bidirectional reference to this delegate's feature >+ * and returns accumulated notifications. >+ * @param owner the owner for which to do the inverse add. >+ * @param otherEnd the object to inverse add. >+ * @param notifications the notifications accumulated so far. >+ * @return the accumulated notifications. >+ */ >+ protected NotificationChain inverseAdd >+ (InternalEObject owner, >+ InternalEObject otherEnd, >+ NotificationChain notifications) >+ { >+ throw new UnsupportedOperationException(); >+ } >+ >+ @Override >+ public final NotificationChain dynamicInverseRemove >+ (InternalEObject owner, >+ DynamicValueHolder settings, >+ int dynamicFeatureID, >+ InternalEObject otherEnd, >+ NotificationChain notifications) >+ { >+ return inverseRemove(owner, otherEnd, notifications); >+ } >+ >+ /** >+ * Remove the object at the other end of a bidirectional reference from this delegate's feature >+ * and returns accumulated notifications. >+ * @param owner the owner for which to do the inverse remove. >+ * @param otherEnd the object to inverse remove. >+ * @param notifications the notifications accumulated so far. >+ * @return the accumulated notifications. >+ */ >+ protected NotificationChain inverseRemove >+ (InternalEObject owner, >+ InternalEObject otherEnd, >+ NotificationChain notifications) >+ { >+ throw new UnsupportedOperationException(); >+ } >+ } >+} >Index: src/org/eclipse/emf/ecore/plugin/SettingDelegateFactoryRegistryReader.java >=================================================================== >RCS file: src/org/eclipse/emf/ecore/plugin/SettingDelegateFactoryRegistryReader.java >diff -N src/org/eclipse/emf/ecore/plugin/SettingDelegateFactoryRegistryReader.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/emf/ecore/plugin/SettingDelegateFactoryRegistryReader.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,93 @@ >+/** >+ * <copyright> >+ * >+ * Copyright (c) 2009 Kenn Hussey and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * Kenn Hussey - Initial API and implementation >+ * >+ * </copyright> >+ * >+ * $Id$ >+ */ >+package org.eclipse.emf.ecore.plugin; >+ >+import org.eclipse.core.runtime.IConfigurationElement; >+import org.eclipse.core.runtime.Platform; >+ >+import org.eclipse.emf.ecore.EStructuralFeature; >+ >+ >+/** >+ * A plugin extension reader that populates the >+ * {@link org.eclipse.emf.ecore.EStructuralFeature.Internal.SettingDelegate.Factory.Registry#INSTANCE global} setting delegate factory registry. >+ * Clients are not expected to use this class directly. >+ */ >+class SettingDelegateFactoryRegistryReader extends RegistryReader >+{ >+ static class SettingDelegateFactoryDescriptor extends PluginClassDescriptor implements EStructuralFeature.Internal.SettingDelegate.Factory.Descriptor >+ { >+ protected EStructuralFeature.Internal.SettingDelegate.Factory factory; >+ >+ public SettingDelegateFactoryDescriptor(IConfigurationElement e, String attrName) >+ { >+ super(e, attrName); >+ } >+ >+ public EStructuralFeature.Internal.SettingDelegate.Factory getFactory() >+ { >+ if (factory == null) >+ { >+ factory = (EStructuralFeature.Internal.SettingDelegate.Factory)createInstance(); >+ } >+ return factory; >+ } >+ } >+ >+ static final String TAG_FACTORY = "factory"; >+ static final String ATT_URI = "uri"; >+ static final String ATT_CLASS = "class"; >+ >+ public SettingDelegateFactoryRegistryReader() >+ { >+ super(Platform.getExtensionRegistry(), EcorePlugin.getPlugin().getBundle().getSymbolicName(), EcorePlugin.SETTING_DELEGATE_PPID); >+ } >+ >+ @Override >+ protected boolean readElement(IConfigurationElement element, boolean add) >+ { >+ if (element.getName().equals(TAG_FACTORY)) >+ { >+ String uri = element.getAttribute(ATT_URI); >+ if (uri == null) >+ { >+ logMissingAttribute(element, ATT_URI); >+ } >+ else if (element.getAttribute(ATT_CLASS) == null) >+ { >+ logMissingAttribute(element, ATT_CLASS); >+ } >+ else if (add) >+ { >+ Object previous = EStructuralFeature.Internal.SettingDelegate.Factory.Registry.INSTANCE.put(uri, new SettingDelegateFactoryDescriptor(element, ATT_CLASS)); >+ if (previous instanceof SettingDelegateFactoryDescriptor) >+ { >+ SettingDelegateFactoryDescriptor descriptor = (SettingDelegateFactoryDescriptor)previous; >+ EcorePlugin.INSTANCE.log("Both '" + descriptor.element.getContributor().getName() + "' and '" + element.getContributor().getName() + "' register a setting delegate factory for '" + uri + "'"); >+ } >+ return true; >+ } >+ else >+ { >+ EStructuralFeature.Internal.SettingDelegate.Factory.Registry.INSTANCE.remove(uri); >+ return true; >+ } >+ } >+ >+ return false; >+ } >+} >Index: schema/invocation_delegate.exsd >=================================================================== >RCS file: schema/invocation_delegate.exsd >diff -N schema/invocation_delegate.exsd >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ schema/invocation_delegate.exsd 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,124 @@ >+<?xml version='1.0' encoding='UTF-8'?> >+<!-- Schema file written by PDE --> >+<schema targetNamespace="org.eclipse.emf.ecore" xmlns="http://www.w3.org/2001/XMLSchema"> >+<annotation> >+ <appInfo> >+ <meta.schema plugin="org.eclipse.emf.ecore" id="invocation_delegate" name="Invocation Delegate Factory Registry"/> >+ </appInfo> >+ <documentation> >+ This extension point is used to define a factory for invocation delegates whose type is identified by a URI. The global EMF invocation delegate factory registry, <samp>EOperation.Internal.InvocationDelegate.Factory.Registry.INSTANCE</samp>, is used to record the registration. >+ </documentation> >+ </annotation> >+ >+ <element name="extension"> >+ <annotation> >+ <appInfo> >+ <meta.element /> >+ </appInfo> >+ </annotation> >+ <complexType> >+ <sequence> >+ <element ref="factory" minOccurs="1" maxOccurs="unbounded"/> >+ </sequence> >+ <attribute name="point" type="string" use="required"> >+ <annotation> >+ <documentation> >+ A fully qualified identifier of the target extension point. >+ </documentation> >+ </annotation> >+ </attribute> >+ <attribute name="id" type="string"> >+ <annotation> >+ <documentation> >+ An optional identifier of the extension instance. >+ </documentation> >+ </annotation> >+ </attribute> >+ <attribute name="name" type="string"> >+ <annotation> >+ <documentation> >+ An optional name of the extension instance. >+ </documentation> >+ </annotation> >+ </attribute> >+ </complexType> >+ </element> >+ >+ <element name="factory"> >+ <annotation> >+ <appInfo> >+ <meta.element labelAttribute="id"/> >+ </appInfo> >+ </annotation> >+ <complexType> >+ <attribute name="uri" type="string" use="required"> >+ <annotation> >+ <documentation> >+ A URI identifying the type of invocation delegates that can be created by the factory. >+ </documentation> >+ </annotation> >+ </attribute> >+ <attribute name="class" type="string" use="required"> >+ <annotation> >+ <documentation> >+ The fully qualified name of a Java class implementing <samp>org.eclipse.emf.ecore.EOperation.Internal.InvocationDelegate.Factory</samp>. >+ </documentation> >+ <appInfo> >+ <meta.attribute kind="java" basedOn="org.eclipse.emf.ecore.EOperation.Internal.InvocationDelegate.Factory"/> >+ </appInfo> >+ </annotation> >+ </attribute> >+ </complexType> >+ </element> >+ >+ <annotation> >+ <appInfo> >+ <meta.section type="since"/> >+ </appInfo> >+ <documentation> >+ 2.6.0 >+ </documentation> >+ </annotation> >+ >+ <annotation> >+ <appInfo> >+ <meta.section type="examples"/> >+ </appInfo> >+ <documentation> >+ Following is an example of how an invocation delegate factory can be registered: >+<pre> >+ <extension point="org.eclipse.emf.ecore.invocation_delegate" > >+ <factory uri="org.eclipse.ocl.ecore.OCL" class="org.eclipse.ocl.ecore.delegate.OCLInvocationDelegateFactory"/> >+ </extension> >+</pre> >+ </documentation> >+ </annotation> >+ >+ <annotation> >+ <appInfo> >+ <meta.section type="apiInfo"/> >+ </appInfo> >+ <documentation> >+ The value of the class attribute must represent a class that implements <samp>org.eclipse.emf.ecore.EOperation.Internal.InvocationDelegate.Factory</samp> and has a no argument contructor. >+<p> >+An invocation delegate factory can be also registered from the source code with the <samp>EOperation.Internal.InvocationDelegate.Factory.Registry.INSTANCE</samp> as follows: >+</p> >+<pre> >+ EOperation.Internal.InvocationDelegate.Factory.Registry.INSTANCE.put("org.eclipse.ocl.ecore.OCL", new OCLInvocationDelegateFactory()); >+</pre> >+ </documentation> >+ </annotation> >+ >+ >+ <annotation> >+ <appInfo> >+ <meta.section type="copyright"/> >+ </appInfo> >+ <documentation> >+ Copyright (c) 2009 Kenn Hussey and others.<br> >+All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at <a >+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> >+ </documentation> >+ </annotation> >+ >+</schema> >Index: src/org/eclipse/emf/ecore/plugin/InvocationDelegateFactoryRegistryReader.java >=================================================================== >RCS file: src/org/eclipse/emf/ecore/plugin/InvocationDelegateFactoryRegistryReader.java >diff -N src/org/eclipse/emf/ecore/plugin/InvocationDelegateFactoryRegistryReader.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/emf/ecore/plugin/InvocationDelegateFactoryRegistryReader.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,93 @@ >+/** >+ * <copyright> >+ * >+ * Copyright (c) 2009 Kenn Hussey and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * Kenn Hussey - Initial API and implementation >+ * >+ * </copyright> >+ * >+ * $Id$ >+ */ >+package org.eclipse.emf.ecore.plugin; >+ >+import org.eclipse.core.runtime.IConfigurationElement; >+import org.eclipse.core.runtime.Platform; >+ >+import org.eclipse.emf.ecore.EOperation; >+ >+ >+/** >+ * A plugin extension reader that populates the >+ * {@link org.eclipse.emf.ecore.EOperation.Internal.InvocationDelegate.Factory.Registry#INSTANCE global} operation delegate factory registry. >+ * Clients are not expected to use this class directly. >+ */ >+class InvocationDelegateFactoryRegistryReader extends RegistryReader >+{ >+ static class InvocationDelegateFactoryDescriptor extends PluginClassDescriptor implements EOperation.Internal.InvocationDelegate.Factory.Descriptor >+ { >+ protected EOperation.Internal.InvocationDelegate.Factory factory; >+ >+ public InvocationDelegateFactoryDescriptor(IConfigurationElement e, String attrName) >+ { >+ super(e, attrName); >+ } >+ >+ public EOperation.Internal.InvocationDelegate.Factory getFactory() >+ { >+ if (factory == null) >+ { >+ factory = (EOperation.Internal.InvocationDelegate.Factory)createInstance(); >+ } >+ return factory; >+ } >+ } >+ >+ static final String TAG_FACTORY = "factory"; >+ static final String ATT_URI = "uri"; >+ static final String ATT_CLASS = "class"; >+ >+ public InvocationDelegateFactoryRegistryReader() >+ { >+ super(Platform.getExtensionRegistry(), EcorePlugin.getPlugin().getBundle().getSymbolicName(), EcorePlugin.INVOCATION_DELEGATE_PPID); >+ } >+ >+ @Override >+ protected boolean readElement(IConfigurationElement element, boolean add) >+ { >+ if (element.getName().equals(TAG_FACTORY)) >+ { >+ String uri = element.getAttribute(ATT_URI); >+ if (uri == null) >+ { >+ logMissingAttribute(element, ATT_URI); >+ } >+ else if (element.getAttribute(ATT_CLASS) == null) >+ { >+ logMissingAttribute(element, ATT_CLASS); >+ } >+ else if (add) >+ { >+ Object previous = EOperation.Internal.InvocationDelegate.Factory.Registry.INSTANCE.put(uri, new InvocationDelegateFactoryDescriptor(element, ATT_CLASS)); >+ if (previous instanceof InvocationDelegateFactoryDescriptor) >+ { >+ InvocationDelegateFactoryDescriptor descriptor = (InvocationDelegateFactoryDescriptor)previous; >+ EcorePlugin.INSTANCE.log("Both '" + descriptor.element.getContributor().getName() + "' and '" + element.getContributor().getName() + "' register an invocation delegate factory for '" + uri + "'"); >+ } >+ return true; >+ } >+ else >+ { >+ EOperation.Internal.InvocationDelegate.Factory.Registry.INSTANCE.remove(uri); >+ return true; >+ } >+ } >+ >+ return false; >+ } >+} >#P org.eclipse.emf.codegen.ecore >Index: templates/model/Class.javajet >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet,v >retrieving revision 1.86 >diff -u -r1.86 Class.javajet >--- templates/model/Class.javajet 18 Sep 2009 18:10:34 -0000 1.86 >+++ templates/model/Class.javajet 27 Oct 2009 23:40:13 -0000 >@@ -22,6 +22,8 @@ > <%final String singleWildcard = isJDK50 ? "<?>" : "";%> > <%final String negativeOffsetCorrection = genClass.hasOffsetCorrection() ? " - " + genClass.getOffsetCorrectionField(null) : "";%> > <%final String positiveOffsetCorrection = genClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(null) : "";%> >+<%final String negativeOperationOffsetCorrection = genClass.hasOffsetCorrection() ? " - EOPERATION_OFFSET_CORRECTION" : "";%> >+<%final String positiveOperationOffsetCorrection = genClass.hasOffsetCorrection() ? " + EOPERATION_OFFSET_CORRECTION" : "";%> > <%@ include file="../Header.javajetinc"%> > <%if (isInterface) {%> > package <%=genPackage.getInterfacePackageName()%>; >@@ -165,7 +167,18 @@ > <%for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {%> > <%@ include file="Class/declaredFieldGenFeature.override.javajetinc" fail="alternative" %> > <%@ start %> >- <%if (genFeature.isListType() || genFeature.isReferenceType()) {%> >+ <%if (genFeature.hasSettingDelegate()) {%> >+ /** >+ * The cached setting delegate for the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see #<%=genFeature.getGetAccessor()%>() >+ * @generated >+ * @ordered >+ */ >+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Internal.SettingDelegate <%=genFeature.getUpperName()%>__ESETTING_DELEGATE = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Internal)<%=genFeature.getQualifiedFeatureAccessor()%>).getSettingDelegate(); >+ >+ <%} else if (genFeature.isListType() || genFeature.isReferenceType()) {%> > <%if (genClass.isField(genFeature)) {%> > /** > * The cached value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>. >@@ -335,6 +348,15 @@ > <%}%> > <%}%> > <%}%> >+<%if (genModel.isOperationReflection() && isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenOperations().isEmpty()) {%> >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ private static final int "EOPERATION_OFFSET_CORRECTION" = <%=genClass.getQualifiedClassifierAccessor()%>.getOperationID(<%=genClass.getImplementedGenOperations().get(0).getQualifiedOperationAccessor()%>) - <%=genClass.getQualifiedOperationID(genClass.getImplementedGenOperations().get(0))%>; >+ >+<%}%> > <%if (isImplementation) {%> > /** > * <!-- begin-user-doc --> >@@ -564,7 +586,7 @@ > <%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%>(); > > <%} else {%> >- <%if (genModel.useGenerics() && ((genFeature.isContainer() || genFeature.isResolveProxies()) && !genFeature.isListType() && !(genModel.isReflectiveDelegation() && genModel.isDynamicDelegation()) && genFeature.isUncheckedCast(genClass) || genFeature.isListType() && !genFeature.isFeatureMapType() && (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation() || genModel.isDynamicDelegation()) || genFeature.isListDataType() && genFeature.hasDelegateFeature())) {%> >+ <%if (genModel.useGenerics() && ((genFeature.isContainer() || genFeature.isResolveProxies()) && !genFeature.isListType() && !(genModel.isReflectiveDelegation() && genModel.isDynamicDelegation()) && genFeature.isUncheckedCast(genClass) || genFeature.isListType() && !genFeature.isFeatureMapType() && (genModel.isReflectiveDelegation() || genModel.isVirtualDelegation() || genModel.isDynamicDelegation()) || genFeature.isListDataType() && genFeature.hasDelegateFeature() || genFeature.isListType() && genFeature.hasSettingDelegate())) {%> > @SuppressWarnings("unchecked") > <%}%> > public <%=genFeature.getImportedType(genClass)%> <%=genFeature.getGetAccessor()%><%if (genClass.hasCollidingGetAccessorOperation(genFeature)) {%>_<%}%>() >@@ -574,6 +596,8 @@ > return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)eDynamicGet(<%=genClass.getQualifiedFeatureID(genFeature)%>, <%=genFeature.getQualifiedFeatureAccessor()%>, true, <%=!genFeature.isEffectiveSuppressEMFTypes()%>)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>; > <%} else if (genModel.isReflectiveDelegation()) {%> > return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)eGet(<%=genFeature.getQualifiedFeatureAccessor()%>, true)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>; >+ <%} else if (genFeature.hasSettingDelegate()) {%> >+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>; > <%} else if (!genFeature.isVolatile()) {%> > <%if (genFeature.isListType()) {%> > <%if (genModel.isVirtualDelegation()) {%> >@@ -701,6 +725,8 @@ > <%@ include file="Class/basicGetGenFeature.pre.insert.javajetinc" fail="silent" %> > <%if (genModel.isDynamicDelegation()) {%> > return (<%=genFeature.getImportedType(genClass)%>)eDynamicGet(<%=genClass.getQualifiedFeatureID(genFeature)%>, <%=genFeature.getQualifiedFeatureAccessor()%>, false, <%=!genFeature.isEffectiveSuppressEMFTypes()%>); >+ <%} else if (genFeature.hasSettingDelegate()) {%> >+ return <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>(<%}%>(<%=genFeature.getObjectType(genClass)%>)<%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)<%if (!isJDK50 && genFeature.isPrimitiveType()) {%>).<%=genFeature.getPrimitiveValueFunction()%>()<%}%>; > <%} else if (genFeature.isContainer()) {%> > if (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>) return null; > return (<%=genFeature.getImportedType(genClass)%>)eInternalContainer(); >@@ -859,6 +885,8 @@ > eDynamicSet(<%=genClass.getQualifiedFeatureID(genFeature)%>, <%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>); > <%} else if (genModel.isReflectiveDelegation()) {%> > eSet(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>); >+ <%} else if (genFeature.hasSettingDelegate()) {%> >+ <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicSet(this, null, 0, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>); > <%} else if (!genFeature.isVolatile()) {%> > <%if (genFeature.isContainer()) { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(reverseFeature) : "";%> > if (new<%=genFeature.getCapName()%> != eInternalContainer() || (eContainerFeatureID() != <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%> && new<%=genFeature.getCapName()%> != null)) >@@ -1112,6 +1140,8 @@ > eDynamicUnset(<%=genClass.getQualifiedFeatureID(genFeature)%>, <%=genFeature.getQualifiedFeatureAccessor()%>); > <%} else if (genModel.isReflectiveDelegation()) {%> > eUnset(<%=genFeature.getQualifiedFeatureAccessor()%>); >+ <%} else if (genFeature.hasSettingDelegate()) {%> >+ <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicUnset(this, null, 0); > <%} else if (!genFeature.isVolatile()) {%> > <%if (genFeature.isListType()) {%> > <%if (genModel.isVirtualDelegation()) {%> >@@ -1277,6 +1307,8 @@ > return eDynamicIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%>, <%=genFeature.getQualifiedFeatureAccessor()%>); > <%} else if (genModel.isReflectiveDelegation()) {%> > return eIsSet(<%=genFeature.getQualifiedFeatureAccessor()%>); >+ <%} else if (genFeature.hasSettingDelegate()) {%> >+ return <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicIsSet(this, null, 0); > <%} else if (!genFeature.isVolatile()) {%> > <%if (genFeature.isListType()) {%> > <%if (genModel.isVirtualDelegation()) {%> >@@ -1320,16 +1352,30 @@ > <%for (GenOperation genOperation : (isImplementation ? genClass.getImplementedGenOperations() : genClass.getDeclaredGenOperations())) {%> > <%@ include file="Class/genOperation.override.javajetinc" fail="alternative" %> > <%@ start %> >- <%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE && isImplementation && genOperation.isInvariant() && genOperation.hasInvariantExpression()) {%> >+ <%if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE && isImplementation) {%> >+ <%if (genOperation.isInvariant() && genOperation.hasInvariantExpression()) {%> > /** > * The cached validation expression for the '{@link #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' invariant operation. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> > * @see #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) > * @generated >+ * @ordered >+ */ >+ protected static final <%=genModel.getImportedName("java.lang.String")%> <%=CodeGenUtil.upperName(genOperation.getName() + genOperation.getParameterTypes("_", false, "__"), genModel.getLocale())%>__EEXPRESSION = "<%=genOperation.getInvariantExpression("\t\t")%>";<%=genModel.getNonNLS()%> >+ >+ <%} else if (genOperation.hasInvocationDelegate()) {%> >+ /** >+ * The cached invocation delegate for the '{@link #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @see #<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) >+ * @generated >+ * @ordered > */ >- protected static final <%=genModel.getImportedName("java.lang.String")%> <%=CodeGenUtil.upperName(genOperation.getName(), genModel.getLocale())%><%=genOperation.getGenParameters().size() == 0 ? "" : "__" + CodeGenUtil.upperName(genOperation.getParameterTypes("_", false), genModel.getLocale())%>__EEXPRESSION = "<%=genOperation.getInvariantExpression("\t\t")%>";<%=genModel.getNonNLS()%> >+ protected static final <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%>.Internal.InvocationDelegate <%=CodeGenUtil.upperName(genOperation.getName() + genOperation.getParameterTypes("_", false, "__"), genModel.getLocale())%>__EINVOCATION_DELEGATE = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%>.Internal)<%=genOperation.getQualifiedOperationAccessor()%>).getInvocationDelegate(); > >+ <%}%> > <%}%> > <%if (isInterface) {%> > <%@ include file="Class/genOperation.javadoc.override.javajetinc" fail="alternative" %> >@@ -1392,8 +1438,8 @@ > <%=diagnostics%>, > <%=context%>, > "<%=genOperation.getValidationDelegate()%>",<%=genModel.getNonNLS()%> >- <%=opClass.getQualifiedClassifierAccessor()%>.getEOperations().get(<%=opClass.getEcoreClass().getEOperations().indexOf(genOperation.getEcoreOperation())%>), >- <%=CodeGenUtil.upperName(genOperation.getName(), genModel.getLocale())%><%=genOperation.getGenParameters().size() == 0 ? "" : "__" + CodeGenUtil.upperName(genOperation.getParameterTypes("_", false), genModel.getLocale())%>__EEXPRESSION, >+ <%=genOperation.getQualifiedOperationAccessor()%>, >+ <%=CodeGenUtil.upperName(genOperation.getName() + genOperation.getParameterTypes("_", false, "__"), genModel.getLocale())%>__EEXPRESSION, > <%=genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic")%>.ERROR, > <%=opClass.getGenPackage().getImportedValidatorClassName()%>.DIAGNOSTIC_SOURCE, > <%=opClass.getGenPackage().getImportedValidatorClassName()%>.<%=opClass.getOperationID(genOperation)%>); >@@ -1418,6 +1464,19 @@ > } > return true; > <%}%> >+ <%} else if (genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE && genOperation.hasInvocationDelegate()) { int size = genOperation.getGenParameters().size();%> >+ try >+ { >+ <%if (genOperation.isVoid()) {%> >+ <%=CodeGenUtil.upperName(genOperation.getName() + genOperation.getParameterTypes("_", false, "__"), genModel.getLocale())%>__EINVOCATION_DELEGATE.dynamicInvoke(this, <%if (size > 0) {%>new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%>.UnmodifiableEList<Object>(<%=size%>, <%=genOperation.getParametersArray(genClass)%>)<%} else {%>null<%}%>); >+ <%} else {%> >+ return <%if (!isJDK50 && genOperation.isPrimitiveType()) {%>(<%}%>(<%=genOperation.getObjectType(genClass)%>)<%=CodeGenUtil.upperName(genOperation.getName() + genOperation.getParameterTypes("_", false, "__"), genModel.getLocale())%>__EINVOCATION_DELEGATE.dynamicInvoke(this, <%if (size > 0) {%>new <%=genModel.getImportedName("org.eclipse.emf.common.util.BasicEList")%>.UnmodifiableEList<Object>(<%=size%>, <%=genOperation.getParametersArray(genClass)%>)<%} else {%>null<%}%>)<%if (!isJDK50 && genOperation.isPrimitiveType()) {%>).<%=genOperation.getPrimitiveValueFunction()%>()<%}%>; >+ <%}%> >+ } >+ catch (<%=genModel.getImportedName("java.lang.reflect.InvocationTargetException")%> ite) >+ { >+ throw new <%=genModel.getImportedName("org.eclipse.emf.common.util.WrappedException")%>(ite); >+ } > <%} else {%> > <%@ include file="Class/implementedGenOperation.TODO.override.javajetinc" fail="alternative" %> > <%@ start %> >@@ -1731,7 +1790,13 @@ > { > <%for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) { String safeNameAccessor = genFeature.getSafeName(); if ("featureID".equals(safeNameAccessor)) { safeNameAccessor = "this." + safeNameAccessor; }%> > case <%=genClass.getQualifiedFeatureID(genFeature)%>: >- <%if (genFeature.isListType() && !genFeature.isUnsettable()) {%> >+ <%if (genFeature.hasSettingDelegate()) {%> >+ <%if (genFeature.isUnsettable()) {%> >+ return isSet<%=genFeature.getAccessorName()%>(); >+ <%} else {%> >+ return <%=genFeature.getUpperName()%>__ESETTING_DELEGATE.dynamicIsSet(this, null, 0); >+ <%}%> >+ <%} else if (genFeature.isListType() && !genFeature.isUnsettable()) {%> > <%if (genFeature.isWrappedFeatureMapType()) {%> > <%if (genFeature.isVolatile()) {%> > return !((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap().isEmpty(); >@@ -1879,6 +1944,72 @@ > } > > <%}%> >+<%if (genModel.isOperationReflection() && isImplementation && (!genClass.getMixinGenOperations().isEmpty() || genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty())) {%> >+ <%if (!genClass.getMixinGenOperations().isEmpty()) {%> >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ <%if (genModel.useClassOverrideAnnotation()) {%> >+ @Override >+ <%}%> >+ public int eBaseOperationID(int derivedOperationID, Class<%=singleWildcard%> baseClass) >+ { >+ <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%> >+ if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class) >+ { >+ switch (derivedOperationID<%=negativeOperationOffsetCorrection%>) >+ { >+ <%for (GenOperation genOperation : mixinGenClass.getGenOperations()) {%> >+ case <%=genClass.getQualifiedOperationID(genOperation)%>: return <%=mixinGenClass.getQualifiedOperationID(genOperation)%>; >+ <%}%> >+ default: return -1; >+ } >+ } >+ <%}%> >+ return super.eBaseOperationID(derivedOperationID, baseClass); >+ } >+ <%}%> >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ <%if (genModel.useClassOverrideAnnotation()) {%> >+ @Override >+ <%}%> >+ public int eDerivedOperationID(int baseOperationID, Class<%=singleWildcard%> baseClass) >+ { >+ <%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%> >+ if (baseClass == <%=mixinGenClass.getRawImportedInterfaceName()%>.class) >+ { >+ switch (baseOperationID) >+ { >+ <%for (GenOperation genOperation : mixinGenClass.getGenOperations()) {%> >+ case <%=mixinGenClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(genOperation)%><%=positiveOperationOffsetCorrection%>; >+ <%}%> >+ default: return -1; >+ } >+ } >+ <%}%> >+ <%if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {%> >+ if (baseClass == <%=genClass.getRawImportedInterfaceName()%>.class) >+ { >+ switch (baseOperationID<%=negativeOperationOffsetCorrection%>) >+ { >+ <%for (GenOperation genOperation : genClass.getGenOperations()) {%> >+ case <%=genClass.getQualifiedOperationID(genOperation)%>: return <%=genClass.getQualifiedOperationID(genOperation)%><%=positiveOperationOffsetCorrection%>; >+ <%}%> >+ default: return -1; >+ } >+ } >+ <%}%> >+ return super.eDerivedOperationID(baseOperationID, baseClass); >+ } >+ >+<%}%> > <%if (isImplementation && genModel.isVirtualDelegation()) { String eVirtualValuesField = genClass.getEVirtualValuesField();%> > <%if (eVirtualValuesField != null) {%> > /** >@@ -1956,6 +2087,44 @@ > <%}%> > <%}%> > <%}%> >+<%if (genModel.isOperationReflection() && isImplementation && !genClass.getImplementedGenOperations().isEmpty()) {%> >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ <%if (genModel.useClassOverrideAnnotation()) {%> >+ @Override >+ <%}%> >+ <%LOOP: for (GenOperation genOperation : genClass.getGenOperations()) {%> >+ <%for (GenParameter genParameter : genOperation.getGenParameters()) {%> >+ <%if (genParameter.isUncheckedCast()) {%> >+ @SuppressWarnings("unchecked") >+ <%break LOOP;}%> >+ <%}%> >+ <%}%> >+ public Object eInvoke(int operationID, <%=genModel.getImportedName("org.eclipse.emf.common.util.EList")%><%=singleWildcard%> arguments) throws <%=genModel.getImportedName("java.lang.reflect.InvocationTargetException")%> >+ { >+ switch (operationID<%=negativeOperationOffsetCorrection%>) >+ { >+<%for (GenOperation genOperation : genClass.getGenOperations()) { List<GenParameter> genParameters = genOperation.getGenParameters(); int size = genParameters.size();%> >+ case <%=genClass.getQualifiedOperationID(genOperation)%>: >+ <%if (genOperation.isVoid()) {%> >+ <%=genOperation.getName()%>(<%for (int i = 0; i < size; i++) { GenParameter genParameter = genParameters.get(i);%><%if (!isJDK50 && genParameter.isPrimitiveType()) {%>(<%}%>(<%=genParameter.getObjectType(genClass)%>)arguments.get(<%=i%>)<%if (!isJDK50 && genParameter.isPrimitiveType()) {%>).<%=genParameter.getPrimitiveValueFunction()%>()<%}%><%if (i < (size - 1)) {%>, <%}%><%}%>); >+ return null; >+ <%} else {%> >+ return <%if (!isJDK50 && genOperation.isPrimitiveType()) {%>new <%=genOperation.getObjectType(genClass)%>(<%}%><%=genOperation.getName()%>(<%for (int i = 0; i < size; i++) { GenParameter genParameter = genParameters.get(i);%><%if (!isJDK50 && genParameter.isPrimitiveType()) {%>(<%}%>(<%=genParameter.getObjectType(genClass)%>)arguments.get(<%=i%>)<%if (!isJDK50 && genParameter.isPrimitiveType()) {%>).<%=genParameter.getPrimitiveValueFunction()%>()<%}%><%if (i < (size - 1)) {%>, <%}%><%}%>)<%if (!isJDK50 && genOperation.isPrimitiveType()) {%>)<%}%>; >+ <%}%> >+<%}%> >+ } >+<%if (genModel.isMinimalReflectiveMethods()) {%> >+ return super.eInvoke(operationID, arguments); >+<%} else {%> >+ return eDynamicInvoke(operationID, arguments); >+<%}%> >+ } >+ >+<%}%> > <%if (!genClass.hasImplementedToStringGenOperation() && isImplementation && !genModel.isReflectiveDelegation() && !genModel.isDynamicDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {%> > /** > * <!-- begin-user-doc --> >Index: templates/model/PackageClass.javajet >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/templates/model/PackageClass.javajet,v >retrieving revision 1.46 >diff -u -r1.46 PackageClass.javajet >--- templates/model/PackageClass.javajet 12 May 2009 15:52:12 -0000 1.46 >+++ templates/model/PackageClass.javajet 27 Oct 2009 23:40:14 -0000 >@@ -3,7 +3,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2006 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -47,6 +47,9 @@ > * <ul> > * <li>each class,</li> > * <li>each feature of each class,</li> >+ <%if (genModel.isOperationReflection()) {%> >+ * <li>each operation of each class,</li> >+ <%}%> > * <li>each enum,</li> > * <li>and each data type</li> > * </ul> >@@ -186,6 +189,30 @@ > */ > <%=publicStaticFinalFlag%>int <%=genClass.getFeatureCountID()%> = <%=genClass.getFeatureCountValue()%>; > >+ <%if (genModel.isOperationReflection()) {%> >+ <%for (GenOperation genOperation : genClass.getAllGenOperations(false)) {%> >+ <%if (!genOperation.isOverridden(genClass)) {%> >+ /** >+ * The operation id for the '<em><%=genOperation.getFormattedName()%></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ <%=publicStaticFinalFlag%>int <%=genClass.getOperationID(genOperation, false)%> = <%=genClass.getOperationValue(genOperation)%>; >+ >+ <%}%> >+ <%}%> >+ /** >+ * The number of operations of the '<em><%=genClass.getFormattedName()%></em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ <%=publicStaticFinalFlag%>int <%=genClass.getOperationCountID()%> = <%=genClass.getOperationCountValue()%>; >+ >+ <%}%> > <%}%> > <%}%> > <%}%> >@@ -440,6 +467,39 @@ > <%}%> > > <%}%> >+ <%if (genModel.isOperationReflection()) {%> >+ <%for (GenOperation genOperation : genClass.getGenOperations()) {%> >+<%if (isInterface) {%> >+ /** >+ * Returns the meta object for the '{@link <%=genClass.getQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) <em><%=genOperation.getFormattedName()%></em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em><%=genOperation.getFormattedName()%></em>' operation. >+ * @see <%=genClass.getQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>) >+ * @generated >+ */ >+<%} else {%> >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+<%}%> >+<%if (isImplementation) {%> >+ public <%=genOperation.getImportedMetaType()%> get<%=genOperation.getOperationAccessorName()%>() >+ { >+ <%if (!genPackage.isLoadedInitialization()) {%> >+ return (<%=genOperation.getImportedMetaType()%>)<%=genClass.getClassifierInstanceName()%>.getEOperations().get(<%=genClass.getLocalOperationIndex(genOperation)%>); >+ <%} else {%> >+ return (<%=genOperation.getImportedMetaType()%>)get<%=genClassifier.getClassifierAccessorName()%>().getEOperations().get(<%=genClass.getLocalOperationIndex(genOperation)%>); >+ <%}%> >+ } >+<%} else {%> >+ <%=genOperation.getImportedMetaType()%> get<%=genOperation.getOperationAccessorName()%>(); >+<%}%> >+ >+ <%}%> >+ <%}%> > <%}%> > <%}%> > <%if (isInterface) {%> >@@ -494,6 +554,11 @@ > <%for (GenFeature genFeature : genClass.getGenFeatures()) {%> > create<%=genFeature.getMetaType()%>(<%=genClass.getClassifierInstanceName()%>, <%=genClass.getFeatureID(genFeature)%>); > <%}%> >+ <%if (genModel.isOperationReflection()) {%> >+ <%for (GenOperation genOperation : genClass.getGenOperations()) {%> >+ createEOperation(<%=genClass.getClassifierInstanceName()%>, <%=genClass.getOperationID(genOperation, false)%>); >+ <%}%> >+ <%}%> > <%if (c.hasNext()) {%> > > <%}%> >@@ -673,7 +738,7 @@ > <%}%> > <%}%> > >- // Initialize classes and features; add operations and parameters >+ // Initialize classes<%if (genModel.isOperationReflection()) {%>, features, and operations; add parameters<%} else {%> and features; add operations and parameters<%}%> > <%for (Iterator<GenClass> c=genPackage.getGenClasses().iterator(); c.hasNext();) { GenClass genClass = c.next(); boolean hasInstanceTypeName = genModel.useGenerics() && genClass.getEcoreClass().getInstanceTypeName() != null && genClass.getEcoreClass().getInstanceTypeName().contains("<");%> > initEClass(<%=genClass.getClassifierInstanceName()%>, <%if (genClass.isDynamic()) {%>null<%} else {%><%=genClass.getRawImportedInterfaceName()%>.class<%}%>, "<%=genClass.getName()%>", <%=genClass.getAbstractFlag()%>, <%=genClass.getInterfaceFlag()%>, <%=genClass.getGeneratedInstanceClassFlag()%><%if (hasInstanceTypeName) {%>, "<%=genClass.getEcoreClass().getInstanceTypeName()%>"<%}%>);<%=genModel.getNonNLS()%><%if (hasInstanceTypeName) {%><%=genModel.getNonNLS(2)%><%}%> > <%for (GenFeature genFeature : genClass.getGenFeatures()) {%> >@@ -698,15 +763,15 @@ > <%for (GenOperation genOperation : genClass.getGenOperations()) {String prefix = ""; if (genOperation.hasGenericType() || !genOperation.getGenParameters().isEmpty() || !genOperation.getGenExceptions().isEmpty() || !genOperation.getGenTypeParameters().isEmpty()) { if (firstOperationAssignment) { firstOperationAssignment = false; prefix = genModel.getImportedName("org.eclipse.emf.ecore.EOperation") + " op = "; } else { prefix = "op = "; }} %> > > <%if (genModel.useGenerics()) {%> >- <%=prefix%>addEOperation(<%=genClass.getClassifierInstanceName()%>, <%if (genOperation.isVoid() || genOperation.hasGenericType()) {%>null<%} else {%><%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>()<%}%>, "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>, <%=genOperation.getUniqueFlag()%>, <%=genOperation.getOrderedFlag()%>);<%=genModel.getNonNLS()%> >+ <%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%if (genOperation.isVoid() || genOperation.hasGenericType()) {%>null<%} else {%><%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>()<%}%>, "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>, <%=genOperation.getUniqueFlag()%>, <%=genOperation.getOrderedFlag()%>);<%=genModel.getNonNLS()%> > <%} else if (!genOperation.isVoid()) {%> > <%if (!genOperation.getEcoreOperation().isOrdered() || !genOperation.getEcoreOperation().isUnique()) { needsAddEOperation = true;%> >- <%=prefix%>addEOperation(<%=genClass.getClassifierInstanceName()%>, <%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>(), "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>, <%=genOperation.getUniqueFlag()%>, <%=genOperation.getOrderedFlag()%>);<%=genModel.getNonNLS()%> >+ <%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>(), "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>, <%=genOperation.getUniqueFlag()%>, <%=genOperation.getOrderedFlag()%>);<%=genModel.getNonNLS()%> > <%} else {%> >- <%=prefix%>addEOperation(<%=genClass.getClassifierInstanceName()%>, <%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>(), "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>);<%=genModel.getNonNLS()%> >+ <%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, <%=genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())%>.get<%=genOperation.getTypeClassifierAccessorName()%>(), "<%=genOperation.getName()%>", <%=genOperation.getLowerBound()%>, <%=genOperation.getUpperBound()%>);<%=genModel.getNonNLS()%> > <%}%> > <%} else {%> >- <%=prefix%>addEOperation(<%=genClass.getClassifierInstanceName()%>, null, "<%=genOperation.getName()%>");<%=genModel.getNonNLS()%> >+ <%=prefix%><%if (genModel.isOperationReflection()) {%>initEOperation(get<%=genOperation.getOperationAccessorName()%>()<%} else {%>addEOperation(<%=genClass.getClassifierInstanceName()%><%}%>, null, "<%=genOperation.getName()%>");<%=genModel.getNonNLS()%> > <%}%> > <%if (genModel.useGenerics()) {%> > <%for (ListIterator<GenTypeParameter> t=genOperation.getGenTypeParameters().listIterator(); t.hasNext(); ) { GenTypeParameter genTypeParameter = t.next(); String typeParameterVariable = ""; if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty() || genTypeParameter.isUsed()) { if (maxTypeParameterAssignment <= t.previousIndex()) { ++maxTypeParameterAssignment; typeParameterVariable = genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter") + " t" + t.nextIndex() + " = "; } else { typeParameterVariable = "t" + t.nextIndex() + " = "; }} %> >@@ -1002,6 +1067,9 @@ > * <ul> > * <li>each class,</li> > * <li>each feature of each class,</li> >+ <%if (genModel.isOperationReflection()) {%> >+ * <li>each operation of each class,</li> >+ <%}%> > * <li>each enum,</li> > * <li>and each data type</li> > * </ul> >@@ -1053,6 +1121,18 @@ > <%=publicStaticFinalFlag%><%=genFeature.getImportedMetaType()%> <%=genClass.getFeatureID(genFeature)%> = eINSTANCE.get<%=genFeature.getFeatureAccessorName()%>(); > > <%}%> >+ <%if (genModel.isOperationReflection()) {%> >+ <%for (GenOperation genOperation : genClass.getGenOperations()) {%> >+ /** >+ * The meta object literal for the '<em><b><%=genOperation.getFormattedName()%></b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ <%=publicStaticFinalFlag%><%=genOperation.getImportedMetaType()%> <%=genClass.getOperationID(genOperation, false)%> = eINSTANCE.get<%=genOperation.getOperationAccessorName()%>(); >+ >+ <%}%> >+ <%}%> > <%}%> > <%}%> > } >Index: src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenModelPackageImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenModelPackageImpl.java,v >retrieving revision 1.61 >diff -u -r1.61 GenModelPackageImpl.java >--- src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenModelPackageImpl.java 18 Sep 2009 18:10:34 -0000 1.61 >+++ src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenModelPackageImpl.java 27 Oct 2009 23:40:12 -0000 >@@ -1572,6 +1572,16 @@ > * <!-- end-user-doc --> > * @generated > */ >+ public EOperation getGenBase__GetGenAnnotation_String() >+ { >+ return (EOperation)genBaseEClass.getEOperations().get(0); >+ } >+ >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ > public EClass getGenEnum() > { > return genEnumEClass; >@@ -2080,6 +2090,7 @@ > > genBaseEClass = createEClass(GEN_BASE); > createEReference(genBaseEClass, GEN_BASE__GEN_ANNOTATIONS); >+ createEOperation(genBaseEClass, GEN_BASE___GET_GEN_ANNOTATION__STRING); > > genEnumEClass = createEClass(GEN_ENUM); > createEAttribute(genEnumEClass, GEN_ENUM__TYPE_SAFE_ENUM_COMPATIBLE); >@@ -2174,7 +2185,7 @@ > genAnnotationEClass.getESuperTypes().add(this.getGenBase()); > genTypeParameterEClass.getESuperTypes().add(this.getGenBase()); > >- // Initialize classes and features; add operations and parameters >+ // Initialize classes, features, and operations; add parameters > initEClass(genModelEClass, GenModel.class, "GenModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); > initEAttribute(getGenModel_CopyrightText(), ecorePackage.getEString(), "copyrightText", null, 0, 1, GenModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > initEAttribute(getGenModel_ModelDirectory(), ecorePackage.getEString(), "modelDirectory", null, 0, 1, GenModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); >@@ -2309,7 +2320,7 @@ > initEClass(genBaseEClass, GenBase.class, "GenBase", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); > initEReference(getGenBase_GenAnnotations(), this.getGenAnnotation(), this.getGenAnnotation_GenBase(), "genAnnotations", null, 0, -1, GenBase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); > >- EOperation op = addEOperation(genBaseEClass, this.getGenAnnotation(), "getGenAnnotation", 0, 1, IS_UNIQUE, IS_ORDERED); >+ EOperation op = initEOperation(getGenBase__GetGenAnnotation_String(), this.getGenAnnotation(), "getGenAnnotation", 0, 1, IS_UNIQUE, IS_ORDERED); > addEParameter(op, ecorePackage.getEString(), "source", 0, 1, IS_UNIQUE, IS_ORDERED); > > initEClass(genEnumEClass, GenEnum.class, "GenEnum", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); >Index: src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenBaseImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenBaseImpl.java,v >retrieving revision 1.71 >diff -u -r1.71 GenBaseImpl.java >--- src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenBaseImpl.java 28 Sep 2009 20:03:42 -0000 1.71 >+++ src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenBaseImpl.java 27 Oct 2009 23:40:08 -0000 >@@ -17,6 +17,7 @@ > package org.eclipse.emf.codegen.ecore.genmodel.impl; > > >+import java.lang.reflect.InvocationTargetException; > import java.io.BufferedInputStream; > import java.io.ByteArrayOutputStream; > import java.io.DataInputStream; >@@ -307,6 +308,22 @@ > return super.eIsSet(featureID); > } > >+ /** >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ @Override >+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException >+ { >+ switch (operationID) >+ { >+ case GenModelPackage.GEN_BASE___GET_GEN_ANNOTATION__STRING: >+ return getGenAnnotation((String)arguments.get(0)); >+ } >+ return super.eInvoke(operationID, arguments); >+ } >+ > public GenModel getGenModel() > { > return ((GenBase)eInternalContainer()).getGenModel(); >@@ -1586,6 +1603,14 @@ > */ > protected List<GenOperation> collectGenOperations(GenClass context, List<GenClass> genClasses, List<GenOperation> genOperations, GenOperationFilter filter) > { >+ return collectGenOperations(context, genClasses, genOperations, filter, true); >+ } >+ >+ /** >+ * @since 2.6 >+ */ >+ protected List<GenOperation> collectGenOperations(GenClass context, List<GenClass> genClasses, List<GenOperation> genOperations, GenOperationFilter filter, boolean excludeOverrides) >+ { > List<GenOperation> result = new ArrayList<GenOperation>(); > > if (genClasses != null) >@@ -1597,11 +1622,14 @@ > { > if (filter == null || filter.accept(genOperation)) > { >- for (GenOperation otherGenOperation : result) >+ if (excludeOverrides) > { >- if (otherGenOperation.isOverrideOf(context, genOperation)) >+ for (GenOperation otherGenOperation : result) > { >- continue LOOP; >+ if (otherGenOperation.isOverrideOf(context, genOperation)) >+ { >+ continue LOOP; >+ } > } > } > result.add(genOperation); >@@ -1617,11 +1645,14 @@ > { > if (filter == null || filter.accept(genOperation)) > { >- for (GenOperation otherGenOperation : result) >+ if (excludeOverrides) > { >- if (otherGenOperation.isOverrideOf(context, genOperation)) >+ for (GenOperation otherGenOperation : result) > { >- continue LOOP; >+ if (otherGenOperation.isOverrideOf(context, genOperation)) >+ { >+ continue LOOP; >+ } > } > } > result.add(genOperation); >Index: src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenOperationImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenOperationImpl.java,v >retrieving revision 1.37 >diff -u -r1.37 GenOperationImpl.java >--- src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenOperationImpl.java 18 Sep 2009 18:10:34 -0000 1.37 >+++ src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenOperationImpl.java 27 Oct 2009 23:40:12 -0000 >@@ -597,7 +597,17 @@ > > public String getParameterTypes(String separator, boolean qualified) > { >+ return getParameterTypes(separator, qualified, ""); >+ } >+ >+ public String getParameterTypes(String separator, boolean qualified, String prefix) >+ { > StringBuffer parameterTypes = new StringBuffer(); >+ >+ if (prefix != null && getGenParameters().size() > 0) >+ { >+ parameterTypes.append(prefix); >+ } > > for (Iterator<GenParameter> genParameterIterator = getGenParameters().iterator(); genParameterIterator.hasNext();) > { >@@ -632,6 +642,55 @@ > return parameterTypes.toString(); > } > >+ public String getParametersArray(GenClass context) >+ { >+ boolean isJSK50 = getGenModel().getComplianceLevel().getValue() >= GenJDKLevel.JDK50; >+ StringBuffer parametersArray = new StringBuffer("new Object[]{"); >+ for (Iterator<GenParameter> genParameterIterator = getGenParameters().iterator(); genParameterIterator.hasNext();) >+ { >+ GenParameter genParameter = genParameterIterator.next(); >+ if (!isJSK50 && genParameter.isPrimitiveType()) >+ { >+ parametersArray.append("new " + genParameter.getObjectType(context) + "("); >+ } >+ parametersArray.append(genParameter.getName()); >+ if (!isJSK50 && genParameter.isPrimitiveType()) >+ { >+ parametersArray.append(")"); >+ } >+ if (genParameterIterator.hasNext()) >+ { >+ parametersArray.append(", "); >+ } >+ } >+ parametersArray.append("}"); >+ >+ return parametersArray.toString(); >+ } >+ >+ public String getOperationAccessorName() >+ { >+ return getGenClass().getName() + "__" + getCapName() + getParameterTypes("_", false, "_"); >+ } >+ >+ public String getQualifiedOperationAccessorName() >+ { >+ return getGenPackage().getImportedPackageInterfaceName() + ".eINSTANCE.get" + getOperationAccessorName(); >+ } >+ >+ public String getQualifiedOperationAccessor() >+ { >+ if (getGenModel().isOperationReflection()) >+ { >+ return getGenPackage().isLiteralsInterface() ? getGenPackage().getImportedPackageInterfaceName() + ".Literals." >+ + getGenClass().getOperationID(this, false) : getQualifiedOperationAccessorName() + "()"; >+ } >+ else >+ { >+ return getGenClass().getQualifiedClassifierAccessor() + ".getEOperations().get(" + getGenClass().getLocalOperationIndex(this) + ")"; >+ } >+ } >+ > public String getImportedMetaType() > { > return getGenModel().getImportedName("org.eclipse.emf.ecore.EOperation"); >@@ -1056,7 +1115,25 @@ > } > return false; > } >- >+ >+ public boolean isOverridden(GenClass genClass) >+ { >+ List<GenOperation> allGenOperations = genClass.getAllGenOperations(false); >+ int index = allGenOperations.indexOf(this); >+ if (index != -1) >+ { >+ int size = allGenOperations.size(); >+ for (int i = index + 1; i < size; ++i) >+ { >+ if (allGenOperations.get(i).isOverrideOf(genClass, this)) >+ { >+ return true; >+ } >+ } >+ } >+ return false; >+ } >+ > public String getTypeParameters(GenClass context) > { > if (!getGenTypeParameters().isEmpty() && getEffectiveComplianceLevel().getValue() >= GenJDKLevel.JDK50) >@@ -1126,4 +1203,9 @@ > { > return EcoreUtil.isSuppressedVisibility(getEcoreOperation()); > } >+ >+ public boolean hasInvocationDelegate() >+ { >+ return EcoreUtil.getInvocationDelegateFactory(getEcoreOperation()) != null; >+ } > } >Index: src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenPackageImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenPackageImpl.java,v >retrieving revision 1.93 >diff -u -r1.93 GenPackageImpl.java >--- src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenPackageImpl.java 18 Sep 2009 18:10:34 -0000 1.93 >+++ src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenPackageImpl.java 27 Oct 2009 23:40:13 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2007 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -4211,14 +4211,18 @@ > @Override > public String caseEOperation(EOperation eOperation) > { >- EClass eClass = eOperation.getEContainingClass(); >- return >- (useGenerics ? "" : "(" + getGenModel().getImportedName("org.eclipse.emf.ecore.EOperation") + ")") + >- caseEClassifier(eClass) + >- ".getEOperations().get(" + >- eClass.getEOperations().indexOf(eOperation) + >- ")"; >- } >+ if (getGenModel().isOperationReflection()) >+ { >+ return "get" + findGenOperation(eOperation).getOperationAccessorName() + "()"; >+ } >+ else >+ { >+ EClass eClass = eOperation.getEContainingClass(); >+ return (useGenerics ? "" : "(" + getGenModel().getImportedName("org.eclipse.emf.ecore.EOperation") + ")") >+ + caseEClassifier(eClass) + ".getEOperations().get(" + eClass.getEOperations().indexOf(eOperation) + ")"; >+ } >+ } >+ > @Override > public String caseEEnumLiteral(EEnumLiteral eEnumLiteral) > { >Index: src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenModelImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenModelImpl.java,v >retrieving revision 1.109 >diff -u -r1.109 GenModelImpl.java >--- src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenModelImpl.java 30 Apr 2009 14:55:26 -0000 1.109 >+++ src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenModelImpl.java 27 Oct 2009 23:40:11 -0000 >@@ -8770,6 +8770,11 @@ > return "_UI_" + CodeGenUtil.validJavaIdentifier(category) + "PropertyCategory"; > } > >+ public boolean isOperationReflection() >+ { >+ return getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF26_VALUE; >+ } >+ > public boolean isVirtualDelegation() > { > return getFeatureDelegation() == GenDelegationKind.VIRTUAL_LITERAL; >Index: src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenClassImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenClassImpl.java,v >retrieving revision 1.102 >diff -u -r1.102 GenClassImpl.java >--- src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenClassImpl.java 11 Aug 2009 19:46:07 -0000 1.102 >+++ src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenClassImpl.java 27 Oct 2009 23:40:09 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2007 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -932,7 +932,12 @@ > > public List<GenOperation> getAllGenOperations() > { >- return collectGenOperations(this, getAllBaseGenClasses(), getGenOperations(), null); >+ return getAllGenOperations(true); >+ } >+ >+ public List<GenOperation> getAllGenOperations(boolean excludeOverrides) >+ { >+ return collectGenOperations(this, getAllBaseGenClasses(), getGenOperations(), null, excludeOverrides); > } > > public String getFeatureID(GenFeature genFeature) >@@ -947,7 +952,7 @@ > > public String getOperationID(GenOperation genOperation) > { >- return getClassifierID() + "__" + format(genOperation.getName(), '_', null, false, false).toUpperCase(getGenModel().getLocale()); >+ return getOperationID(genOperation, true); > } > > public String getFeatureValue(GenFeature genFeature) >@@ -978,6 +983,44 @@ > return Integer.toString(getEcoreClass().getEStructuralFeatures().indexOf(genFeature.getEcoreFeature())); > } > >+ public String getOperationID(GenOperation genOperation, boolean diagnosticCode) >+ { >+ return getClassifierID() + (diagnosticCode ? "__" : "___") + (format(genOperation.getName(), '_', null, false, false) + (diagnosticCode ? "" : genOperation.getParameterTypes("_", false, "__"))).toUpperCase(getGenModel().getLocale()); >+ } >+ >+ public String getQualifiedOperationID(GenOperation genOperation) >+ { >+ return getGenPackage().getImportedPackageInterfaceName() + "." + getOperationID(genOperation, false); >+ } >+ >+ public String getOperationValue(GenOperation genOperation) >+ { >+ List<GenOperation> allOperations = getAllGenOperations(false); >+ int i = allOperations.indexOf(genOperation); >+ GenClass base = getBaseGenClass(); >+ >+ if (base == null) >+ { >+ return Integer.toString(i); >+ } >+ >+ int baseCount = base.getOperationCount(); >+ if (i < baseCount) >+ { >+ return getGenPackage() == base.getGenPackage() ? >+ base.getOperationID(genOperation, false) : base.getQualifiedOperationID(genOperation); >+ } >+ >+ String baseCountID = getGenPackage() == base.getGenPackage() ? >+ base.getOperationCountID() : base.getQualifiedOperationCountID(); >+ return baseCountID + " + " + Integer.toString(i - baseCount); >+ } >+ >+ public String getLocalOperationIndex(GenOperation genOperation) >+ { >+ return Integer.toString(getEcoreClass().getEOperations().indexOf(genOperation.getEcoreOperation())); >+ } >+ > public String getFlagsField(GenFeature genFeature) > { > if (isFlag(genFeature)) >@@ -1151,6 +1194,34 @@ > return getAllGenFeatures().size(); > } > >+ public String getOperationCountID() >+ { >+ return getClassifierID() + "_OPERATION_COUNT"; >+ } >+ >+ public String getQualifiedOperationCountID() >+ { >+ return getGenPackage().getImportedPackageInterfaceName() + "." + getOperationCountID(); >+ } >+ >+ public String getOperationCountValue() >+ { >+ GenClass base = getBaseGenClass(); >+ if (base == null) >+ { >+ return Integer.toString(getOperationCount()); >+ } >+ >+ String baseCountID = getGenPackage() == base.getGenPackage() ? >+ base.getOperationCountID() : base.getQualifiedOperationCountID(); >+ return baseCountID + " + " + Integer.toString(getOperationCount() - base.getOperationCount()); >+ } >+ >+ public int getOperationCount() >+ { >+ return getAllGenOperations(false).size(); >+ } >+ > public boolean isEObject() > { > return getName().equals("EObject") && getGenPackage().isEcorePackage(); >@@ -3190,7 +3261,7 @@ > > public boolean accept(GenOperation genOperation) > { >- boolean hasBody = genOperation.hasBody(); >+ boolean hasBody = genOperation.hasBody() || genOperation.hasInvocationDelegate(); > > if (genOperation.getName().startsWith("isSet") && genOperation.getGenParameters().isEmpty()) > { >Index: src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenFeatureImpl.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenFeatureImpl.java,v >retrieving revision 1.59 >diff -u -r1.59 GenFeatureImpl.java >--- src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenFeatureImpl.java 19 Oct 2009 11:53:09 -0000 1.59 >+++ src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenFeatureImpl.java 27 Oct 2009 23:40:09 -0000 >@@ -1840,7 +1840,7 @@ > > public boolean isESetField() > { >- return !isContainer() && !isListType() && isUnsettable() && !isVolatile(); >+ return !isContainer() && !isListType() && isUnsettable() && !isVolatile() && !hasSettingDelegate(); > } > > public boolean isGet() >@@ -1903,4 +1903,9 @@ > { > return isVolatile() || isDerived(); > } >+ >+ public boolean hasSettingDelegate() >+ { >+ return EcoreUtil.getSettingDelegateFactory(getEcoreFeature()) != null; >+ } > } //GenFeatureImpl >Index: src/org/eclipse/emf/codegen/ecore/genmodel/GenModelPackage.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenModelPackage.java,v >retrieving revision 1.53 >diff -u -r1.53 GenModelPackage.java >--- src/org/eclipse/emf/codegen/ecore/genmodel/GenModelPackage.java 29 Aug 2008 18:01:02 -0000 1.53 >+++ src/org/eclipse/emf/codegen/ecore/genmodel/GenModelPackage.java 27 Oct 2009 23:40:08 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2007 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -20,6 +20,7 @@ > import org.eclipse.emf.ecore.EAttribute; > import org.eclipse.emf.ecore.EClass; > import org.eclipse.emf.ecore.EEnum; >+import org.eclipse.emf.ecore.EOperation; > import org.eclipse.emf.ecore.EPackage; > import org.eclipse.emf.ecore.EReference; > >@@ -114,6 +115,24 @@ > int GEN_BASE_FEATURE_COUNT = 1; > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_BASE___GET_GEN_ANNOTATION__STRING = 0; >+ >+ /** >+ * The number of operations of the '<em>Gen Base</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_BASE_OPERATION_COUNT = 1; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl <em>Gen Model</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -826,6 +845,24 @@ > int GEN_MODEL_FEATURE_COUNT = GEN_BASE_FEATURE_COUNT + 76; > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_MODEL___GET_GEN_ANNOTATION__STRING = GEN_BASE___GET_GEN_ANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>Gen Model</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_MODEL_OPERATION_COUNT = GEN_BASE_OPERATION_COUNT + 0; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenPackageImpl <em>Gen Package</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1115,6 +1152,24 @@ > int GEN_PACKAGE_FEATURE_COUNT = GEN_BASE_FEATURE_COUNT + 29; > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_PACKAGE___GET_GEN_ANNOTATION__STRING = GEN_BASE___GET_GEN_ANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>Gen Package</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_PACKAGE_OPERATION_COUNT = GEN_BASE_OPERATION_COUNT + 0; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenClassifierImpl <em>Gen Classifier</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1161,6 +1216,24 @@ > int GEN_CLASSIFIER_FEATURE_COUNT = GEN_BASE_FEATURE_COUNT + 2; > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_CLASSIFIER___GET_GEN_ANNOTATION__STRING = GEN_BASE___GET_GEN_ANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>Gen Classifier</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_CLASSIFIER_OPERATION_COUNT = GEN_BASE_OPERATION_COUNT + 0; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenClassImpl <em>Gen Class</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1270,6 +1343,24 @@ > int GEN_CLASS_FEATURE_COUNT = GEN_CLASSIFIER_FEATURE_COUNT + 7; > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_CLASS___GET_GEN_ANNOTATION__STRING = GEN_CLASSIFIER___GET_GEN_ANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>Gen Class</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_CLASS_OPERATION_COUNT = GEN_CLASSIFIER_OPERATION_COUNT + 0; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenTypedElementImpl <em>Gen Typed Element</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1298,6 +1389,24 @@ > int GEN_TYPED_ELEMENT_FEATURE_COUNT = GEN_BASE_FEATURE_COUNT + 0; > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_TYPED_ELEMENT___GET_GEN_ANNOTATION__STRING = GEN_BASE___GET_GEN_ANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>Gen Typed Element</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_TYPED_ELEMENT_OPERATION_COUNT = GEN_BASE_OPERATION_COUNT + 0; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenFeatureImpl <em>Gen Feature</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1425,6 +1534,24 @@ > int GEN_FEATURE_FEATURE_COUNT = GEN_TYPED_ELEMENT_FEATURE_COUNT + 11; > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_FEATURE___GET_GEN_ANNOTATION__STRING = GEN_TYPED_ELEMENT___GET_GEN_ANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>Gen Feature</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_FEATURE_OPERATION_COUNT = GEN_TYPED_ELEMENT_OPERATION_COUNT + 0; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenDataTypeImpl <em>Gen Data Type</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1480,6 +1607,24 @@ > int GEN_DATA_TYPE_FEATURE_COUNT = GEN_CLASSIFIER_FEATURE_COUNT + 1; > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_DATA_TYPE___GET_GEN_ANNOTATION__STRING = GEN_CLASSIFIER___GET_GEN_ANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>Gen Data Type</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_DATA_TYPE_OPERATION_COUNT = GEN_CLASSIFIER_OPERATION_COUNT + 0; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenEnumImpl <em>Gen Enum</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1562,6 +1707,24 @@ > int GEN_ENUM_FEATURE_COUNT = GEN_DATA_TYPE_FEATURE_COUNT + 3; > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_ENUM___GET_GEN_ANNOTATION__STRING = GEN_DATA_TYPE___GET_GEN_ANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>Gen Enum</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_ENUM_OPERATION_COUNT = GEN_DATA_TYPE_OPERATION_COUNT + 0; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenEnumLiteralImpl <em>Gen Enum Literal</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1608,6 +1771,24 @@ > int GEN_ENUM_LITERAL_FEATURE_COUNT = GEN_BASE_FEATURE_COUNT + 2; > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_ENUM_LITERAL___GET_GEN_ANNOTATION__STRING = GEN_BASE___GET_GEN_ANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>Gen Enum Literal</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_ENUM_LITERAL_OPERATION_COUNT = GEN_BASE_OPERATION_COUNT + 0; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenOperationImpl <em>Gen Operation</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1672,6 +1853,24 @@ > int GEN_OPERATION_FEATURE_COUNT = GEN_TYPED_ELEMENT_FEATURE_COUNT + 4; > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_OPERATION___GET_GEN_ANNOTATION__STRING = GEN_TYPED_ELEMENT___GET_GEN_ANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>Gen Operation</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_OPERATION_OPERATION_COUNT = GEN_TYPED_ELEMENT_OPERATION_COUNT + 0; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenParameterImpl <em>Gen Parameter</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1719,6 +1918,24 @@ > > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_PARAMETER___GET_GEN_ANNOTATION__STRING = GEN_TYPED_ELEMENT___GET_GEN_ANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>Gen Parameter</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_PARAMETER_OPERATION_COUNT = GEN_TYPED_ELEMENT_OPERATION_COUNT + 0; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenAnnotationImpl <em>Gen Annotation</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1792,6 +2009,24 @@ > int GEN_ANNOTATION_FEATURE_COUNT = GEN_BASE_FEATURE_COUNT + 5; > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_ANNOTATION___GET_GEN_ANNOTATION__STRING = GEN_BASE___GET_GEN_ANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>Gen Annotation</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_ANNOTATION_OPERATION_COUNT = GEN_BASE_OPERATION_COUNT + 0; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenTypeParameterImpl <em>Gen Type Parameter</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -1829,6 +2064,24 @@ > int GEN_TYPE_PARAMETER_FEATURE_COUNT = GEN_BASE_FEATURE_COUNT + 1; > > /** >+ * The operation id for the '<em>Get Gen Annotation</em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_TYPE_PARAMETER___GET_GEN_ANNOTATION__STRING = GEN_BASE___GET_GEN_ANNOTATION__STRING; >+ >+ /** >+ * The number of operations of the '<em>Gen Type Parameter</em>' class. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ * @ordered >+ */ >+ int GEN_TYPE_PARAMETER_OPERATION_COUNT = GEN_BASE_OPERATION_COUNT + 0; >+ >+ /** > * The meta object id for the '{@link org.eclipse.emf.codegen.ecore.genmodel.GenProviderKind <em>Gen Provider Kind</em>}' enum. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -3308,6 +3561,16 @@ > EReference getGenBase_GenAnnotations(); > > /** >+ * Returns the meta object for the '{@link org.eclipse.emf.codegen.ecore.genmodel.GenBase#getGenAnnotation(java.lang.String) <em>Get Gen Annotation</em>}' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @return the meta object for the '<em>Get Gen Annotation</em>' operation. >+ * @see org.eclipse.emf.codegen.ecore.genmodel.GenBase#getGenAnnotation(java.lang.String) >+ * @generated >+ */ >+ EOperation getGenBase__GetGenAnnotation_String(); >+ >+ /** > * Returns the meta object for class '{@link org.eclipse.emf.codegen.ecore.genmodel.GenEnum <em>Gen Enum</em>}'. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >@@ -4743,6 +5006,14 @@ > EReference GEN_BASE__GEN_ANNOTATIONS = eINSTANCE.getGenBase_GenAnnotations(); > > /** >+ * The meta object literal for the '<em><b>Get Gen Annotation</b></em>' operation. >+ * <!-- begin-user-doc --> >+ * <!-- end-user-doc --> >+ * @generated >+ */ >+ EOperation GEN_BASE___GET_GEN_ANNOTATION__STRING = eINSTANCE.getGenBase__GetGenAnnotation_String(); >+ >+ /** > * The meta object literal for the '{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenEnumImpl <em>Gen Enum</em>}' class. > * <!-- begin-user-doc --> > * <!-- end-user-doc --> >Index: src/org/eclipse/emf/codegen/ecore/genmodel/GenModel.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenModel.java,v >retrieving revision 1.64 >diff -u -r1.64 GenModel.java >--- src/org/eclipse/emf/codegen/ecore/genmodel/GenModel.java 13 Mar 2009 21:05:56 -0000 1.64 >+++ src/org/eclipse/emf/codegen/ecore/genmodel/GenModel.java 27 Oct 2009 23:40:07 -0000 >@@ -2534,6 +2534,11 @@ > boolean isVirtualDelegation(); > > /** >+ * @since 2.6 >+ */ >+ boolean isOperationReflection(); >+ >+ /** > * @since 2.5 > */ > boolean isDynamicDelegation(); >Index: src/org/eclipse/emf/codegen/ecore/genmodel/GenOperation.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenOperation.java,v >retrieving revision 1.19 >diff -u -r1.19 GenOperation.java >--- src/org/eclipse/emf/codegen/ecore/genmodel/GenOperation.java 18 Sep 2009 18:10:34 -0000 1.19 >+++ src/org/eclipse/emf/codegen/ecore/genmodel/GenOperation.java 27 Oct 2009 23:40:08 -0000 >@@ -123,6 +123,21 @@ > String getCapName(); > String getFormattedName(); > >+ /** >+ * @since 2.6 >+ */ >+ String getOperationAccessorName(); // returns the name of the operation get method in the package interface >+ >+ /** >+ * @since 2.6 >+ */ >+ String getQualifiedOperationAccessorName(); // returns the name of the operation get method in the package interface >+ >+ /** >+ * @since 2.6 >+ */ >+ String getQualifiedOperationAccessor(); >+ > boolean isVoid(); > > /** >@@ -180,6 +195,16 @@ > String getParameterTypes(String separator, boolean qualified); > String getParameterNames(String separator); > >+ /** >+ * @since 2.6 >+ */ >+ String getParameterTypes(String separator, boolean qualified, String prefix); >+ >+ /** >+ * @since 2.6 >+ */ >+ String getParametersArray(GenClass context); >+ > String getImportedMetaType(); > > GenPackage getGenPackage(); >@@ -241,6 +266,11 @@ > boolean isOverrideOf(GenOperation genOperation); > > /** >+ * @since 2.6 >+ */ >+ boolean isOverridden(GenClass context); >+ >+ /** > * @since 2.3 > */ > String getTypeParameters(GenClass context); >@@ -259,4 +289,10 @@ > * @since 2.4 > */ > boolean isSuppressedVisibility(); >+ >+ /** >+ * Returns whether this operation is implemented with a registered invocation delegate. >+ * @since 2.6 >+ */ >+ boolean hasInvocationDelegate(); > } >Index: src/org/eclipse/emf/codegen/ecore/genmodel/GenFeature.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenFeature.java,v >retrieving revision 1.26 >diff -u -r1.26 GenFeature.java >--- src/org/eclipse/emf/codegen/ecore/genmodel/GenFeature.java 4 May 2008 17:03:27 -0000 1.26 >+++ src/org/eclipse/emf/codegen/ecore/genmodel/GenFeature.java 27 Oct 2009 23:40:06 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2006 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -446,4 +446,10 @@ > * @since 2.3 > */ > boolean isTested(); >+ >+ /** >+ * Returns whether this feature is implemented with a registered setting delegate. >+ * @since 2.6 >+ */ >+ boolean hasSettingDelegate(); > } >Index: src/org/eclipse/emf/codegen/ecore/genmodel/GenClass.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenClass.java,v >retrieving revision 1.34 >diff -u -r1.34 GenClass.java >--- src/org/eclipse/emf/codegen/ecore/genmodel/GenClass.java 23 Feb 2009 19:29:30 -0000 1.34 >+++ src/org/eclipse/emf/codegen/ecore/genmodel/GenClass.java 27 Oct 2009 23:40:06 -0000 >@@ -1,7 +1,7 @@ > /** > * <copyright> > * >- * Copyright (c) 2002-2007 IBM Corporation and others. >+ * Copyright (c) 2002-2009 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -277,6 +277,11 @@ > List<GenFeature> getInheritedGenFeatures(); > List<GenOperation> getAllGenOperations(); > >+ /** >+ * @since 2.6 >+ */ >+ List<GenOperation> getAllGenOperations(boolean excludeOverrides); >+ > String getFeatureID(GenFeature genFeature); > String getQualifiedFeatureID(GenFeature genFeature); > String getOperationID(GenOperation genOperation); >@@ -284,10 +289,32 @@ > String getLocalFeatureIndex(GenFeature genFeature); > String getFlagsField(GenFeature genFeature); > int getFlagIndex(GenFeature genFeature); >+ >+ /** >+ * @since 2.6 >+ */ >+ String getOperationID(GenOperation genOperation, boolean diagnosticCode); >+ >+ /** >+ * @since 2.6 >+ */ >+ String getQualifiedOperationID(GenOperation genOperation); >+ >+ /** >+ * @since 2.6 >+ */ >+ String getOperationValue(GenOperation genOperation); >+ >+ /** >+ * @since 2.6 >+ */ >+ String getLocalOperationIndex(GenOperation genOperation); >+ > /** > * @since 2.4 > */ > int getFlagSize(GenFeature genFeature); >+ > /** > * @since 2.4 > */ >@@ -300,6 +327,26 @@ > String getFeatureCountValue(); > int getFeatureCount(); > >+ /** >+ * @since 2.6 >+ */ >+ String getOperationCountID(); >+ >+ /** >+ * @since 2.6 >+ */ >+ String getQualifiedOperationCountID(); >+ >+ /** >+ * @since 2.6 >+ */ >+ String getOperationCountValue(); >+ >+ /** >+ * @since 2.6 >+ */ >+ int getOperationCount(); >+ > boolean isEObject(); > boolean isEObjectExtension(); > String getCastFromEObject();
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 255469
:
118008
|
118009
|
148791
|
149767
|
150408
|
150693
|
151088
|
155103