| //Generated with EGF 1.6.0.201901231418 |
| package org.eclipse.egf.emf.pattern.model; |
| |
| import org.eclipse.egf.emf.pattern.base.*; |
| import org.eclipse.emf.codegen.ecore.genmodel.util.GenModelUtil; |
| import org.eclipse.emf.codegen.ecore.genmodel.*; |
| import org.eclipse.emf.codegen.ecore.genmodel.impl.*; |
| import org.eclipse.emf.codegen.ecore.genmodel.generator.*; |
| import org.eclipse.emf.codegen.util.*; |
| import org.eclipse.emf.ecore.util.*; |
| import org.eclipse.emf.common.util.*; |
| import org.eclipse.egf.common.helper.*; |
| import java.util.*; |
| import org.eclipse.emf.ecore.*; |
| import org.eclipse.egf.model.pattern.*; |
| import org.eclipse.egf.pattern.execution.*; |
| import org.eclipse.egf.pattern.query.*; |
| |
| public class PackageClass extends org.eclipse.egf.emf.pattern.base.GenPackageJava { |
| protected static String nl; |
| |
| public static synchronized PackageClass create(String lineSeparator) { |
| nl = lineSeparator; |
| PackageClass result = new PackageClass(); |
| nl = null; |
| return result; |
| } |
| |
| public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl; |
| protected final String TEXT_1 = ""; |
| protected final String TEXT_2 = NL + "package "; |
| protected final String TEXT_3 = ";"; |
| protected final String TEXT_4 = NL; |
| protected final String TEXT_5 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL |
| + " * The <b>Package</b> for the model." + NL + " * It contains accessors for the meta objects to represent" |
| + NL + " * <ul>" + NL + " * <li>each class,</li>" + NL + " * <li>each feature of each class,</li>"; |
| protected final String TEXT_6 = NL + " * <li>each operation of each class,</li>"; |
| protected final String TEXT_7 = NL + " * <li>each enum,</li>" + NL + " * <li>and each data type</li>" + NL |
| + " * </ul>" + NL + " * <!-- end-user-doc -->"; |
| protected final String TEXT_8 = NL + " * <!-- begin-model-doc -->" + NL + " * "; |
| protected final String TEXT_9 = NL + " * <!-- end-model-doc -->"; |
| protected final String TEXT_10 = NL + " * @see "; |
| protected final String TEXT_11 = NL + " * @model "; |
| protected final String TEXT_12 = NL + " * "; |
| protected final String TEXT_13 = NL + " * @model"; |
| protected final String TEXT_14 = NL + " * @generated" + NL + " */"; |
| protected final String TEXT_15 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL |
| + " * An implementation of the model <b>Package</b>." + NL + " * <!-- end-user-doc -->"; |
| protected final String TEXT_16 = NL + " * "; |
| protected final String TEXT_17 = NL + "@Deprecated"; |
| protected final String TEXT_18 = NL + "@SuppressWarnings(\"deprecation\")"; |
| protected final String TEXT_19 = NL + "public class "; |
| protected final String TEXT_20 = " extends "; |
| protected final String TEXT_21 = " implements "; |
| protected final String TEXT_22 = NL + "public interface "; |
| protected final String TEXT_23 = NL + "{"; |
| protected final String TEXT_24 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t"; |
| protected final String TEXT_25 = " copyright = "; |
| protected final String TEXT_26 = NL + "\t/**" + NL + "\t * The package name." + NL + "\t * <!-- begin-user-doc -->" |
| + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t"; |
| protected final String TEXT_27 = " eNAME = \""; |
| protected final String TEXT_28 = "\";"; |
| protected final String TEXT_29 = NL + NL + "\t/**" + NL + "\t * The package namespace URI." + NL |
| + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" |
| + NL + "\t"; |
| protected final String TEXT_30 = " eNS_URI = \""; |
| protected final String TEXT_31 = NL + NL + "\t/**" + NL + "\t * The package namespace name." + NL |
| + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" |
| + NL + "\t"; |
| protected final String TEXT_32 = " eNS_PREFIX = \""; |
| protected final String TEXT_33 = NL + NL + "\t/**" + NL + "\t * The package content type ID." + NL |
| + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" |
| + NL + "\t"; |
| protected final String TEXT_34 = " eCONTENT_TYPE = \""; |
| protected final String TEXT_35 = NL + NL + "\t/**" + NL + "\t * The singleton instance of the package." + NL |
| + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" |
| + NL + "\t"; |
| protected final String TEXT_36 = " eINSTANCE = "; |
| protected final String TEXT_37 = ".init();" + NL; |
| protected final String TEXT_38 = NL + "\t/**"; |
| protected final String TEXT_39 = NL + "\t * The meta object id for the '{@link "; |
| protected final String TEXT_40 = " <em>"; |
| protected final String TEXT_41 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @see "; |
| protected final String TEXT_42 = "</em>}' enum." + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @see "; |
| protected final String TEXT_43 = NL + "\t * The meta object id for the '<em>"; |
| protected final String TEXT_44 = "</em>' data type." + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->"; |
| protected final String TEXT_45 = NL + "\t * @see "; |
| protected final String TEXT_46 = "#get"; |
| protected final String TEXT_47 = "()"; |
| protected final String TEXT_48 = NL + "\t * "; |
| protected final String TEXT_49 = NL + "\t * @generated" + NL + "\t */"; |
| protected final String TEXT_50 = NL + "\t@Deprecated"; |
| protected final String TEXT_51 = NL + "\t"; |
| protected final String TEXT_52 = "int "; |
| protected final String TEXT_53 = " = "; |
| protected final String TEXT_54 = ";" + NL; |
| protected final String TEXT_55 = NL + "\t/**" + NL + "\t * The feature id for the '<em><b>"; |
| protected final String TEXT_56 = "</b></em>' "; |
| protected final String TEXT_57 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"; |
| protected final String TEXT_58 = NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */"; |
| protected final String TEXT_59 = NL + "\t/**" + NL + "\t * The number of structural features of the '<em>"; |
| protected final String TEXT_60 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->"; |
| protected final String TEXT_61 = NL + "\t/**" + NL + "\t * The operation id for the '<em>"; |
| protected final String TEXT_62 = "</em>' operation." + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->"; |
| protected final String TEXT_63 = NL + "\t/**" + NL + "\t * The number of operations of the '<em>"; |
| protected final String TEXT_64 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL |
| + "\tprotected String packageFilename = \""; |
| protected final String TEXT_65 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->"; |
| protected final String TEXT_66 = NL + "\tprivate "; |
| protected final String TEXT_67 = " "; |
| protected final String TEXT_68 = " = null;" + NL; |
| protected final String TEXT_69 = NL + "\t/**" + NL |
| + "\t * Creates an instance of the model <b>Package</b>, registered with" + NL |
| + "\t * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package" + NL |
| + "\t * package URI value." + NL + "\t * <p>Note: the correct way to create the package is via the static" |
| + NL + "\t * factory method {@link #init init()}, which also performs" + NL |
| + "\t * initialization of the package, or returns the registered package," + NL |
| + "\t * if one already exists." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" |
| + NL + "\t * @see org.eclipse.emf.ecore.EPackage.Registry" + NL + "\t * @see "; |
| protected final String TEXT_70 = "#eNS_URI" + NL + "\t * @see #init()" + NL + "\t * @generated" + NL + "\t */" + NL |
| + "\tprivate "; |
| protected final String TEXT_71 = "()" + NL + "\t{" + NL + "\t\tsuper(eNS_URI, "; |
| protected final String TEXT_72 = ");" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" |
| + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL |
| + "\tprivate static boolean isInited = false;" + NL + "" + NL + "\t/**" + NL |
| + "\t * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends." |
| + NL + "\t *" + NL + "\t * <p>This method is used to initialize {@link "; |
| protected final String TEXT_73 = "#eINSTANCE} when that field is accessed." + NL |
| + "\t * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package." |
| + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #eNS_URI"; |
| protected final String TEXT_74 = NL + "\t * @see #createPackageContents()" + NL |
| + "\t * @see #initializePackageContents()"; |
| protected final String TEXT_75 = NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static "; |
| protected final String TEXT_76 = " init()" + NL + "\t{" + NL + "\t\tif (isInited) return ("; |
| protected final String TEXT_77 = ")"; |
| protected final String TEXT_78 = ".Registry.INSTANCE.getEPackage("; |
| protected final String TEXT_79 = ".eNS_URI);" + NL; |
| protected final String TEXT_80 = NL + "\t\tinitializeRegistryHelpers();" + NL; |
| protected final String TEXT_81 = NL + "\t\t// Obtain or create and register package" + NL + "\t\tObject registered"; |
| protected final String TEXT_82 = ".Registry.INSTANCE.get(eNS_URI);" + NL + "\t\t"; |
| protected final String TEXT_83 = " the"; |
| protected final String TEXT_84 = " = registered"; |
| protected final String TEXT_85 = " instanceof "; |
| protected final String TEXT_86 = " ? ("; |
| protected final String TEXT_87 = ")registered"; |
| protected final String TEXT_88 = " : new "; |
| protected final String TEXT_89 = "();" + NL + "" + NL + "\t\tisInited = true;" + NL; |
| protected final String TEXT_90 = NL + "\t\t// Initialize simple dependencies"; |
| protected final String TEXT_91 = NL + "\t\t"; |
| protected final String TEXT_92 = ".eINSTANCE.eClass();"; |
| protected final String TEXT_93 = NL + "\t\t// Obtain or create and register interdependencies"; |
| protected final String TEXT_94 = "Object "; |
| protected final String TEXT_95 = "registeredPackage = "; |
| protected final String TEXT_96 = ".eNS_URI);" + NL + "\t\t"; |
| protected final String TEXT_97 = " = ("; |
| protected final String TEXT_98 = ")(registeredPackage instanceof "; |
| protected final String TEXT_99 = " ? registeredPackage : "; |
| protected final String TEXT_100 = ".eINSTANCE);"; |
| protected final String TEXT_101 = NL + "\t\t// Load packages"; |
| protected final String TEXT_102 = NL + "\t\tthe"; |
| protected final String TEXT_103 = ".loadPackage();"; |
| protected final String TEXT_104 = NL + "\t\t// Create package meta-data objects"; |
| protected final String TEXT_105 = ".createPackageContents();"; |
| protected final String TEXT_106 = NL + NL + "\t\t// Initialize created meta-data"; |
| protected final String TEXT_107 = ".initializePackageContents();"; |
| protected final String TEXT_108 = NL + "\t\t// Fix loaded packages"; |
| protected final String TEXT_109 = ".fixPackageContents();"; |
| protected final String TEXT_110 = NL + "\t\t// Register package validator" + NL + "\t\t"; |
| protected final String TEXT_111 = ".Registry.INSTANCE.put" + NL + "\t\t\t(the"; |
| protected final String TEXT_112 = "," + NL + "\t\t\t new "; |
| protected final String TEXT_113 = ".Descriptor()" + NL + "\t\t\t {"; |
| protected final String TEXT_114 = NL + "\t\t\t\t @Override"; |
| protected final String TEXT_115 = NL + "\t\t\t\t public "; |
| protected final String TEXT_116 = " getEValidator()" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return "; |
| protected final String TEXT_117 = ".INSTANCE;" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL; |
| protected final String TEXT_118 = NL + "\t\t// Mark meta-data to indicate it can't be changed" + NL + "\t\tthe"; |
| protected final String TEXT_119 = ".freeze();" + NL; |
| protected final String TEXT_120 = NL + "\t\t// Update the registry and return the package" + NL + "\t\t"; |
| protected final String TEXT_121 = ".Registry.INSTANCE.put("; |
| protected final String TEXT_122 = ".eNS_URI, the"; |
| protected final String TEXT_123 = ");" + NL + "\t\treturn the"; |
| protected final String TEXT_124 = ";" + NL + "\t}"; |
| protected final String TEXT_125 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL |
| + "\tpublic static void initializeRegistryHelpers()" + NL + "\t{"; |
| protected final String TEXT_126 = ".register" + NL + "\t\t\t("; |
| protected final String TEXT_127 = ".class," + NL + "\t\t\t new "; |
| protected final String TEXT_128 = ".Helper()" + NL + "\t\t\t {" + NL |
| + "\t\t\t\t public boolean isInstance(Object instance)" + NL + "\t\t\t\t {" + NL |
| + "\t\t\t\t\t return instance instanceof "; |
| protected final String TEXT_129 = ";" + NL + "\t\t\t\t }" + NL + "" + NL |
| + "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return new "; |
| protected final String TEXT_130 = "[size];" + NL + "\t\t\t\t }" + NL + "\t\t\t });"; |
| protected final String TEXT_131 = ";" + NL + "\t\t\t\t }" + NL + "" + NL |
| + "\t\t\t\t public Object newArrayInstance(int size)" + NL + "\t\t\t\t {"; |
| protected final String TEXT_132 = NL + "\t\t\t\t\t return new "; |
| protected final String TEXT_133 = "[size]"; |
| protected final String TEXT_134 = "[size];"; |
| protected final String TEXT_135 = NL + "\t\t\t\t }" + NL + "\t\t});"; |
| protected final String TEXT_136 = NL + "\t}" + NL + "" + NL + "" + NL + "\t/**" + NL |
| + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" |
| + NL + "\tpublic static class WhiteList implements "; |
| protected final String TEXT_137 = ", EBasicWhiteList" + NL + "\t{"; |
| protected final String TEXT_138 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL |
| + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected "; |
| protected final String TEXT_139 = NL + "\t}"; |
| protected final String TEXT_140 = NL + "\t * Returns the meta object for class '{@link "; |
| protected final String TEXT_141 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for class '<em>"; |
| protected final String TEXT_142 = "</em>'." + NL + "\t * @see "; |
| protected final String TEXT_143 = NL + "\t * @model "; |
| protected final String TEXT_144 = NL + "\t * "; |
| protected final String TEXT_145 = NL + "\t * @model"; |
| protected final String TEXT_146 = NL + "\t * Returns the meta object for enum '{@link "; |
| protected final String TEXT_147 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for enum '<em>"; |
| protected final String TEXT_148 = NL + "\t * Returns the meta object for data type '<em>"; |
| protected final String TEXT_149 = "</em>'."; |
| protected final String TEXT_150 = NL + "\t * Returns the meta object for data type '{@link "; |
| protected final String TEXT_151 = "</em>}'."; |
| protected final String TEXT_152 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"; |
| protected final String TEXT_153 = NL + " * <!-- begin-model-doc -->" + NL + " * "; |
| protected final String TEXT_154 = NL + " * <!-- end-model-doc -->"; |
| protected final String TEXT_155 = NL + "\t * @return the meta object for data type '<em>"; |
| protected final String TEXT_156 = NL + "\t@Override"; |
| protected final String TEXT_157 = NL + "\tpublic "; |
| protected final String TEXT_158 = " get"; |
| protected final String TEXT_159 = "()" + NL + "\t{"; |
| protected final String TEXT_160 = NL + "\t\tif ("; |
| protected final String TEXT_161 = " == null)" + NL + "\t\t{" + NL + "\t\t\t"; |
| protected final String TEXT_162 = ".eNS_URI).getEClassifiers().get("; |
| protected final String TEXT_163 = ");" + NL + "\t\t}"; |
| protected final String TEXT_164 = NL + "\t\treturn "; |
| protected final String TEXT_165 = ";" + NL + "\t}" + NL; |
| protected final String TEXT_166 = "();" + NL; |
| protected final String TEXT_167 = NL + "\t/**" + NL + "\t * Returns the meta object for the "; |
| protected final String TEXT_168 = " '{@link "; |
| protected final String TEXT_169 = "#"; |
| protected final String TEXT_170 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the "; |
| protected final String TEXT_171 = " '<em>"; |
| protected final String TEXT_172 = NL + "\t * @see #get"; |
| protected final String TEXT_173 = NL + "\t\treturn ("; |
| protected final String TEXT_174 = ".getEStructuralFeatures().get("; |
| protected final String TEXT_175 = ");"; |
| protected final String TEXT_176 = NL + " return ("; |
| protected final String TEXT_177 = ")get"; |
| protected final String TEXT_178 = "().getEStructuralFeatures().get("; |
| protected final String TEXT_179 = "();"; |
| protected final String TEXT_180 = NL + "\t/**" + NL + "\t * Returns the meta object for the '{@link "; |
| protected final String TEXT_181 = "("; |
| protected final String TEXT_182 = ") <em>"; |
| protected final String TEXT_183 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the '<em>"; |
| protected final String TEXT_184 = "</em>' operation." + NL + "\t * @see "; |
| protected final String TEXT_185 = ".getEOperations().get("; |
| protected final String TEXT_186 = NL + " return get"; |
| protected final String TEXT_187 = "().getEOperations().get("; |
| protected final String TEXT_188 = NL + "\t/**" + NL |
| + "\t * Returns the factory that creates the instances of the model." + NL + "\t * <!-- begin-user-doc -->" |
| + NL + "\t * <!-- end-user-doc -->" + NL |
| + "\t * @return the factory that creates the instances of the model." + NL + "\t * @generated" + NL |
| + "\t */"; |
| protected final String TEXT_189 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"; |
| protected final String TEXT_190 = "()" + NL + "\t{" + NL + "\t\treturn ("; |
| protected final String TEXT_191 = ")getEFactoryInstance();" + NL + "\t}"; |
| protected final String TEXT_192 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL |
| + "\tprivate boolean isCreated = false;" + NL + "" + NL + "\t/**" + NL |
| + "\t * Creates the meta-model objects for the package. This method is" + NL |
| + "\t * guarded to have no affect on any invocation but its first." + NL + "\t * <!-- begin-user-doc -->" |
| + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"; |
| protected final String TEXT_193 = NL + "\t@SuppressWarnings(\"deprecation\")"; |
| protected final String TEXT_194 = NL + "\tpublic void createPackageContents()" + NL + "\t{" + NL |
| + "\t\tif (isCreated) return;" + NL + "\t\tisCreated = true;"; |
| protected final String TEXT_195 = NL + NL + "\t\t// Create classes and their features"; |
| protected final String TEXT_196 = " = create"; |
| protected final String TEXT_197 = NL + "\t\tcreate"; |
| protected final String TEXT_198 = ", "; |
| protected final String TEXT_199 = NL + "\t\tcreateEOperation("; |
| protected final String TEXT_200 = NL + NL + "\t\t// Create enums"; |
| protected final String TEXT_201 = " = createEEnum("; |
| protected final String TEXT_202 = NL + NL + "\t\t// Create data types"; |
| protected final String TEXT_203 = " = createEDataType("; |
| protected final String TEXT_204 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL |
| + "\tprivate boolean isInitialized = false;" + NL; |
| protected final String TEXT_205 = NL + "\t/**" + NL |
| + "\t * Complete the initialization of the package and its meta-model. This" + NL |
| + "\t * method is guarded to have no affect on any invocation but its first." + NL |
| + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL |
| + "\t */"; |
| protected final String TEXT_206 = NL + "\tpublic void initializePackageContents()" + NL + "\t{" + NL |
| + "\t\tif (isInitialized) return;" + NL + "\t\tisInitialized = true;" + NL + "" + NL |
| + "\t\t// Initialize package" + NL + "\t\tsetName(eNAME);" + NL + "\t\tsetNsPrefix(eNS_PREFIX);" + NL |
| + "\t\tsetNsURI(eNS_URI);"; |
| protected final String TEXT_207 = NL + NL + "\t\t// Obtain other dependent packages"; |
| protected final String TEXT_208 = ".eNS_URI);"; |
| protected final String TEXT_209 = NL + NL + "\t\t// Add subpackages"; |
| protected final String TEXT_210 = NL + "\t\tgetESubpackages().add("; |
| protected final String TEXT_211 = NL + NL + "\t\t// Create type parameters"; |
| protected final String TEXT_212 = "_"; |
| protected final String TEXT_213 = " = addETypeParameter("; |
| protected final String TEXT_214 = ", \""; |
| protected final String TEXT_215 = "\");"; |
| protected final String TEXT_216 = NL + "\t\taddETypeParameter("; |
| protected final String TEXT_217 = NL + NL + "\t\t// Set bounds for type parameters"; |
| protected final String TEXT_218 = "g"; |
| protected final String TEXT_219 = " = createEGenericType("; |
| protected final String TEXT_220 = NL + "\t\tg"; |
| protected final String TEXT_221 = "."; |
| protected final String TEXT_222 = "(g"; |
| protected final String TEXT_223 = ".getEBounds().add(g1);"; |
| protected final String TEXT_224 = NL + NL + "\t\t// Add supertypes to classes"; |
| protected final String TEXT_225 = ".getESuperTypes().add("; |
| protected final String TEXT_226 = ".get"; |
| protected final String TEXT_227 = "());"; |
| protected final String TEXT_228 = ".getEGenericSuperTypes().add(g1);"; |
| protected final String TEXT_229 = NL + NL + "\t\t// Initialize classes"; |
| protected final String TEXT_230 = ", features, and operations; add parameters"; |
| protected final String TEXT_231 = " and features; add operations and parameters"; |
| protected final String TEXT_232 = NL + "\t\tinitEClass("; |
| protected final String TEXT_233 = "null"; |
| protected final String TEXT_234 = ".class"; |
| protected final String TEXT_235 = "\", "; |
| protected final String TEXT_236 = "\""; |
| protected final String TEXT_237 = NL + "\t\tinitEReference(get"; |
| protected final String TEXT_238 = "(), "; |
| protected final String TEXT_239 = "g1"; |
| protected final String TEXT_240 = NL + "\t\tget"; |
| protected final String TEXT_241 = "().getEKeys().add("; |
| protected final String TEXT_242 = NL + "\t\tinitEAttribute(get"; |
| protected final String TEXT_243 = "initEOperation(get"; |
| protected final String TEXT_244 = "addEOperation("; |
| protected final String TEXT_245 = "(), \""; |
| protected final String TEXT_246 = ", null, \""; |
| protected final String TEXT_247 = "addETypeParameter(op, \""; |
| protected final String TEXT_248 = NL + "\t\tt"; |
| protected final String TEXT_249 = NL + "\t\taddEParameter(op, "; |
| protected final String TEXT_250 = NL + "\t\taddEException(op, g"; |
| protected final String TEXT_251 = NL + "\t\taddEException(op, "; |
| protected final String TEXT_252 = NL + "\t\tinitEOperation(op, g1);"; |
| protected final String TEXT_253 = NL + NL + "\t\t// Initialize enums and add enum literals"; |
| protected final String TEXT_254 = NL + "\t\tinitEEnum("; |
| protected final String TEXT_255 = ".class, \""; |
| protected final String TEXT_256 = NL + "\t\taddEEnumLiteral("; |
| protected final String TEXT_257 = NL + NL + "\t\t// Initialize data types"; |
| protected final String TEXT_258 = NL + "\t\tinitEDataType("; |
| protected final String TEXT_259 = NL + NL + "\t\t// Create resource" + NL + "\t\tcreateResource("; |
| protected final String TEXT_260 = NL + NL + "\t\t// Create annotations"; |
| protected final String TEXT_261 = NL + "\t\t// "; |
| protected final String TEXT_262 = "Annotations();"; |
| protected final String TEXT_263 = NL + "\t}" + NL; |
| protected final String TEXT_264 = NL + "\t/**" + NL + "\t * Initializes the annotations for <b>"; |
| protected final String TEXT_265 = "</b>." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" |
| + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void create"; |
| protected final String TEXT_266 = "Annotations()" + NL + "\t{" + NL + "\t\tString source = "; |
| protected final String TEXT_267 = "null;"; |
| protected final String TEXT_268 = NL + "\t\taddAnnotation" + NL + "\t\t ("; |
| protected final String TEXT_269 = "," + NL + "\t\t source," + NL + "\t\t new String[]" + NL + "\t\t {"; |
| protected final String TEXT_270 = NL + "\t\t\t "; |
| protected final String TEXT_271 = NL + "\t\t }"; |
| protected final String TEXT_272 = ","; |
| protected final String TEXT_273 = NL + "\t\t new "; |
| protected final String TEXT_274 = "[]" + NL + "\t\t {"; |
| protected final String TEXT_275 = NL + "\t\t\t "; |
| protected final String TEXT_276 = ".createURI("; |
| protected final String TEXT_277 = "eNS_URI).appendFragment(\""; |
| protected final String TEXT_278 = "\")"; |
| protected final String TEXT_279 = NL + "\t\t });"; |
| protected final String TEXT_280 = "," + NL + "\t\t "; |
| protected final String TEXT_281 = "new boolean[] { "; |
| protected final String TEXT_282 = " }"; |
| protected final String TEXT_283 = "null,"; |
| protected final String TEXT_284 = "\","; |
| protected final String TEXT_285 = NL + "\t\t new String[]" + NL + "\t\t {"; |
| protected final String TEXT_286 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL |
| + "\tprivate boolean isLoaded = false;" + NL + "" + NL + "\t/**" + NL |
| + "\t * Laods the package and any sub-packages from their serialized form." + NL |
| + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" |
| + NL + "\tpublic void loadPackage()" + NL + "\t{" + NL + "\t\tif (isLoaded) return;" + NL |
| + "\t\tisLoaded = true;" + NL + "" + NL + "\t\t"; |
| protected final String TEXT_287 = " url = getClass().getResource(packageFilename);" + NL + "\t\tif (url == null)" |
| + NL + "\t\t{" + NL |
| + "\t\t\tthrow new RuntimeException(\"Missing serialized package: \" + packageFilename);"; |
| protected final String TEXT_288 = NL + "\t\t}" + NL + "\t\t"; |
| protected final String TEXT_289 = " uri = "; |
| protected final String TEXT_290 = ".createURI(url.toString());" + NL + "\t\t"; |
| protected final String TEXT_291 = " resource = new "; |
| protected final String TEXT_292 = "().createResource(uri);" + NL + "\t\ttry" + NL + "\t\t{" + NL |
| + "\t\t\tresource.load(null);" + NL + "\t\t}" + NL + "\t\tcatch ("; |
| protected final String TEXT_293 = " exception)" + NL + "\t\t{" + NL + "\t\t\tthrow new "; |
| protected final String TEXT_294 = "(exception);" + NL + "\t\t}" + NL + "\t\tinitializeFromLoadedEPackage(this, ("; |
| protected final String TEXT_295 = ")resource.getContents().get(0));" + NL + "\t\tcreateResource(eNS_URI);" + NL |
| + "\t}" + NL; |
| protected final String TEXT_296 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL |
| + "\tprivate boolean isFixed = false;" + NL + "" + NL + "\t/**" + NL |
| + "\t * Fixes up the loaded package, to make it appear as if it had been programmatically built." + NL |
| + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" |
| + NL + "\tpublic void fixPackageContents()" + NL + "\t{" + NL + "\t\tif (isFixed) return;" + NL |
| + "\t\tisFixed = true;" + NL + "\t\tfixEClassifiers();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL |
| + "\t * Sets the instance class on the given classifier." + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */"; |
| protected final String TEXT_297 = NL + "\tprotected void fixInstanceClass("; |
| protected final String TEXT_298 = " eClassifier)" + NL + "\t{" + NL |
| + "\t\tif (eClassifier.getInstanceClassName() == null)" + NL + "\t\t{"; |
| protected final String TEXT_299 = NL + "\t\t\teClassifier.setInstanceClassName(\""; |
| protected final String TEXT_300 = ".\" + eClassifier.getName());"; |
| protected final String TEXT_301 = NL + "\t\t\tsetGeneratedClassName(eClassifier);"; |
| protected final String TEXT_302 = NL + "\t\t\tswitch (eClassifier.getClassifierID())" + NL + "\t\t\t{"; |
| protected final String TEXT_303 = NL + "\t\t\t\tcase "; |
| protected final String TEXT_304 = ":"; |
| protected final String TEXT_305 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tbreak;" + NL + "\t\t\t\t}" + NL |
| + "\t\t\t\tdefault:" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\teClassifier.setInstanceClassName(\""; |
| protected final String TEXT_306 = NL + "\t\t\t\t\tsetGeneratedClassName(eClassifier);" + NL + "\t\t\t\t\tbreak;" |
| + NL + "\t\t\t\t}" + NL + "\t\t\t}"; |
| protected final String TEXT_307 = NL + "\t\t}" + NL + "\t}" + NL; |
| protected final String TEXT_308 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected "; |
| protected final String TEXT_309 = " addEOperation("; |
| protected final String TEXT_310 = " owner, "; |
| protected final String TEXT_311 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)" |
| + NL + "\t{" + NL + "\t\t"; |
| protected final String TEXT_312 = " o = addEOperation(owner, type, name, lowerBound, upperBound);" + NL |
| + "\t\to.setUnique(isUnique);" + NL + "\t\to.setOrdered(isOrdered);" + NL + "\t\treturn o;" + NL + "\t}" |
| + NL; |
| protected final String TEXT_313 = " addEParameter("; |
| protected final String TEXT_314 = " p = ecoreFactory.createEParameter();" + NL + "\t\tp.setEType(type);" + NL |
| + "\t\tp.setName(name);" + NL + "\t\tp.setLowerBound(lowerBound);" + NL + "\t\tp.setUpperBound(upperBound);" |
| + NL + "\t\tp.setUnique(isUnique);" + NL + "\t\tp.setOrdered(isOrdered);" + NL |
| + "\t\towner.getEParameters().add(p);" + NL + "\t\treturn p;" + NL + "\t}" + NL; |
| protected final String TEXT_315 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL |
| + "\t * Defines literals for the meta objects that represent" + NL + "\t * <ul>" + NL |
| + "\t * <li>each class,</li>" + NL + "\t * <li>each feature of each class,</li>"; |
| protected final String TEXT_316 = NL + "\t * <li>each operation of each class,</li>"; |
| protected final String TEXT_317 = NL + "\t * <li>each enum,</li>" + NL + "\t * <li>and each data type</li>" + NL |
| + "\t * </ul>" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\t"; |
| protected final String TEXT_318 = "public "; |
| protected final String TEXT_319 = "interface Literals" + NL + "\t{"; |
| protected final String TEXT_320 = NL + "\t\t/**"; |
| protected final String TEXT_321 = NL + "\t\t * The meta object literal for the '{@link "; |
| protected final String TEXT_322 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL |
| + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see "; |
| protected final String TEXT_323 = "</em>}' enum." + NL + "\t\t * <!-- begin-user-doc -->" + NL |
| + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see "; |
| protected final String TEXT_324 = NL + "\t\t * The meta object literal for the '<em>"; |
| protected final String TEXT_325 = "</em>' data type." + NL + "\t\t * <!-- begin-user-doc -->" + NL |
| + "\t\t * <!-- end-user-doc -->"; |
| protected final String TEXT_326 = NL + "\t\t * @see "; |
| protected final String TEXT_327 = NL + "\t\t * "; |
| protected final String TEXT_328 = NL + "\t\t * @generated" + NL + "\t\t */"; |
| protected final String TEXT_329 = NL + "\t\t@Deprecated"; |
| protected final String TEXT_330 = " = eINSTANCE.get"; |
| protected final String TEXT_331 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>"; |
| protected final String TEXT_332 = " feature." + NL + "\t\t * <!-- begin-user-doc -->" + NL |
| + "\t\t * <!-- end-user-doc -->"; |
| protected final String TEXT_333 = "</b></em>' operation." + NL + "\t\t * <!-- begin-user-doc -->" + NL |
| + "\t\t * <!-- end-user-doc -->"; |
| protected final String TEXT_334 = NL + "} //"; |
| protected final String TEXT_335 = NL; |
| |
| public PackageClass() { |
| //Here is the constructor |
| StringBuffer stringBuffer = new StringBuffer(); |
| |
| // add initialisation of the pattern variables (declaration has been already done). |
| |
| } |
| |
| public String generate(Object argument) throws Exception { |
| final StringBuffer stringBuffer = new StringBuffer(); |
| |
| InternalPatternContext ctx = (InternalPatternContext) argument; |
| Map<String, String> queryCtx = null; |
| IQuery.ParameterDescription paramDesc = null; |
| Node.Container currentNode = ctx.getNode(); |
| |
| List<Object> parameterList = null; |
| //this pattern can only be called by another (i.e. it's not an entry point in execution) |
| |
| for (Object parameterParameter : parameterList) { |
| |
| this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter; |
| |
| if (preCondition(ctx)) { |
| ctx.setNode(new Node.Container(currentNode, getClass())); |
| orchestration(ctx); |
| } |
| |
| } |
| ctx.setNode(currentNode); |
| if (ctx.useReporter()) { |
| ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx); |
| } |
| |
| stringBuffer.append(TEXT_335); |
| stringBuffer.append(TEXT_335); |
| return stringBuffer.toString(); |
| } |
| |
| public String orchestration(PatternContext ctx) throws Exception { |
| InternalPatternContext ictx = (InternalPatternContext) ctx; |
| |
| super.orchestration(new SuperOrchestrationContext(ictx)); |
| |
| method_preGenerate(new StringBuffer(), ictx); |
| |
| method_doGenerate(new StringBuffer(), ictx); |
| { |
| final Map<String, Object> parameters = getParameters(); |
| CallbackContext ctx_callback = new CallbackContext(ictx); |
| CallHelper.callBack(ctx_callback, parameters); |
| } |
| |
| method_postGenerate(new StringBuffer(), ictx); |
| |
| if (ictx.useReporter()) { |
| Map<String, Object> parameterValues = new HashMap<String, Object>(); |
| parameterValues.put("parameter", this.parameter); |
| String outputWithCallBack = OutputManager.computeLoopOutput(ictx); |
| String loop = OutputManager.computeLoopOutputWithoutCallback(ictx); |
| ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues); |
| } |
| return null; |
| } |
| |
| public Map<String, Object> getParameters() { |
| final Map<String, Object> parameters = new HashMap<String, Object>(); |
| parameters.put("parameter", this.parameter); |
| return parameters; |
| } |
| |
| protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx) |
| throws Exception { |
| |
| GenPackage genPackage = parameter; |
| targetPath = genPackage.getGenModel().getModelDirectory(); |
| packageName = genPackage.getReflectionClassPackageName(); |
| className = genPackage.getPackageClassName(); |
| |
| InternalPatternContext ictx = (InternalPatternContext) ctx; |
| new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString()); |
| } |
| |
| protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception { |
| |
| GenPackage genPackage = parameter; |
| argument = ((Object[]) new Object[] { |
| new Object[] { genPackage, |
| genPackage.getGenModel().isSuppressEMFMetaData() |
| || genPackage.getGenModel().isSuppressInterfaces() ? Boolean.TRUE : Boolean.FALSE, |
| Boolean.TRUE } })[0]; |
| |
| InternalPatternContext ictx = (InternalPatternContext) ctx; |
| new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString()); |
| } |
| |
| protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx) |
| throws Exception { |
| |
| new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getModelDirectory(), genModel, |
| GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor()); |
| |
| InternalPatternContext ictx = (InternalPatternContext) ctx; |
| new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString()); |
| } |
| |
| protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception { |
| |
| /** |
| * 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 |
| */ |
| |
| final GenPackage genPackage = (GenPackage) ((Object[]) argument)[0]; |
| final GenModel genModel = genPackage.getGenModel(); |
| 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(); |
| String publicStaticFinalFlag = isImplementation ? "public static final " : ""; |
| boolean needsAddEOperation = false; |
| boolean needsAddEParameter = false; |
| stringBuffer.append(TEXT_1); |
| { |
| //<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%> |
| |
| InternalPatternContext ictx = (InternalPatternContext) ctx; |
| new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString()); |
| stringBuffer.setLength(0); |
| |
| final Map<String, Object> callParameters = new HashMap<String, Object>(); |
| callParameters.put("argument", parameter); |
| CallHelper.executeWithParameterInjection( |
| "platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg", |
| new ExecutionContext((InternalPatternContext) ctx), callParameters); |
| stringBuffer.setLength(0); |
| } |
| |
| if (isImplementation && !genModel.isSuppressInterfaces()) { |
| stringBuffer.append(TEXT_2); |
| stringBuffer.append(genPackage.getClassPackageName()); |
| stringBuffer.append(TEXT_3); |
| } else { |
| stringBuffer.append(TEXT_2); |
| stringBuffer.append(genPackage.getReflectionPackageName()); |
| stringBuffer.append(TEXT_3); |
| } |
| stringBuffer.append(TEXT_4); |
| genModel.markImportLocation(stringBuffer, genPackage); |
| 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"); |
| } |
| for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) |
| genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + "." |
| + genPackage.getClassifierID(genClassifier)); |
| } |
| if (isInterface) { |
| stringBuffer.append(TEXT_5); |
| if (genModel.isOperationReflection()) { |
| stringBuffer.append(TEXT_6); |
| } |
| stringBuffer.append(TEXT_7); |
| if (genPackage.hasDocumentation()) { |
| stringBuffer.append(TEXT_8); |
| stringBuffer.append(genPackage.getDocumentation(genModel.getIndentation(stringBuffer))); |
| stringBuffer.append(TEXT_9); |
| } |
| stringBuffer.append(TEXT_10); |
| stringBuffer.append(genPackage.getQualifiedFactoryInterfaceName()); |
| if (!genModel.isSuppressEMFModelTags()) { |
| boolean first = true; |
| for (StringTokenizer stringTokenizer = new StringTokenizer(genPackage.getModelInfo(), |
| "\n\r"); stringTokenizer.hasMoreTokens();) { |
| String modelInfo = stringTokenizer.nextToken(); |
| if (first) { |
| first = false; |
| stringBuffer.append(TEXT_11); |
| stringBuffer.append(modelInfo); |
| } else { |
| stringBuffer.append(TEXT_12); |
| stringBuffer.append(modelInfo); |
| } |
| } |
| if (first) { |
| stringBuffer.append(TEXT_13); |
| } |
| } |
| stringBuffer.append(TEXT_14); |
| } else { |
| stringBuffer.append(TEXT_15); |
| if (genPackage.hasAPITags()) { |
| stringBuffer.append(TEXT_16); |
| stringBuffer.append(genPackage.getAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_14); |
| } |
| if (isJDK50 && genPackage.hasAPIDeprecatedTag()) { |
| stringBuffer.append(TEXT_17); |
| } |
| if (isImplementation) { |
| if (packageNeedsSuppressDeprecation) { |
| stringBuffer.append(TEXT_18); |
| } |
| stringBuffer.append(TEXT_19); |
| stringBuffer.append(genPackage.getPackageClassName()); |
| stringBuffer.append(TEXT_20); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl")); |
| if (!isInterface) { |
| stringBuffer.append(TEXT_21); |
| stringBuffer.append(genPackage.getImportedPackageInterfaceName()); |
| } |
| } else { |
| stringBuffer.append(TEXT_22); |
| stringBuffer.append(genPackage.getPackageInterfaceName()); |
| stringBuffer.append(TEXT_20); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage")); |
| } |
| stringBuffer.append(TEXT_23); |
| if (genModel.hasCopyrightField()) { |
| stringBuffer.append(TEXT_24); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(genModel.getImportedName("java.lang.String")); |
| stringBuffer.append(TEXT_25); |
| stringBuffer.append(genModel.getCopyrightFieldLiteral()); |
| stringBuffer.append(TEXT_3); |
| stringBuffer.append(genModel.getNonNLS()); |
| stringBuffer.append(TEXT_4); |
| } |
| if (isInterface) { |
| stringBuffer.append(TEXT_26); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(genModel.getImportedName("java.lang.String")); |
| stringBuffer.append(TEXT_27); |
| stringBuffer.append(genPackage.getPackageName()); |
| stringBuffer.append(TEXT_28); |
| stringBuffer.append(genModel.getNonNLS()); |
| stringBuffer.append(TEXT_29); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(genModel.getImportedName("java.lang.String")); |
| stringBuffer.append(TEXT_30); |
| stringBuffer.append(genPackage.getNSURI()); |
| stringBuffer.append(TEXT_28); |
| stringBuffer.append(genModel.getNonNLS()); |
| stringBuffer.append(TEXT_31); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(genModel.getImportedName("java.lang.String")); |
| stringBuffer.append(TEXT_32); |
| stringBuffer.append(genPackage.getNSName()); |
| stringBuffer.append(TEXT_28); |
| stringBuffer.append(genModel.getNonNLS()); |
| if (genPackage.isContentType()) { |
| stringBuffer.append(TEXT_33); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(genModel.getImportedName("java.lang.String")); |
| stringBuffer.append(TEXT_34); |
| stringBuffer.append(genPackage.getContentTypeIdentifier()); |
| stringBuffer.append(TEXT_28); |
| stringBuffer.append(genModel.getNonNLS()); |
| } |
| stringBuffer.append(TEXT_35); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(genPackage.getPackageInterfaceName()); |
| stringBuffer.append(TEXT_36); |
| stringBuffer.append(genPackage.getQualifiedPackageClassName()); |
| stringBuffer.append(TEXT_37); |
| for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) { |
| stringBuffer.append(TEXT_38); |
| if (genClassifier instanceof GenClass) { |
| GenClass genClass = (GenClass) genClassifier; |
| if (!genClass.isInterface()) { |
| stringBuffer.append(TEXT_39); |
| stringBuffer.append(genClass.getQualifiedClassName()); |
| stringBuffer.append(TEXT_40); |
| stringBuffer.append(genClass.getFormattedName()); |
| stringBuffer.append(TEXT_41); |
| stringBuffer.append(genClass.getQualifiedClassName()); |
| } else { |
| stringBuffer.append(TEXT_39); |
| stringBuffer.append(genClass.getRawQualifiedInterfaceName()); |
| stringBuffer.append(TEXT_40); |
| stringBuffer.append(genClass.getFormattedName()); |
| stringBuffer.append(TEXT_41); |
| stringBuffer.append(genClass.getRawQualifiedInterfaceName()); |
| } |
| } else if (genClassifier instanceof GenEnum) { |
| GenEnum genEnum = (GenEnum) genClassifier; |
| stringBuffer.append(TEXT_39); |
| stringBuffer.append(genEnum.getQualifiedName()); |
| stringBuffer.append(TEXT_40); |
| stringBuffer.append(genEnum.getFormattedName()); |
| stringBuffer.append(TEXT_42); |
| stringBuffer.append(genEnum.getQualifiedName()); |
| } else if (genClassifier instanceof GenDataType) { |
| GenDataType genDataType = (GenDataType) genClassifier; |
| stringBuffer.append(TEXT_43); |
| stringBuffer.append(genDataType.getFormattedName()); |
| stringBuffer.append(TEXT_44); |
| if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) { |
| stringBuffer.append(TEXT_45); |
| stringBuffer.append(genDataType.getRawInstanceClassName()); |
| } |
| } |
| stringBuffer.append(TEXT_45); |
| stringBuffer.append(genPackage.getQualifiedPackageClassName()); |
| stringBuffer.append(TEXT_46); |
| stringBuffer.append(genClassifier.getClassifierAccessorName()); |
| stringBuffer.append(TEXT_47); |
| if (genClassifier.hasAPITags()) { |
| stringBuffer.append(TEXT_48); |
| stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_49); |
| if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) { |
| stringBuffer.append(TEXT_50); |
| } |
| stringBuffer.append(TEXT_51); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(TEXT_52); |
| stringBuffer.append(genPackage.getClassifierID(genClassifier)); |
| stringBuffer.append(TEXT_53); |
| stringBuffer.append(genPackage.getClassifierValue(genClassifier)); |
| stringBuffer.append(TEXT_54); |
| if (genClassifier instanceof GenClass) { |
| GenClass genClass = (GenClass) genClassifier; |
| for (GenFeature genFeature : genClass.getAllGenFeatures()) { |
| stringBuffer.append(TEXT_55); |
| stringBuffer.append(genFeature.getFormattedName()); |
| stringBuffer.append(TEXT_56); |
| stringBuffer.append(genFeature.getFeatureKind()); |
| stringBuffer.append(TEXT_57); |
| if (genFeature.hasImplicitAPITags()) { |
| stringBuffer.append(TEXT_48); |
| stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_58); |
| if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) { |
| stringBuffer.append(TEXT_50); |
| } |
| stringBuffer.append(TEXT_51); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(TEXT_52); |
| stringBuffer.append(genClass.getFeatureID(genFeature)); |
| stringBuffer.append(TEXT_53); |
| stringBuffer.append(genClass.getFeatureValue(genFeature)); |
| stringBuffer.append(TEXT_54); |
| } |
| stringBuffer.append(TEXT_59); |
| stringBuffer.append(genClass.getFormattedName()); |
| stringBuffer.append(TEXT_60); |
| if (genClass.hasAPITags()) { |
| stringBuffer.append(TEXT_48); |
| stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_58); |
| if (isJDK50 && genClass.hasAPIDeprecatedTag()) { |
| stringBuffer.append(TEXT_50); |
| } |
| stringBuffer.append(TEXT_51); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(TEXT_52); |
| stringBuffer.append(genClass.getFeatureCountID()); |
| stringBuffer.append(TEXT_53); |
| stringBuffer.append(genClass.getFeatureCountValue()); |
| stringBuffer.append(TEXT_54); |
| if (genModel.isOperationReflection()) { |
| for (GenOperation genOperation : genClass.getAllGenOperations(false)) { |
| if (genClass.getOverrideGenOperation(genOperation) == null) { |
| stringBuffer.append(TEXT_61); |
| stringBuffer.append(genOperation.getFormattedName()); |
| stringBuffer.append(TEXT_62); |
| if (genOperation.hasImplicitAPITags()) { |
| stringBuffer.append(TEXT_48); |
| stringBuffer.append( |
| genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_58); |
| if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) { |
| stringBuffer.append(TEXT_50); |
| } |
| stringBuffer.append(TEXT_51); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(TEXT_52); |
| stringBuffer.append(genClass.getOperationID(genOperation, false)); |
| stringBuffer.append(TEXT_53); |
| stringBuffer.append(genClass.getOperationValue(genOperation)); |
| stringBuffer.append(TEXT_54); |
| } |
| } |
| stringBuffer.append(TEXT_63); |
| stringBuffer.append(genClass.getFormattedName()); |
| stringBuffer.append(TEXT_60); |
| if (genClass.hasAPITags()) { |
| stringBuffer.append(TEXT_48); |
| stringBuffer.append(genClass.getAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_58); |
| if (isJDK50 && genClass.hasAPIDeprecatedTag()) { |
| stringBuffer.append(TEXT_50); |
| } |
| stringBuffer.append(TEXT_51); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(TEXT_52); |
| stringBuffer.append(genClass.getOperationCountID()); |
| stringBuffer.append(TEXT_53); |
| stringBuffer.append(genClass.getOperationCountValue()); |
| stringBuffer.append(TEXT_54); |
| } |
| } |
| } |
| } |
| if (isImplementation) { |
| if (genPackage.isLoadingInitialization()) { |
| stringBuffer.append(TEXT_64); |
| stringBuffer.append(genPackage.getSerializedPackageFilename()); |
| stringBuffer.append(TEXT_28); |
| stringBuffer.append(genModel.getNonNLS()); |
| stringBuffer.append(TEXT_4); |
| } |
| for (GenClassifier genClassifier : genPackage.getGenClassifiers()) { |
| stringBuffer.append(TEXT_65); |
| if (genClassifier.hasAPITags()) { |
| stringBuffer.append(TEXT_48); |
| stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_49); |
| if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) { |
| stringBuffer.append(TEXT_50); |
| } |
| stringBuffer.append(TEXT_66); |
| stringBuffer.append(genClassifier.getImportedMetaType()); |
| stringBuffer.append(TEXT_67); |
| stringBuffer.append(genClassifier.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_68); |
| } |
| stringBuffer.append(TEXT_69); |
| stringBuffer.append(genPackage.getQualifiedPackageInterfaceName()); |
| stringBuffer.append(TEXT_70); |
| stringBuffer.append(genPackage.getPackageClassName()); |
| stringBuffer.append(TEXT_71); |
| stringBuffer.append(genPackage.getQualifiedEFactoryInstanceAccessor()); |
| stringBuffer.append(TEXT_72); |
| stringBuffer.append(genPackage.getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_73); |
| if (!genPackage.isLoadedInitialization()) { |
| stringBuffer.append(TEXT_74); |
| } |
| stringBuffer.append(TEXT_75); |
| stringBuffer.append(genPackage.getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_76); |
| stringBuffer.append(genPackage.getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_77); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage")); |
| stringBuffer.append(TEXT_78); |
| stringBuffer.append(genPackage.getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_79); |
| if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) { |
| stringBuffer.append(TEXT_80); |
| } |
| stringBuffer.append(TEXT_81); |
| stringBuffer.append(genPackage.getBasicPackageName()); |
| stringBuffer.append(TEXT_53); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage")); |
| stringBuffer.append(TEXT_82); |
| stringBuffer.append(genPackage.getPackageClassName()); |
| stringBuffer.append(TEXT_83); |
| stringBuffer.append(genPackage.getBasicPackageName()); |
| stringBuffer.append(TEXT_84); |
| stringBuffer.append(genPackage.getBasicPackageName()); |
| stringBuffer.append(TEXT_85); |
| stringBuffer.append(genPackage.getPackageClassName()); |
| stringBuffer.append(TEXT_86); |
| stringBuffer.append(genPackage.getPackageClassName()); |
| stringBuffer.append(TEXT_87); |
| stringBuffer.append(genPackage.getBasicPackageName()); |
| stringBuffer.append(TEXT_88); |
| stringBuffer.append(genPackage.getPackageClassName()); |
| stringBuffer.append(TEXT_89); |
| if (!genPackage.getPackageSimpleDependencies().isEmpty()) { |
| stringBuffer.append(TEXT_90); |
| for (GenPackage dep : genPackage.getPackageSimpleDependencies()) { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(dep.getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_92); |
| } |
| stringBuffer.append(TEXT_4); |
| } |
| if (!genPackage.getPackageInterDependencies().isEmpty()) { |
| stringBuffer.append(TEXT_93); |
| for (ListIterator<GenPackage> i = genPackage.getPackageInterDependencies().listIterator(); i |
| .hasNext();) { |
| GenPackage interdep = i.next(); |
| stringBuffer.append(TEXT_91); |
| if (i.previousIndex() == 0) { |
| stringBuffer.append(TEXT_94); |
| } |
| stringBuffer.append(TEXT_95); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage")); |
| stringBuffer.append(TEXT_78); |
| stringBuffer.append(interdep.getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_96); |
| stringBuffer.append(interdep.getImportedPackageClassName()); |
| stringBuffer.append(TEXT_67); |
| stringBuffer.append(genPackage.getPackageInstanceVariable(interdep)); |
| stringBuffer.append(TEXT_97); |
| stringBuffer.append(interdep.getImportedPackageClassName()); |
| stringBuffer.append(TEXT_98); |
| stringBuffer.append(interdep.getImportedPackageClassName()); |
| stringBuffer.append(TEXT_99); |
| stringBuffer.append(interdep.getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_100); |
| } |
| stringBuffer.append(TEXT_4); |
| } |
| if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) { |
| stringBuffer.append(TEXT_101); |
| if (genPackage.isLoadingInitialization()) { |
| stringBuffer.append(TEXT_102); |
| stringBuffer.append(genPackage.getBasicPackageName()); |
| stringBuffer.append(TEXT_103); |
| } |
| for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) { |
| if (interdep.isLoadingInitialization()) { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(genPackage.getPackageInstanceVariable(interdep)); |
| stringBuffer.append(TEXT_103); |
| } |
| } |
| stringBuffer.append(TEXT_4); |
| } |
| if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) { |
| stringBuffer.append(TEXT_104); |
| if (!genPackage.isLoadedInitialization()) { |
| stringBuffer.append(TEXT_102); |
| stringBuffer.append(genPackage.getBasicPackageName()); |
| stringBuffer.append(TEXT_105); |
| } |
| for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(genPackage.getPackageInstanceVariable(interdep)); |
| stringBuffer.append(TEXT_105); |
| } |
| stringBuffer.append(TEXT_106); |
| if (!genPackage.isLoadedInitialization()) { |
| stringBuffer.append(TEXT_102); |
| stringBuffer.append(genPackage.getBasicPackageName()); |
| stringBuffer.append(TEXT_107); |
| } |
| for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(genPackage.getPackageInstanceVariable(interdep)); |
| stringBuffer.append(TEXT_107); |
| } |
| stringBuffer.append(TEXT_4); |
| } |
| if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) { |
| stringBuffer.append(TEXT_108); |
| if (genPackage.isLoadedInitialization()) { |
| stringBuffer.append(TEXT_102); |
| stringBuffer.append(genPackage.getBasicPackageName()); |
| stringBuffer.append(TEXT_109); |
| } |
| for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(genPackage.getPackageInstanceVariable(interdep)); |
| stringBuffer.append(TEXT_109); |
| } |
| stringBuffer.append(TEXT_4); |
| } |
| if (genPackage.hasConstraints()) { |
| stringBuffer.append(TEXT_110); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator")); |
| stringBuffer.append(TEXT_111); |
| stringBuffer.append(genPackage.getBasicPackageName()); |
| stringBuffer.append(TEXT_112); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator")); |
| stringBuffer.append(TEXT_113); |
| if (genModel.useInterfaceOverrideAnnotation()) { |
| stringBuffer.append(TEXT_114); |
| } |
| stringBuffer.append(TEXT_115); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator")); |
| stringBuffer.append(TEXT_116); |
| stringBuffer.append(genPackage.getImportedValidatorClassName()); |
| stringBuffer.append(TEXT_117); |
| } |
| if (!genPackage.isEcorePackage()) { |
| stringBuffer.append(TEXT_118); |
| stringBuffer.append(genPackage.getBasicPackageName()); |
| stringBuffer.append(TEXT_119); |
| } |
| stringBuffer.append(TEXT_120); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage")); |
| stringBuffer.append(TEXT_121); |
| stringBuffer.append(genPackage.getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_122); |
| stringBuffer.append(genPackage.getBasicPackageName()); |
| stringBuffer.append(TEXT_123); |
| stringBuffer.append(genPackage.getBasicPackageName()); |
| stringBuffer.append(TEXT_124); |
| if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) { |
| stringBuffer.append(TEXT_125); |
| 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)) { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect")); |
| stringBuffer.append(TEXT_126); |
| stringBuffer.append(theClass); |
| stringBuffer.append(TEXT_127); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect")); |
| stringBuffer.append(TEXT_128); |
| stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName() |
| : genClass.getRawImportedInterfaceName() |
| + genClass.getInterfaceWildTypeArguments()); |
| stringBuffer.append(TEXT_129); |
| stringBuffer.append(theClass); |
| stringBuffer.append(TEXT_130); |
| } |
| } |
| } else if (genClassifier instanceof GenDataType) { |
| GenDataType genDataType = (GenDataType) genClassifier; |
| if (!genDataType.isPrimitiveType() && !genDataType.isObjectType()) { |
| String theClass = genDataType.getRawImportedInstanceClassName(); |
| if (helpers.add(theClass)) { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect")); |
| stringBuffer.append(TEXT_126); |
| stringBuffer.append(theClass); |
| stringBuffer.append(TEXT_127); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect")); |
| stringBuffer.append(TEXT_128); |
| stringBuffer.append(theClass); |
| stringBuffer.append(TEXT_131); |
| if (genDataType.isArrayType()) { |
| String componentType = theClass; |
| String indices = ""; |
| while (componentType.endsWith("[]")) { |
| componentType = componentType.substring(0, componentType.length() - 2); |
| indices += "[]"; |
| } |
| stringBuffer.append(TEXT_132); |
| stringBuffer.append(componentType); |
| stringBuffer.append(TEXT_133); |
| stringBuffer.append(indices); |
| stringBuffer.append(TEXT_3); |
| } else { |
| stringBuffer.append(TEXT_132); |
| stringBuffer.append(theClass); |
| stringBuffer.append(TEXT_134); |
| } |
| stringBuffer.append(TEXT_135); |
| } |
| } |
| } |
| } |
| stringBuffer.append(TEXT_136); |
| stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable")); |
| stringBuffer.append(TEXT_137); |
| for (GenClassifier genClassifier : genPackage.getGenClassifiers()) { |
| if (genClassifier instanceof GenClass) { |
| GenClass genClass = (GenClass) genClassifier; |
| if (!genClass.isDynamic()) { |
| stringBuffer.append(TEXT_138); |
| stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName() |
| : genClass.getImportedWildcardInstanceClassName()); |
| stringBuffer.append(TEXT_67); |
| stringBuffer.append(genClass.getSafeUncapName()); |
| stringBuffer.append(TEXT_54); |
| } |
| } else if (genClassifier instanceof GenDataType) { |
| GenDataType genDataType = (GenDataType) genClassifier; |
| if (!genDataType.isObjectType() && genDataType.isSerializable()) { |
| stringBuffer.append(TEXT_138); |
| stringBuffer.append(genDataType.getImportedWildcardInstanceClassName()); |
| stringBuffer.append(TEXT_67); |
| stringBuffer.append(genDataType.getSafeUncapName()); |
| stringBuffer.append(TEXT_54); |
| } |
| } |
| } |
| stringBuffer.append(TEXT_139); |
| } |
| stringBuffer.append(TEXT_4); |
| } |
| if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE |
| stringBuffer.append(TEXT_4); |
| } |
| for (GenClassifier genClassifier : genPackage.getGenClassifiers()) { |
| if (isInterface) { |
| stringBuffer.append(TEXT_38); |
| if (genClassifier instanceof GenClass) { |
| GenClass genClass = (GenClass) genClassifier; |
| stringBuffer.append(TEXT_140); |
| stringBuffer.append(genClass.getRawQualifiedInterfaceName()); |
| stringBuffer.append(TEXT_40); |
| stringBuffer.append(genClass.getFormattedName()); |
| stringBuffer.append(TEXT_141); |
| stringBuffer.append(genClass.getFormattedName()); |
| stringBuffer.append(TEXT_142); |
| stringBuffer.append(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; |
| stringBuffer.append(TEXT_143); |
| stringBuffer.append(modelInfo); |
| } else { |
| stringBuffer.append(TEXT_144); |
| stringBuffer.append(modelInfo); |
| } |
| } |
| if (first) { |
| stringBuffer.append(TEXT_145); |
| } |
| } |
| } else if (genClassifier instanceof GenEnum) { |
| GenEnum genEnum = (GenEnum) genClassifier; |
| stringBuffer.append(TEXT_146); |
| stringBuffer.append(genEnum.getQualifiedName()); |
| stringBuffer.append(TEXT_40); |
| stringBuffer.append(genEnum.getFormattedName()); |
| stringBuffer.append(TEXT_147); |
| stringBuffer.append(genEnum.getFormattedName()); |
| stringBuffer.append(TEXT_142); |
| stringBuffer.append(genEnum.getQualifiedName()); |
| } else if (genClassifier instanceof GenDataType) { |
| GenDataType genDataType = (GenDataType) genClassifier; |
| if (genDataType.isPrimitiveType() || genDataType.isArrayType()) { |
| stringBuffer.append(TEXT_148); |
| stringBuffer.append(genDataType.getFormattedName()); |
| stringBuffer.append(TEXT_149); |
| } else { |
| stringBuffer.append(TEXT_150); |
| stringBuffer.append(genDataType.getRawInstanceClassName()); |
| stringBuffer.append(TEXT_40); |
| stringBuffer.append(genDataType.getFormattedName()); |
| stringBuffer.append(TEXT_151); |
| } |
| stringBuffer.append(TEXT_152); |
| if (genDataType.hasDocumentation()) { |
| stringBuffer.append(TEXT_153); |
| stringBuffer.append(genDataType.getDocumentation(genModel.getIndentation(stringBuffer))); |
| stringBuffer.append(TEXT_154); |
| } |
| stringBuffer.append(TEXT_155); |
| stringBuffer.append(genDataType.getFormattedName()); |
| stringBuffer.append(TEXT_149); |
| if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) { |
| stringBuffer.append(TEXT_45); |
| stringBuffer.append(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; |
| stringBuffer.append(TEXT_143); |
| stringBuffer.append(modelInfo); |
| } else { |
| stringBuffer.append(TEXT_144); |
| stringBuffer.append(modelInfo); |
| } |
| } |
| if (first) { |
| stringBuffer.append(TEXT_145); |
| } |
| } |
| } |
| if ((genClassifier instanceof GenClass || genClassifier instanceof GenEnum) |
| && genClassifier.hasAPITags()) { |
| stringBuffer.append(TEXT_48); |
| stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_49); |
| } else { |
| stringBuffer.append(TEXT_65); |
| if (genClassifier.hasAPITags()) { |
| stringBuffer.append(TEXT_48); |
| stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_49); |
| } |
| if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) { |
| stringBuffer.append(TEXT_50); |
| } |
| if (isImplementation) { |
| if (useInterfaceOverrideAnnotation) { |
| stringBuffer.append(TEXT_156); |
| } |
| stringBuffer.append(TEXT_157); |
| stringBuffer.append(genClassifier.getImportedMetaType()); |
| stringBuffer.append(TEXT_158); |
| stringBuffer.append(genClassifier.getClassifierAccessorName()); |
| stringBuffer.append(TEXT_159); |
| if (genPackage.isLoadedInitialization()) { |
| stringBuffer.append(TEXT_160); |
| stringBuffer.append(genClassifier.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_161); |
| stringBuffer.append(genClassifier.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_97); |
| stringBuffer.append(genClassifier.getImportedMetaType()); |
| stringBuffer.append(TEXT_77); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage")); |
| stringBuffer.append(TEXT_78); |
| stringBuffer.append(genPackage.getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_162); |
| stringBuffer.append(genPackage.getLocalClassifierIndex(genClassifier)); |
| stringBuffer.append(TEXT_163); |
| } |
| stringBuffer.append(TEXT_164); |
| stringBuffer.append(genClassifier.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_165); |
| } else { |
| stringBuffer.append(TEXT_51); |
| stringBuffer.append(genClassifier.getImportedMetaType()); |
| stringBuffer.append(TEXT_158); |
| stringBuffer.append(genClassifier.getClassifierAccessorName()); |
| stringBuffer.append(TEXT_166); |
| } |
| if (genClassifier instanceof GenClass) { |
| GenClass genClass = (GenClass) genClassifier; |
| for (GenFeature genFeature : genClass.getGenFeatures()) { |
| if (isInterface) { |
| stringBuffer.append(TEXT_167); |
| stringBuffer.append(genFeature.getFeatureKind()); |
| stringBuffer.append(TEXT_168); |
| stringBuffer.append(genClass.getRawQualifiedInterfaceName()); |
| if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) { |
| stringBuffer.append(TEXT_169); |
| stringBuffer.append(genFeature.getGetAccessor()); |
| } |
| stringBuffer.append(TEXT_40); |
| stringBuffer.append(genFeature.getFormattedName()); |
| stringBuffer.append(TEXT_170); |
| stringBuffer.append(genFeature.getFeatureKind()); |
| stringBuffer.append(TEXT_171); |
| stringBuffer.append(genFeature.getFormattedName()); |
| stringBuffer.append(TEXT_142); |
| stringBuffer.append(genClass.getRawQualifiedInterfaceName()); |
| if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) { |
| stringBuffer.append(TEXT_169); |
| stringBuffer.append(genFeature.getGetAccessor()); |
| stringBuffer.append(TEXT_47); |
| } |
| stringBuffer.append(TEXT_172); |
| stringBuffer.append(genClass.getClassifierAccessorName()); |
| stringBuffer.append(TEXT_47); |
| if (genFeature.hasImplicitAPITags()) { |
| stringBuffer.append(TEXT_48); |
| stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_49); |
| } else { |
| stringBuffer.append(TEXT_65); |
| if (genFeature.hasImplicitAPITags()) { |
| stringBuffer.append(TEXT_48); |
| stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_49); |
| } |
| if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) { |
| stringBuffer.append(TEXT_50); |
| } |
| if (isImplementation) { |
| if (useInterfaceOverrideAnnotation) { |
| stringBuffer.append(TEXT_156); |
| } |
| stringBuffer.append(TEXT_157); |
| stringBuffer.append(genFeature.getImportedMetaType()); |
| stringBuffer.append(TEXT_158); |
| stringBuffer.append(genFeature.getFeatureAccessorName()); |
| stringBuffer.append(TEXT_159); |
| if (!genPackage.isLoadedInitialization()) { |
| stringBuffer.append(TEXT_173); |
| stringBuffer.append(genFeature.getImportedMetaType()); |
| stringBuffer.append(TEXT_77); |
| stringBuffer.append(genClass.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_174); |
| stringBuffer.append(genClass.getLocalFeatureIndex(genFeature)); |
| stringBuffer.append(TEXT_175); |
| } else { |
| stringBuffer.append(TEXT_176); |
| stringBuffer.append(genFeature.getImportedMetaType()); |
| stringBuffer.append(TEXT_177); |
| stringBuffer.append(genClassifier.getClassifierAccessorName()); |
| stringBuffer.append(TEXT_178); |
| stringBuffer.append(genClass.getLocalFeatureIndex(genFeature)); |
| stringBuffer.append(TEXT_175); |
| } |
| stringBuffer.append(TEXT_139); |
| } else { |
| stringBuffer.append(TEXT_51); |
| stringBuffer.append(genFeature.getImportedMetaType()); |
| stringBuffer.append(TEXT_158); |
| stringBuffer.append(genFeature.getFeatureAccessorName()); |
| stringBuffer.append(TEXT_179); |
| } |
| stringBuffer.append(TEXT_4); |
| } |
| if (genModel.isOperationReflection()) { |
| for (GenOperation genOperation : genClass.getGenOperations()) { |
| if (isInterface) { |
| stringBuffer.append(TEXT_180); |
| stringBuffer.append(genClass.getRawQualifiedInterfaceName()); |
| stringBuffer.append(TEXT_169); |
| stringBuffer.append(genOperation.getName()); |
| stringBuffer.append(TEXT_181); |
| stringBuffer.append(genOperation.getParameterTypes(", ")); |
| stringBuffer.append(TEXT_182); |
| stringBuffer.append(genOperation.getFormattedName()); |
| stringBuffer.append(TEXT_183); |
| stringBuffer.append(genOperation.getFormattedName()); |
| stringBuffer.append(TEXT_184); |
| stringBuffer.append(genClass.getRawQualifiedInterfaceName()); |
| stringBuffer.append(TEXT_169); |
| stringBuffer.append(genOperation.getName()); |
| stringBuffer.append(TEXT_181); |
| stringBuffer.append(genOperation.getParameterTypes(", ")); |
| stringBuffer.append(TEXT_77); |
| if (genOperation.hasImplicitAPITags()) { |
| stringBuffer.append(TEXT_48); |
| stringBuffer |
| .append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_49); |
| } else { |
| stringBuffer.append(TEXT_65); |
| if (genOperation.hasImplicitAPITags()) { |
| stringBuffer.append(TEXT_48); |
| stringBuffer |
| .append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_49); |
| } |
| if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) { |
| stringBuffer.append(TEXT_50); |
| } |
| if (isImplementation) { |
| if (useInterfaceOverrideAnnotation) { |
| stringBuffer.append(TEXT_156); |
| } |
| stringBuffer.append(TEXT_157); |
| stringBuffer.append(genOperation.getImportedMetaType()); |
| stringBuffer.append(TEXT_158); |
| stringBuffer.append(genOperation.getOperationAccessorName()); |
| stringBuffer.append(TEXT_159); |
| if (!genPackage.isLoadedInitialization()) { |
| stringBuffer.append(TEXT_164); |
| stringBuffer.append(genClass.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_185); |
| stringBuffer.append(genClass.getLocalOperationIndex(genOperation)); |
| stringBuffer.append(TEXT_175); |
| } else { |
| stringBuffer.append(TEXT_186); |
| stringBuffer.append(genClassifier.getClassifierAccessorName()); |
| stringBuffer.append(TEXT_187); |
| stringBuffer.append(genClass.getLocalOperationIndex(genOperation)); |
| stringBuffer.append(TEXT_175); |
| } |
| stringBuffer.append(TEXT_139); |
| } else { |
| stringBuffer.append(TEXT_51); |
| stringBuffer.append(genOperation.getImportedMetaType()); |
| stringBuffer.append(TEXT_158); |
| stringBuffer.append(genOperation.getOperationAccessorName()); |
| stringBuffer.append(TEXT_179); |
| } |
| stringBuffer.append(TEXT_4); |
| } |
| } |
| } |
| } |
| if (isInterface) { |
| stringBuffer.append(TEXT_188); |
| } else { |
| stringBuffer.append(TEXT_189); |
| } |
| if (isImplementation) { |
| if (useInterfaceOverrideAnnotation) { |
| stringBuffer.append(TEXT_156); |
| } |
| stringBuffer.append(TEXT_157); |
| stringBuffer.append(genPackage.getImportedFactoryInterfaceName()); |
| stringBuffer.append(TEXT_158); |
| stringBuffer.append(genPackage.getFactoryName()); |
| stringBuffer.append(TEXT_190); |
| stringBuffer.append(genPackage.getImportedFactoryInterfaceName()); |
| stringBuffer.append(TEXT_191); |
| } else { |
| stringBuffer.append(TEXT_51); |
| stringBuffer.append(genPackage.getFactoryInterfaceName()); |
| stringBuffer.append(TEXT_158); |
| stringBuffer.append(genPackage.getFactoryName()); |
| stringBuffer.append(TEXT_179); |
| } |
| stringBuffer.append(TEXT_4); |
| if (isImplementation) { |
| if (!genPackage.isLoadedInitialization()) { |
| stringBuffer.append(TEXT_192); |
| { |
| boolean needsSuppressDeprecation = false; |
| if (!packageNeedsSuppressDeprecation && isJDK50) { |
| 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) { |
| stringBuffer.append(TEXT_193); |
| } |
| } |
| } |
| stringBuffer.append(TEXT_194); |
| if (!genPackage.getGenClasses().isEmpty()) { |
| stringBuffer.append(TEXT_195); |
| for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) { |
| GenClass genClass = c.next(); |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(genClass.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_196); |
| stringBuffer.append(genClass.getMetaType()); |
| stringBuffer.append(TEXT_181); |
| stringBuffer.append(genClass.getClassifierID()); |
| stringBuffer.append(TEXT_175); |
| for (GenFeature genFeature : genClass.getGenFeatures()) { |
| stringBuffer.append(TEXT_197); |
| stringBuffer.append(genFeature.getMetaType()); |
| stringBuffer.append(TEXT_181); |
| stringBuffer.append(genClass.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genClass.getFeatureID(genFeature)); |
| stringBuffer.append(TEXT_175); |
| } |
| if (genModel.isOperationReflection()) { |
| for (GenOperation genOperation : genClass.getGenOperations()) { |
| stringBuffer.append(TEXT_199); |
| stringBuffer.append(genClass.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genClass.getOperationID(genOperation, false)); |
| stringBuffer.append(TEXT_175); |
| } |
| } |
| if (c.hasNext()) { |
| stringBuffer.append(TEXT_4); |
| } |
| } |
| } |
| if (!genPackage.getGenEnums().isEmpty()) { |
| stringBuffer.append(TEXT_200); |
| for (GenEnum genEnum : genPackage.getGenEnums()) { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(genEnum.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_201); |
| stringBuffer.append(genEnum.getClassifierID()); |
| stringBuffer.append(TEXT_175); |
| } |
| } |
| if (!genPackage.getGenDataTypes().isEmpty()) { |
| stringBuffer.append(TEXT_202); |
| for (GenDataType genDataType : genPackage.getGenDataTypes()) { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(genDataType.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_203); |
| stringBuffer.append(genDataType.getClassifierID()); |
| stringBuffer.append(TEXT_175); |
| } |
| } |
| stringBuffer.append(TEXT_204); |
| |
| /////////////////////// |
| class Information { |
| @SuppressWarnings("unused") |
| EGenericType eGenericType; |
| int depth; |
| String type; |
| String accessor; |
| } |
| |
| class InformationIterator { |
| Iterator<Object> iterator; |
| |
| InformationIterator(EGenericType eGenericType) { |
| iterator = EcoreUtil.getAllContents(Collections.singleton(eGenericType)); |
| } |
| |
| boolean hasNext() { |
| return iterator.hasNext(); |
| } |
| |
| Information next() { |
| Information information = new Information(); |
| EGenericType eGenericType = information.eGenericType = (EGenericType) iterator.next(); |
| for (EObject container = eGenericType |
| .eContainer(); container instanceof EGenericType; container = container.eContainer()) { |
| ++information.depth; |
| } |
| if (eGenericType.getEClassifier() != null) { |
| GenClassifier genClassifier = genModel.findGenClassifier(eGenericType.getEClassifier()); |
| information.type = genPackage.getPackageInstanceVariable(genClassifier.getGenPackage()) |
| + ".get" + genClassifier.getClassifierAccessorName() + "()"; |
| } else if (eGenericType.getETypeParameter() != null) { |
| ETypeParameter eTypeParameter = eGenericType.getETypeParameter(); |
| if (eTypeParameter.eContainer() instanceof EClass) { |
| information.type = genModel.findGenClassifier((EClass) eTypeParameter.eContainer()) |
| .getClassifierInstanceName() + "_" + eGenericType.getETypeParameter().getName(); |
| } else { |
| information.type = "t" + (((EOperation) eTypeParameter.eContainer()) |
| .getETypeParameters().indexOf(eTypeParameter) + 1); |
| } |
| } else { |
| information.type = ""; |
| } |
| if (information.depth > 0) { |
| if (eGenericType.eContainmentFeature().isMany()) { |
| information.accessor = "getE" |
| + eGenericType.eContainmentFeature().getName().substring(1) + "().add"; |
| } else { |
| information.accessor = "setE" |
| + eGenericType.eContainmentFeature().getName().substring(1); |
| } |
| } |
| return information; |
| } |
| } |
| /////////////////////// |
| int maxGenericTypeAssignment = 0; |
| |
| stringBuffer.append(TEXT_205); |
| { |
| 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) { |
| stringBuffer.append(TEXT_193); |
| } |
| } |
| } |
| stringBuffer.append(TEXT_206); |
| if (!genPackage.getPackageInitializationDependencies().isEmpty()) { |
| stringBuffer.append(TEXT_207); |
| for (GenPackage dep : genPackage.getPackageInitializationDependencies()) { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(dep.getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_67); |
| stringBuffer.append(genPackage.getPackageInstanceVariable(dep)); |
| stringBuffer.append(TEXT_97); |
| stringBuffer.append(dep.getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_77); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage")); |
| stringBuffer.append(TEXT_78); |
| stringBuffer.append(dep.getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_208); |
| } |
| } |
| if (!genPackage.getSubGenPackages().isEmpty()) { |
| stringBuffer.append(TEXT_209); |
| for (GenPackage sub : genPackage.getSubGenPackages()) { |
| stringBuffer.append(TEXT_210); |
| stringBuffer.append(genPackage.getPackageInstanceVariable(sub)); |
| stringBuffer.append(TEXT_175); |
| } |
| } |
| if (!genPackage.getGenClasses().isEmpty()) { |
| boolean firstOperationAssignment = true; |
| int maxTypeParameterAssignment = 0; |
| if (genModel.useGenerics()) { |
| stringBuffer.append(TEXT_211); |
| for (GenClassifier genClassifier : genPackage.getGenClassifiers()) { |
| for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) { |
| if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty() |
| || genTypeParameter.isUsed()) { |
| stringBuffer.append(TEXT_91); |
| stringBuffer |
| .append(genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter")); |
| stringBuffer.append(TEXT_67); |
| stringBuffer.append(genClassifier.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_212); |
| stringBuffer.append(genTypeParameter.getName()); |
| stringBuffer.append(TEXT_213); |
| stringBuffer.append(genClassifier.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_214); |
| stringBuffer.append(genTypeParameter.getName()); |
| stringBuffer.append(TEXT_215); |
| stringBuffer.append(genModel.getNonNLS()); |
| } else { |
| stringBuffer.append(TEXT_216); |
| stringBuffer.append(genClassifier.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_214); |
| stringBuffer.append(genTypeParameter.getName()); |
| stringBuffer.append(TEXT_215); |
| stringBuffer.append(genModel.getNonNLS()); |
| } |
| } |
| } |
| } |
| if (genModel.useGenerics()) { |
| stringBuffer.append(TEXT_217); |
| 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") |
| + " "; |
| } |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(prefix); |
| stringBuffer.append(TEXT_218); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_219); |
| stringBuffer.append(info.type); |
| stringBuffer.append(TEXT_175); |
| if (info.depth > 0) { |
| stringBuffer.append(TEXT_220); |
| stringBuffer.append(info.depth); |
| stringBuffer.append(TEXT_221); |
| stringBuffer.append(info.accessor); |
| stringBuffer.append(TEXT_222); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_175); |
| } |
| } |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(genClassifier.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_212); |
| stringBuffer.append(genTypeParameter.getName()); |
| stringBuffer.append(TEXT_223); |
| } |
| } |
| } |
| } |
| stringBuffer.append(TEXT_224); |
| for (GenClass genClass : genPackage.getGenClasses()) { |
| if (!genClass.hasGenericSuperTypes()) { |
| for (GenClass baseGenClass : genClass.getBaseGenClasses()) { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(genClass.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_225); |
| stringBuffer |
| .append(genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage())); |
| stringBuffer.append(TEXT_226); |
| stringBuffer.append(baseGenClass.getClassifierAccessorName()); |
| stringBuffer.append(TEXT_227); |
| } |
| } 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") + " "; |
| } |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(prefix); |
| stringBuffer.append(TEXT_218); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_219); |
| stringBuffer.append(info.type); |
| stringBuffer.append(TEXT_175); |
| if (info.depth > 0) { |
| stringBuffer.append(TEXT_220); |
| stringBuffer.append(info.depth); |
| stringBuffer.append(TEXT_221); |
| stringBuffer.append(info.accessor); |
| stringBuffer.append(TEXT_222); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_175); |
| } |
| } |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(genClass.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_228); |
| } |
| } |
| } |
| stringBuffer.append(TEXT_229); |
| if (genModel.isOperationReflection()) { |
| stringBuffer.append(TEXT_230); |
| } else { |
| stringBuffer.append(TEXT_231); |
| } |
| 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("<"); |
| stringBuffer.append(TEXT_232); |
| stringBuffer.append(genClass.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_198); |
| if (genClass.isDynamic()) { |
| stringBuffer.append(TEXT_233); |
| } else { |
| stringBuffer.append(genClass.getRawImportedInterfaceName()); |
| stringBuffer.append(TEXT_234); |
| } |
| stringBuffer.append(TEXT_214); |
| stringBuffer.append(genClass.getName()); |
| stringBuffer.append(TEXT_235); |
| stringBuffer.append(genClass.getAbstractFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genClass.getInterfaceFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genClass.getGeneratedInstanceClassFlag()); |
| if (hasInstanceTypeName) { |
| stringBuffer.append(TEXT_214); |
| stringBuffer.append(genClass.getEcoreClass().getInstanceTypeName()); |
| stringBuffer.append(TEXT_236); |
| } |
| stringBuffer.append(TEXT_175); |
| stringBuffer.append(genModel.getNonNLS()); |
| if (hasInstanceTypeName) { |
| stringBuffer.append(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") + " "; |
| } |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(prefix); |
| stringBuffer.append(TEXT_218); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_219); |
| stringBuffer.append(info.type); |
| stringBuffer.append(TEXT_175); |
| if (info.depth > 0) { |
| stringBuffer.append(TEXT_220); |
| stringBuffer.append(info.depth); |
| stringBuffer.append(TEXT_221); |
| stringBuffer.append(info.accessor); |
| stringBuffer.append(TEXT_222); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_175); |
| } |
| } |
| } |
| if (genFeature.isReferenceType()) { |
| GenFeature reverseGenFeature = genFeature.getReverse(); |
| String reverse = reverseGenFeature == null ? "null" |
| : genPackage.getPackageInstanceVariable(reverseGenFeature.getGenPackage()) |
| + ".get" + reverseGenFeature.getFeatureAccessorName() + "()"; |
| stringBuffer.append(TEXT_237); |
| stringBuffer.append(genFeature.getFeatureAccessorName()); |
| stringBuffer.append(TEXT_238); |
| if (genFeature.hasGenericType()) { |
| stringBuffer.append(TEXT_239); |
| } else { |
| stringBuffer.append( |
| genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())); |
| stringBuffer.append(TEXT_226); |
| stringBuffer.append(genFeature.getTypeClassifierAccessorName()); |
| stringBuffer.append(TEXT_47); |
| } |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(reverse); |
| stringBuffer.append(TEXT_214); |
| stringBuffer.append(genFeature.getName()); |
| stringBuffer.append(TEXT_235); |
| stringBuffer.append(genFeature.getDefaultValue()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getLowerBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getUpperBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getContainerClass()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getTransientFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getVolatileFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getChangeableFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getContainmentFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getResolveProxiesFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getUnsettableFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getUniqueFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getDerivedFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getOrderedFlag()); |
| stringBuffer.append(TEXT_175); |
| stringBuffer.append(genModel.getNonNLS()); |
| stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2)); |
| for (GenFeature keyFeature : genFeature.getKeys()) { |
| stringBuffer.append(TEXT_240); |
| stringBuffer.append(genFeature.getFeatureAccessorName()); |
| stringBuffer.append(TEXT_241); |
| stringBuffer |
| .append(genPackage.getPackageInstanceVariable(keyFeature.getGenPackage())); |
| stringBuffer.append(TEXT_226); |
| stringBuffer.append(keyFeature.getFeatureAccessorName()); |
| stringBuffer.append(TEXT_227); |
| } |
| } else { |
| stringBuffer.append(TEXT_242); |
| stringBuffer.append(genFeature.getFeatureAccessorName()); |
| stringBuffer.append(TEXT_238); |
| if (genFeature.hasGenericType()) { |
| stringBuffer.append(TEXT_239); |
| } else { |
| stringBuffer.append( |
| genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage())); |
| stringBuffer.append(TEXT_226); |
| stringBuffer.append(genFeature.getTypeClassifierAccessorName()); |
| stringBuffer.append(TEXT_47); |
| } |
| stringBuffer.append(TEXT_214); |
| stringBuffer.append(genFeature.getName()); |
| stringBuffer.append(TEXT_235); |
| stringBuffer.append(genFeature.getDefaultValue()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getLowerBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getUpperBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getContainerClass()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getTransientFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getVolatileFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getChangeableFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getUnsettableFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getIDFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getUniqueFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getDerivedFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genFeature.getOrderedFlag()); |
| stringBuffer.append(TEXT_175); |
| stringBuffer.append(genModel.getNonNLS()); |
| stringBuffer.append(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 = "; |
| } |
| } |
| stringBuffer.append(TEXT_4); |
| if (genModel.useGenerics()) { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(prefix); |
| if (genModel.isOperationReflection()) { |
| stringBuffer.append(TEXT_243); |
| stringBuffer.append(genOperation.getOperationAccessorName()); |
| stringBuffer.append(TEXT_47); |
| } else { |
| stringBuffer.append(TEXT_244); |
| stringBuffer.append(genClass.getClassifierInstanceName()); |
| } |
| stringBuffer.append(TEXT_198); |
| if (genOperation.isVoid() || genOperation.hasGenericType()) { |
| stringBuffer.append(TEXT_233); |
| } else { |
| stringBuffer.append( |
| genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())); |
| stringBuffer.append(TEXT_226); |
| stringBuffer.append(genOperation.getTypeClassifierAccessorName()); |
| stringBuffer.append(TEXT_47); |
| } |
| stringBuffer.append(TEXT_214); |
| stringBuffer.append(genOperation.getName()); |
| stringBuffer.append(TEXT_235); |
| stringBuffer.append(genOperation.getLowerBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genOperation.getUpperBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genOperation.getUniqueFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genOperation.getOrderedFlag()); |
| stringBuffer.append(TEXT_175); |
| stringBuffer.append(genModel.getNonNLS()); |
| } else if (!genOperation.isVoid()) { |
| if (!genOperation.getEcoreOperation().isOrdered() |
| || !genOperation.getEcoreOperation().isUnique()) { |
| needsAddEOperation = true; |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(prefix); |
| if (genModel.isOperationReflection()) { |
| stringBuffer.append(TEXT_243); |
| stringBuffer.append(genOperation.getOperationAccessorName()); |
| stringBuffer.append(TEXT_47); |
| } else { |
| stringBuffer.append(TEXT_244); |
| stringBuffer.append(genClass.getClassifierInstanceName()); |
| } |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append( |
| genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())); |
| stringBuffer.append(TEXT_226); |
| stringBuffer.append(genOperation.getTypeClassifierAccessorName()); |
| stringBuffer.append(TEXT_245); |
| stringBuffer.append(genOperation.getName()); |
| stringBuffer.append(TEXT_235); |
| stringBuffer.append(genOperation.getLowerBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genOperation.getUpperBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genOperation.getUniqueFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genOperation.getOrderedFlag()); |
| stringBuffer.append(TEXT_175); |
| stringBuffer.append(genModel.getNonNLS()); |
| } else { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(prefix); |
| if (genModel.isOperationReflection()) { |
| stringBuffer.append(TEXT_243); |
| stringBuffer.append(genOperation.getOperationAccessorName()); |
| stringBuffer.append(TEXT_47); |
| } else { |
| stringBuffer.append(TEXT_244); |
| stringBuffer.append(genClass.getClassifierInstanceName()); |
| } |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append( |
| genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage())); |
| stringBuffer.append(TEXT_226); |
| stringBuffer.append(genOperation.getTypeClassifierAccessorName()); |
| stringBuffer.append(TEXT_245); |
| stringBuffer.append(genOperation.getName()); |
| stringBuffer.append(TEXT_235); |
| stringBuffer.append(genOperation.getLowerBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genOperation.getUpperBound()); |
| stringBuffer.append(TEXT_175); |
| stringBuffer.append(genModel.getNonNLS()); |
| } |
| } else { |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(prefix); |
| if (genModel.isOperationReflection()) { |
| stringBuffer.append(TEXT_243); |
| stringBuffer.append(genOperation.getOperationAccessorName()); |
| stringBuffer.append(TEXT_47); |
| } else { |
| stringBuffer.append(TEXT_244); |
| stringBuffer.append(genClass.getClassifierInstanceName()); |
| } |
| stringBuffer.append(TEXT_246); |
| stringBuffer.append(genOperation.getName()); |
| stringBuffer.append(TEXT_215); |
| stringBuffer.append(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() + " = "; |
| } |
| } |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(typeParameterVariable); |
| stringBuffer.append(TEXT_247); |
| stringBuffer.append(genTypeParameter.getName()); |
| stringBuffer.append(TEXT_215); |
| stringBuffer.append(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") + " "; |
| } |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(typePrefix); |
| stringBuffer.append(TEXT_218); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_219); |
| stringBuffer.append(info.type); |
| stringBuffer.append(TEXT_175); |
| if (info.depth > 0) { |
| stringBuffer.append(TEXT_220); |
| stringBuffer.append(info.depth); |
| stringBuffer.append(TEXT_221); |
| stringBuffer.append(info.accessor); |
| stringBuffer.append(TEXT_222); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_175); |
| } |
| } |
| stringBuffer.append(TEXT_248); |
| stringBuffer.append(t.nextIndex()); |
| stringBuffer.append(TEXT_223); |
| } |
| } |
| } |
| 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") |
| + " "; |
| } |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(typePrefix); |
| stringBuffer.append(TEXT_218); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_219); |
| stringBuffer.append(info.type); |
| stringBuffer.append(TEXT_175); |
| if (info.depth > 0) { |
| stringBuffer.append(TEXT_220); |
| stringBuffer.append(info.depth); |
| stringBuffer.append(TEXT_221); |
| stringBuffer.append(info.accessor); |
| stringBuffer.append(TEXT_222); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_175); |
| } |
| } |
| } |
| if (genModel.useGenerics()) { |
| stringBuffer.append(TEXT_249); |
| if (genParameter.hasGenericType()) { |
| stringBuffer.append(TEXT_239); |
| } else { |
| stringBuffer.append(genPackage |
| .getPackageInstanceVariable(genParameter.getTypeGenPackage())); |
| stringBuffer.append(TEXT_226); |
| stringBuffer.append(genParameter.getTypeClassifierAccessorName()); |
| stringBuffer.append(TEXT_47); |
| } |
| stringBuffer.append(TEXT_214); |
| stringBuffer.append(genParameter.getName()); |
| stringBuffer.append(TEXT_235); |
| stringBuffer.append(genParameter.getLowerBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genParameter.getUpperBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genParameter.getUniqueFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genParameter.getOrderedFlag()); |
| stringBuffer.append(TEXT_175); |
| stringBuffer.append(genModel.getNonNLS()); |
| } else if (!genParameter.getEcoreParameter().isOrdered() |
| || !genParameter.getEcoreParameter().isUnique()) { |
| needsAddEParameter = true; |
| stringBuffer.append(TEXT_249); |
| if (genParameter.hasGenericType()) { |
| stringBuffer.append(TEXT_239); |
| } else { |
| stringBuffer.append(genPackage |
| .getPackageInstanceVariable(genParameter.getTypeGenPackage())); |
| stringBuffer.append(TEXT_226); |
| stringBuffer.append(genParameter.getTypeClassifierAccessorName()); |
| stringBuffer.append(TEXT_47); |
| } |
| stringBuffer.append(TEXT_214); |
| stringBuffer.append(genParameter.getName()); |
| stringBuffer.append(TEXT_235); |
| stringBuffer.append(genParameter.getLowerBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genParameter.getUpperBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genParameter.getUniqueFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genParameter.getOrderedFlag()); |
| stringBuffer.append(TEXT_175); |
| stringBuffer.append(genModel.getNonNLS()); |
| } else { |
| stringBuffer.append(TEXT_249); |
| if (genParameter.hasGenericType()) { |
| stringBuffer.append(TEXT_239); |
| } else { |
| stringBuffer.append(genPackage |
| .getPackageInstanceVariable(genParameter.getTypeGenPackage())); |
| stringBuffer.append(TEXT_226); |
| stringBuffer.append(genParameter.getTypeClassifierAccessorName()); |
| stringBuffer.append(TEXT_47); |
| } |
| stringBuffer.append(TEXT_214); |
| stringBuffer.append(genParameter.getName()); |
| stringBuffer.append(TEXT_235); |
| stringBuffer.append(genParameter.getLowerBound()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genParameter.getUpperBound()); |
| stringBuffer.append(TEXT_175); |
| stringBuffer.append(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") |
| + " "; |
| } |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(typePrefix); |
| stringBuffer.append(TEXT_218); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_219); |
| stringBuffer.append(info.type); |
| stringBuffer.append(TEXT_175); |
| if (info.depth > 0) { |
| stringBuffer.append(TEXT_220); |
| stringBuffer.append(info.depth); |
| stringBuffer.append(TEXT_221); |
| stringBuffer.append(info.accessor); |
| stringBuffer.append(TEXT_222); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_175); |
| } |
| stringBuffer.append(TEXT_250); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_175); |
| } |
| } |
| } else { |
| for (GenClassifier genException : genOperation.getGenExceptions()) { |
| stringBuffer.append(TEXT_251); |
| stringBuffer.append( |
| genPackage.getPackageInstanceVariable(genException.getGenPackage())); |
| stringBuffer.append(TEXT_226); |
| stringBuffer.append(genException.getClassifierAccessorName()); |
| stringBuffer.append(TEXT_227); |
| } |
| } |
| 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") |
| + " "; |
| } |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(typePrefix); |
| stringBuffer.append(TEXT_218); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_219); |
| stringBuffer.append(info.type); |
| stringBuffer.append(TEXT_175); |
| if (info.depth > 0) { |
| stringBuffer.append(TEXT_220); |
| stringBuffer.append(info.depth); |
| stringBuffer.append(TEXT_221); |
| stringBuffer.append(info.accessor); |
| stringBuffer.append(TEXT_222); |
| stringBuffer.append(info.depth + 1); |
| stringBuffer.append(TEXT_175); |
| } |
| } |
| stringBuffer.append(TEXT_252); |
| } |
| } |
| if (c.hasNext()) { |
| stringBuffer.append(TEXT_4); |
| } |
| } |
| } |
| if (!genPackage.getGenEnums().isEmpty()) { |
| stringBuffer.append(TEXT_253); |
| for (Iterator<GenEnum> e = genPackage.getGenEnums().iterator(); e.hasNext();) { |
| GenEnum genEnum = e.next(); |
| stringBuffer.append(TEXT_254); |
| stringBuffer.append(genEnum.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genEnum.getImportedName()); |
| stringBuffer.append(TEXT_255); |
| stringBuffer.append(genEnum.getName()); |
| stringBuffer.append(TEXT_215); |
| stringBuffer.append(genModel.getNonNLS()); |
| for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) { |
| stringBuffer.append(TEXT_256); |
| stringBuffer.append(genEnum.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genEnum.getImportedName().equals(genEnum.getClassifierID()) |
| ? genEnum.getQualifiedName() |
| : genEnum.getImportedName()); |
| stringBuffer.append(TEXT_221); |
| stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName()); |
| stringBuffer.append(TEXT_175); |
| } |
| if (e.hasNext()) { |
| stringBuffer.append(TEXT_4); |
| } |
| } |
| } |
| if (!genPackage.getGenDataTypes().isEmpty()) { |
| stringBuffer.append(TEXT_257); |
| for (GenDataType genDataType : genPackage.getGenDataTypes()) { |
| boolean hasInstanceTypeName = genModel.useGenerics() |
| && genDataType.getEcoreDataType().getInstanceTypeName() != null |
| && genDataType.getEcoreDataType().getInstanceTypeName().contains("<"); |
| stringBuffer.append(TEXT_258); |
| stringBuffer.append(genDataType.getClassifierInstanceName()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genDataType.getRawImportedInstanceClassName()); |
| stringBuffer.append(TEXT_255); |
| stringBuffer.append(genDataType.getName()); |
| stringBuffer.append(TEXT_235); |
| stringBuffer.append(genDataType.getSerializableFlag()); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(genDataType.getGeneratedInstanceClassFlag()); |
| if (hasInstanceTypeName) { |
| stringBuffer.append(TEXT_214); |
| stringBuffer.append(genDataType.getEcoreDataType().getInstanceTypeName()); |
| stringBuffer.append(TEXT_236); |
| } |
| stringBuffer.append(TEXT_175); |
| stringBuffer.append(genModel.getNonNLS()); |
| if (hasInstanceTypeName) { |
| stringBuffer.append(genModel.getNonNLS(2)); |
| } |
| } |
| } |
| if (genPackage.getSuperGenPackage() == null) { |
| stringBuffer.append(TEXT_259); |
| stringBuffer.append(genPackage.getSchemaLocation()); |
| stringBuffer.append(TEXT_175); |
| } |
| if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) { |
| stringBuffer.append(TEXT_260); |
| for (String annotationSource : genPackage.getAnnotationSources()) { |
| stringBuffer.append(TEXT_261); |
| stringBuffer.append(annotationSource); |
| stringBuffer.append(TEXT_197); |
| stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource)); |
| stringBuffer.append(TEXT_262); |
| } |
| } |
| stringBuffer.append(TEXT_263); |
| for (String annotationSource : genPackage.getAnnotationSources()) { |
| stringBuffer.append(TEXT_264); |
| stringBuffer.append(annotationSource); |
| stringBuffer.append(TEXT_265); |
| stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource)); |
| stringBuffer.append(TEXT_266); |
| if (annotationSource == null) { |
| stringBuffer.append(TEXT_267); |
| } else { |
| stringBuffer.append(TEXT_236); |
| stringBuffer.append(annotationSource); |
| stringBuffer.append(TEXT_28); |
| stringBuffer.append(genModel.getNonNLS()); |
| } |
| for (EAnnotation eAnnotation : genPackage.getAllAnnotations()) { |
| List<GenPackage.AnnotationReferenceData> annotationReferenceDataList = genPackage |
| .getReferenceData(eAnnotation); |
| if (annotationSource == null ? eAnnotation.getSource() == null |
| : annotationSource.equals(eAnnotation.getSource())) { |
| stringBuffer.append(TEXT_268); |
| stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation)); |
| stringBuffer.append(TEXT_269); |
| 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); |
| stringBuffer.append(TEXT_270); |
| stringBuffer.append(key); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(value); |
| stringBuffer.append(k.hasNext() ? "," : ""); |
| stringBuffer.append(genModel.getNonNLS(key + value)); |
| } |
| stringBuffer.append(TEXT_271); |
| if (annotationReferenceDataList.isEmpty()) { |
| stringBuffer.append(TEXT_175); |
| } else { |
| stringBuffer.append(TEXT_272); |
| } |
| if (!annotationReferenceDataList.isEmpty()) { |
| stringBuffer.append(TEXT_273); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI")); |
| stringBuffer.append(TEXT_274); |
| for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList |
| .iterator(); k.hasNext();) { |
| GenPackage.AnnotationReferenceData annotationReferenceData = k.next(); |
| stringBuffer.append(TEXT_275); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI")); |
| stringBuffer.append(TEXT_276); |
| if (annotationReferenceData.containingGenPackage != genPackage) { |
| stringBuffer.append(annotationReferenceData.containingGenPackage |
| .getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_221); |
| } |
| stringBuffer.append(TEXT_277); |
| stringBuffer.append(annotationReferenceData.uriFragment); |
| stringBuffer.append(TEXT_278); |
| if (k.hasNext()) { |
| stringBuffer.append(TEXT_272); |
| } |
| stringBuffer.append(genModel.getNonNLS()); |
| } |
| stringBuffer.append(TEXT_279); |
| } |
| 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); |
| stringBuffer.append(TEXT_268); |
| stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation)); |
| stringBuffer.append(TEXT_280); |
| if (nonContentAnnotation |
| && genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) { |
| stringBuffer.append(TEXT_281); |
| stringBuffer.append(path.toString()); |
| stringBuffer.append(TEXT_282); |
| } else { |
| stringBuffer.append(depth); |
| } |
| stringBuffer.append(TEXT_280); |
| if (nestedAnnotationSource == null) { |
| stringBuffer.append(TEXT_283); |
| } else { |
| stringBuffer.append(TEXT_236); |
| stringBuffer.append(nestedAnnotationSource); |
| stringBuffer.append(TEXT_284); |
| stringBuffer.append(genModel.getNonNLS()); |
| } |
| stringBuffer.append(TEXT_285); |
| 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); |
| stringBuffer.append(TEXT_270); |
| stringBuffer.append(key); |
| stringBuffer.append(TEXT_198); |
| stringBuffer.append(value); |
| stringBuffer.append(l.hasNext() ? "," : ""); |
| stringBuffer.append(genModel.getNonNLS(key + value)); |
| } |
| stringBuffer.append(TEXT_271); |
| if (nestedAnnotationReferenceDataList.isEmpty()) { |
| stringBuffer.append(TEXT_175); |
| } else { |
| stringBuffer.append(TEXT_272); |
| } |
| if (!nestedAnnotationReferenceDataList.isEmpty()) { |
| stringBuffer.append(TEXT_273); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI")); |
| stringBuffer.append(TEXT_274); |
| for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList |
| .iterator(); l.hasNext();) { |
| GenPackage.AnnotationReferenceData annotationReferenceData = l.next(); |
| stringBuffer.append(TEXT_275); |
| stringBuffer |
| .append(genModel.getImportedName("org.eclipse.emf.common.util.URI")); |
| stringBuffer.append(TEXT_276); |
| if (annotationReferenceData.containingGenPackage != genPackage) { |
| stringBuffer.append(annotationReferenceData.containingGenPackage |
| .getImportedPackageInterfaceName()); |
| stringBuffer.append(TEXT_221); |
| } |
| stringBuffer.append(TEXT_277); |
| stringBuffer.append(annotationReferenceData.uriFragment); |
| stringBuffer.append(TEXT_278); |
| if (l.hasNext()) { |
| stringBuffer.append(TEXT_272); |
| } |
| stringBuffer.append(genModel.getNonNLS()); |
| } |
| stringBuffer.append(TEXT_279); |
| } |
| } |
| } |
| } |
| stringBuffer.append(TEXT_263); |
| } |
| } else { |
| if (genPackage.isLoadingInitialization()) { |
| stringBuffer.append(TEXT_286); |
| stringBuffer.append(genModel.getImportedName("java.net.URL")); |
| stringBuffer.append(TEXT_287); |
| stringBuffer.append(genModel.getNonNLS()); |
| stringBuffer.append(TEXT_288); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI")); |
| stringBuffer.append(TEXT_289); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI")); |
| stringBuffer.append(TEXT_290); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource")); |
| stringBuffer.append(TEXT_291); |
| stringBuffer.append( |
| genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl")); |
| stringBuffer.append(TEXT_292); |
| stringBuffer.append(genModel.getImportedName("java.io.IOException")); |
| stringBuffer.append(TEXT_293); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException")); |
| stringBuffer.append(TEXT_294); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage")); |
| stringBuffer.append(TEXT_295); |
| } |
| stringBuffer.append(TEXT_296); |
| if (genModel.useClassOverrideAnnotation()) { |
| stringBuffer.append(TEXT_156); |
| } |
| stringBuffer.append(TEXT_297); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")); |
| stringBuffer.append(TEXT_298); |
| ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>(); |
| for (GenClass genClass : genPackage.getGenClasses()) { |
| if (genClass.isDynamic()) { |
| dynamicGenClasses.add(genClass); |
| } |
| } |
| if (dynamicGenClasses.isEmpty()) { |
| stringBuffer.append(TEXT_299); |
| stringBuffer.append(genPackage.getInterfacePackageName()); |
| stringBuffer.append(TEXT_300); |
| stringBuffer.append(genModel.getNonNLS()); |
| stringBuffer.append(TEXT_301); |
| } else { |
| stringBuffer.append(TEXT_302); |
| for (GenClass genClass : dynamicGenClasses) { |
| if (genClass.isDynamic()) { |
| stringBuffer.append(TEXT_303); |
| stringBuffer.append(genPackage.getClassifierID(genClass)); |
| stringBuffer.append(TEXT_304); |
| } |
| } |
| stringBuffer.append(TEXT_305); |
| stringBuffer.append(genPackage.getInterfacePackageName()); |
| stringBuffer.append(TEXT_300); |
| stringBuffer.append(genModel.getNonNLS()); |
| stringBuffer.append(TEXT_306); |
| } |
| stringBuffer.append(TEXT_307); |
| } |
| if (needsAddEOperation) { |
| stringBuffer.append(TEXT_308); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation")); |
| stringBuffer.append(TEXT_309); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass")); |
| stringBuffer.append(TEXT_310); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")); |
| stringBuffer.append(TEXT_311); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation")); |
| stringBuffer.append(TEXT_312); |
| } |
| if (needsAddEParameter) { |
| stringBuffer.append(TEXT_308); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter")); |
| stringBuffer.append(TEXT_313); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation")); |
| stringBuffer.append(TEXT_310); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier")); |
| stringBuffer.append(TEXT_311); |
| stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter")); |
| stringBuffer.append(TEXT_314); |
| } |
| } |
| if (isInterface && genPackage.isLiteralsInterface()) { |
| stringBuffer.append(TEXT_315); |
| if (genModel.isOperationReflection()) { |
| stringBuffer.append(TEXT_316); |
| } |
| stringBuffer.append(TEXT_317); |
| if (isImplementation) { |
| stringBuffer.append(TEXT_318); |
| } |
| stringBuffer.append(TEXT_319); |
| for (GenClassifier genClassifier : genPackage.getGenClassifiers()) { |
| stringBuffer.append(TEXT_320); |
| if (genClassifier instanceof GenClass) { |
| GenClass genClass = (GenClass) genClassifier; |
| if (!genClass.isInterface()) { |
| stringBuffer.append(TEXT_321); |
| stringBuffer.append(genClass.getQualifiedClassName()); |
| stringBuffer.append(TEXT_40); |
| stringBuffer.append(genClass.getFormattedName()); |
| stringBuffer.append(TEXT_322); |
| stringBuffer.append(genClass.getQualifiedClassName()); |
| } else { |
| stringBuffer.append(TEXT_321); |
| stringBuffer.append(genClass.getRawQualifiedInterfaceName()); |
| stringBuffer.append(TEXT_40); |
| stringBuffer.append(genClass.getFormattedName()); |
| stringBuffer.append(TEXT_322); |
| stringBuffer.append(genClass.getRawQualifiedInterfaceName()); |
| } |
| } else if (genClassifier instanceof GenEnum) { |
| GenEnum genEnum = (GenEnum) genClassifier; |
| stringBuffer.append(TEXT_321); |
| stringBuffer.append(genEnum.getQualifiedName()); |
| stringBuffer.append(TEXT_40); |
| stringBuffer.append(genEnum.getFormattedName()); |
| stringBuffer.append(TEXT_323); |
| stringBuffer.append(genEnum.getQualifiedName()); |
| } else if (genClassifier instanceof GenDataType) { |
| GenDataType genDataType = (GenDataType) genClassifier; |
| stringBuffer.append(TEXT_324); |
| stringBuffer.append(genDataType.getFormattedName()); |
| stringBuffer.append(TEXT_325); |
| if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) { |
| stringBuffer.append(TEXT_326); |
| stringBuffer.append(genDataType.getRawInstanceClassName()); |
| } |
| } |
| stringBuffer.append(TEXT_326); |
| stringBuffer.append(genPackage.getQualifiedPackageClassName()); |
| stringBuffer.append(TEXT_46); |
| stringBuffer.append(genClassifier.getClassifierAccessorName()); |
| stringBuffer.append(TEXT_47); |
| if (genClassifier.hasAPITags()) { |
| stringBuffer.append(TEXT_327); |
| stringBuffer.append(genClassifier.getAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_328); |
| if (isJDK50 && genClassifier.hasAPIDeprecatedTag()) { |
| stringBuffer.append(TEXT_329); |
| } |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(genClassifier.getImportedMetaType()); |
| stringBuffer.append(TEXT_67); |
| stringBuffer.append(genPackage.getClassifierID(genClassifier)); |
| stringBuffer.append(TEXT_330); |
| stringBuffer.append(genClassifier.getClassifierAccessorName()); |
| stringBuffer.append(TEXT_166); |
| if (genClassifier instanceof GenClass) { |
| GenClass genClass = (GenClass) genClassifier; |
| for (GenFeature genFeature : genClass.getGenFeatures()) { |
| stringBuffer.append(TEXT_331); |
| stringBuffer.append(genFeature.getFormattedName()); |
| stringBuffer.append(TEXT_56); |
| stringBuffer.append(genFeature.getFeatureKind()); |
| stringBuffer.append(TEXT_332); |
| if (genFeature.hasImplicitAPITags()) { |
| stringBuffer.append(TEXT_327); |
| stringBuffer.append(genFeature.getImplicitAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_328); |
| if (isJDK50 && genFeature.hasImplicitAPIDeprecatedTag()) { |
| stringBuffer.append(TEXT_329); |
| } |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(genFeature.getImportedMetaType()); |
| stringBuffer.append(TEXT_67); |
| stringBuffer.append(genClass.getFeatureID(genFeature)); |
| stringBuffer.append(TEXT_330); |
| stringBuffer.append(genFeature.getFeatureAccessorName()); |
| stringBuffer.append(TEXT_166); |
| } |
| if (genModel.isOperationReflection()) { |
| for (GenOperation genOperation : genClass.getGenOperations()) { |
| stringBuffer.append(TEXT_331); |
| stringBuffer.append(genOperation.getFormattedName()); |
| stringBuffer.append(TEXT_333); |
| if (genOperation.hasImplicitAPITags()) { |
| stringBuffer.append(TEXT_327); |
| stringBuffer |
| .append(genOperation.getImplicitAPITags(genModel.getIndentation(stringBuffer))); |
| } |
| stringBuffer.append(TEXT_328); |
| if (isJDK50 && genOperation.hasImplicitAPIDeprecatedTag()) { |
| stringBuffer.append(TEXT_329); |
| } |
| stringBuffer.append(TEXT_91); |
| stringBuffer.append(publicStaticFinalFlag); |
| stringBuffer.append(genOperation.getImportedMetaType()); |
| stringBuffer.append(TEXT_67); |
| stringBuffer.append(genClass.getOperationID(genOperation, false)); |
| stringBuffer.append(TEXT_330); |
| stringBuffer.append(genOperation.getOperationAccessorName()); |
| stringBuffer.append(TEXT_166); |
| } |
| } |
| } |
| } |
| stringBuffer.append(TEXT_263); |
| } |
| stringBuffer.append(TEXT_334); |
| stringBuffer.append(isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName()); |
| genModel.emitSortedImports(); |
| stringBuffer.append(TEXT_4); |
| InternalPatternContext ictx = (InternalPatternContext) ctx; |
| new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString()); |
| } |
| |
| public boolean preCondition(PatternContext ctx) throws Exception { |
| GenPackage genPackage = parameter; |
| genModel = parameter.getGenModel(); |
| boolean canGenerate = new CodegenGeneratorAdapter(parameter) |
| .canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.ModelProject"); |
| canGenerate = canGenerate && (genPackage.hasClassifiers()); |
| return canGenerate; |
| } |
| } |