[560597] 'Rebase' custom JavaJet template on EMF 2.20's version
The only difference between the new PackageClass.javajet and the
upstream version from EMF 2.20.0 is the custom initialization of the
View_PersistedChildren and Diagram_PersistedEdges references.
When re-generating the metamodel using this new version of the
template, the only differences with the previous version are:
- some changes in the JavaDoc of the init() method;
- the "@since" annotations which are lost and must be reverted/added
back manually.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=560597
Change-Id: I8dea3b76cffba64aaa6d81258c12a60cb3791254
Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
diff --git a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/NotationPackageImpl.java b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/NotationPackageImpl.java
index 852edd4..8c4412a 100644
--- a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/NotationPackageImpl.java
+++ b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/NotationPackageImpl.java
@@ -756,19 +756,13 @@
/**
* Creates, registers, and initializes the <b>Package</b> for this model, and
- * for any others upon which it depends. Simple dependencies are satisfied by
- * calling this method on all dependent packages before doing anything else.
- * This method drives initialization for interdependent packages directly, in
- * parallel with this package, itself.
+ * for any others upon which it depends.
+ *
* <p>
- * Of this package and its interdependencies, all packages which have not yet
- * been registered by their URI values are first created and registered. The
- * packages are then initialized in two steps: meta-model objects for all of the
- * packages are created before any are initialized, since one package's
- * meta-model objects may refer to those of another.
- * <p>
- * Invocation of this method will not affect any packages that have already been
- * initialized. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * This method is used to initialize {@link NotationPackage#eINSTANCE} when that
+ * field is accessed. Clients should not invoke it directly. Instead, they
+ * should simply access that field to obtain the package. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
*
* @see #eNS_URI
* @see #createPackageContents()
@@ -2895,23 +2889,18 @@
// Initialize classes and features; add operations and parameters
initEClass(edgeEClass, Edge.class, "Edge", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
initEReference(getEdge_Source(), this.getView(), this.getView_SourceEdges(), "source", null, 1, 1, Edge.class, //$NON-NLS-1$
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
initEReference(getEdge_Target(), this.getView(), this.getView_TargetEdges(), "target", null, 1, 1, Edge.class, //$NON-NLS-1$
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
initEReference(getEdge_Bendpoints(), this.getBendpoints(), null, "bendpoints", null, 0, 1, Edge.class, //$NON-NLS-1$
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
initEReference(getEdge_SourceAnchor(), this.getAnchor(), null, "sourceAnchor", null, 0, 1, Edge.class, //$NON-NLS-1$
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
initEReference(getEdge_TargetAnchor(), this.getAnchor(), null, "targetAnchor", null, 0, 1, Edge.class, //$NON-NLS-1$
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -2926,7 +2915,6 @@
addEParameter(op, theEcorePackage.getEClass(), "eClass", 0, 1); //$NON-NLS-1$
initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
initEReference(getNode_LayoutConstraint(), this.getLayoutConstraint(), null, "layoutConstraint", null, 0, 1, //$NON-NLS-1$
Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -2984,7 +2972,6 @@
initEAttribute(getSortingStyle_SortingKeys(), this.getSortKeyMap(), "sortingKeys", null, 0, 1, //$NON-NLS-1$
SortingStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
-
initEReference(getSortingStyle_SortedObjects(), theEcorePackage.getEObject(), null, "sortedObjects", null, 0, //$NON-NLS-1$
-1, SortingStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -3057,34 +3044,27 @@
!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getView_Mutable(), ecorePackage.getEBoolean(), "mutable", "false", 0, 1, View.class, //$NON-NLS-1$ //$NON-NLS-2$
IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
initEReference(getView_SourceEdges(), this.getEdge(), this.getEdge_Source(), "sourceEdges", null, 0, -1, //$NON-NLS-1$
View.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
initEReference(getView_TargetEdges(), this.getEdge(), this.getEdge_Target(), "targetEdges", null, 0, -1, //$NON-NLS-1$
View.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
initEReference(getView_PersistedChildren(), this.getNode(), null, "children", null, 0, -1, View.class, //$NON-NLS-1$
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getView_PersistedChildren(), this.getNode(), null, "children", null, 0, -1, View.class, //$NON-NLS-1$
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
initEReference(getView_Styles(), this.getStyle(), null, "styles", null, 0, -1, View.class, !IS_TRANSIENT, //$NON-NLS-1$
!IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
IS_ORDERED);
-
initEReference(getView_Element(), theEcorePackage.getEObject(), null, "element", null, 0, 1, View.class, //$NON-NLS-1$
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
-
initEReference(getView_Diagram(), this.getDiagram(), null, "diagram", null, 1, 1, View.class, IS_TRANSIENT, //$NON-NLS-1$
IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
IS_ORDERED);
-
initEReference(getView_TransientChildren(), this.getNode(), null, "transientChildren", null, 0, -1, View.class, //$NON-NLS-1$
IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
@@ -3114,11 +3094,9 @@
initEAttribute(getDiagram_MeasurementUnit(), this.getMeasurementUnit(), "measurementUnit", "Himetric", 0, 1, //$NON-NLS-1$ //$NON-NLS-2$
Diagram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
-
initEReference(getDiagram_PersistedEdges(), this.getEdge(), null, "edges", null, 0, -1, Diagram.class, //$NON-NLS-1$
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
initEReference(getDiagram_TransientEdges(), this.getEdge(), null, "TransientEdges", null, 0, -1, Diagram.class, //$NON-NLS-1$
IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
@@ -3161,11 +3139,9 @@
initEClass(guideStyleEClass, GuideStyle.class, "GuideStyle", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
IS_GENERATED_INSTANCE_CLASS);
-
initEReference(getGuideStyle_HorizontalGuides(), this.getGuide(), null, "horizontalGuides", null, 0, -1, //$NON-NLS-1$
GuideStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
initEReference(getGuideStyle_VerticalGuides(), this.getGuide(), null, "verticalGuides", null, 0, -1, //$NON-NLS-1$
GuideStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -3173,7 +3149,6 @@
initEClass(guideEClass, Guide.class, "Guide", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getGuide_Position(), ecorePackage.getEInt(), "position", "0", 0, 1, Guide.class, !IS_TRANSIENT, //$NON-NLS-1$ //$NON-NLS-2$
!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
initEReference(getGuide_NodeMap(), this.getNodeEntry(), null, "nodeMap", null, 0, -1, Guide.class, //$NON-NLS-1$
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -3182,7 +3157,6 @@
!IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getNodeEntry_Value(), this.getAlignment(), "value", "Center", 0, 1, Map.Entry.class, //$NON-NLS-1$ //$NON-NLS-2$
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
initEReference(getNodeEntry_Key(), this.getNode(), null, "key", null, 1, 1, Map.Entry.class, !IS_TRANSIENT, //$NON-NLS-1$
!IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
IS_ORDERED);
@@ -3195,7 +3169,6 @@
initEAttribute(getFilteringStyle_FilteringKeys(), this.getFilterKeyList(), "filteringKeys", null, 0, 1, //$NON-NLS-1$
FilteringStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
-
initEReference(getFilteringStyle_FilteredObjects(), theEcorePackage.getEObject(), null, "filteredObjects", null, //$NON-NLS-1$
0, -1, FilteringStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -3211,21 +3184,18 @@
initEAttribute(getImageStyle_MaintainAspectRatio(), ecorePackage.getEBooleanObject(), "maintainAspectRatio", //$NON-NLS-1$
"true", 0, 1, ImageStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, //$NON-NLS-1$
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
initEReference(getImageStyle_CropBound(), this.getBounds(), null, "cropBound", null, 1, 1, ImageStyle.class, //$NON-NLS-1$
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(imageBufferStyleEClass, ImageBufferStyle.class, "ImageBufferStyle", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
IS_GENERATED_INSTANCE_CLASS);
-
initEReference(getImageBufferStyle_ImageBuffer(), this.getImage(), null, "imageBuffer", null, 1, 1, //$NON-NLS-1$
ImageBufferStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(propertiesSetStyleEClass, PropertiesSetStyle.class, "PropertiesSetStyle", !IS_ABSTRACT, //$NON-NLS-1$
!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
initEReference(getPropertiesSetStyle_PropertiesMap(), this.getStringToPropertyValueMapEntry(), null,
"propertiesMap", null, 0, -1, PropertiesSetStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, //$NON-NLS-1$
IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -3257,7 +3227,6 @@
initEAttribute(getStringToPropertyValueMapEntry_Key(), theEcorePackage.getEString(), "key", null, 0, 1, //$NON-NLS-1$
Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
-
initEReference(getStringToPropertyValueMapEntry_Value(), this.getPropertyValue(), null, "value", null, 0, 1, //$NON-NLS-1$
Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -3267,7 +3236,6 @@
initEAttribute(getPropertyValue_RawValue(), ecorePackage.getEString(), "rawValue", null, 0, 1, //$NON-NLS-1$
PropertyValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
-
initEReference(getPropertyValue_InstanceType(), theEcorePackage.getEDataType(), null, "instanceType", null, 0, //$NON-NLS-1$
1, PropertyValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -3310,7 +3278,6 @@
initEClass(dataTypeStyleEClass, DataTypeStyle.class, "DataTypeStyle", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
IS_GENERATED_INSTANCE_CLASS);
-
initEReference(getDataTypeStyle_InstanceType(), theEcorePackage.getEDataType(), null, "instanceType", null, 0, //$NON-NLS-1$
1, DataTypeStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -3359,14 +3326,12 @@
initEClass(eObjectValueStyleEClass, EObjectValueStyle.class, "EObjectValueStyle", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
IS_GENERATED_INSTANCE_CLASS);
-
initEReference(getEObjectValueStyle_EObjectValue(), theEcorePackage.getEObject(), null, "eObjectValue", null, 0, //$NON-NLS-1$
1, EObjectValueStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(eObjectListValueStyleEClass, EObjectListValueStyle.class, "EObjectListValueStyle", !IS_ABSTRACT, //$NON-NLS-1$
!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
initEReference(getEObjectListValueStyle_EObjectListValue(), theEcorePackage.getEObject(), null,
"eObjectListValue", null, 0, -1, EObjectListValueStyle.class, !IS_TRANSIENT, !IS_VOLATILE, //$NON-NLS-1$
IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -3391,14 +3356,12 @@
initEClass(diagramLinkStyleEClass, DiagramLinkStyle.class, "DiagramLinkStyle", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
IS_GENERATED_INSTANCE_CLASS);
-
initEReference(getDiagramLinkStyle_DiagramLink(), this.getDiagram(), null, "diagramLink", null, 0, 1, //$NON-NLS-1$
DiagramLinkStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(multiDiagramLinkStyleEClass, MultiDiagramLinkStyle.class, "MultiDiagramLinkStyle", !IS_ABSTRACT, //$NON-NLS-1$
!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
initEReference(getMultiDiagramLinkStyle_DiagramLinks(), this.getDiagram(), null, "diagramLinks", null, 0, -1, //$NON-NLS-1$
MultiDiagramLinkStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/org.eclipse.gmf.runtime.notation/templates/model/PackageClass.javajet b/org.eclipse.gmf.runtime.notation/templates/model/PackageClass.javajet
index 6b76845..4c3aa26 100644
--- a/org.eclipse.gmf.runtime.notation/templates/model/PackageClass.javajet
+++ b/org.eclipse.gmf.runtime.notation/templates/model/PackageClass.javajet
@@ -1,23 +1,20 @@
-<%@ jet package="org.eclipse.emf.codegen.ecore.templates.model" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.emf.ecore.util.EcoreUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.Literals" class="PackageClass" version="$Id: PackageClass.javajet,v 1.5 2007/11/23 19:44:57 ahunter Exp $" %>
+<%@ jet package="org.eclipse.emf.codegen.ecore.templates.model" imports="java.util.* org.eclipse.emf.ecore.* org.eclipse.emf.ecore.util.EcoreUtil org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.codegen.ecore.genmodel.impl.Literals org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil" class="PackageClass"%>
<%
/**
- * <copyright>
- *
- * Copyright (c) 2002-2006 IBM Corporation and others.
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
+ * Copyright (c) 2002-2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* IBM - Initial API and implementation
- *
- * </copyright>
*/
%>
<%final GenPackage genPackage = (GenPackage)((Object[])argument)[0]; final GenModel genModel=genPackage.getGenModel();%>
-<%boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]);%>
+<%final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50;%>
+<%boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]); boolean useInterfaceOverrideAnnotation = genModel.useInterfaceOverrideAnnotation() && !(isInterface && isImplementation);%>
+<%boolean packageNeedsSuppressDeprecation = isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genPackage.getOrderedGenClassifiers()) && !genPackage.hasAPIDeprecatedTag() && !genModel.isSuppressEMFMetaData();%>
<%String publicStaticFinalFlag = isImplementation ? "public static final " : "";%>
<%boolean needsAddEOperation = false;%>
<%boolean needsAddEParameter = false;%>
@@ -32,6 +29,9 @@
<%if (isImplementation) {%>
<%genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Registry");%>
<%genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Descriptor");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.impl.EPackageImpl.EBasicWhiteList");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container");%>
+<%genModel.addPseudoImport("org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic");%>
<%if (genPackage.isLiteralsInterface()) {%>
<%genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + ".Literals");%>
<%}%>
@@ -46,6 +46,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>
@@ -71,272 +74,431 @@
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
+<%if (genPackage.hasAPITags()) {%>
+ * <%=genPackage.getAPITags(genModel.getIndentation(stringBuffer))%>
+<%}%>
* @generated
*/
<%}%>
+<%if (isJDK50 && genPackage.hasAPIDeprecatedTag()) {%>
+@Deprecated
+<%}%>
<%if (isImplementation) {%>
+ <%if (packageNeedsSuppressDeprecation) {%>
+@SuppressWarnings("deprecation")
+ <%}%>
public class <%=genPackage.getPackageClassName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl")%><%if (!isInterface){%> implements <%=genPackage.getImportedPackageInterfaceName()%><%}%>
<%} else {%>
public interface <%=genPackage.getPackageInterfaceName()%> extends <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>
<%}%>
{
<%if (genModel.hasCopyrightField()) {%>
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%>
<%}%>
<%if (isInterface) {%>
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNAME = "<%=genPackage.getPackageName()%>";<%=genModel.getNonNLS()%>
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNAME = "<%=genPackage.getPackageName()%>";<%=genModel.getNonNLS()%>
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNS_URI = "<%=genPackage.getNSURI()%>";<%=genModel.getNonNLS()%>
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNS_URI = "<%=genPackage.getNSURI()%>";<%=genModel.getNonNLS()%>
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNS_PREFIX = "<%=genPackage.getNSName()%>";<%=genModel.getNonNLS()%>
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eNS_PREFIX = "<%=genPackage.getNSName()%>";<%=genModel.getNonNLS()%>
+ <%if (genPackage.isContentType()) {%>
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- <%=publicStaticFinalFlag%><%=genPackage.getPackageInterfaceName()%> eINSTANCE = <%=genPackage.getQualifiedPackageClassName()%>.init();
+ /**
+ * The package content type ID.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> eCONTENT_TYPE = "<%=genPackage.getContentTypeIdentifier()%>";<%=genModel.getNonNLS()%>
+ <%}%>
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%=publicStaticFinalFlag%><%=genPackage.getPackageInterfaceName()%> eINSTANCE = <%=genPackage.getQualifiedPackageClassName()%>.init();
<%for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {%>
- /**
+ /**
<%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
<%if (!genClass.isInterface()) {%>
- * The meta object id for the '{@link <%=genClass.getQualifiedClassName()%> <em><%=genClass.getFormattedName()%></em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see <%=genClass.getQualifiedClassName()%>
+ * The meta object id for the '{@link <%=genClass.getQualifiedClassName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genClass.getQualifiedClassName()%>
<%} else {%>
- * The meta object id for the '{@link <%=genClass.getQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see <%=genClass.getQualifiedInterfaceName()%>
+ * The meta object id for the '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genClass.getRawQualifiedInterfaceName()%>
<%}%>
<%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
- * The meta object id for the '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see <%=genEnum.getQualifiedName()%>
+ * The meta object id for the '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genEnum.getQualifiedName()%>
<%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
- * The meta object id for the '<em><%=genDataType.getFormattedName()%></em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * The meta object id for the '<em><%=genDataType.getFormattedName()%></em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
<%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
- * @see <%=genDataType.getRawInstanceClassName()%>
+ * @see <%=genDataType.getRawInstanceClassName()%>
<%}%>
<%}%>
- * @see <%=genPackage.getQualifiedPackageClassName()%>#get<%=genClassifier.getClassifierAccessorName()%>()
- * @generated
- */
- <%=publicStaticFinalFlag%>int <%=genPackage.getClassifierID(genClassifier)%> = <%=genPackage.getClassifierValue(genClassifier)%>;
+ * @see <%=genPackage.getQualifiedPackageClassName()%>#get<%=genClassifier.getClassifierAccessorName()%>()
+ <%if (genClassifier.hasAPITags()) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genPackage.getClassifierID(genClassifier)%> = <%=genPackage.getClassifierValue(genClassifier)%>;
<%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
<%for (GenFeature genFeature : genClass.getAllGenFeatures()) {%>
- /**
- * The feature id for the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- <%=publicStaticFinalFlag%>int <%=genClass.getFeatureID(genFeature)%> = <%=genClass.getFeatureValue(genFeature)%>;
+ /**
+ * The feature id for the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasImplicitAPITags()) {%>
+ * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genClass.getFeatureID(genFeature)%> = <%=genClass.getFeatureValue(genFeature)%>;
<%}%>
- /**
- * The number of structural features of the '<em><%=genClass.getFormattedName()%></em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- <%=publicStaticFinalFlag%>int <%=genClass.getFeatureCountID()%> = <%=genClass.getFeatureCountValue()%>;
+ /**
+ * The number of structural features of the '<em><%=genClass.getFormattedName()%></em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genClass.getFeatureCountID()%> = <%=genClass.getFeatureCountValue()%>;
+ <%if (genModel.isOperationReflection()) {%>
+ <%for (GenOperation genOperation : genClass.getAllGenOperations(false)) {%>
+ <%if (genClass.getOverrideGenOperation(genOperation) == null) {%>
+ /**
+ * The operation id for the '<em><%=genOperation.getFormattedName()%></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genOperation.hasImplicitAPITags()) {%>
+ * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=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 -->
+ <%if (genClass.hasAPITags()) {%>
+ * <%=genClass.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ * @ordered
+ */
+ <%if (isJDK50 && genClass.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%>int <%=genClass.getOperationCountID()%> = <%=genClass.getOperationCountValue()%>;
+
+ <%}%>
<%}%>
<%}%>
<%}%>
<%if (isImplementation) {%>
<%if (genPackage.isLoadingInitialization()) {%>
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected String packageFilename = "<%=genPackage.getSerializedPackageFilename()%>";<%=genModel.getNonNLS()%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected String packageFilename = "<%=genPackage.getSerializedPackageFilename()%>";<%=genModel.getNonNLS()%>
<%}%>
<%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private <%=genClassifier.getImportedMetaType()%> <%=genClassifier.getClassifierInstanceName()%> = null;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClassifier.hasAPITags(true)) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer), true)%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ private <%=genClassifier.getImportedMetaType()%> <%=genClassifier.getClassifierInstanceName()%> = null;
<%}%>
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>Note: the correct way to create the package is via the static
- * factory method {@link #init init()}, which also performs
- * initialization of the package, or returns the registered package,
- * if one already exists.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#eNS_URI
- * @see #init()
- * @generated
- */
- private <%=genPackage.getPackageClassName()%>()
- {
- super(eNS_URI, <%=genPackage.getQualifiedEFactoryInstanceAccessor()%>);
- }
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see <%=genPackage.getQualifiedPackageInterfaceName()%>#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private <%=genPackage.getPackageClassName()%>()
+ {
+ super(eNS_URI, <%=genPackage.getQualifiedEFactoryInstanceAccessor()%>);
+ }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
- /**
- * Creates, registers, and initializes the <b>Package</b> for this
- * model, and for any others upon which it depends. Simple
- * dependencies are satisfied by calling this method on all
- * dependent packages before doing anything else. This method drives
- * initialization for interdependent packages directly, in parallel
- * with this package, itself.
- * <p>Of this package and its interdependencies, all packages which
- * have not yet been registered by their URI values are first created
- * and registered. The packages are then initialized in two steps:
- * meta-model objects for all of the packages are created before any
- * are initialized, since one package's meta-model objects may refer to
- * those of another.
- * <p>Invocation of this method will not affect any packages that have
- * already been initialized.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #eNS_URI
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link <%=genPackage.getImportedPackageInterfaceName()%>#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
<%if (!genPackage.isLoadedInitialization()) {%>
- * @see #createPackageContents()
- * @see #initializePackageContents()
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
<%}%>
- * @generated
- */
- public static <%=genPackage.getImportedPackageInterfaceName()%> init()
- {
- if (isInited) return (<%=genPackage.getImportedPackageInterfaceName()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI);
+ * @generated
+ */
+ public static <%=genPackage.getImportedPackageInterfaceName()%> init()
+ {
+ if (isInited) return (<%=genPackage.getImportedPackageInterfaceName()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI);
- // Obtain or create and register package
- Object registered<%=genPackage.getBasicPackageName()%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.get(eNS_URI);
- <%=genPackage.getPackageClassName()%> the<%=genPackage.getBasicPackageName()%> = registered<%=genPackage.getBasicPackageName()%> instanceof <%=genPackage.getPackageClassName()%> ? (<%=genPackage.getPackageClassName()%>)registered<%=genPackage.getBasicPackageName()%> : new <%=genPackage.getPackageClassName()%>();
+ <%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+ initializeRegistryHelpers();
+ <%}%>
+ // Obtain or create and register package
+ Object registered<%=genPackage.getBasicPackageName()%> = <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.get(eNS_URI);
+ <%=genPackage.getPackageClassName()%> the<%=genPackage.getBasicPackageName()%> = registered<%=genPackage.getBasicPackageName()%> instanceof <%=genPackage.getPackageClassName()%> ? (<%=genPackage.getPackageClassName()%>)registered<%=genPackage.getBasicPackageName()%> : new <%=genPackage.getPackageClassName()%>();
-
-
- isInited = true;
+ isInited = true;
<%if (!genPackage.getPackageSimpleDependencies().isEmpty()) {%>
- // Initialize simple dependencies
+ // Initialize simple dependencies
<%for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {%>
- <%=dep.getImportedPackageInterfaceName()%>.eINSTANCE.eClass();
+ <%=dep.getImportedPackageInterfaceName()%>.eINSTANCE.eClass();
<%}%>
<%}%>
<%if (!genPackage.getPackageInterDependencies().isEmpty()) {%>
- // Obtain or create and register interdependencies
- <%for (GenPackage interdep : genPackage.getPackageInterDependencies()) {%>
- <%=interdep.getImportedPackageClassName()%> <%=genPackage.getPackageInstanceVariable(interdep)%> = (<%=interdep.getImportedPackageClassName()%>)(<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=interdep.getImportedPackageInterfaceName()%>.eNS_URI) instanceof <%=interdep.getImportedPackageClassName()%> ? <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=interdep.getImportedPackageInterfaceName()%>.eNS_URI) : <%=interdep.getImportedPackageInterfaceName()%>.eINSTANCE);
+ // Obtain or create and register interdependencies
+ <%for (ListIterator<GenPackage> i = genPackage.getPackageInterDependencies().listIterator(); i.hasNext(); ) { GenPackage interdep = i.next(); %>
+ <%if (i.previousIndex() == 0) {%>Object <%}%>registeredPackage = <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=interdep.getImportedPackageInterfaceName()%>.eNS_URI);
+ <%=interdep.getImportedPackageClassName()%> <%=genPackage.getPackageInstanceVariable(interdep)%> = (<%=interdep.getImportedPackageClassName()%>)(registeredPackage instanceof <%=interdep.getImportedPackageClassName()%> ? registeredPackage : <%=interdep.getImportedPackageInterfaceName()%>.eINSTANCE);
<%}%>
<%}%>
<%if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {%>
- // Load packages
+ // Load packages
<%if (genPackage.isLoadingInitialization()) {%>
- the<%=genPackage.getPackageInterfaceName()%>.loadPackage();
+ the<%=genPackage.getBasicPackageName()%>.loadPackage();
<%}%>
<%for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {%>
<%if (interdep.isLoadingInitialization()) {%>
- <%=genPackage.getPackageInstanceVariable(interdep)%>.loadPackage();
+ <%=genPackage.getPackageInstanceVariable(interdep)%>.loadPackage();
<%}%>
<%}%>
<%}%>
<%if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {%>
- // Create package meta-data objects
+ // Create package meta-data objects
<%if (!genPackage.isLoadedInitialization()) {%>
- the<%=genPackage.getPackageInterfaceName()%>.createPackageContents();
+ the<%=genPackage.getBasicPackageName()%>.createPackageContents();
<%}%>
<%for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {%>
- <%=genPackage.getPackageInstanceVariable(interdep)%>.createPackageContents();
+ <%=genPackage.getPackageInstanceVariable(interdep)%>.createPackageContents();
<%}%>
- // Initialize created meta-data
+ // Initialize created meta-data
<%if (!genPackage.isLoadedInitialization()) {%>
- the<%=genPackage.getPackageInterfaceName()%>.initializePackageContents();
+ the<%=genPackage.getBasicPackageName()%>.initializePackageContents();
<%}%>
<%for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {%>
- <%=genPackage.getPackageInstanceVariable(interdep)%>.initializePackageContents();
+ <%=genPackage.getPackageInstanceVariable(interdep)%>.initializePackageContents();
<%}%>
<%}%>
<%if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {%>
- // Fix loaded packages
+ // Fix loaded packages
<%if (genPackage.isLoadedInitialization()) {%>
- the<%=genPackage.getPackageInterfaceName()%>.fixPackageContents();
+ the<%=genPackage.getBasicPackageName()%>.fixPackageContents();
<%}%>
<%for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {%>
- <%=genPackage.getPackageInstanceVariable(interdep)%>.fixPackageContents();
+ <%=genPackage.getPackageInstanceVariable(interdep)%>.fixPackageContents();
<%}%>
<%}%>
<%if (genPackage.hasConstraints()) {%>
- // Register package validator
- <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%>.Registry.INSTANCE.put
- (the<%=genPackage.getPackageInterfaceName()%>,
- new <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%>.Descriptor()
- {
- public <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%> getEValidator()
- {
- return <%=genPackage.getImportedValidatorClassName()%>.INSTANCE;
- }
- });
+ // Register package validator
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%>.Registry.INSTANCE.put
+ (the<%=genPackage.getBasicPackageName()%>,
+ new <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%>.Descriptor()
+ {
+ <%if (genModel.useInterfaceOverrideAnnotation()) {%>
+ @Override
+ <%}%>
+ public <%=genModel.getImportedName("org.eclipse.emf.ecore.EValidator")%> getEValidator()
+ {
+ return <%=genPackage.getImportedValidatorClassName()%>.INSTANCE;
+ }
+ });
<%}%>
<%if (!genPackage.isEcorePackage()) {%>
- // Mark meta-data to indicate it can't be changed
- the<%=genPackage.getPackageInterfaceName()%>.freeze();
+ // Mark meta-data to indicate it can't be changed
+ the<%=genPackage.getBasicPackageName()%>.freeze();
<%}%>
- // Update the registry and return the package
- <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.put(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI, the<%=genPackage.getPackageInterfaceName()%>);
- return the<%=genPackage.getPackageInterfaceName()%>;
- }
+ // Update the registry and return the package
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.put(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI, the<%=genPackage.getBasicPackageName()%>);
+ return the<%=genPackage.getBasicPackageName()%>;
+ }
+ <%if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {%>
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static void initializeRegistryHelpers()
+ {
+ <%Set<String> helpers = new HashSet<String>(); for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%if (!genClass.isDynamic()) { String theClass = genClass.isMapEntry() ? genClass.getImportedClassName() : genClass.getRawImportedInterfaceName(); if (helpers.add(theClass)) {%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.register
+ (<%=theClass%>.class,
+ new <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.Helper()
+ {
+ public boolean isInstance(Object instance)
+ {
+ return instance instanceof <%=genClass.isMapEntry() ? genClass.getImportedClassName() : genClass.getRawImportedInterfaceName() + genClass.getInterfaceWildTypeArguments()%>;
+ }
+
+ public Object newArrayInstance(int size)
+ {
+ return new <%=theClass%>[size];
+ }
+ });
+ <%}}%>
+ <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+ <%if (!genDataType.isPrimitiveType() && !genDataType.isObjectType()) { String theClass = genDataType.getRawImportedInstanceClassName(); if (helpers.add(theClass)) { %>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.register
+ (<%=theClass%>.class,
+ new <%=genModel.getImportedName("org.eclipse.emf.common.util.Reflect")%>.Helper()
+ {
+ public boolean isInstance(Object instance)
+ {
+ return instance instanceof <%=theClass%>;
+ }
+
+ public Object newArrayInstance(int size)
+ {
+ <%if (genDataType.isArrayType()) { String componentType = theClass; String indices = ""; while(componentType.endsWith("[]")) { componentType = componentType.substring(0, componentType.length() - 2); indices += "[]";}%>
+ return new <%=componentType%>[size]<%=indices%>;
+ <%} else {%>
+ return new <%=theClass%>[size];
+ <%}%>
+ }
+ });
+ <%}}%>
+ <%}%>
+ <%}%>
+ }
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class WhiteList implements <%=genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable")%>, EBasicWhiteList
+ {
+ <%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
+ <%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
+ <%if (!genClass.isDynamic()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genClass.isMapEntry() ? genClass.getImportedClassName() : genClass.getImportedWildcardInstanceClassName()%> <%=genClass.getSafeUncapName()%>;
+
+ <%}%>
+ <%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
+ <%if (!genDataType.isObjectType() && genDataType.isSerializable()) {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genDataType.getImportedWildcardInstanceClassName()%> <%=genDataType.getSafeUncapName()%>;
+
+ <%}%>
+ <%}%>
+ <%}%>
+ }
+ <%}%>
<%}%>
<%if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE%>
@@ -344,157 +506,243 @@
<%}%>
<%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
<%if (isInterface) {%>
- /**
+ /**
<%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
- * Returns the meta object for class '{@link <%=genClass.getQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em><%=genClass.getFormattedName()%></em>'.
- * @see <%=genClass.getQualifiedInterfaceName()%>
+ * Returns the meta object for class '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em><%=genClass.getFormattedName()%></em>'.
+ * @see <%=genClass.getRawQualifiedInterfaceName()%>
<%if (!genModel.isSuppressEMFModelTags() && (genClass.isExternalInterface() || genClass.isDynamic())) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
- * @model <%=modelInfo%>
+ * @model <%=modelInfo%>
<%} else {%>
- * <%=modelInfo%>
+ * <%=modelInfo%>
<%}} if (first) {%>
- * @model
+ * @model
<%}}%>
<%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
- * Returns the meta object for enum '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for enum '<em><%=genEnum.getFormattedName()%></em>'.
- * @see <%=genEnum.getQualifiedName()%>
+ * Returns the meta object for enum '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em><%=genEnum.getFormattedName()%></em>'.
+ * @see <%=genEnum.getQualifiedName()%>
<%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
<%if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {%>
- * Returns the meta object for data type '<em><%=genDataType.getFormattedName()%></em>'.
+ * Returns the meta object for data type '<em><%=genDataType.getFormattedName()%></em>'.
<%} else {%>
- * Returns the meta object for data type '{@link <%=genDataType.getRawInstanceClassName()%> <em><%=genDataType.getFormattedName()%></em>}'.
+ * Returns the meta object for data type '{@link <%=genDataType.getRawInstanceClassName()%> <em><%=genDataType.getFormattedName()%></em>}'.
<%}%>
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for data type '<em><%=genDataType.getFormattedName()%></em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genDataType.hasDocumentation()) {%>
+ * <!-- begin-model-doc -->
+ * <%=genDataType.getDocumentation(genModel.getIndentation(stringBuffer))%>
+ * <!-- end-model-doc -->
+ <%}%>
+ * @return the meta object for data type '<em><%=genDataType.getFormattedName()%></em>'.
<%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
- * @see <%=genDataType.getRawInstanceClassName()%>
+ * @see <%=genDataType.getRawInstanceClassName()%>
<%}%>
<%if (!genModel.isSuppressEMFModelTags()) {boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genDataType.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%>
- * @model <%=modelInfo%>
+ * @model <%=modelInfo%>
<%} else {%>
- * <%=modelInfo%>
+ * <%=modelInfo%>
<%}} if (first) {%>
- * @model
+ * @model
<%}}%>
<%}%>
- * @generated
- */
+ <%if ((genClassifier instanceof GenClass || genClassifier instanceof GenEnum) && genClassifier.hasAPITags()) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
<%} else {%>
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genClassifier.hasAPITags()) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
<%}%>
+ <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
<%if (isImplementation) {%>
- public <%=genClassifier.getImportedMetaType()%> get<%=genClassifier.getClassifierAccessorName()%>()
- {
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genClassifier.getImportedMetaType()%> get<%=genClassifier.getClassifierAccessorName()%>()
+ {
<%if (genPackage.isLoadedInitialization()) {%>
- if (<%=genClassifier.getClassifierInstanceName()%> == null)
- {
- <%=genClassifier.getClassifierInstanceName()%> = (<%=genClassifier.getImportedMetaType()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI).getEClassifiers().get(<%=genPackage.getLocalClassifierIndex(genClassifier)%>);
- }
+ if (<%=genClassifier.getClassifierInstanceName()%> == null)
+ {
+ <%=genClassifier.getClassifierInstanceName()%> = (<%=genClassifier.getImportedMetaType()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=genPackage.getImportedPackageInterfaceName()%>.eNS_URI).getEClassifiers().get(<%=genPackage.getLocalClassifierIndex(genClassifier)%>);
+ }
<%}%>
- return <%=genClassifier.getClassifierInstanceName()%>;
- }
+ return <%=genClassifier.getClassifierInstanceName()%>;
+ }
<%} else {%>
- <%=genClassifier.getImportedMetaType()%> get<%=genClassifier.getClassifierAccessorName()%>();
+ <%=genClassifier.getImportedMetaType()%> get<%=genClassifier.getClassifierAccessorName()%>();
<%}%>
<%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
<%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
<%if (isInterface) {%>
- /**
- * Returns the meta object for the <%=genFeature.getFeatureKind()%> '{@link <%=genClass.getQualifiedInterfaceName()%><%if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {%>#<%=genFeature.getGetAccessor()%><%}%> <em><%=genFeature.getFormattedName()%></em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the <%=genFeature.getFeatureKind()%> '<em><%=genFeature.getFormattedName()%></em>'.
- * @see <%=genClass.getQualifiedInterfaceName()%><%if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {%>#<%=genFeature.getGetAccessor()%>()<%}%>
- * @see #get<%=genClass.getClassifierAccessorName()%>()
- * @generated
- */
+ /**
+ * Returns the meta object for the <%=genFeature.getFeatureKind()%> '{@link <%=genClass.getRawQualifiedInterfaceName()%><%if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {%>#<%=genFeature.getGetAccessor()%><%}%> <em><%=genFeature.getFormattedName()%></em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the <%=genFeature.getFeatureKind()%> '<em><%=genFeature.getFormattedName()%></em>'.
+ * @see <%=genClass.getRawQualifiedInterfaceName()%><%if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {%>#<%=genFeature.getGetAccessor()%>()<%}%>
+ * @see #get<%=genClass.getClassifierAccessorName()%>()
+ <%if (genFeature.hasImplicitAPITags()) {%>
+ * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
<%} else {%>
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasImplicitAPITags()) {%>
+ * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
<%}%>
<%if (isImplementation) {%>
- public <%=genFeature.getImportedMetaType()%> get<%=genFeature.getFeatureAccessorName()%>()
- {
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genFeature.getImportedMetaType()%> get<%=genFeature.getFeatureAccessorName()%>()
+ {
<%if (!genPackage.isLoadedInitialization()) {%>
- return (<%=genFeature.getImportedMetaType()%>)<%=genClass.getClassifierInstanceName()%>.getEStructuralFeatures().get(<%=genClass.getLocalFeatureIndex(genFeature)%>);
+ return (<%=genFeature.getImportedMetaType()%>)<%=genClass.getClassifierInstanceName()%>.getEStructuralFeatures().get(<%=genClass.getLocalFeatureIndex(genFeature)%>);
<%} else {%>
return (<%=genFeature.getImportedMetaType()%>)get<%=genClassifier.getClassifierAccessorName()%>().getEStructuralFeatures().get(<%=genClass.getLocalFeatureIndex(genFeature)%>);
<%}%>
- }
+ }
<%} else {%>
- <%=genFeature.getImportedMetaType()%> get<%=genFeature.getFeatureAccessorName()%>();
+ <%=genFeature.getImportedMetaType()%> get<%=genFeature.getFeatureAccessorName()%>();
<%}%>
<%}%>
+ <%if (genModel.isOperationReflection()) {%>
+ <%for (GenOperation genOperation : genClass.getGenOperations()) {%>
+<%if (isInterface) {%>
+ /**
+ * Returns the meta object for the '{@link <%=genClass.getRawQualifiedInterfaceName()%>#<%=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.getRawQualifiedInterfaceName()%>#<%=genOperation.getName()%>(<%=genOperation.getParameterTypes(", ")%>)
+ <%if (genOperation.hasImplicitAPITags()) {%>
+ * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%} else {%>
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genOperation.hasImplicitAPITags()) {%>
+ * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+<%}%>
+<%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+<%}%>
+<%if (isImplementation) {%>
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genOperation.getImportedMetaType()%> get<%=genOperation.getOperationAccessorName()%>()
+ {
+ <%if (!genPackage.isLoadedInitialization()) {%>
+ return <%=genClass.getClassifierInstanceName()%>.getEOperations().get(<%=genClass.getLocalOperationIndex(genOperation)%>);
+ <%} else {%>
+ return get<%=genClassifier.getClassifierAccessorName()%>().getEOperations().get(<%=genClass.getLocalOperationIndex(genOperation)%>);
+ <%}%>
+ }
+<%} else {%>
+ <%=genOperation.getImportedMetaType()%> get<%=genOperation.getOperationAccessorName()%>();
+<%}%>
+
+ <%}%>
+ <%}%>
<%}%>
<%}%>
<%if (isInterface) {%>
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
<%} else {%>
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
<%}%>
<%if (isImplementation) {%>
- public <%=genPackage.getImportedFactoryInterfaceName()%> get<%=genPackage.getFactoryInterfaceName()%>()
- {
- return (<%=genPackage.getImportedFactoryInterfaceName()%>)getEFactoryInstance();
- }
+ <%if (useInterfaceOverrideAnnotation) {%>
+ @Override
+ <%}%>
+ public <%=genPackage.getImportedFactoryInterfaceName()%> get<%=genPackage.getFactoryName()%>()
+ {
+ return (<%=genPackage.getImportedFactoryInterfaceName()%>)getEFactoryInstance();
+ }
<%} else {%>
- <%=genPackage.getFactoryInterfaceName()%> get<%=genPackage.getFactoryInterfaceName()%>();
+ <%=genPackage.getFactoryInterfaceName()%> get<%=genPackage.getFactoryName()%>();
<%}%>
<%if (isImplementation) {%>
<%if (!genPackage.isLoadedInitialization()) {%>
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents()
- {
- if (isCreated) return;
- isCreated = true;
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%{boolean needsSuppressDeprecation = false; if (!packageNeedsSuppressDeprecation && isJDK50 && !genModel.isSuppressEMFMetaData()) { LOOP: for (GenClass genClass : genPackage.getGenClasses()) { for (GenFeature genFeature : genClass.getGenFeatures()) { if (genFeature.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}
+ for (GenOperation genOperation : genClass.getGenOperations()) { if (genOperation.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}} if (needsSuppressDeprecation) {%>
+ @SuppressWarnings("deprecation")
+ <%}}}%>
+ public void createPackageContents()
+ {
+ if (isCreated) return;
+ isCreated = true;
<%if (!genPackage.getGenClasses().isEmpty()) {%>
- // Create classes and their features
+ // Create classes and their features
<%for (Iterator<GenClass> c=genPackage.getGenClasses().iterator(); c.hasNext();) { GenClass genClass = c.next();%>
- <%=genClass.getClassifierInstanceName()%> = create<%=genClass.getMetaType()%>(<%=genClass.getClassifierID()%>);
+ <%=genClass.getClassifierInstanceName()%> = create<%=genClass.getMetaType()%>(<%=genClass.getClassifierID()%>);
<%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
- create<%=genFeature.getMetaType()%>(<%=genClass.getClassifierInstanceName()%>, <%=genClass.getFeatureID(genFeature)%>);
+ 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()) {%>
@@ -503,26 +751,26 @@
<%}%>
<%if (!genPackage.getGenEnums().isEmpty()) {%>
- // Create enums
+ // Create enums
<%for (GenEnum genEnum : genPackage.getGenEnums()) {%>
- <%=genEnum.getClassifierInstanceName()%> = createEEnum(<%=genEnum.getClassifierID()%>);
+ <%=genEnum.getClassifierInstanceName()%> = createEEnum(<%=genEnum.getClassifierID()%>);
<%}%>
<%}%>
<%if (!genPackage.getGenDataTypes().isEmpty()) {%>
- // Create data types
+ // Create data types
<%for (GenDataType genDataType : genPackage.getGenDataTypes()) {%>
- <%=genDataType.getClassifierInstanceName()%> = createEDataType(<%=genDataType.getClassifierID()%>);
+ <%=genDataType.getClassifierInstanceName()%> = createEDataType(<%=genDataType.getClassifierID()%>);
<%}%>
<%}%>
- }
+ }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
<%
///////////////////////
@@ -537,7 +785,7 @@
class InformationIterator
{
- Iterator<?> iterator;
+ Iterator<Object> iterator;
InformationIterator(EGenericType eGenericType)
{
iterator = EcoreUtil.getAllContents(Collections.singleton(eGenericType));
@@ -594,183 +842,186 @@
///////////////////////
int maxGenericTypeAssignment = 0;
%>
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents()
- {
- if (isInitialized) return;
- isInitialized = true;
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%{boolean needsSuppressDeprecation = false; if (!packageNeedsSuppressDeprecation && isJDK50) { LOOP: for (GenEnum genEnum : genPackage.getGenEnums()) { for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) { if (genEnumLiteral.hasAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}} if (needsSuppressDeprecation) {%>
+ @SuppressWarnings("deprecation")
+ <%}}}%>
+ public void initializePackageContents()
+ {
+ if (isInitialized) return;
+ isInitialized = true;
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
<%if (!genPackage.getPackageInitializationDependencies().isEmpty()) {%>
- // Obtain other dependent packages
+ // Obtain other dependent packages
<%for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {%>
- <%=dep.getImportedPackageInterfaceName()%> <%=genPackage.getPackageInstanceVariable(dep)%> = (<%=dep.getImportedPackageInterfaceName()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=dep.getImportedPackageInterfaceName()%>.eNS_URI);
+ <%=dep.getImportedPackageInterfaceName()%> <%=genPackage.getPackageInstanceVariable(dep)%> = (<%=dep.getImportedPackageInterfaceName()%>)<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>.Registry.INSTANCE.getEPackage(<%=dep.getImportedPackageInterfaceName()%>.eNS_URI);
<%}%>
<%}%>
<%if (!genPackage.getSubGenPackages().isEmpty()) {%>
- // Add subpackages
+ // Add subpackages
<%for (GenPackage sub : genPackage.getSubGenPackages()) {%>
- getESubpackages().add(<%=genPackage.getPackageInstanceVariable(sub)%>);
+ getESubpackages().add(<%=genPackage.getPackageInstanceVariable(sub)%>);
<%}%>
<%}%>
<%if (!genPackage.getGenClasses().isEmpty()) { boolean firstOperationAssignment = true; int maxTypeParameterAssignment = 0;%>
<%if (genModel.useGenerics()) {%>
- // Create type parameters
+ // Create type parameters
<%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
<%for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {%>
<%if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty() || genTypeParameter.isUsed()) {%>
- <%=genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter")%> <%=genClassifier.getClassifierInstanceName()%>_<%=genTypeParameter.getName()%> = addETypeParameter(<%=genClassifier.getClassifierInstanceName()%>, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter")%> <%=genClassifier.getClassifierInstanceName()%>_<%=genTypeParameter.getName()%> = addETypeParameter(<%=genClassifier.getClassifierInstanceName()%>, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
<%} else {%>
- addETypeParameter(<%=genClassifier.getClassifierInstanceName()%>, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
+ addETypeParameter(<%=genClassifier.getClassifierInstanceName()%>, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
<%}%>
<%}%>
<%}%>
<%}%>
<%if (genModel.useGenerics()) {%>
- // Set bounds for type parameters
+ // Set bounds for type parameters
<%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
<%for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {%>
<%for (EGenericType bound : genTypeParameter.getEcoreTypeParameter().getEBounds()) {%>
<%for (InformationIterator i=new InformationIterator(bound); i.hasNext(); ) { Information info = i.next(); String prefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
- <%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
<%if (info.depth > 0) {%>
- g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
<%}%>
<%}%>
- <%=genClassifier.getClassifierInstanceName()%>_<%=genTypeParameter.getName()%>.getEBounds().add(g1);
+ <%=genClassifier.getClassifierInstanceName()%>_<%=genTypeParameter.getName()%>.getEBounds().add(g1);
<%}%>
<%}%>
<%}%>
<%}%>
- // Add supertypes to classes
+ // Add supertypes to classes
<%for (GenClass genClass : genPackage.getGenClasses()) {%>
<%if (!genClass.hasGenericSuperTypes()) {%>
<%for (GenClass baseGenClass : genClass.getBaseGenClasses()) {%>
- <%=genClass.getClassifierInstanceName()%>.getESuperTypes().add(<%=genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage())%>.get<%=baseGenClass.getClassifierAccessorName()%>());
+ <%=genClass.getClassifierInstanceName()%>.getESuperTypes().add(<%=genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage())%>.get<%=baseGenClass.getClassifierAccessorName()%>());
<%}%>
<%} else {%>
<%for (EGenericType superType : genClass.getEcoreClass().getEGenericSuperTypes()) {%>
<%for (InformationIterator i=new InformationIterator(superType); i.hasNext(); ) { Information info = i.next(); String prefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
- <%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
<%if (info.depth > 0) {%>
- g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
<%}%>
<%}%>
- <%=genClass.getClassifierInstanceName()%>.getEGenericSuperTypes().add(g1);
+ <%=genClass.getClassifierInstanceName()%>.getEGenericSuperTypes().add(g1);
<%}%>
<%}%>
<%}%>
- // 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)%><%}%>
+ 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()) {%>
<%if (genFeature.hasGenericType()) {%>
<%for (InformationIterator i=new InformationIterator(genFeature.getEcoreFeature().getEGenericType()); i.hasNext(); ) { Information info = i.next(); String prefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; prefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
- <%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%=prefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
<%if (info.depth > 0) {%>
- g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
<%}%>
<%}%>
<%}%>
<%if (genFeature.isReferenceType()) { GenFeature reverseGenFeature = genFeature.getReverse();%>
<%String reverse = reverseGenFeature == null ? "null" : genPackage.getPackageInstanceVariable(reverseGenFeature.getGenPackage()) + ".get" + reverseGenFeature.getFeatureAccessorName() + "()";%>
- <%if (genFeature.getFeatureAccessorName().equals("View_PersistedChildren")) {%>
- initEReference(get<%=genFeature.getFeatureAccessorName()%>(), <%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>(), <%=reverse%>, "children", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getContainmentFlag()%>, <%=genFeature.getResolveProxiesFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
- initEReference(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, <%=reverse%>, "children", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getContainmentFlag()%>, <%=genFeature.getResolveProxiesFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
- <% } else if (genFeature.getFeatureAccessorName().equals("Diagram_PersistedEdges")){ %>
- initEReference(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, <%=reverse%>, "edges", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getContainmentFlag()%>, <%=genFeature.getResolveProxiesFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
- <%} else {%>
- initEReference(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, <%=reverse%>, "<%=genFeature.getName()%>", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getContainmentFlag()%>, <%=genFeature.getResolveProxiesFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
+ <%if (genFeature.getFeatureAccessorName().equals("View_PersistedChildren")) {%>
+ initEReference(get<%=genFeature.getFeatureAccessorName()%>(), <%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>(), <%=reverse%>, "children", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getContainmentFlag()%>, <%=genFeature.getResolveProxiesFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
+ initEReference(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, <%=reverse%>, "children", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getContainmentFlag()%>, <%=genFeature.getResolveProxiesFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
+ <% } else if (genFeature.getFeatureAccessorName().equals("Diagram_PersistedEdges")){ %>
+ initEReference(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, <%=reverse%>, "edges", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getContainmentFlag()%>, <%=genFeature.getResolveProxiesFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
+ <%} else {%>
+ initEReference(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, <%=reverse%>, "<%=genFeature.getName()%>", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getContainmentFlag()%>, <%=genFeature.getResolveProxiesFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
<%for (GenFeature keyFeature : genFeature.getKeys()) {%>
- get<%=genFeature.getFeatureAccessorName()%>().getEKeys().add(<%=genPackage.getPackageInstanceVariable(keyFeature.getGenPackage())%>.get<%=keyFeature.getFeatureAccessorName()%>());
- <%}%>
+ get<%=genFeature.getFeatureAccessorName()%>().getEKeys().add(<%=genPackage.getPackageInstanceVariable(keyFeature.getGenPackage())%>.get<%=keyFeature.getFeatureAccessorName()%>());
+ <%}%>
<%}%>
<%} else {%>
- initEAttribute(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, "<%=genFeature.getName()%>", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getIDFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
+ initEAttribute(get<%=genFeature.getFeatureAccessorName()%>(), <%if (genFeature.hasGenericType()) {%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())%>.get<%=genFeature.getTypeClassifierAccessorName()%>()<%}%>, "<%=genFeature.getName()%>", <%=genFeature.getDefaultValue()%>, <%=genFeature.getLowerBound()%>, <%=genFeature.getUpperBound()%>, <%=genFeature.getContainerClass()%>, <%=genFeature.getTransientFlag()%>, <%=genFeature.getVolatileFlag()%>, <%=genFeature.getChangeableFlag()%>, <%=genFeature.getUnsettableFlag()%>, <%=genFeature.getIDFlag()%>, <%=genFeature.getUniqueFlag()%>, <%=genFeature.getDerivedFlag()%>, <%=genFeature.getOrderedFlag()%>);<%=genModel.getNonNLS()%><%=genModel.getNonNLS(genFeature.getDefaultValue(), 2)%>
<%}%>
<%}%>
<%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() + " = "; }} %>
- <%=typeParameterVariable%>addETypeParameter(op, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
+ <%=typeParameterVariable%>addETypeParameter(op, "<%=genTypeParameter.getName()%>");<%=genModel.getNonNLS()%>
<%for (EGenericType typeParameter : genTypeParameter.getEcoreTypeParameter().getEBounds()) {%>
<%for (InformationIterator i=new InformationIterator(typeParameter); i.hasNext(); ) { Information info = i.next(); String typePrefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
- <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
<%if (info.depth > 0) {%>
- g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
<%}%>
<%}%>
- t<%=t.nextIndex()%>.getEBounds().add(g1);
+ t<%=t.nextIndex()%>.getEBounds().add(g1);
<%}%>
<%}%>
<%}%>
<%for (GenParameter genParameter : genOperation.getGenParameters()) {%>
<%if (genParameter.hasGenericType()) {%>
<%for (InformationIterator i=new InformationIterator(genParameter.getEcoreParameter().getEGenericType()); i.hasNext(); ) { Information info = i.next(); String typePrefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
- <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
<%if (info.depth > 0) {%>
- g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
<%}%>
<%}%>
<%}%>
<%if (genModel.useGenerics()) {%>
- addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>, <%=genParameter.getUniqueFlag()%>, <%=genParameter.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+ addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>, <%=genParameter.getUniqueFlag()%>, <%=genParameter.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
<%} else if (!genParameter.getEcoreParameter().isOrdered() || !genParameter.getEcoreParameter().isUnique()) { needsAddEParameter = true;%>
- addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>, <%=genParameter.getUniqueFlag()%>, <%=genParameter.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
+ addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>, <%=genParameter.getUniqueFlag()%>, <%=genParameter.getOrderedFlag()%>);<%=genModel.getNonNLS()%>
<%} else {%>
- addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>);<%=genModel.getNonNLS()%>
+ addEParameter(op, <%if (genParameter.hasGenericType()){%>g1<%} else {%><%=genPackage.getPackageInstanceVariable(genParameter.getTypeGenPackage())%>.get<%=genParameter.getTypeClassifierAccessorName()%>()<%}%>, "<%=genParameter.getName()%>", <%=genParameter.getLowerBound()%>, <%=genParameter.getUpperBound()%>);<%=genModel.getNonNLS()%>
<%}%>
<%}%>
<%if (genOperation.hasGenericExceptions()) {%>
<%for (EGenericType genericExceptions : genOperation.getEcoreOperation().getEGenericExceptions()) {%>
<%for (InformationIterator i=new InformationIterator(genericExceptions); i.hasNext(); ) { Information info = i.next(); String typePrefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
- <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
<%if (info.depth > 0) {%>
- g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
<%}%>
- addEException(op, g<%=info.depth + 1%>);
+ addEException(op, g<%=info.depth + 1%>);
<%}%>
<%}%>
<%} else {%>
<%for (GenClassifier genException : genOperation.getGenExceptions()) {%>
- addEException(op, <%=genPackage.getPackageInstanceVariable(genException.getGenPackage())%>.get<%=genException.getClassifierAccessorName()%>());
+ addEException(op, <%=genPackage.getPackageInstanceVariable(genException.getGenPackage())%>.get<%=genException.getClassifierAccessorName()%>());
<%}%>
<%}%>
<%if (!genOperation.isVoid() && genOperation.hasGenericType()) {%>
<%for (InformationIterator i=new InformationIterator(genOperation.getEcoreOperation().getEGenericType()); i.hasNext(); ) { Information info = i.next(); String typePrefix = ""; if (maxGenericTypeAssignment <= info.depth) { ++maxGenericTypeAssignment; typePrefix = genModel.getImportedName("org.eclipse.emf.ecore.EGenericType") + " "; }%>
- <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
+ <%=typePrefix%>g<%=info.depth + 1%> = createEGenericType(<%=info.type%>);
<%if (info.depth > 0) {%>
- g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
+ g<%=info.depth%>.<%=info.accessor%>(g<%=info.depth + 1%>);
<%}%>
<%}%>
- initEOperation(op, g1);
+ initEOperation(op, g1);
<%}%>
<%}%>
<%if (c.hasNext()) {%>
@@ -780,11 +1031,11 @@
<%}%>
<%if (!genPackage.getGenEnums().isEmpty()) {%>
- // Initialize enums and add enum literals
+ // Initialize enums and add enum literals
<%for (Iterator<GenEnum> e=genPackage.getGenEnums().iterator(); e.hasNext();) { GenEnum genEnum = e.next();%>
- initEEnum(<%=genEnum.getClassifierInstanceName()%>, <%=genEnum.getImportedName()%>.class, "<%=genEnum.getName()%>");<%=genModel.getNonNLS()%>
+ initEEnum(<%=genEnum.getClassifierInstanceName()%>, <%=genEnum.getImportedName()%>.class, "<%=genEnum.getName()%>");<%=genModel.getNonNLS()%>
<%for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {%>
- addEEnumLiteral(<%=genEnum.getClassifierInstanceName()%>, <%=genEnum.getImportedName().equals(genEnum.getClassifierID()) ? genEnum.getQualifiedName() : genEnum.getImportedName()%>.<%=genEnumLiteral.getEnumLiteralInstanceConstantName()%>);
+ addEEnumLiteral(<%=genEnum.getClassifierInstanceName()%>, <%=genEnum.getImportedName().equals(genEnum.getClassifierID()) ? genEnum.getQualifiedName() : genEnum.getImportedName()%>.<%=genEnumLiteral.getEnumLiteralInstanceConstantName()%>);
<%}%>
<%if (e.hasNext()) {%>
@@ -793,274 +1044,311 @@
<%}%>
<%if (!genPackage.getGenDataTypes().isEmpty()) {%>
- // Initialize data types
+ // Initialize data types
<%for (GenDataType genDataType : genPackage.getGenDataTypes()) {boolean hasInstanceTypeName = genModel.useGenerics() && genDataType.getEcoreDataType().getInstanceTypeName() != null && genDataType.getEcoreDataType().getInstanceTypeName().contains("<");%>
- initEDataType(<%=genDataType.getClassifierInstanceName()%>, <%=genDataType.getRawImportedInstanceClassName()%>.class, "<%=genDataType.getName()%>", <%=genDataType.getSerializableFlag()%>, <%=genDataType.getGeneratedInstanceClassFlag()%><%if (hasInstanceTypeName) {%>, "<%=genDataType.getEcoreDataType().getInstanceTypeName()%>"<%}%>);<%=genModel.getNonNLS()%><%if (hasInstanceTypeName) {%><%=genModel.getNonNLS(2)%><%}%>
+ initEDataType(<%=genDataType.getClassifierInstanceName()%>, <%=genDataType.getRawImportedInstanceClassName()%>.class, "<%=genDataType.getName()%>", <%=genDataType.getSerializableFlag()%>, <%=genDataType.getGeneratedInstanceClassFlag()%><%if (hasInstanceTypeName) {%>, "<%=genDataType.getEcoreDataType().getInstanceTypeName()%>"<%}%>);<%=genModel.getNonNLS()%><%if (hasInstanceTypeName) {%><%=genModel.getNonNLS(2)%><%}%>
<%}%>
<%}%>
<%if (genPackage.getSuperGenPackage() == null) {%>
- // Create resource
- createResource(eNS_URI);
+ // Create resource
+ createResource(<%=genPackage.getSchemaLocation()%>);
<%}%>
<%if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {%>
- // Create annotations
+ // Create annotations
<%for (String annotationSource : genPackage.getAnnotationSources()) {%>
- // <%=annotationSource%>
- create<%=genPackage.getAnnotationSourceIdentifier(annotationSource)%>Annotations();
+ // <%=annotationSource%>
+ create<%=genPackage.getAnnotationSourceIdentifier(annotationSource)%>Annotations();
<%}%>
<%}%>
- }
+ }
<%for (String annotationSource : genPackage.getAnnotationSources()) {%>
- /**
- * Initializes the annotations for <b><%=annotationSource%></b>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected void create<%=genPackage.getAnnotationSourceIdentifier(annotationSource)%>Annotations()
- {
- String source = <%if (annotationSource == null) {%>null;<%} else {%>"<%=annotationSource%>";<%=genModel.getNonNLS()%><%}%>
- <%for (EAnnotation eAnnotation : genPackage.getAllAnnotations()) {%>
- <%if (annotationSource == null ? eAnnotation.getSource() == null : annotationSource.equals(eAnnotation.getSource())) {%>
- addAnnotation
- (<%=genPackage.getAnnotatedModelElementAccessor(eAnnotation)%>,
- source,
- new String[]
- {
+ /**
+ * Initializes the annotations for <b><%=annotationSource%></b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void create<%=genPackage.getAnnotationSourceIdentifier(annotationSource)%>Annotations()
+ {
+ String source = <%if (annotationSource == null) {%>null;<%} else {%>"<%=annotationSource%>";<%=genModel.getNonNLS()%><%}%>
+ <%for (EAnnotation eAnnotation : genPackage.getAllAnnotations()) { List<GenPackage.AnnotationReferenceData> annotationReferenceDataList = genPackage.getReferenceData(eAnnotation);%>
+ <%if (annotationSource == null ? eAnnotation.getSource() == null : annotationSource.equals(eAnnotation.getSource())) {%>
+ addAnnotation
+ (<%=genPackage.getAnnotatedModelElementAccessor(eAnnotation)%>,
+ source,
+ new String[]
+ {
<%for (Iterator<Map.Entry<String, String>> k = eAnnotation.getDetails().iterator(); k.hasNext();) { Map.Entry<String, String> detail = k.next(); String key = Literals.toStringLiteral(detail.getKey(), genModel); String value = Literals.toStringLiteral(detail.getValue(), genModel);%>
- <%=key%>, <%=value%><%=k.hasNext() ? "," : ""%><%=genModel.getNonNLS(key + value)%>
+ <%=key%>, <%=value%><%=k.hasNext() ? "," : ""%><%=genModel.getNonNLS(key + value)%>
<%}%>
- });
- <%}%>
- <%for (EAnnotation nestedEAnnotation : genPackage.getAllNestedAnnotations(eAnnotation)) {String nestedAnnotationSource = nestedEAnnotation.getSource(); int depth = 1; for (EObject eContainer = nestedEAnnotation.eContainer(); eContainer != eAnnotation; eContainer = eContainer.eContainer()) { ++depth; }%>
- addAnnotation
- (<%=genPackage.getAnnotatedModelElementAccessor(eAnnotation)%>,
- <%=depth%>,
- <%if (nestedAnnotationSource == null) {%>null,<%} else {%>"<%=nestedAnnotationSource%>",<%=genModel.getNonNLS()%><%}%>
- new String[]
- {
- <%for (Iterator<Map.Entry<String, String>> l = nestedEAnnotation.getDetails().iterator(); l.hasNext();) { Map.Entry<String, String> detail = l.next(); String key = Literals.toStringLiteral(detail.getKey(), genModel); String value = Literals.toStringLiteral(detail.getValue(), genModel);%>
- <%=key%>, <%=value%><%=l.hasNext() ? "," : ""%><%=genModel.getNonNLS(key + value)%>
+ }<%if (annotationReferenceDataList.isEmpty()) {%>);<%} else {%>,<%}%>
+ <%if (!annotationReferenceDataList.isEmpty()) {%>
+ new <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>[]
+ {
+ <%for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList.iterator(); k.hasNext();) { GenPackage.AnnotationReferenceData annotationReferenceData = k.next();%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%if (annotationReferenceData.containingGenPackage != genPackage) {%><%=annotationReferenceData.containingGenPackage.getImportedPackageInterfaceName()%>.<%}%>eNS_URI).appendFragment("<%=annotationReferenceData.uriFragment%>")<%if (k.hasNext()) {%>,<%}%><%=genModel.getNonNLS()%>
+ <%}%>
+ });
<%}%>
- });
- <%}%>
- <%for (EAnnotation nestedEAnnotation : genPackage.getAllNestedAnnotations(eAnnotation)) {String nestedAnnotationSource = nestedEAnnotation.getSource(); int depth = 1; for (EObject eContainer = nestedEAnnotation.eContainer(); eContainer != eAnnotation; eContainer = eContainer.eContainer()) { ++depth; }%>
- addAnnotation
- (<%=genPackage.getAnnotatedModelElementAccessor(eAnnotation)%>,
- <%=depth%>,
- <%if (nestedAnnotationSource == null) {%>null,<%} else {%>"<%=nestedAnnotationSource%>",<%=genModel.getNonNLS()%><%}%>
- new String[]
- {
- <%for (Iterator<Map.Entry<String, String>> l = nestedEAnnotation.getDetails().iterator(); l.hasNext();) { Map.Entry<String, String> detail = l.next(); String key = Literals.toStringLiteral(detail.getKey(), genModel); String value = Literals.toStringLiteral(detail.getValue(), genModel);%>
- <%=key%>, <%=value%><%=l.hasNext() ? "," : ""%><%=genModel.getNonNLS(key + value)%>
+ <%for (EAnnotation nestedEAnnotation : genPackage.getAllNestedAnnotations(eAnnotation)) {String nestedAnnotationSource = nestedEAnnotation.getSource(); int depth = 0; boolean nonContentAnnotation = false; StringBuilder path = new StringBuilder(); for (EObject eContainer = nestedEAnnotation.eContainer(), child = nestedEAnnotation; child != eAnnotation; child = eContainer, eContainer = eContainer.eContainer()) { boolean nonContentChild = child.eContainmentFeature() != EcorePackage.Literals.EANNOTATION__CONTENTS; if (path.length() != 0) { path.insert(0, ", "); } path.insert(0, nonContentChild); if (nonContentChild) { nonContentAnnotation = true; } ++depth; } List<GenPackage.AnnotationReferenceData> nestedAnnotationReferenceDataList = genPackage.getReferenceData(nestedEAnnotation);%>
+ addAnnotation
+ (<%=genPackage.getAnnotatedModelElementAccessor(eAnnotation)%>,
+ <%if (nonContentAnnotation && genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {%>new boolean[] { <%=path.toString()%> }<%} else {%><%=depth%><%}%>,
+ <%if (nestedAnnotationSource == null) {%>null,<%} else {%>"<%=nestedAnnotationSource%>",<%=genModel.getNonNLS()%><%}%>
+ new String[]
+ {
+ <%for (Iterator<Map.Entry<String, String>> l = nestedEAnnotation.getDetails().iterator(); l.hasNext();) { Map.Entry<String, String> detail = l.next(); String key = Literals.toStringLiteral(detail.getKey(), genModel); String value = Literals.toStringLiteral(detail.getValue(), genModel);%>
+ <%=key%>, <%=value%><%=l.hasNext() ? "," : ""%><%=genModel.getNonNLS(key + value)%>
+ <%}%>
+ }<%if (nestedAnnotationReferenceDataList.isEmpty()) {%>);<%} else {%>,<%}%>
+ <%if (!nestedAnnotationReferenceDataList.isEmpty()) {%>
+ new <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>[]
+ {
+ <%for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList.iterator(); l.hasNext();) { GenPackage.AnnotationReferenceData annotationReferenceData = l.next();%>
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(<%if (annotationReferenceData.containingGenPackage != genPackage) {%><%=annotationReferenceData.containingGenPackage.getImportedPackageInterfaceName()%>.<%}%>eNS_URI).appendFragment("<%=annotationReferenceData.uriFragment%>")<%if (l.hasNext()) {%>,<%}%><%=genModel.getNonNLS()%>
+ <%}%>
+ });
+ <%}%>
<%}%>
- });
<%}%>
<%}%>
- }
+ }
<%}%>
<%} else {%>
<%if (genPackage.isLoadingInitialization()) {%>
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isLoaded = false;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isLoaded = false;
- /**
- * Laods the package and any sub-packages from their serialized form.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void loadPackage()
- {
- if (isLoaded) return;
- isLoaded = true;
+ /**
+ * Laods the package and any sub-packages from their serialized form.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void loadPackage()
+ {
+ if (isLoaded) return;
+ isLoaded = true;
- <%=genModel.getImportedName("java.net.URL")%> url = getClass().getResource(packageFilename);
- if (url == null)
- {
- throw new RuntimeException("Missing serialized package: " + packageFilename);<%=genModel.getNonNLS()%>
- }
- <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%> uri = <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(url.toString());
- <%=genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource")%> resource = new <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl")%>().createResource(uri);
- try
- {
- resource.load(null);
- }
- catch (<%=genModel.getImportedName("java.io.IOException")%> exception)
- {
- throw new <%=genModel.getImportedName("org.eclipse.emf.common.util.WrappedException")%>(exception);
- }
- initializeFromLoadedEPackage(this, (<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>)resource.getContents().get(0));
- createResource(eNS_URI);
- }
+ <%=genModel.getImportedName("java.net.URL")%> url = getClass().getResource(packageFilename);
+ if (url == null)
+ {
+ throw new RuntimeException("Missing serialized package: " + packageFilename);<%=genModel.getNonNLS()%>
+ }
+ <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%> uri = <%=genModel.getImportedName("org.eclipse.emf.common.util.URI")%>.createURI(url.toString());
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource")%> resource = new <%=genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl")%>().createResource(uri);
+ try
+ {
+ resource.load(null);
+ }
+ catch (<%=genModel.getImportedName("java.io.IOException")%> exception)
+ {
+ throw new <%=genModel.getImportedName("org.eclipse.emf.common.util.WrappedException")%>(exception);
+ }
+ initializeFromLoadedEPackage(this, (<%=genModel.getImportedName("org.eclipse.emf.ecore.EPackage")%>)resource.getContents().get(0));
+ createResource(eNS_URI);
+ }
<%}%>
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isFixed = false;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isFixed = false;
- /**
- * Fixes up the loaded package, to make it appear as if it had been programmatically built.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void fixPackageContents()
- {
- if (isFixed) return;
- isFixed = true;
- fixEClassifiers();
- }
+ /**
+ * Fixes up the loaded package, to make it appear as if it had been programmatically built.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void fixPackageContents()
+ {
+ if (isFixed) return;
+ isFixed = true;
+ fixEClassifiers();
+ }
- /**
- * Sets the instance class on the given classifier.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
+ /**
+ * Sets the instance class on the given classifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
<%if (genModel.useClassOverrideAnnotation()) {%>
- @Override
+ @Override
<%}%>
- protected void fixInstanceClass(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> eClassifier)
- {
- if (eClassifier.getInstanceClassName() == null)
- {
+ protected void fixInstanceClass(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> eClassifier)
+ {
+ if (eClassifier.getInstanceClassName() == null)
+ {
<%ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>(); for (GenClass genClass : genPackage.getGenClasses()) { if (genClass.isDynamic()) { dynamicGenClasses.add(genClass); } }%>
<%if (dynamicGenClasses.isEmpty()) {%>
- eClassifier.setInstanceClassName("<%=genPackage.getInterfacePackageName()%>." + eClassifier.getName());<%=genModel.getNonNLS()%>
- setGeneratedClassName(eClassifier);
+ eClassifier.setInstanceClassName("<%=genPackage.getInterfacePackageName()%>." + eClassifier.getName());<%=genModel.getNonNLS()%>
+ setGeneratedClassName(eClassifier);
<%} else {%>
- switch (eClassifier.getClassifierID())
- {
+ switch (eClassifier.getClassifierID())
+ {
<%for (GenClass genClass : dynamicGenClasses) {%>
<%if (genClass.isDynamic()) {%>
- case <%=genPackage.getClassifierID(genClass)%>:
+ case <%=genPackage.getClassifierID(genClass)%>:
<%}%>
<%}%>
- {
- break;
- }
- default:
- {
- eClassifier.setInstanceClassName("<%=genPackage.getInterfacePackageName()%>." + eClassifier.getName());<%=genModel.getNonNLS()%>
- setGeneratedClassName(eClassifier);
- break;
- }
- }
+ {
+ break;
+ }
+ default:
+ {
+ eClassifier.setInstanceClassName("<%=genPackage.getInterfacePackageName()%>." + eClassifier.getName());<%=genModel.getNonNLS()%>
+ setGeneratedClassName(eClassifier);
+ break;
+ }
+ }
<%}%>
- }
- }
+ }
+ }
<%}%>
<%if (needsAddEOperation) {%>
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> addEOperation(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%> owner, <%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
- {
- <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> o = addEOperation(owner, type, name, lowerBound, upperBound);
- o.setUnique(isUnique);
- o.setOrdered(isOrdered);
- return o;
- }
-
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> addEOperation(<%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%> owner, <%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> o = addEOperation(owner, type, name, lowerBound, upperBound);
+ o.setUnique(isUnique);
+ o.setOrdered(isOrdered);
+ return o;
+ }
+
<%}%>
<%if (needsAddEParameter) {%>
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EParameter")%> addEParameter(<%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> owner, <%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
- {
- <%=genModel.getImportedName("org.eclipse.emf.ecore.EParameter")%> p = ecoreFactory.createEParameter();
- p.setEType(type);
- p.setName(name);
- p.setLowerBound(lowerBound);
- p.setUpperBound(upperBound);
- p.setUnique(isUnique);
- p.setOrdered(isOrdered);
- owner.getEParameters().add(p);
- return p;
- }
-
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EParameter")%> addEParameter(<%=genModel.getImportedName("org.eclipse.emf.ecore.EOperation")%> owner, <%=genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")%> type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)
+ {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.EParameter")%> p = ecoreFactory.createEParameter();
+ p.setEType(type);
+ p.setName(name);
+ p.setLowerBound(lowerBound);
+ p.setUpperBound(upperBound);
+ p.setUnique(isUnique);
+ p.setOrdered(isOrdered);
+ owner.getEParameters().add(p);
+ return p;
+ }
+
<%}%>
<%}%>
<%if (isInterface && genPackage.isLiteralsInterface()) {%>
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
- <%if (isImplementation) {%>public <%}%>interface Literals
- {
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <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>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ <%if (isImplementation) {%>public <%}%>interface Literals
+ {
<%for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {%>
- /**
+ /**
<%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
<%if (!genClass.isInterface()) {%>
- * The meta object literal for the '{@link <%=genClass.getQualifiedClassName()%> <em><%=genClass.getFormattedName()%></em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see <%=genClass.getQualifiedClassName()%>
+ * The meta object literal for the '{@link <%=genClass.getQualifiedClassName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genClass.getQualifiedClassName()%>
<%} else {%>
- * The meta object literal for the '{@link <%=genClass.getQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see <%=genClass.getQualifiedInterfaceName()%>
+ * The meta object literal for the '{@link <%=genClass.getRawQualifiedInterfaceName()%> <em><%=genClass.getFormattedName()%></em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genClass.getRawQualifiedInterfaceName()%>
<%}%>
<%} else if (genClassifier instanceof GenEnum) { GenEnum genEnum = (GenEnum)genClassifier;%>
- * The meta object literal for the '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see <%=genEnum.getQualifiedName()%>
+ * The meta object literal for the '{@link <%=genEnum.getQualifiedName()%> <em><%=genEnum.getFormattedName()%></em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see <%=genEnum.getQualifiedName()%>
<%} else if (genClassifier instanceof GenDataType) { GenDataType genDataType = (GenDataType)genClassifier;%>
- * The meta object literal for the '<em><%=genDataType.getFormattedName()%></em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ * The meta object literal for the '<em><%=genDataType.getFormattedName()%></em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
<%if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {%>
- * @see <%=genDataType.getRawInstanceClassName()%>
+ * @see <%=genDataType.getRawInstanceClassName()%>
<%}%>
<%}%>
- * @see <%=genPackage.getQualifiedPackageClassName()%>#get<%=genClassifier.getClassifierAccessorName()%>()
- * @generated
- */
- <%=publicStaticFinalFlag%><%=genClassifier.getImportedMetaType()%> <%=genPackage.getClassifierID(genClassifier)%> = eINSTANCE.get<%=genClassifier.getClassifierAccessorName()%>();
+ * @see <%=genPackage.getQualifiedPackageClassName()%>#get<%=genClassifier.getClassifierAccessorName()%>()
+ <%if (genClassifier.hasAPITags()) {%>
+ * <%=genClassifier.getAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%><%=genClassifier.getImportedMetaType()%> <%=genPackage.getClassifierID(genClassifier)%> = eINSTANCE.get<%=genClassifier.getClassifierAccessorName()%>();
<%if (genClassifier instanceof GenClass) { GenClass genClass = (GenClass)genClassifier;%>
<%for (GenFeature genFeature : genClass.getGenFeatures()) {%>
- /**
- * The meta object literal for the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%> feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- <%=publicStaticFinalFlag%><%=genFeature.getImportedMetaType()%> <%=genClass.getFeatureID(genFeature)%> = eINSTANCE.get<%=genFeature.getFeatureAccessorName()%>();
+ /**
+ * The meta object literal for the '<em><b><%=genFeature.getFormattedName()%></b></em>' <%=genFeature.getFeatureKind()%> feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ <%if (genFeature.hasImplicitAPITags()) {%>
+ * <%=genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=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 -->
+ <%if (genOperation.hasImplicitAPITags()) {%>
+ * <%=genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))%>
+ <%}%>
+ * @generated
+ */
+ <%if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) {%>
+ @Deprecated
+ <%}%>
+ <%=publicStaticFinalFlag%><%=genOperation.getImportedMetaType()%> <%=genClass.getOperationID(genOperation, false)%> = eINSTANCE.get<%=genOperation.getOperationAccessorName()%>();
+
+ <%}%>
+ <%}%>
<%}%>
<%}%>
- }
+ }
<%}%>
} //<%=isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName()%>