blob: 51a6824edd73c148d309af05fadd85a1e0b9680f [file] [log] [blame]
//Generated with EGF 1.3.0.qualifier
package org.eclipse.egf.emf.pattern.model;
import org.eclipse.egf.emf.pattern.base.*;
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 PackageInterface extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
protected static String nl;
public static synchronized PackageInterface create(String lineSeparator) {
nl = lineSeparator;
PackageInterface result = new PackageInterface();
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 + "package ";
protected final String TEXT_5 = ";";
protected final String TEXT_6 = NL;
protected final String TEXT_7 = 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_8 = NL + " * <li>each operation of each class,</li>";
protected final String TEXT_9 = NL + " * <li>each enum,</li>" + NL + " * <li>and each data type</li>" + NL
+ " * </ul>" + NL + " * <!-- end-user-doc -->";
protected final String TEXT_10 = NL + " * <!-- begin-model-doc -->" + NL + " * ";
protected final String TEXT_11 = NL + " * <!-- end-model-doc -->";
protected final String TEXT_12 = NL + " * @see ";
protected final String TEXT_13 = NL + " * @model ";
protected final String TEXT_14 = NL + " * ";
protected final String TEXT_15 = NL + " * @model";
protected final String TEXT_16 = NL + " * @generated" + NL + " */";
protected final String TEXT_17 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL
+ " * An implementation of the model <b>Package</b>." + NL + " * <!-- end-user-doc -->" + NL
+ " * @generated" + NL + " */";
protected final String TEXT_18 = NL + "public class ";
protected final String TEXT_19 = " extends ";
protected final String TEXT_20 = " implements ";
protected final String TEXT_21 = NL + "public interface ";
protected final String TEXT_22 = " extends ";
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 = ";";
protected final String TEXT_27 = NL;
protected final String TEXT_28 = 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_29 = " eNAME = \"";
protected final String TEXT_30 = "\";";
protected final String TEXT_31 = 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_32 = " eNS_URI = \"";
protected final String TEXT_33 = "\";";
protected final String TEXT_34 = 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_35 = " eNS_PREFIX = \"";
protected final String TEXT_36 = "\";";
protected final String TEXT_37 = 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_38 = " eCONTENT_TYPE = \"";
protected final String TEXT_39 = "\";";
protected final String TEXT_40 = 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_41 = " eINSTANCE = ";
protected final String TEXT_42 = ".init();" + NL;
protected final String TEXT_43 = NL + "\t/**";
protected final String TEXT_44 = NL + "\t * The meta object id for the '{@link ";
protected final String TEXT_45 = " <em>";
protected final String TEXT_46 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
protected final String TEXT_47 = NL + "\t * The meta object id for the '{@link ";
protected final String TEXT_48 = " <em>";
protected final String TEXT_49 = "</em>}' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
protected final String TEXT_50 = NL + "\t * The meta object id for the '{@link ";
protected final String TEXT_51 = " <em>";
protected final String TEXT_52 = "</em>}' enum." + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @see ";
protected final String TEXT_53 = NL + "\t * The meta object id for the '<em>";
protected final String TEXT_54 = "</em>' data type." + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->";
protected final String TEXT_55 = NL + "\t * @see ";
protected final String TEXT_56 = NL + "\t * @see ";
protected final String TEXT_57 = "#get";
protected final String TEXT_58 = "()" + NL + "\t * @generated" + NL + "\t */" + NL + "\t";
protected final String TEXT_59 = "int ";
protected final String TEXT_60 = " = ";
protected final String TEXT_61 = ";" + NL;
protected final String TEXT_62 = NL + "\t/**" + NL + "\t * The feature id for the '<em><b>";
protected final String TEXT_63 = "</b></em>' ";
protected final String TEXT_64 = "." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";
protected final String TEXT_65 = "int ";
protected final String TEXT_66 = " = ";
protected final String TEXT_67 = ";" + NL;
protected final String TEXT_68 = NL + "\t/**" + NL + "\t * The number of structural features of the '<em>";
protected final String TEXT_69 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";
protected final String TEXT_70 = "int ";
protected final String TEXT_71 = " = ";
protected final String TEXT_72 = ";" + NL;
protected final String TEXT_73 = NL + "\t/**" + NL + "\t * The operation id for the '<em>";
protected final String TEXT_74 = "</em>' operation." + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";
protected final String TEXT_75 = "int ";
protected final String TEXT_76 = " = ";
protected final String TEXT_77 = ";" + NL;
protected final String TEXT_78 = NL + "\t/**" + NL + "\t * The number of operations of the '<em>";
protected final String TEXT_79 = "</em>' class." + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t * @ordered" + NL + "\t */" + NL + "\t";
protected final String TEXT_80 = "int ";
protected final String TEXT_81 = " = ";
protected final String TEXT_82 = ";" + NL;
protected final String TEXT_83 = 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_84 = "\";";
protected final String TEXT_85 = NL;
protected final String TEXT_86 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate ";
protected final String TEXT_87 = " ";
protected final String TEXT_88 = " = null;" + NL;
protected final String TEXT_89 = 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_90 = "#eNS_URI" + NL + "\t * @see #init()" + NL + "\t * @generated" + NL + "\t */" + NL
+ "\tprivate ";
protected final String TEXT_91 = "()" + NL + "\t{" + NL + "\t\tsuper(eNS_URI, ";
protected final String TEXT_92 = ");" + 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_93 = "#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_94 = NL + "\t * @see #createPackageContents()" + NL
+ "\t * @see #initializePackageContents()";
protected final String TEXT_95 = NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
protected final String TEXT_96 = " init()" + NL + "\t{" + NL + "\t\tif (isInited) return (";
protected final String TEXT_97 = ")";
protected final String TEXT_98 = ".Registry.INSTANCE.getEPackage(";
protected final String TEXT_99 = ".eNS_URI);" + NL;
protected final String TEXT_100 = NL + "\t\tinitializeRegistryHelpers();" + NL;
protected final String TEXT_101 = NL + "\t\t// Obtain or create and register package" + NL + "\t\t";
protected final String TEXT_102 = " the";
protected final String TEXT_103 = " = (";
protected final String TEXT_104 = ")(";
protected final String TEXT_105 = ".Registry.INSTANCE.get(eNS_URI) instanceof ";
protected final String TEXT_106 = " ? ";
protected final String TEXT_107 = ".Registry.INSTANCE.get(eNS_URI) : new ";
protected final String TEXT_108 = "());" + NL + "" + NL + "\t\tisInited = true;" + NL;
protected final String TEXT_109 = NL + "\t\t// Initialize simple dependencies";
protected final String TEXT_110 = NL + "\t\t";
protected final String TEXT_111 = ".eINSTANCE.eClass();";
protected final String TEXT_112 = NL;
protected final String TEXT_113 = NL + "\t\t// Obtain or create and register interdependencies";
protected final String TEXT_114 = NL + "\t\t";
protected final String TEXT_115 = " ";
protected final String TEXT_116 = " = (";
protected final String TEXT_117 = ")(";
protected final String TEXT_118 = ".Registry.INSTANCE.getEPackage(";
protected final String TEXT_119 = ".eNS_URI) instanceof ";
protected final String TEXT_120 = " ? ";
protected final String TEXT_121 = ".Registry.INSTANCE.getEPackage(";
protected final String TEXT_122 = ".eNS_URI) : ";
protected final String TEXT_123 = ".eINSTANCE);";
protected final String TEXT_124 = NL;
protected final String TEXT_125 = NL + "\t\t// Load packages";
protected final String TEXT_126 = NL + "\t\tthe";
protected final String TEXT_127 = ".loadPackage();";
protected final String TEXT_128 = NL + "\t\t";
protected final String TEXT_129 = ".loadPackage();";
protected final String TEXT_130 = NL;
protected final String TEXT_131 = NL + "\t\t// Create package meta-data objects";
protected final String TEXT_132 = NL + "\t\tthe";
protected final String TEXT_133 = ".createPackageContents();";
protected final String TEXT_134 = NL + "\t\t";
protected final String TEXT_135 = ".createPackageContents();";
protected final String TEXT_136 = NL + NL + "\t\t// Initialize created meta-data";
protected final String TEXT_137 = NL + "\t\tthe";
protected final String TEXT_138 = ".initializePackageContents();";
protected final String TEXT_139 = NL + "\t\t";
protected final String TEXT_140 = ".initializePackageContents();";
protected final String TEXT_141 = NL;
protected final String TEXT_142 = NL + "\t\t// Fix loaded packages";
protected final String TEXT_143 = NL + "\t\tthe";
protected final String TEXT_144 = ".fixPackageContents();";
protected final String TEXT_145 = NL + "\t\t";
protected final String TEXT_146 = ".fixPackageContents();";
protected final String TEXT_147 = NL;
protected final String TEXT_148 = NL + "\t\t// Register package validator" + NL + "\t\t";
protected final String TEXT_149 = ".Registry.INSTANCE.put" + NL + "\t\t\t(the";
protected final String TEXT_150 = ", " + NL + "\t\t\t new ";
protected final String TEXT_151 = ".Descriptor()" + NL + "\t\t\t {" + NL + "\t\t\t\t public ";
protected final String TEXT_152 = " getEValidator()" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return ";
protected final String TEXT_153 = ".INSTANCE;" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL;
protected final String TEXT_154 = NL + "\t\t// Mark meta-data to indicate it can't be changed" + NL + "\t\tthe";
protected final String TEXT_155 = ".freeze();" + NL;
protected final String TEXT_156 = NL + " " + NL + "\t\t// Update the registry and return the package" + NL
+ "\t\t";
protected final String TEXT_157 = ".Registry.INSTANCE.put(";
protected final String TEXT_158 = ".eNS_URI, the";
protected final String TEXT_159 = ");" + NL + "\t\treturn the";
protected final String TEXT_160 = ";" + NL + "\t}";
protected final String TEXT_161 = 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_162 = NL + "\t\t";
protected final String TEXT_163 = ".register" + NL + "\t\t\t(";
protected final String TEXT_164 = ".class, " + NL + "\t\t\t new ";
protected final String TEXT_165 = ".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_166 = ";" + 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_167 = "[size];" + NL + "\t\t\t\t }" + NL + "\t\t\t });";
protected final String TEXT_168 = NL + "\t\t";
protected final String TEXT_169 = ".register" + NL + "\t\t\t(";
protected final String TEXT_170 = ".class, " + NL + "\t\t\t new ";
protected final String TEXT_171 = ".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_172 = ";" + 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_173 = NL + "\t\t\t\t\t return new ";
protected final String TEXT_174 = "[size]";
protected final String TEXT_175 = ";";
protected final String TEXT_176 = NL + "\t\t\t\t\t return new ";
protected final String TEXT_177 = "[size];";
protected final String TEXT_178 = NL + "\t\t\t\t }" + NL + "\t\t});";
protected final String TEXT_179 = 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_180 = ", EBasicWhiteList" + NL + "\t{";
protected final String TEXT_181 = 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_182 = " ";
protected final String TEXT_183 = ";" + NL;
protected final String TEXT_184 = 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_185 = " ";
protected final String TEXT_186 = ";" + NL;
protected final String TEXT_187 = NL + "\t}";
protected final String TEXT_188 = NL;
protected final String TEXT_189 = NL;
protected final String TEXT_190 = NL + "\t/**";
protected final String TEXT_191 = NL + "\t * Returns the meta object for class '{@link ";
protected final String TEXT_192 = " <em>";
protected final String TEXT_193 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for class '<em>";
protected final String TEXT_194 = "</em>'." + NL + "\t * @see ";
protected final String TEXT_195 = NL + "\t * @model ";
protected final String TEXT_196 = NL + "\t * ";
protected final String TEXT_197 = NL + "\t * @model";
protected final String TEXT_198 = NL + "\t * Returns the meta object for enum '{@link ";
protected final String TEXT_199 = " <em>";
protected final String TEXT_200 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for enum '<em>";
protected final String TEXT_201 = "</em>'." + NL + "\t * @see ";
protected final String TEXT_202 = NL + "\t * Returns the meta object for data type '<em>";
protected final String TEXT_203 = "</em>'.";
protected final String TEXT_204 = NL + "\t * Returns the meta object for data type '{@link ";
protected final String TEXT_205 = " <em>";
protected final String TEXT_206 = "</em>}'.";
protected final String TEXT_207 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
+ "\t * @return the meta object for data type '<em>";
protected final String TEXT_208 = "</em>'.";
protected final String TEXT_209 = NL + "\t * @see ";
protected final String TEXT_210 = NL + "\t * @model ";
protected final String TEXT_211 = NL + "\t * ";
protected final String TEXT_212 = NL + "\t * @model";
protected final String TEXT_213 = NL + "\t * @generated" + NL + "\t */";
protected final String TEXT_214 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
protected final String TEXT_215 = NL + "\tpublic ";
protected final String TEXT_216 = " get";
protected final String TEXT_217 = "()" + NL + "\t{";
protected final String TEXT_218 = NL + "\t\tif (";
protected final String TEXT_219 = " == null)" + NL + "\t\t{" + NL + "\t\t\t";
protected final String TEXT_220 = " = (";
protected final String TEXT_221 = ")";
protected final String TEXT_222 = ".Registry.INSTANCE.getEPackage(";
protected final String TEXT_223 = ".eNS_URI).getEClassifiers().get(";
protected final String TEXT_224 = ");" + NL + "\t\t}";
protected final String TEXT_225 = NL + "\t\treturn ";
protected final String TEXT_226 = ";" + NL + "\t}" + NL;
protected final String TEXT_227 = NL + "\t";
protected final String TEXT_228 = " get";
protected final String TEXT_229 = "();" + NL;
protected final String TEXT_230 = NL + "\t/**" + NL + "\t * Returns the meta object for the ";
protected final String TEXT_231 = " '{@link ";
protected final String TEXT_232 = "#";
protected final String TEXT_233 = " <em>";
protected final String TEXT_234 = "</em>}'." + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @return the meta object for the ";
protected final String TEXT_235 = " '<em>";
protected final String TEXT_236 = "</em>'." + NL + "\t * @see ";
protected final String TEXT_237 = "#";
protected final String TEXT_238 = "()";
protected final String TEXT_239 = NL + "\t * @see #get";
protected final String TEXT_240 = "()" + NL + "\t * @generated" + NL + "\t */";
protected final String TEXT_241 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
protected final String TEXT_242 = NL + "\tpublic ";
protected final String TEXT_243 = " get";
protected final String TEXT_244 = "()" + NL + "\t{";
protected final String TEXT_245 = NL + "\t\treturn (";
protected final String TEXT_246 = ")";
protected final String TEXT_247 = ".getEStructuralFeatures().get(";
protected final String TEXT_248 = ");";
protected final String TEXT_249 = NL + " return (";
protected final String TEXT_250 = ")get";
protected final String TEXT_251 = "().getEStructuralFeatures().get(";
protected final String TEXT_252 = ");";
protected final String TEXT_253 = NL + "\t}";
protected final String TEXT_254 = NL + "\t";
protected final String TEXT_255 = " get";
protected final String TEXT_256 = "();";
protected final String TEXT_257 = NL;
protected final String TEXT_258 = NL + "\t/**" + NL + "\t * Returns the meta object for the '{@link ";
protected final String TEXT_259 = "#";
protected final String TEXT_260 = "(";
protected final String TEXT_261 = ") <em>";
protected final String TEXT_262 = "</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_263 = "</em>' operation." + NL + "\t * @see ";
protected final String TEXT_264 = "#";
protected final String TEXT_265 = "(";
protected final String TEXT_266 = ")" + NL + "\t * @generated" + NL + "\t */";
protected final String TEXT_267 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
protected final String TEXT_268 = NL + "\tpublic ";
protected final String TEXT_269 = " get";
protected final String TEXT_270 = "()" + NL + "\t{";
protected final String TEXT_271 = NL + "\t\treturn ";
protected final String TEXT_272 = ".getEOperations().get(";
protected final String TEXT_273 = ");";
protected final String TEXT_274 = NL + " return get";
protected final String TEXT_275 = "().getEOperations().get(";
protected final String TEXT_276 = ");";
protected final String TEXT_277 = NL + "\t}";
protected final String TEXT_278 = NL + "\t";
protected final String TEXT_279 = " get";
protected final String TEXT_280 = "();";
protected final String TEXT_281 = NL;
protected final String TEXT_282 = 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_283 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
protected final String TEXT_284 = NL + "\tpublic ";
protected final String TEXT_285 = " get";
protected final String TEXT_286 = "()" + NL + "\t{" + NL + "\t\treturn (";
protected final String TEXT_287 = ")getEFactoryInstance();" + NL + "\t}";
protected final String TEXT_288 = NL + "\t";
protected final String TEXT_289 = " get";
protected final String TEXT_290 = "();";
protected final String TEXT_291 = NL;
protected final String TEXT_292 = 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 */" + NL
+ "\tpublic void createPackageContents()" + NL + "\t{" + NL + "\t\tif (isCreated) return;" + NL
+ "\t\tisCreated = true;";
protected final String TEXT_293 = NL + NL + "\t\t// Create classes and their features";
protected final String TEXT_294 = NL + "\t\t";
protected final String TEXT_295 = " = create";
protected final String TEXT_296 = "(";
protected final String TEXT_297 = ");";
protected final String TEXT_298 = NL + "\t\tcreate";
protected final String TEXT_299 = "(";
protected final String TEXT_300 = ", ";
protected final String TEXT_301 = ");";
protected final String TEXT_302 = NL + "\t\tcreateEOperation(";
protected final String TEXT_303 = ", ";
protected final String TEXT_304 = ");";
protected final String TEXT_305 = NL;
protected final String TEXT_306 = NL + NL + "\t\t// Create enums";
protected final String TEXT_307 = NL + "\t\t";
protected final String TEXT_308 = " = createEEnum(";
protected final String TEXT_309 = ");";
protected final String TEXT_310 = NL + NL + "\t\t// Create data types";
protected final String TEXT_311 = NL + "\t\t";
protected final String TEXT_312 = " = createEDataType(";
protected final String TEXT_313 = ");";
protected final String TEXT_314 = 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_315 = 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 */"
+ 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_316 = NL + NL + "\t\t// Obtain other dependent packages";
protected final String TEXT_317 = NL + "\t\t";
protected final String TEXT_318 = " ";
protected final String TEXT_319 = " = (";
protected final String TEXT_320 = ")";
protected final String TEXT_321 = ".Registry.INSTANCE.getEPackage(";
protected final String TEXT_322 = ".eNS_URI);";
protected final String TEXT_323 = NL + NL + "\t\t// Add subpackages";
protected final String TEXT_324 = NL + "\t\tgetESubpackages().add(";
protected final String TEXT_325 = ");";
protected final String TEXT_326 = NL + NL + "\t\t// Create type parameters";
protected final String TEXT_327 = NL + "\t\t";
protected final String TEXT_328 = " ";
protected final String TEXT_329 = "_";
protected final String TEXT_330 = " = addETypeParameter(";
protected final String TEXT_331 = ", \"";
protected final String TEXT_332 = "\");";
protected final String TEXT_333 = NL + "\t\taddETypeParameter(";
protected final String TEXT_334 = ", \"";
protected final String TEXT_335 = "\");";
protected final String TEXT_336 = NL + NL + "\t\t// Set bounds for type parameters";
protected final String TEXT_337 = NL + "\t\t";
protected final String TEXT_338 = "g";
protected final String TEXT_339 = " = createEGenericType(";
protected final String TEXT_340 = ");";
protected final String TEXT_341 = NL + "\t\tg";
protected final String TEXT_342 = ".";
protected final String TEXT_343 = "(g";
protected final String TEXT_344 = ");";
protected final String TEXT_345 = NL + "\t\t";
protected final String TEXT_346 = "_";
protected final String TEXT_347 = ".getEBounds().add(g1);";
protected final String TEXT_348 = NL + NL + "\t\t// Add supertypes to classes";
protected final String TEXT_349 = NL + "\t\t";
protected final String TEXT_350 = ".getESuperTypes().add(";
protected final String TEXT_351 = ".get";
protected final String TEXT_352 = "());";
protected final String TEXT_353 = NL + "\t\t";
protected final String TEXT_354 = "g";
protected final String TEXT_355 = " = createEGenericType(";
protected final String TEXT_356 = ");";
protected final String TEXT_357 = NL + "\t\tg";
protected final String TEXT_358 = ".";
protected final String TEXT_359 = "(g";
protected final String TEXT_360 = ");";
protected final String TEXT_361 = NL + "\t\t";
protected final String TEXT_362 = ".getEGenericSuperTypes().add(g1);";
protected final String TEXT_363 = NL + NL + "\t\t// Initialize classes";
protected final String TEXT_364 = ", features, and operations; add parameters";
protected final String TEXT_365 = " and features; add operations and parameters";
protected final String TEXT_366 = NL + "\t\tinitEClass(";
protected final String TEXT_367 = ", ";
protected final String TEXT_368 = "null";
protected final String TEXT_369 = ".class";
protected final String TEXT_370 = ", \"";
protected final String TEXT_371 = "\", ";
protected final String TEXT_372 = ", ";
protected final String TEXT_373 = ", ";
protected final String TEXT_374 = ", \"";
protected final String TEXT_375 = "\"";
protected final String TEXT_376 = ");";
protected final String TEXT_377 = NL + "\t\t";
protected final String TEXT_378 = "g";
protected final String TEXT_379 = " = createEGenericType(";
protected final String TEXT_380 = ");";
protected final String TEXT_381 = NL + "\t\tg";
protected final String TEXT_382 = ".";
protected final String TEXT_383 = "(g";
protected final String TEXT_384 = ");";
protected final String TEXT_385 = NL + "\t\tinitEReference(get";
protected final String TEXT_386 = "(), ";
protected final String TEXT_387 = "g1";
protected final String TEXT_388 = ".get";
protected final String TEXT_389 = "()";
protected final String TEXT_390 = ", ";
protected final String TEXT_391 = ", \"";
protected final String TEXT_392 = "\", ";
protected final String TEXT_393 = ", ";
protected final String TEXT_394 = ", ";
protected final String TEXT_395 = ", ";
protected final String TEXT_396 = ", ";
protected final String TEXT_397 = ", ";
protected final String TEXT_398 = ", ";
protected final String TEXT_399 = ", ";
protected final String TEXT_400 = ", ";
protected final String TEXT_401 = ", ";
protected final String TEXT_402 = ", ";
protected final String TEXT_403 = ", ";
protected final String TEXT_404 = ", ";
protected final String TEXT_405 = ");";
protected final String TEXT_406 = NL + "\t\tget";
protected final String TEXT_407 = "().getEKeys().add(";
protected final String TEXT_408 = ".get";
protected final String TEXT_409 = "());";
protected final String TEXT_410 = NL + "\t\tinitEAttribute(get";
protected final String TEXT_411 = "(), ";
protected final String TEXT_412 = "g1";
protected final String TEXT_413 = ".get";
protected final String TEXT_414 = "()";
protected final String TEXT_415 = ", \"";
protected final String TEXT_416 = "\", ";
protected final String TEXT_417 = ", ";
protected final String TEXT_418 = ", ";
protected final String TEXT_419 = ", ";
protected final String TEXT_420 = ", ";
protected final String TEXT_421 = ", ";
protected final String TEXT_422 = ", ";
protected final String TEXT_423 = ", ";
protected final String TEXT_424 = ", ";
protected final String TEXT_425 = ", ";
protected final String TEXT_426 = ", ";
protected final String TEXT_427 = ", ";
protected final String TEXT_428 = ");";
protected final String TEXT_429 = NL;
protected final String TEXT_430 = NL + "\t\t";
protected final String TEXT_431 = "initEOperation(get";
protected final String TEXT_432 = "()";
protected final String TEXT_433 = "addEOperation(";
protected final String TEXT_434 = ", ";
protected final String TEXT_435 = "null";
protected final String TEXT_436 = ".get";
protected final String TEXT_437 = "()";
protected final String TEXT_438 = ", \"";
protected final String TEXT_439 = "\", ";
protected final String TEXT_440 = ", ";
protected final String TEXT_441 = ", ";
protected final String TEXT_442 = ", ";
protected final String TEXT_443 = ");";
protected final String TEXT_444 = NL + "\t\t";
protected final String TEXT_445 = "initEOperation(get";
protected final String TEXT_446 = "()";
protected final String TEXT_447 = "addEOperation(";
protected final String TEXT_448 = ", ";
protected final String TEXT_449 = ".get";
protected final String TEXT_450 = "(), \"";
protected final String TEXT_451 = "\", ";
protected final String TEXT_452 = ", ";
protected final String TEXT_453 = ", ";
protected final String TEXT_454 = ", ";
protected final String TEXT_455 = ");";
protected final String TEXT_456 = NL + "\t\t";
protected final String TEXT_457 = "initEOperation(get";
protected final String TEXT_458 = "()";
protected final String TEXT_459 = "addEOperation(";
protected final String TEXT_460 = ", ";
protected final String TEXT_461 = ".get";
protected final String TEXT_462 = "(), \"";
protected final String TEXT_463 = "\", ";
protected final String TEXT_464 = ", ";
protected final String TEXT_465 = ");";
protected final String TEXT_466 = NL + "\t\t";
protected final String TEXT_467 = "initEOperation(get";
protected final String TEXT_468 = "()";
protected final String TEXT_469 = "addEOperation(";
protected final String TEXT_470 = ", null, \"";
protected final String TEXT_471 = "\");";
protected final String TEXT_472 = NL + "\t\t";
protected final String TEXT_473 = "addETypeParameter(op, \"";
protected final String TEXT_474 = "\");";
protected final String TEXT_475 = NL + "\t\t";
protected final String TEXT_476 = "g";
protected final String TEXT_477 = " = createEGenericType(";
protected final String TEXT_478 = ");";
protected final String TEXT_479 = NL + "\t\tg";
protected final String TEXT_480 = ".";
protected final String TEXT_481 = "(g";
protected final String TEXT_482 = ");";
protected final String TEXT_483 = NL + "\t\tt";
protected final String TEXT_484 = ".getEBounds().add(g1);";
protected final String TEXT_485 = NL + "\t\t";
protected final String TEXT_486 = "g";
protected final String TEXT_487 = " = createEGenericType(";
protected final String TEXT_488 = ");";
protected final String TEXT_489 = NL + "\t\tg";
protected final String TEXT_490 = ".";
protected final String TEXT_491 = "(g";
protected final String TEXT_492 = ");";
protected final String TEXT_493 = NL + "\t\taddEParameter(op, ";
protected final String TEXT_494 = "g1";
protected final String TEXT_495 = ".get";
protected final String TEXT_496 = "()";
protected final String TEXT_497 = ", \"";
protected final String TEXT_498 = "\", ";
protected final String TEXT_499 = ", ";
protected final String TEXT_500 = ", ";
protected final String TEXT_501 = ", ";
protected final String TEXT_502 = ");";
protected final String TEXT_503 = NL + "\t\taddEParameter(op, ";
protected final String TEXT_504 = "g1";
protected final String TEXT_505 = ".get";
protected final String TEXT_506 = "()";
protected final String TEXT_507 = ", \"";
protected final String TEXT_508 = "\", ";
protected final String TEXT_509 = ", ";
protected final String TEXT_510 = ", ";
protected final String TEXT_511 = ", ";
protected final String TEXT_512 = ");";
protected final String TEXT_513 = NL + "\t\taddEParameter(op, ";
protected final String TEXT_514 = "g1";
protected final String TEXT_515 = ".get";
protected final String TEXT_516 = "()";
protected final String TEXT_517 = ", \"";
protected final String TEXT_518 = "\", ";
protected final String TEXT_519 = ", ";
protected final String TEXT_520 = ");";
protected final String TEXT_521 = NL + "\t\t";
protected final String TEXT_522 = "g";
protected final String TEXT_523 = " = createEGenericType(";
protected final String TEXT_524 = ");";
protected final String TEXT_525 = NL + "\t\tg";
protected final String TEXT_526 = ".";
protected final String TEXT_527 = "(g";
protected final String TEXT_528 = ");";
protected final String TEXT_529 = NL + "\t\taddEException(op, g";
protected final String TEXT_530 = ");";
protected final String TEXT_531 = NL + "\t\taddEException(op, ";
protected final String TEXT_532 = ".get";
protected final String TEXT_533 = "());";
protected final String TEXT_534 = NL + "\t\t";
protected final String TEXT_535 = "g";
protected final String TEXT_536 = " = createEGenericType(";
protected final String TEXT_537 = ");";
protected final String TEXT_538 = NL + "\t\tg";
protected final String TEXT_539 = ".";
protected final String TEXT_540 = "(g";
protected final String TEXT_541 = ");";
protected final String TEXT_542 = NL + "\t\tinitEOperation(op, g1);";
protected final String TEXT_543 = NL;
protected final String TEXT_544 = NL + NL + "\t\t// Initialize enums and add enum literals";
protected final String TEXT_545 = NL + "\t\tinitEEnum(";
protected final String TEXT_546 = ", ";
protected final String TEXT_547 = ".class, \"";
protected final String TEXT_548 = "\");";
protected final String TEXT_549 = NL + "\t\taddEEnumLiteral(";
protected final String TEXT_550 = ", ";
protected final String TEXT_551 = ".";
protected final String TEXT_552 = ");";
protected final String TEXT_553 = NL;
protected final String TEXT_554 = NL + NL + "\t\t// Initialize data types";
protected final String TEXT_555 = NL + "\t\tinitEDataType(";
protected final String TEXT_556 = ", ";
protected final String TEXT_557 = ".class, \"";
protected final String TEXT_558 = "\", ";
protected final String TEXT_559 = ", ";
protected final String TEXT_560 = ", \"";
protected final String TEXT_561 = "\"";
protected final String TEXT_562 = ");";
protected final String TEXT_563 = NL + NL + "\t\t// Create resource" + NL + "\t\tcreateResource(";
protected final String TEXT_564 = ");";
protected final String TEXT_565 = NL + NL + "\t\t// Create annotations";
protected final String TEXT_566 = NL + "\t\t// ";
protected final String TEXT_567 = NL + "\t\tcreate";
protected final String TEXT_568 = "Annotations();";
protected final String TEXT_569 = NL + "\t}" + NL;
protected final String TEXT_570 = NL + "\t/**" + NL + "\t * Initializes the annotations for <b>";
protected final String TEXT_571 = "</b>." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->"
+ NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void create";
protected final String TEXT_572 = "Annotations()" + NL + "\t{" + NL + "\t\tString source = ";
protected final String TEXT_573 = "null;";
protected final String TEXT_574 = "\"";
protected final String TEXT_575 = "\";";
protected final String TEXT_576 = "\t" + NL + "\t\taddAnnotation" + NL + "\t\t (";
protected final String TEXT_577 = ", " + NL + "\t\t source, " + NL + "\t\t new String[] " + NL + "\t\t {";
protected final String TEXT_578 = NL + "\t\t\t ";
protected final String TEXT_579 = ", ";
protected final String TEXT_580 = NL + "\t\t }";
protected final String TEXT_581 = ");";
protected final String TEXT_582 = ",";
protected final String TEXT_583 = NL + "\t\t new ";
protected final String TEXT_584 = "[] " + NL + "\t\t {";
protected final String TEXT_585 = NL + "\t\t\t ";
protected final String TEXT_586 = ".createURI(";
protected final String TEXT_587 = ".";
protected final String TEXT_588 = "eNS_URI).appendFragment(\"";
protected final String TEXT_589 = "\")";
protected final String TEXT_590 = ",";
protected final String TEXT_591 = NL + "\t\t });";
protected final String TEXT_592 = NL + "\t\taddAnnotation" + NL + "\t\t (";
protected final String TEXT_593 = ", " + NL + "\t\t ";
protected final String TEXT_594 = "new boolean[] { ";
protected final String TEXT_595 = " }";
protected final String TEXT_596 = "," + NL + "\t\t ";
protected final String TEXT_597 = "null,";
protected final String TEXT_598 = "\"";
protected final String TEXT_599 = "\",";
protected final String TEXT_600 = NL + "\t\t new String[] " + NL + "\t\t {";
protected final String TEXT_601 = NL + "\t\t\t ";
protected final String TEXT_602 = ", ";
protected final String TEXT_603 = NL + "\t\t }";
protected final String TEXT_604 = ");";
protected final String TEXT_605 = ",";
protected final String TEXT_606 = NL + "\t\t new ";
protected final String TEXT_607 = "[] " + NL + "\t\t {";
protected final String TEXT_608 = NL + "\t\t\t ";
protected final String TEXT_609 = ".createURI(";
protected final String TEXT_610 = ".";
protected final String TEXT_611 = "eNS_URI).appendFragment(\"";
protected final String TEXT_612 = "\")";
protected final String TEXT_613 = ",";
protected final String TEXT_614 = NL + "\t\t });";
protected final String TEXT_615 = NL + "\t}" + NL;
protected final String TEXT_616 = 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_617 = " 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_618 = NL + "\t\t}" + NL + "\t\t";
protected final String TEXT_619 = " uri = ";
protected final String TEXT_620 = ".createURI(url.toString());" + NL + "\t\t";
protected final String TEXT_621 = " resource = new ";
protected final String TEXT_622 = "().createResource(uri);" + NL + "\t\ttry" + NL + "\t\t{" + NL
+ "\t\t\tresource.load(null);" + NL + "\t\t}" + NL + "\t\tcatch (";
protected final String TEXT_623 = " exception)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";
protected final String TEXT_624 = "(exception);" + NL + "\t\t}" + NL + "\t\tinitializeFromLoadedEPackage(this, (";
protected final String TEXT_625 = ")resource.getContents().get(0));" + NL + "\t\tcreateResource(eNS_URI);" + NL
+ "\t}" + NL;
protected final String TEXT_626 = 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_627 = NL + "\t@Override";
protected final String TEXT_628 = NL + "\tprotected void fixInstanceClass(";
protected final String TEXT_629 = " eClassifier)" + NL + "\t{" + NL
+ "\t\tif (eClassifier.getInstanceClassName() == null)" + NL + "\t\t{";
protected final String TEXT_630 = NL + "\t\t\teClassifier.setInstanceClassName(\"";
protected final String TEXT_631 = ".\" + eClassifier.getName());";
protected final String TEXT_632 = NL + "\t\t\tsetGeneratedClassName(eClassifier);";
protected final String TEXT_633 = NL + "\t\t\tswitch (eClassifier.getClassifierID())" + NL + "\t\t\t{";
protected final String TEXT_634 = NL + "\t\t\t\tcase ";
protected final String TEXT_635 = ":";
protected final String TEXT_636 = 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_637 = ".\" + eClassifier.getName());";
protected final String TEXT_638 = 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_639 = NL + "\t\t}" + NL + "\t}" + NL;
protected final String TEXT_640 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
protected final String TEXT_641 = " addEOperation(";
protected final String TEXT_642 = " owner, ";
protected final String TEXT_643 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"
+ NL + "\t{" + NL + "\t\t";
protected final String TEXT_644 = " o = addEOperation(owner, type, name, lowerBound, upperBound);" + NL
+ "\t\to.setUnique(isUnique);" + NL + "\t\to.setOrdered(isOrdered);" + NL + "\t\treturn o;" + NL + "\t}"
+ NL + "\t";
protected final String TEXT_645 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
protected final String TEXT_646 = " addEParameter(";
protected final String TEXT_647 = " owner, ";
protected final String TEXT_648 = " type, String name, int lowerBound, int upperBound, boolean isUnique, boolean isOrdered)"
+ NL + "\t{" + NL + "\t\t";
protected final String TEXT_649 = " 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 + "\t";
protected final String TEXT_650 = 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_651 = NL + "\t * <li>each operation of each class,</li>";
protected final String TEXT_652 = 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_653 = "public ";
protected final String TEXT_654 = "interface Literals" + NL + "\t{";
protected final String TEXT_655 = NL + "\t\t/**";
protected final String TEXT_656 = NL + "\t\t * The meta object literal for the '{@link ";
protected final String TEXT_657 = " <em>";
protected final String TEXT_658 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";
protected final String TEXT_659 = NL + "\t\t * The meta object literal for the '{@link ";
protected final String TEXT_660 = " <em>";
protected final String TEXT_661 = "</em>}' class." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";
protected final String TEXT_662 = NL + "\t\t * The meta object literal for the '{@link ";
protected final String TEXT_663 = " <em>";
protected final String TEXT_664 = "</em>}' enum." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @see ";
protected final String TEXT_665 = NL + "\t\t * The meta object literal for the '<em>";
protected final String TEXT_666 = "</em>' data type." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ "\t\t * <!-- end-user-doc -->";
protected final String TEXT_667 = NL + "\t\t * @see ";
protected final String TEXT_668 = NL + "\t\t * @see ";
protected final String TEXT_669 = "#get";
protected final String TEXT_670 = "()" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";
protected final String TEXT_671 = " ";
protected final String TEXT_672 = " = eINSTANCE.get";
protected final String TEXT_673 = "();" + NL;
protected final String TEXT_674 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";
protected final String TEXT_675 = "</b></em>' ";
protected final String TEXT_676 = " feature." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";
protected final String TEXT_677 = " ";
protected final String TEXT_678 = " = eINSTANCE.get";
protected final String TEXT_679 = "();" + NL;
protected final String TEXT_680 = NL + "\t\t/**" + NL + "\t\t * The meta object literal for the '<em><b>";
protected final String TEXT_681 = "</b></em>' operation." + NL + "\t\t * <!-- begin-user-doc -->" + NL
+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\t";
protected final String TEXT_682 = " ";
protected final String TEXT_683 = " = eINSTANCE.get";
protected final String TEXT_684 = "();" + NL;
protected final String TEXT_685 = NL + "\t}" + NL;
protected final String TEXT_686 = NL + "} //";
protected final String TEXT_687 = NL;
protected final String TEXT_688 = NL;
protected final String TEXT_689 = NL;
public PackageInterface() {
//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_688);
stringBuffer.append(TEXT_689);
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.getReflectionPackageName();
className = genPackage.getPackageInterfaceName();
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, Boolean.TRUE, Boolean.FALSE } })[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 v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM - Initial API and implementation
*/
final GenPackage genPackage = (GenPackage) ((Object[]) argument)[0];
final GenModel genModel = genPackage.getGenModel();
boolean isInterface = Boolean.TRUE.equals(((Object[]) argument)[1]);
boolean isImplementation = Boolean.TRUE.equals(((Object[]) argument)[2]);
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_4);
stringBuffer.append(genPackage.getReflectionPackageName());
stringBuffer.append(TEXT_5);
}
stringBuffer.append(TEXT_6);
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_7);
if (genModel.isOperationReflection()) {
stringBuffer.append(TEXT_8);
}
stringBuffer.append(TEXT_9);
if (genPackage.hasDocumentation()) {
stringBuffer.append(TEXT_10);
stringBuffer.append(genPackage.getDocumentation(genModel.getIndentation(stringBuffer)));
stringBuffer.append(TEXT_11);
}
stringBuffer.append(TEXT_12);
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_13);
stringBuffer.append(modelInfo);
} else {
stringBuffer.append(TEXT_14);
stringBuffer.append(modelInfo);
}
}
if (first) {
stringBuffer.append(TEXT_15);
}
}
stringBuffer.append(TEXT_16);
} else {
stringBuffer.append(TEXT_17);
}
if (isImplementation) {
stringBuffer.append(TEXT_18);
stringBuffer.append(genPackage.getPackageClassName());
stringBuffer.append(TEXT_19);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl"));
if (!isInterface) {
stringBuffer.append(TEXT_20);
stringBuffer.append(genPackage.getImportedPackageInterfaceName());
}
} else {
stringBuffer.append(TEXT_21);
stringBuffer.append(genPackage.getPackageInterfaceName());
stringBuffer.append(TEXT_22);
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_26);
stringBuffer.append(genModel.getNonNLS());
stringBuffer.append(TEXT_27);
}
if (isInterface) {
stringBuffer.append(TEXT_28);
stringBuffer.append(publicStaticFinalFlag);
stringBuffer.append(genModel.getImportedName("java.lang.String"));
stringBuffer.append(TEXT_29);
stringBuffer.append(genPackage.getPackageName());
stringBuffer.append(TEXT_30);
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.getNSURI());
stringBuffer.append(TEXT_33);
stringBuffer.append(genModel.getNonNLS());
stringBuffer.append(TEXT_34);
stringBuffer.append(publicStaticFinalFlag);
stringBuffer.append(genModel.getImportedName("java.lang.String"));
stringBuffer.append(TEXT_35);
stringBuffer.append(genPackage.getNSName());
stringBuffer.append(TEXT_36);
stringBuffer.append(genModel.getNonNLS());
if (genPackage.isContentType()) {
stringBuffer.append(TEXT_37);
stringBuffer.append(publicStaticFinalFlag);
stringBuffer.append(genModel.getImportedName("java.lang.String"));
stringBuffer.append(TEXT_38);
stringBuffer.append(genPackage.getContentTypeIdentifier());
stringBuffer.append(TEXT_39);
stringBuffer.append(genModel.getNonNLS());
}
stringBuffer.append(TEXT_40);
stringBuffer.append(publicStaticFinalFlag);
stringBuffer.append(genPackage.getPackageInterfaceName());
stringBuffer.append(TEXT_41);
stringBuffer.append(genPackage.getQualifiedPackageClassName());
stringBuffer.append(TEXT_42);
for (GenClassifier genClassifier : genPackage.getOrderedGenClassifiers()) {
stringBuffer.append(TEXT_43);
if (genClassifier instanceof GenClass) {
GenClass genClass = (GenClass) genClassifier;
if (!genClass.isInterface()) {
stringBuffer.append(TEXT_44);
stringBuffer.append(genClass.getQualifiedClassName());
stringBuffer.append(TEXT_45);
stringBuffer.append(genClass.getFormattedName());
stringBuffer.append(TEXT_46);
stringBuffer.append(genClass.getQualifiedClassName());
} else {
stringBuffer.append(TEXT_47);
stringBuffer.append(genClass.getQualifiedInterfaceName());
stringBuffer.append(TEXT_48);
stringBuffer.append(genClass.getFormattedName());
stringBuffer.append(TEXT_49);
stringBuffer.append(genClass.getQualifiedInterfaceName());
}
} else if (genClassifier instanceof GenEnum) {
GenEnum genEnum = (GenEnum) genClassifier;
stringBuffer.append(TEXT_50);
stringBuffer.append(genEnum.getQualifiedName());
stringBuffer.append(TEXT_51);
stringBuffer.append(genEnum.getFormattedName());
stringBuffer.append(TEXT_52);
stringBuffer.append(genEnum.getQualifiedName());
} else if (genClassifier instanceof GenDataType) {
GenDataType genDataType = (GenDataType) genClassifier;
stringBuffer.append(TEXT_53);
stringBuffer.append(genDataType.getFormattedName());
stringBuffer.append(TEXT_54);
if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
stringBuffer.append(TEXT_55);
stringBuffer.append(genDataType.getRawInstanceClassName());
}
}
stringBuffer.append(TEXT_56);
stringBuffer.append(genPackage.getQualifiedPackageClassName());
stringBuffer.append(TEXT_57);
stringBuffer.append(genClassifier.getClassifierAccessorName());
stringBuffer.append(TEXT_58);
stringBuffer.append(publicStaticFinalFlag);
stringBuffer.append(TEXT_59);
stringBuffer.append(genPackage.getClassifierID(genClassifier));
stringBuffer.append(TEXT_60);
stringBuffer.append(genPackage.getClassifierValue(genClassifier));
stringBuffer.append(TEXT_61);
if (genClassifier instanceof GenClass) {
GenClass genClass = (GenClass) genClassifier;
for (GenFeature genFeature : genClass.getAllGenFeatures()) {
stringBuffer.append(TEXT_62);
stringBuffer.append(genFeature.getFormattedName());
stringBuffer.append(TEXT_63);
stringBuffer.append(genFeature.getFeatureKind());
stringBuffer.append(TEXT_64);
stringBuffer.append(publicStaticFinalFlag);
stringBuffer.append(TEXT_65);
stringBuffer.append(genClass.getFeatureID(genFeature));
stringBuffer.append(TEXT_66);
stringBuffer.append(genClass.getFeatureValue(genFeature));
stringBuffer.append(TEXT_67);
}
stringBuffer.append(TEXT_68);
stringBuffer.append(genClass.getFormattedName());
stringBuffer.append(TEXT_69);
stringBuffer.append(publicStaticFinalFlag);
stringBuffer.append(TEXT_70);
stringBuffer.append(genClass.getFeatureCountID());
stringBuffer.append(TEXT_71);
stringBuffer.append(genClass.getFeatureCountValue());
stringBuffer.append(TEXT_72);
if (genModel.isOperationReflection()) {
for (GenOperation genOperation : genClass.getAllGenOperations(false)) {
if (genClass.getOverrideGenOperation(genOperation) == null) {
stringBuffer.append(TEXT_73);
stringBuffer.append(genOperation.getFormattedName());
stringBuffer.append(TEXT_74);
stringBuffer.append(publicStaticFinalFlag);
stringBuffer.append(TEXT_75);
stringBuffer.append(genClass.getOperationID(genOperation, false));
stringBuffer.append(TEXT_76);
stringBuffer.append(genClass.getOperationValue(genOperation));
stringBuffer.append(TEXT_77);
}
}
stringBuffer.append(TEXT_78);
stringBuffer.append(genClass.getFormattedName());
stringBuffer.append(TEXT_79);
stringBuffer.append(publicStaticFinalFlag);
stringBuffer.append(TEXT_80);
stringBuffer.append(genClass.getOperationCountID());
stringBuffer.append(TEXT_81);
stringBuffer.append(genClass.getOperationCountValue());
stringBuffer.append(TEXT_82);
}
}
}
}
if (isImplementation) {
if (genPackage.isLoadingInitialization()) {
stringBuffer.append(TEXT_83);
stringBuffer.append(genPackage.getSerializedPackageFilename());
stringBuffer.append(TEXT_84);
stringBuffer.append(genModel.getNonNLS());
stringBuffer.append(TEXT_85);
}
for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
stringBuffer.append(TEXT_86);
stringBuffer.append(genClassifier.getImportedMetaType());
stringBuffer.append(TEXT_87);
stringBuffer.append(genClassifier.getClassifierInstanceName());
stringBuffer.append(TEXT_88);
}
stringBuffer.append(TEXT_89);
stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
stringBuffer.append(TEXT_90);
stringBuffer.append(genPackage.getPackageClassName());
stringBuffer.append(TEXT_91);
stringBuffer.append(genPackage.getQualifiedEFactoryInstanceAccessor());
stringBuffer.append(TEXT_92);
stringBuffer.append(genPackage.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_93);
if (!genPackage.isLoadedInitialization()) {
stringBuffer.append(TEXT_94);
}
stringBuffer.append(TEXT_95);
stringBuffer.append(genPackage.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_96);
stringBuffer.append(genPackage.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_97);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
stringBuffer.append(TEXT_98);
stringBuffer.append(genPackage.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_99);
if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
stringBuffer.append(TEXT_100);
}
stringBuffer.append(TEXT_101);
stringBuffer.append(genPackage.getPackageClassName());
stringBuffer.append(TEXT_102);
stringBuffer.append(genPackage.getBasicPackageName());
stringBuffer.append(TEXT_103);
stringBuffer.append(genPackage.getPackageClassName());
stringBuffer.append(TEXT_104);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
stringBuffer.append(TEXT_105);
stringBuffer.append(genPackage.getPackageClassName());
stringBuffer.append(TEXT_106);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
stringBuffer.append(TEXT_107);
stringBuffer.append(genPackage.getPackageClassName());
stringBuffer.append(TEXT_108);
if (!genPackage.getPackageSimpleDependencies().isEmpty()) {
stringBuffer.append(TEXT_109);
for (GenPackage dep : genPackage.getPackageSimpleDependencies()) {
stringBuffer.append(TEXT_110);
stringBuffer.append(dep.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_111);
}
stringBuffer.append(TEXT_112);
}
if (!genPackage.getPackageInterDependencies().isEmpty()) {
stringBuffer.append(TEXT_113);
for (GenPackage interdep : genPackage.getPackageInterDependencies()) {
stringBuffer.append(TEXT_114);
stringBuffer.append(interdep.getImportedPackageClassName());
stringBuffer.append(TEXT_115);
stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
stringBuffer.append(TEXT_116);
stringBuffer.append(interdep.getImportedPackageClassName());
stringBuffer.append(TEXT_117);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
stringBuffer.append(TEXT_118);
stringBuffer.append(interdep.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_119);
stringBuffer.append(interdep.getImportedPackageClassName());
stringBuffer.append(TEXT_120);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
stringBuffer.append(TEXT_121);
stringBuffer.append(interdep.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_122);
stringBuffer.append(interdep.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_123);
}
stringBuffer.append(TEXT_124);
}
if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {
stringBuffer.append(TEXT_125);
if (genPackage.isLoadingInitialization()) {
stringBuffer.append(TEXT_126);
stringBuffer.append(genPackage.getBasicPackageName());
stringBuffer.append(TEXT_127);
}
for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {
if (interdep.isLoadingInitialization()) {
stringBuffer.append(TEXT_128);
stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
stringBuffer.append(TEXT_129);
}
}
stringBuffer.append(TEXT_130);
}
if (!genPackage.isLoadedInitialization() || !genPackage.getPackageBuildInterDependencies().isEmpty()) {
stringBuffer.append(TEXT_131);
if (!genPackage.isLoadedInitialization()) {
stringBuffer.append(TEXT_132);
stringBuffer.append(genPackage.getBasicPackageName());
stringBuffer.append(TEXT_133);
}
for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {
stringBuffer.append(TEXT_134);
stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
stringBuffer.append(TEXT_135);
}
stringBuffer.append(TEXT_136);
if (!genPackage.isLoadedInitialization()) {
stringBuffer.append(TEXT_137);
stringBuffer.append(genPackage.getBasicPackageName());
stringBuffer.append(TEXT_138);
}
for (GenPackage interdep : genPackage.getPackageBuildInterDependencies()) {
stringBuffer.append(TEXT_139);
stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
stringBuffer.append(TEXT_140);
}
stringBuffer.append(TEXT_141);
}
if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {
stringBuffer.append(TEXT_142);
if (genPackage.isLoadedInitialization()) {
stringBuffer.append(TEXT_143);
stringBuffer.append(genPackage.getBasicPackageName());
stringBuffer.append(TEXT_144);
}
for (GenPackage interdep : genPackage.getPackageLoadInterDependencies()) {
stringBuffer.append(TEXT_145);
stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
stringBuffer.append(TEXT_146);
}
stringBuffer.append(TEXT_147);
}
if (genPackage.hasConstraints()) {
stringBuffer.append(TEXT_148);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
stringBuffer.append(TEXT_149);
stringBuffer.append(genPackage.getBasicPackageName());
stringBuffer.append(TEXT_150);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
stringBuffer.append(TEXT_151);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EValidator"));
stringBuffer.append(TEXT_152);
stringBuffer.append(genPackage.getImportedValidatorClassName());
stringBuffer.append(TEXT_153);
}
if (!genPackage.isEcorePackage()) {
stringBuffer.append(TEXT_154);
stringBuffer.append(genPackage.getBasicPackageName());
stringBuffer.append(TEXT_155);
}
stringBuffer.append(TEXT_156);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
stringBuffer.append(TEXT_157);
stringBuffer.append(genPackage.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_158);
stringBuffer.append(genPackage.getBasicPackageName());
stringBuffer.append(TEXT_159);
stringBuffer.append(genPackage.getBasicPackageName());
stringBuffer.append(TEXT_160);
if (genModel.getRuntimePlatform() == GenRuntimePlatform.GWT) {
stringBuffer.append(TEXT_161);
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_162);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
stringBuffer.append(TEXT_163);
stringBuffer.append(theClass);
stringBuffer.append(TEXT_164);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
stringBuffer.append(TEXT_165);
stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()
: genClass.getRawImportedInterfaceName()
+ genClass.getInterfaceWildTypeArguments());
stringBuffer.append(TEXT_166);
stringBuffer.append(theClass);
stringBuffer.append(TEXT_167);
}
}
} 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_168);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
stringBuffer.append(TEXT_169);
stringBuffer.append(theClass);
stringBuffer.append(TEXT_170);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Reflect"));
stringBuffer.append(TEXT_171);
stringBuffer.append(theClass);
stringBuffer.append(TEXT_172);
if (genDataType.isArrayType()) {
String componentType = theClass;
String indices = "";
while (componentType.endsWith("[]")) {
componentType = componentType.substring(0, componentType.length() - 2);
indices += "[]";
}
stringBuffer.append(TEXT_173);
stringBuffer.append(componentType);
stringBuffer.append(TEXT_174);
stringBuffer.append(indices);
stringBuffer.append(TEXT_175);
} else {
stringBuffer.append(TEXT_176);
stringBuffer.append(theClass);
stringBuffer.append(TEXT_177);
}
stringBuffer.append(TEXT_178);
}
}
}
}
stringBuffer.append(TEXT_179);
stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.IsSerializable"));
stringBuffer.append(TEXT_180);
for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
if (genClassifier instanceof GenClass) {
GenClass genClass = (GenClass) genClassifier;
if (!genClass.isDynamic()) {
stringBuffer.append(TEXT_181);
stringBuffer.append(genClass.isMapEntry() ? genClass.getImportedClassName()
: genClass.getImportedWildcardInstanceClassName());
stringBuffer.append(TEXT_182);
stringBuffer.append(genClass.getSafeUncapName());
stringBuffer.append(TEXT_183);
}
} else if (genClassifier instanceof GenDataType) {
GenDataType genDataType = (GenDataType) genClassifier;
if (!genDataType.isObjectType() && genDataType.isSerializable()) {
stringBuffer.append(TEXT_184);
stringBuffer.append(genDataType.getImportedWildcardInstanceClassName());
stringBuffer.append(TEXT_185);
stringBuffer.append(genDataType.getSafeUncapName());
stringBuffer.append(TEXT_186);
}
}
}
stringBuffer.append(TEXT_187);
}
stringBuffer.append(TEXT_188);
}
if (isInterface) { // TODO REMOVE THIS BOGUS EMPTY LINE
stringBuffer.append(TEXT_189);
}
for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
if (isInterface) {
stringBuffer.append(TEXT_190);
if (genClassifier instanceof GenClass) {
GenClass genClass = (GenClass) genClassifier;
stringBuffer.append(TEXT_191);
stringBuffer.append(genClass.getQualifiedInterfaceName());
stringBuffer.append(TEXT_192);
stringBuffer.append(genClass.getFormattedName());
stringBuffer.append(TEXT_193);
stringBuffer.append(genClass.getFormattedName());
stringBuffer.append(TEXT_194);
stringBuffer.append(genClass.getQualifiedInterfaceName());
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_195);
stringBuffer.append(modelInfo);
} else {
stringBuffer.append(TEXT_196);
stringBuffer.append(modelInfo);
}
}
if (first) {
stringBuffer.append(TEXT_197);
}
}
} else if (genClassifier instanceof GenEnum) {
GenEnum genEnum = (GenEnum) genClassifier;
stringBuffer.append(TEXT_198);
stringBuffer.append(genEnum.getQualifiedName());
stringBuffer.append(TEXT_199);
stringBuffer.append(genEnum.getFormattedName());
stringBuffer.append(TEXT_200);
stringBuffer.append(genEnum.getFormattedName());
stringBuffer.append(TEXT_201);
stringBuffer.append(genEnum.getQualifiedName());
} else if (genClassifier instanceof GenDataType) {
GenDataType genDataType = (GenDataType) genClassifier;
if (genDataType.isPrimitiveType() || genDataType.isArrayType()) {
stringBuffer.append(TEXT_202);
stringBuffer.append(genDataType.getFormattedName());
stringBuffer.append(TEXT_203);
} else {
stringBuffer.append(TEXT_204);
stringBuffer.append(genDataType.getRawInstanceClassName());
stringBuffer.append(TEXT_205);
stringBuffer.append(genDataType.getFormattedName());
stringBuffer.append(TEXT_206);
}
stringBuffer.append(TEXT_207);
stringBuffer.append(genDataType.getFormattedName());
stringBuffer.append(TEXT_208);
if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
stringBuffer.append(TEXT_209);
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_210);
stringBuffer.append(modelInfo);
} else {
stringBuffer.append(TEXT_211);
stringBuffer.append(modelInfo);
}
}
if (first) {
stringBuffer.append(TEXT_212);
}
}
}
stringBuffer.append(TEXT_213);
} else {
stringBuffer.append(TEXT_214);
}
if (isImplementation) {
stringBuffer.append(TEXT_215);
stringBuffer.append(genClassifier.getImportedMetaType());
stringBuffer.append(TEXT_216);
stringBuffer.append(genClassifier.getClassifierAccessorName());
stringBuffer.append(TEXT_217);
if (genPackage.isLoadedInitialization()) {
stringBuffer.append(TEXT_218);
stringBuffer.append(genClassifier.getClassifierInstanceName());
stringBuffer.append(TEXT_219);
stringBuffer.append(genClassifier.getClassifierInstanceName());
stringBuffer.append(TEXT_220);
stringBuffer.append(genClassifier.getImportedMetaType());
stringBuffer.append(TEXT_221);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
stringBuffer.append(TEXT_222);
stringBuffer.append(genPackage.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_223);
stringBuffer.append(genPackage.getLocalClassifierIndex(genClassifier));
stringBuffer.append(TEXT_224);
}
stringBuffer.append(TEXT_225);
stringBuffer.append(genClassifier.getClassifierInstanceName());
stringBuffer.append(TEXT_226);
} else {
stringBuffer.append(TEXT_227);
stringBuffer.append(genClassifier.getImportedMetaType());
stringBuffer.append(TEXT_228);
stringBuffer.append(genClassifier.getClassifierAccessorName());
stringBuffer.append(TEXT_229);
}
if (genClassifier instanceof GenClass) {
GenClass genClass = (GenClass) genClassifier;
for (GenFeature genFeature : genClass.getGenFeatures()) {
if (isInterface) {
stringBuffer.append(TEXT_230);
stringBuffer.append(genFeature.getFeatureKind());
stringBuffer.append(TEXT_231);
stringBuffer.append(genClass.getQualifiedInterfaceName());
if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {
stringBuffer.append(TEXT_232);
stringBuffer.append(genFeature.getGetAccessor());
}
stringBuffer.append(TEXT_233);
stringBuffer.append(genFeature.getFormattedName());
stringBuffer.append(TEXT_234);
stringBuffer.append(genFeature.getFeatureKind());
stringBuffer.append(TEXT_235);
stringBuffer.append(genFeature.getFormattedName());
stringBuffer.append(TEXT_236);
stringBuffer.append(genClass.getQualifiedInterfaceName());
if (!genClass.isMapEntry() && !genFeature.isSuppressedGetVisibility()) {
stringBuffer.append(TEXT_237);
stringBuffer.append(genFeature.getGetAccessor());
stringBuffer.append(TEXT_238);
}
stringBuffer.append(TEXT_239);
stringBuffer.append(genClass.getClassifierAccessorName());
stringBuffer.append(TEXT_240);
} else {
stringBuffer.append(TEXT_241);
}
if (isImplementation) {
stringBuffer.append(TEXT_242);
stringBuffer.append(genFeature.getImportedMetaType());
stringBuffer.append(TEXT_243);
stringBuffer.append(genFeature.getFeatureAccessorName());
stringBuffer.append(TEXT_244);
if (!genPackage.isLoadedInitialization()) {
stringBuffer.append(TEXT_245);
stringBuffer.append(genFeature.getImportedMetaType());
stringBuffer.append(TEXT_246);
stringBuffer.append(genClass.getClassifierInstanceName());
stringBuffer.append(TEXT_247);
stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));
stringBuffer.append(TEXT_248);
} else {
stringBuffer.append(TEXT_249);
stringBuffer.append(genFeature.getImportedMetaType());
stringBuffer.append(TEXT_250);
stringBuffer.append(genClassifier.getClassifierAccessorName());
stringBuffer.append(TEXT_251);
stringBuffer.append(genClass.getLocalFeatureIndex(genFeature));
stringBuffer.append(TEXT_252);
}
stringBuffer.append(TEXT_253);
} else {
stringBuffer.append(TEXT_254);
stringBuffer.append(genFeature.getImportedMetaType());
stringBuffer.append(TEXT_255);
stringBuffer.append(genFeature.getFeatureAccessorName());
stringBuffer.append(TEXT_256);
}
stringBuffer.append(TEXT_257);
}
if (genModel.isOperationReflection()) {
for (GenOperation genOperation : genClass.getGenOperations()) {
if (isInterface) {
stringBuffer.append(TEXT_258);
stringBuffer.append(genClass.getQualifiedInterfaceName());
stringBuffer.append(TEXT_259);
stringBuffer.append(genOperation.getName());
stringBuffer.append(TEXT_260);
stringBuffer.append(genOperation.getParameterTypes(", "));
stringBuffer.append(TEXT_261);
stringBuffer.append(genOperation.getFormattedName());
stringBuffer.append(TEXT_262);
stringBuffer.append(genOperation.getFormattedName());
stringBuffer.append(TEXT_263);
stringBuffer.append(genClass.getQualifiedInterfaceName());
stringBuffer.append(TEXT_264);
stringBuffer.append(genOperation.getName());
stringBuffer.append(TEXT_265);
stringBuffer.append(genOperation.getParameterTypes(", "));
stringBuffer.append(TEXT_266);
} else {
stringBuffer.append(TEXT_267);
}
if (isImplementation) {
stringBuffer.append(TEXT_268);
stringBuffer.append(genOperation.getImportedMetaType());
stringBuffer.append(TEXT_269);
stringBuffer.append(genOperation.getOperationAccessorName());
stringBuffer.append(TEXT_270);
if (!genPackage.isLoadedInitialization()) {
stringBuffer.append(TEXT_271);
stringBuffer.append(genClass.getClassifierInstanceName());
stringBuffer.append(TEXT_272);
stringBuffer.append(genClass.getLocalOperationIndex(genOperation));
stringBuffer.append(TEXT_273);
} else {
stringBuffer.append(TEXT_274);
stringBuffer.append(genClassifier.getClassifierAccessorName());
stringBuffer.append(TEXT_275);
stringBuffer.append(genClass.getLocalOperationIndex(genOperation));
stringBuffer.append(TEXT_276);
}
stringBuffer.append(TEXT_277);
} else {
stringBuffer.append(TEXT_278);
stringBuffer.append(genOperation.getImportedMetaType());
stringBuffer.append(TEXT_279);
stringBuffer.append(genOperation.getOperationAccessorName());
stringBuffer.append(TEXT_280);
}
stringBuffer.append(TEXT_281);
}
}
}
}
if (isInterface) {
stringBuffer.append(TEXT_282);
} else {
stringBuffer.append(TEXT_283);
}
if (isImplementation) {
stringBuffer.append(TEXT_284);
stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
stringBuffer.append(TEXT_285);
stringBuffer.append(genPackage.getFactoryName());
stringBuffer.append(TEXT_286);
stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
stringBuffer.append(TEXT_287);
} else {
stringBuffer.append(TEXT_288);
stringBuffer.append(genPackage.getFactoryInterfaceName());
stringBuffer.append(TEXT_289);
stringBuffer.append(genPackage.getFactoryName());
stringBuffer.append(TEXT_290);
}
stringBuffer.append(TEXT_291);
if (isImplementation) {
if (!genPackage.isLoadedInitialization()) {
stringBuffer.append(TEXT_292);
if (!genPackage.getGenClasses().isEmpty()) {
stringBuffer.append(TEXT_293);
for (Iterator<GenClass> c = genPackage.getGenClasses().iterator(); c.hasNext();) {
GenClass genClass = c.next();
stringBuffer.append(TEXT_294);
stringBuffer.append(genClass.getClassifierInstanceName());
stringBuffer.append(TEXT_295);
stringBuffer.append(genClass.getMetaType());
stringBuffer.append(TEXT_296);
stringBuffer.append(genClass.getClassifierID());
stringBuffer.append(TEXT_297);
for (GenFeature genFeature : genClass.getGenFeatures()) {
stringBuffer.append(TEXT_298);
stringBuffer.append(genFeature.getMetaType());
stringBuffer.append(TEXT_299);
stringBuffer.append(genClass.getClassifierInstanceName());
stringBuffer.append(TEXT_300);
stringBuffer.append(genClass.getFeatureID(genFeature));
stringBuffer.append(TEXT_301);
}
if (genModel.isOperationReflection()) {
for (GenOperation genOperation : genClass.getGenOperations()) {
stringBuffer.append(TEXT_302);
stringBuffer.append(genClass.getClassifierInstanceName());
stringBuffer.append(TEXT_303);
stringBuffer.append(genClass.getOperationID(genOperation, false));
stringBuffer.append(TEXT_304);
}
}
if (c.hasNext()) {
stringBuffer.append(TEXT_305);
}
}
}
if (!genPackage.getGenEnums().isEmpty()) {
stringBuffer.append(TEXT_306);
for (GenEnum genEnum : genPackage.getGenEnums()) {
stringBuffer.append(TEXT_307);
stringBuffer.append(genEnum.getClassifierInstanceName());
stringBuffer.append(TEXT_308);
stringBuffer.append(genEnum.getClassifierID());
stringBuffer.append(TEXT_309);
}
}
if (!genPackage.getGenDataTypes().isEmpty()) {
stringBuffer.append(TEXT_310);
for (GenDataType genDataType : genPackage.getGenDataTypes()) {
stringBuffer.append(TEXT_311);
stringBuffer.append(genDataType.getClassifierInstanceName());
stringBuffer.append(TEXT_312);
stringBuffer.append(genDataType.getClassifierID());
stringBuffer.append(TEXT_313);
}
}
stringBuffer.append(TEXT_314);
///////////////////////
class Information {
@SuppressWarnings("unused")
EGenericType eGenericType;
int depth;
String type;
String accessor;
}
class InformationIterator {
Iterator<?> 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_315);
if (!genPackage.getPackageInitializationDependencies().isEmpty()) {
stringBuffer.append(TEXT_316);
for (GenPackage dep : genPackage.getPackageInitializationDependencies()) {
stringBuffer.append(TEXT_317);
stringBuffer.append(dep.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_318);
stringBuffer.append(genPackage.getPackageInstanceVariable(dep));
stringBuffer.append(TEXT_319);
stringBuffer.append(dep.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_320);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
stringBuffer.append(TEXT_321);
stringBuffer.append(dep.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_322);
}
}
if (!genPackage.getSubGenPackages().isEmpty()) {
stringBuffer.append(TEXT_323);
for (GenPackage sub : genPackage.getSubGenPackages()) {
stringBuffer.append(TEXT_324);
stringBuffer.append(genPackage.getPackageInstanceVariable(sub));
stringBuffer.append(TEXT_325);
}
}
if (!genPackage.getGenClasses().isEmpty()) {
boolean firstOperationAssignment = true;
int maxTypeParameterAssignment = 0;
if (genModel.useGenerics()) {
stringBuffer.append(TEXT_326);
for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
for (GenTypeParameter genTypeParameter : genClassifier.getGenTypeParameters()) {
if (!genTypeParameter.getEcoreTypeParameter().getEBounds().isEmpty()
|| genTypeParameter.isUsed()) {
stringBuffer.append(TEXT_327);
stringBuffer
.append(genModel.getImportedName("org.eclipse.emf.ecore.ETypeParameter"));
stringBuffer.append(TEXT_328);
stringBuffer.append(genClassifier.getClassifierInstanceName());
stringBuffer.append(TEXT_329);
stringBuffer.append(genTypeParameter.getName());
stringBuffer.append(TEXT_330);
stringBuffer.append(genClassifier.getClassifierInstanceName());
stringBuffer.append(TEXT_331);
stringBuffer.append(genTypeParameter.getName());
stringBuffer.append(TEXT_332);
stringBuffer.append(genModel.getNonNLS());
} else {
stringBuffer.append(TEXT_333);
stringBuffer.append(genClassifier.getClassifierInstanceName());
stringBuffer.append(TEXT_334);
stringBuffer.append(genTypeParameter.getName());
stringBuffer.append(TEXT_335);
stringBuffer.append(genModel.getNonNLS());
}
}
}
}
if (genModel.useGenerics()) {
stringBuffer.append(TEXT_336);
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_337);
stringBuffer.append(prefix);
stringBuffer.append(TEXT_338);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_339);
stringBuffer.append(info.type);
stringBuffer.append(TEXT_340);
if (info.depth > 0) {
stringBuffer.append(TEXT_341);
stringBuffer.append(info.depth);
stringBuffer.append(TEXT_342);
stringBuffer.append(info.accessor);
stringBuffer.append(TEXT_343);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_344);
}
}
stringBuffer.append(TEXT_345);
stringBuffer.append(genClassifier.getClassifierInstanceName());
stringBuffer.append(TEXT_346);
stringBuffer.append(genTypeParameter.getName());
stringBuffer.append(TEXT_347);
}
}
}
}
stringBuffer.append(TEXT_348);
for (GenClass genClass : genPackage.getGenClasses()) {
if (!genClass.hasGenericSuperTypes()) {
for (GenClass baseGenClass : genClass.getBaseGenClasses()) {
stringBuffer.append(TEXT_349);
stringBuffer.append(genClass.getClassifierInstanceName());
stringBuffer.append(TEXT_350);
stringBuffer
.append(genPackage.getPackageInstanceVariable(baseGenClass.getGenPackage()));
stringBuffer.append(TEXT_351);
stringBuffer.append(baseGenClass.getClassifierAccessorName());
stringBuffer.append(TEXT_352);
}
} 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_353);
stringBuffer.append(prefix);
stringBuffer.append(TEXT_354);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_355);
stringBuffer.append(info.type);
stringBuffer.append(TEXT_356);
if (info.depth > 0) {
stringBuffer.append(TEXT_357);
stringBuffer.append(info.depth);
stringBuffer.append(TEXT_358);
stringBuffer.append(info.accessor);
stringBuffer.append(TEXT_359);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_360);
}
}
stringBuffer.append(TEXT_361);
stringBuffer.append(genClass.getClassifierInstanceName());
stringBuffer.append(TEXT_362);
}
}
}
stringBuffer.append(TEXT_363);
if (genModel.isOperationReflection()) {
stringBuffer.append(TEXT_364);
} else {
stringBuffer.append(TEXT_365);
}
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_366);
stringBuffer.append(genClass.getClassifierInstanceName());
stringBuffer.append(TEXT_367);
if (genClass.isDynamic()) {
stringBuffer.append(TEXT_368);
} else {
stringBuffer.append(genClass.getRawImportedInterfaceName());
stringBuffer.append(TEXT_369);
}
stringBuffer.append(TEXT_370);
stringBuffer.append(genClass.getName());
stringBuffer.append(TEXT_371);
stringBuffer.append(genClass.getAbstractFlag());
stringBuffer.append(TEXT_372);
stringBuffer.append(genClass.getInterfaceFlag());
stringBuffer.append(TEXT_373);
stringBuffer.append(genClass.getGeneratedInstanceClassFlag());
if (hasInstanceTypeName) {
stringBuffer.append(TEXT_374);
stringBuffer.append(genClass.getEcoreClass().getInstanceTypeName());
stringBuffer.append(TEXT_375);
}
stringBuffer.append(TEXT_376);
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_377);
stringBuffer.append(prefix);
stringBuffer.append(TEXT_378);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_379);
stringBuffer.append(info.type);
stringBuffer.append(TEXT_380);
if (info.depth > 0) {
stringBuffer.append(TEXT_381);
stringBuffer.append(info.depth);
stringBuffer.append(TEXT_382);
stringBuffer.append(info.accessor);
stringBuffer.append(TEXT_383);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_384);
}
}
}
if (genFeature.isReferenceType()) {
GenFeature reverseGenFeature = genFeature.getReverse();
String reverse = reverseGenFeature == null ? "null"
: genPackage.getPackageInstanceVariable(reverseGenFeature.getGenPackage())
+ ".get" + reverseGenFeature.getFeatureAccessorName() + "()";
stringBuffer.append(TEXT_385);
stringBuffer.append(genFeature.getFeatureAccessorName());
stringBuffer.append(TEXT_386);
if (genFeature.hasGenericType()) {
stringBuffer.append(TEXT_387);
} else {
stringBuffer.append(
genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));
stringBuffer.append(TEXT_388);
stringBuffer.append(genFeature.getTypeClassifierAccessorName());
stringBuffer.append(TEXT_389);
}
stringBuffer.append(TEXT_390);
stringBuffer.append(reverse);
stringBuffer.append(TEXT_391);
stringBuffer.append(genFeature.getName());
stringBuffer.append(TEXT_392);
stringBuffer.append(genFeature.getDefaultValue());
stringBuffer.append(TEXT_393);
stringBuffer.append(genFeature.getLowerBound());
stringBuffer.append(TEXT_394);
stringBuffer.append(genFeature.getUpperBound());
stringBuffer.append(TEXT_395);
stringBuffer.append(genFeature.getContainerClass());
stringBuffer.append(TEXT_396);
stringBuffer.append(genFeature.getTransientFlag());
stringBuffer.append(TEXT_397);
stringBuffer.append(genFeature.getVolatileFlag());
stringBuffer.append(TEXT_398);
stringBuffer.append(genFeature.getChangeableFlag());
stringBuffer.append(TEXT_399);
stringBuffer.append(genFeature.getContainmentFlag());
stringBuffer.append(TEXT_400);
stringBuffer.append(genFeature.getResolveProxiesFlag());
stringBuffer.append(TEXT_401);
stringBuffer.append(genFeature.getUnsettableFlag());
stringBuffer.append(TEXT_402);
stringBuffer.append(genFeature.getUniqueFlag());
stringBuffer.append(TEXT_403);
stringBuffer.append(genFeature.getDerivedFlag());
stringBuffer.append(TEXT_404);
stringBuffer.append(genFeature.getOrderedFlag());
stringBuffer.append(TEXT_405);
stringBuffer.append(genModel.getNonNLS());
stringBuffer.append(genModel.getNonNLS(genFeature.getDefaultValue(), 2));
for (GenFeature keyFeature : genFeature.getKeys()) {
stringBuffer.append(TEXT_406);
stringBuffer.append(genFeature.getFeatureAccessorName());
stringBuffer.append(TEXT_407);
stringBuffer
.append(genPackage.getPackageInstanceVariable(keyFeature.getGenPackage()));
stringBuffer.append(TEXT_408);
stringBuffer.append(keyFeature.getFeatureAccessorName());
stringBuffer.append(TEXT_409);
}
} else {
stringBuffer.append(TEXT_410);
stringBuffer.append(genFeature.getFeatureAccessorName());
stringBuffer.append(TEXT_411);
if (genFeature.hasGenericType()) {
stringBuffer.append(TEXT_412);
} else {
stringBuffer.append(
genPackage.getPackageInstanceVariable(genFeature.getTypeGenPackage()));
stringBuffer.append(TEXT_413);
stringBuffer.append(genFeature.getTypeClassifierAccessorName());
stringBuffer.append(TEXT_414);
}
stringBuffer.append(TEXT_415);
stringBuffer.append(genFeature.getName());
stringBuffer.append(TEXT_416);
stringBuffer.append(genFeature.getDefaultValue());
stringBuffer.append(TEXT_417);
stringBuffer.append(genFeature.getLowerBound());
stringBuffer.append(TEXT_418);
stringBuffer.append(genFeature.getUpperBound());
stringBuffer.append(TEXT_419);
stringBuffer.append(genFeature.getContainerClass());
stringBuffer.append(TEXT_420);
stringBuffer.append(genFeature.getTransientFlag());
stringBuffer.append(TEXT_421);
stringBuffer.append(genFeature.getVolatileFlag());
stringBuffer.append(TEXT_422);
stringBuffer.append(genFeature.getChangeableFlag());
stringBuffer.append(TEXT_423);
stringBuffer.append(genFeature.getUnsettableFlag());
stringBuffer.append(TEXT_424);
stringBuffer.append(genFeature.getIDFlag());
stringBuffer.append(TEXT_425);
stringBuffer.append(genFeature.getUniqueFlag());
stringBuffer.append(TEXT_426);
stringBuffer.append(genFeature.getDerivedFlag());
stringBuffer.append(TEXT_427);
stringBuffer.append(genFeature.getOrderedFlag());
stringBuffer.append(TEXT_428);
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_429);
if (genModel.useGenerics()) {
stringBuffer.append(TEXT_430);
stringBuffer.append(prefix);
if (genModel.isOperationReflection()) {
stringBuffer.append(TEXT_431);
stringBuffer.append(genOperation.getOperationAccessorName());
stringBuffer.append(TEXT_432);
} else {
stringBuffer.append(TEXT_433);
stringBuffer.append(genClass.getClassifierInstanceName());
}
stringBuffer.append(TEXT_434);
if (genOperation.isVoid() || genOperation.hasGenericType()) {
stringBuffer.append(TEXT_435);
} else {
stringBuffer.append(
genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
stringBuffer.append(TEXT_436);
stringBuffer.append(genOperation.getTypeClassifierAccessorName());
stringBuffer.append(TEXT_437);
}
stringBuffer.append(TEXT_438);
stringBuffer.append(genOperation.getName());
stringBuffer.append(TEXT_439);
stringBuffer.append(genOperation.getLowerBound());
stringBuffer.append(TEXT_440);
stringBuffer.append(genOperation.getUpperBound());
stringBuffer.append(TEXT_441);
stringBuffer.append(genOperation.getUniqueFlag());
stringBuffer.append(TEXT_442);
stringBuffer.append(genOperation.getOrderedFlag());
stringBuffer.append(TEXT_443);
stringBuffer.append(genModel.getNonNLS());
} else if (!genOperation.isVoid()) {
if (!genOperation.getEcoreOperation().isOrdered()
|| !genOperation.getEcoreOperation().isUnique()) {
needsAddEOperation = true;
stringBuffer.append(TEXT_444);
stringBuffer.append(prefix);
if (genModel.isOperationReflection()) {
stringBuffer.append(TEXT_445);
stringBuffer.append(genOperation.getOperationAccessorName());
stringBuffer.append(TEXT_446);
} else {
stringBuffer.append(TEXT_447);
stringBuffer.append(genClass.getClassifierInstanceName());
}
stringBuffer.append(TEXT_448);
stringBuffer.append(
genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
stringBuffer.append(TEXT_449);
stringBuffer.append(genOperation.getTypeClassifierAccessorName());
stringBuffer.append(TEXT_450);
stringBuffer.append(genOperation.getName());
stringBuffer.append(TEXT_451);
stringBuffer.append(genOperation.getLowerBound());
stringBuffer.append(TEXT_452);
stringBuffer.append(genOperation.getUpperBound());
stringBuffer.append(TEXT_453);
stringBuffer.append(genOperation.getUniqueFlag());
stringBuffer.append(TEXT_454);
stringBuffer.append(genOperation.getOrderedFlag());
stringBuffer.append(TEXT_455);
stringBuffer.append(genModel.getNonNLS());
} else {
stringBuffer.append(TEXT_456);
stringBuffer.append(prefix);
if (genModel.isOperationReflection()) {
stringBuffer.append(TEXT_457);
stringBuffer.append(genOperation.getOperationAccessorName());
stringBuffer.append(TEXT_458);
} else {
stringBuffer.append(TEXT_459);
stringBuffer.append(genClass.getClassifierInstanceName());
}
stringBuffer.append(TEXT_460);
stringBuffer.append(
genPackage.getPackageInstanceVariable(genOperation.getTypeGenPackage()));
stringBuffer.append(TEXT_461);
stringBuffer.append(genOperation.getTypeClassifierAccessorName());
stringBuffer.append(TEXT_462);
stringBuffer.append(genOperation.getName());
stringBuffer.append(TEXT_463);
stringBuffer.append(genOperation.getLowerBound());
stringBuffer.append(TEXT_464);
stringBuffer.append(genOperation.getUpperBound());
stringBuffer.append(TEXT_465);
stringBuffer.append(genModel.getNonNLS());
}
} else {
stringBuffer.append(TEXT_466);
stringBuffer.append(prefix);
if (genModel.isOperationReflection()) {
stringBuffer.append(TEXT_467);
stringBuffer.append(genOperation.getOperationAccessorName());
stringBuffer.append(TEXT_468);
} else {
stringBuffer.append(TEXT_469);
stringBuffer.append(genClass.getClassifierInstanceName());
}
stringBuffer.append(TEXT_470);
stringBuffer.append(genOperation.getName());
stringBuffer.append(TEXT_471);
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_472);
stringBuffer.append(typeParameterVariable);
stringBuffer.append(TEXT_473);
stringBuffer.append(genTypeParameter.getName());
stringBuffer.append(TEXT_474);
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_475);
stringBuffer.append(typePrefix);
stringBuffer.append(TEXT_476);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_477);
stringBuffer.append(info.type);
stringBuffer.append(TEXT_478);
if (info.depth > 0) {
stringBuffer.append(TEXT_479);
stringBuffer.append(info.depth);
stringBuffer.append(TEXT_480);
stringBuffer.append(info.accessor);
stringBuffer.append(TEXT_481);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_482);
}
}
stringBuffer.append(TEXT_483);
stringBuffer.append(t.nextIndex());
stringBuffer.append(TEXT_484);
}
}
}
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_485);
stringBuffer.append(typePrefix);
stringBuffer.append(TEXT_486);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_487);
stringBuffer.append(info.type);
stringBuffer.append(TEXT_488);
if (info.depth > 0) {
stringBuffer.append(TEXT_489);
stringBuffer.append(info.depth);
stringBuffer.append(TEXT_490);
stringBuffer.append(info.accessor);
stringBuffer.append(TEXT_491);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_492);
}
}
}
if (genModel.useGenerics()) {
stringBuffer.append(TEXT_493);
if (genParameter.hasGenericType()) {
stringBuffer.append(TEXT_494);
} else {
stringBuffer.append(genPackage
.getPackageInstanceVariable(genParameter.getTypeGenPackage()));
stringBuffer.append(TEXT_495);
stringBuffer.append(genParameter.getTypeClassifierAccessorName());
stringBuffer.append(TEXT_496);
}
stringBuffer.append(TEXT_497);
stringBuffer.append(genParameter.getName());
stringBuffer.append(TEXT_498);
stringBuffer.append(genParameter.getLowerBound());
stringBuffer.append(TEXT_499);
stringBuffer.append(genParameter.getUpperBound());
stringBuffer.append(TEXT_500);
stringBuffer.append(genParameter.getUniqueFlag());
stringBuffer.append(TEXT_501);
stringBuffer.append(genParameter.getOrderedFlag());
stringBuffer.append(TEXT_502);
stringBuffer.append(genModel.getNonNLS());
} else if (!genParameter.getEcoreParameter().isOrdered()
|| !genParameter.getEcoreParameter().isUnique()) {
needsAddEParameter = true;
stringBuffer.append(TEXT_503);
if (genParameter.hasGenericType()) {
stringBuffer.append(TEXT_504);
} else {
stringBuffer.append(genPackage
.getPackageInstanceVariable(genParameter.getTypeGenPackage()));
stringBuffer.append(TEXT_505);
stringBuffer.append(genParameter.getTypeClassifierAccessorName());
stringBuffer.append(TEXT_506);
}
stringBuffer.append(TEXT_507);
stringBuffer.append(genParameter.getName());
stringBuffer.append(TEXT_508);
stringBuffer.append(genParameter.getLowerBound());
stringBuffer.append(TEXT_509);
stringBuffer.append(genParameter.getUpperBound());
stringBuffer.append(TEXT_510);
stringBuffer.append(genParameter.getUniqueFlag());
stringBuffer.append(TEXT_511);
stringBuffer.append(genParameter.getOrderedFlag());
stringBuffer.append(TEXT_512);
stringBuffer.append(genModel.getNonNLS());
} else {
stringBuffer.append(TEXT_513);
if (genParameter.hasGenericType()) {
stringBuffer.append(TEXT_514);
} else {
stringBuffer.append(genPackage
.getPackageInstanceVariable(genParameter.getTypeGenPackage()));
stringBuffer.append(TEXT_515);
stringBuffer.append(genParameter.getTypeClassifierAccessorName());
stringBuffer.append(TEXT_516);
}
stringBuffer.append(TEXT_517);
stringBuffer.append(genParameter.getName());
stringBuffer.append(TEXT_518);
stringBuffer.append(genParameter.getLowerBound());
stringBuffer.append(TEXT_519);
stringBuffer.append(genParameter.getUpperBound());
stringBuffer.append(TEXT_520);
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_521);
stringBuffer.append(typePrefix);
stringBuffer.append(TEXT_522);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_523);
stringBuffer.append(info.type);
stringBuffer.append(TEXT_524);
if (info.depth > 0) {
stringBuffer.append(TEXT_525);
stringBuffer.append(info.depth);
stringBuffer.append(TEXT_526);
stringBuffer.append(info.accessor);
stringBuffer.append(TEXT_527);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_528);
}
stringBuffer.append(TEXT_529);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_530);
}
}
} else {
for (GenClassifier genException : genOperation.getGenExceptions()) {
stringBuffer.append(TEXT_531);
stringBuffer.append(
genPackage.getPackageInstanceVariable(genException.getGenPackage()));
stringBuffer.append(TEXT_532);
stringBuffer.append(genException.getClassifierAccessorName());
stringBuffer.append(TEXT_533);
}
}
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_534);
stringBuffer.append(typePrefix);
stringBuffer.append(TEXT_535);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_536);
stringBuffer.append(info.type);
stringBuffer.append(TEXT_537);
if (info.depth > 0) {
stringBuffer.append(TEXT_538);
stringBuffer.append(info.depth);
stringBuffer.append(TEXT_539);
stringBuffer.append(info.accessor);
stringBuffer.append(TEXT_540);
stringBuffer.append(info.depth + 1);
stringBuffer.append(TEXT_541);
}
}
stringBuffer.append(TEXT_542);
}
}
if (c.hasNext()) {
stringBuffer.append(TEXT_543);
}
}
}
if (!genPackage.getGenEnums().isEmpty()) {
stringBuffer.append(TEXT_544);
for (Iterator<GenEnum> e = genPackage.getGenEnums().iterator(); e.hasNext();) {
GenEnum genEnum = e.next();
stringBuffer.append(TEXT_545);
stringBuffer.append(genEnum.getClassifierInstanceName());
stringBuffer.append(TEXT_546);
stringBuffer.append(genEnum.getImportedName());
stringBuffer.append(TEXT_547);
stringBuffer.append(genEnum.getName());
stringBuffer.append(TEXT_548);
stringBuffer.append(genModel.getNonNLS());
for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
stringBuffer.append(TEXT_549);
stringBuffer.append(genEnum.getClassifierInstanceName());
stringBuffer.append(TEXT_550);
stringBuffer.append(genEnum.getImportedName().equals(genEnum.getClassifierID())
? genEnum.getQualifiedName() : genEnum.getImportedName());
stringBuffer.append(TEXT_551);
stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
stringBuffer.append(TEXT_552);
}
if (e.hasNext()) {
stringBuffer.append(TEXT_553);
}
}
}
if (!genPackage.getGenDataTypes().isEmpty()) {
stringBuffer.append(TEXT_554);
for (GenDataType genDataType : genPackage.getGenDataTypes()) {
boolean hasInstanceTypeName = genModel.useGenerics()
&& genDataType.getEcoreDataType().getInstanceTypeName() != null
&& genDataType.getEcoreDataType().getInstanceTypeName().contains("<");
stringBuffer.append(TEXT_555);
stringBuffer.append(genDataType.getClassifierInstanceName());
stringBuffer.append(TEXT_556);
stringBuffer.append(genDataType.getRawImportedInstanceClassName());
stringBuffer.append(TEXT_557);
stringBuffer.append(genDataType.getName());
stringBuffer.append(TEXT_558);
stringBuffer.append(genDataType.getSerializableFlag());
stringBuffer.append(TEXT_559);
stringBuffer.append(genDataType.getGeneratedInstanceClassFlag());
if (hasInstanceTypeName) {
stringBuffer.append(TEXT_560);
stringBuffer.append(genDataType.getEcoreDataType().getInstanceTypeName());
stringBuffer.append(TEXT_561);
}
stringBuffer.append(TEXT_562);
stringBuffer.append(genModel.getNonNLS());
if (hasInstanceTypeName) {
stringBuffer.append(genModel.getNonNLS(2));
}
}
}
if (genPackage.getSuperGenPackage() == null) {
stringBuffer.append(TEXT_563);
stringBuffer.append(genPackage.getSchemaLocation());
stringBuffer.append(TEXT_564);
}
if (!genPackage.isEcorePackage() && !genPackage.getAnnotationSources().isEmpty()) {
stringBuffer.append(TEXT_565);
for (String annotationSource : genPackage.getAnnotationSources()) {
stringBuffer.append(TEXT_566);
stringBuffer.append(annotationSource);
stringBuffer.append(TEXT_567);
stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));
stringBuffer.append(TEXT_568);
}
}
stringBuffer.append(TEXT_569);
for (String annotationSource : genPackage.getAnnotationSources()) {
stringBuffer.append(TEXT_570);
stringBuffer.append(annotationSource);
stringBuffer.append(TEXT_571);
stringBuffer.append(genPackage.getAnnotationSourceIdentifier(annotationSource));
stringBuffer.append(TEXT_572);
if (annotationSource == null) {
stringBuffer.append(TEXT_573);
} else {
stringBuffer.append(TEXT_574);
stringBuffer.append(annotationSource);
stringBuffer.append(TEXT_575);
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_576);
stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));
stringBuffer.append(TEXT_577);
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_578);
stringBuffer.append(key);
stringBuffer.append(TEXT_579);
stringBuffer.append(value);
stringBuffer.append(k.hasNext() ? "," : "");
stringBuffer.append(genModel.getNonNLS(key + value));
}
stringBuffer.append(TEXT_580);
if (annotationReferenceDataList.isEmpty()) {
stringBuffer.append(TEXT_581);
} else {
stringBuffer.append(TEXT_582);
}
if (!annotationReferenceDataList.isEmpty()) {
stringBuffer.append(TEXT_583);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
stringBuffer.append(TEXT_584);
for (Iterator<GenPackage.AnnotationReferenceData> k = annotationReferenceDataList
.iterator(); k.hasNext();) {
GenPackage.AnnotationReferenceData annotationReferenceData = k.next();
stringBuffer.append(TEXT_585);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
stringBuffer.append(TEXT_586);
if (annotationReferenceData.containingGenPackage != genPackage) {
stringBuffer.append(annotationReferenceData.containingGenPackage
.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_587);
}
stringBuffer.append(TEXT_588);
stringBuffer.append(annotationReferenceData.uriFragment);
stringBuffer.append(TEXT_589);
if (k.hasNext()) {
stringBuffer.append(TEXT_590);
}
stringBuffer.append(genModel.getNonNLS());
}
stringBuffer.append(TEXT_591);
}
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_592);
stringBuffer.append(genPackage.getAnnotatedModelElementAccessor(eAnnotation));
stringBuffer.append(TEXT_593);
if (nonContentAnnotation
&& genModel.getRuntimeVersion().getValue() >= GenRuntimeVersion.EMF210_VALUE) {
stringBuffer.append(TEXT_594);
stringBuffer.append(path.toString());
stringBuffer.append(TEXT_595);
} else {
stringBuffer.append(depth);
}
stringBuffer.append(TEXT_596);
if (nestedAnnotationSource == null) {
stringBuffer.append(TEXT_597);
} else {
stringBuffer.append(TEXT_598);
stringBuffer.append(nestedAnnotationSource);
stringBuffer.append(TEXT_599);
stringBuffer.append(genModel.getNonNLS());
}
stringBuffer.append(TEXT_600);
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_601);
stringBuffer.append(key);
stringBuffer.append(TEXT_602);
stringBuffer.append(value);
stringBuffer.append(l.hasNext() ? "," : "");
stringBuffer.append(genModel.getNonNLS(key + value));
}
stringBuffer.append(TEXT_603);
if (nestedAnnotationReferenceDataList.isEmpty()) {
stringBuffer.append(TEXT_604);
} else {
stringBuffer.append(TEXT_605);
}
if (!nestedAnnotationReferenceDataList.isEmpty()) {
stringBuffer.append(TEXT_606);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
stringBuffer.append(TEXT_607);
for (Iterator<GenPackage.AnnotationReferenceData> l = nestedAnnotationReferenceDataList
.iterator(); l.hasNext();) {
GenPackage.AnnotationReferenceData annotationReferenceData = l.next();
stringBuffer.append(TEXT_608);
stringBuffer
.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
stringBuffer.append(TEXT_609);
if (annotationReferenceData.containingGenPackage != genPackage) {
stringBuffer.append(annotationReferenceData.containingGenPackage
.getImportedPackageInterfaceName());
stringBuffer.append(TEXT_610);
}
stringBuffer.append(TEXT_611);
stringBuffer.append(annotationReferenceData.uriFragment);
stringBuffer.append(TEXT_612);
if (l.hasNext()) {
stringBuffer.append(TEXT_613);
}
stringBuffer.append(genModel.getNonNLS());
}
stringBuffer.append(TEXT_614);
}
}
}
}
stringBuffer.append(TEXT_615);
}
} else {
if (genPackage.isLoadingInitialization()) {
stringBuffer.append(TEXT_616);
stringBuffer.append(genModel.getImportedName("java.net.URL"));
stringBuffer.append(TEXT_617);
stringBuffer.append(genModel.getNonNLS());
stringBuffer.append(TEXT_618);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
stringBuffer.append(TEXT_619);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.URI"));
stringBuffer.append(TEXT_620);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource"));
stringBuffer.append(TEXT_621);
stringBuffer.append(
genModel.getImportedName("org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl"));
stringBuffer.append(TEXT_622);
stringBuffer.append(genModel.getImportedName("java.io.IOException"));
stringBuffer.append(TEXT_623);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));
stringBuffer.append(TEXT_624);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
stringBuffer.append(TEXT_625);
}
stringBuffer.append(TEXT_626);
if (genModel.useClassOverrideAnnotation()) {
stringBuffer.append(TEXT_627);
}
stringBuffer.append(TEXT_628);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
stringBuffer.append(TEXT_629);
ArrayList<GenClass> dynamicGenClasses = new ArrayList<GenClass>();
for (GenClass genClass : genPackage.getGenClasses()) {
if (genClass.isDynamic()) {
dynamicGenClasses.add(genClass);
}
}
if (dynamicGenClasses.isEmpty()) {
stringBuffer.append(TEXT_630);
stringBuffer.append(genPackage.getInterfacePackageName());
stringBuffer.append(TEXT_631);
stringBuffer.append(genModel.getNonNLS());
stringBuffer.append(TEXT_632);
} else {
stringBuffer.append(TEXT_633);
for (GenClass genClass : dynamicGenClasses) {
if (genClass.isDynamic()) {
stringBuffer.append(TEXT_634);
stringBuffer.append(genPackage.getClassifierID(genClass));
stringBuffer.append(TEXT_635);
}
}
stringBuffer.append(TEXT_636);
stringBuffer.append(genPackage.getInterfacePackageName());
stringBuffer.append(TEXT_637);
stringBuffer.append(genModel.getNonNLS());
stringBuffer.append(TEXT_638);
}
stringBuffer.append(TEXT_639);
}
if (needsAddEOperation) {
stringBuffer.append(TEXT_640);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
stringBuffer.append(TEXT_641);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClass"));
stringBuffer.append(TEXT_642);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
stringBuffer.append(TEXT_643);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
stringBuffer.append(TEXT_644);
}
if (needsAddEParameter) {
stringBuffer.append(TEXT_645);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));
stringBuffer.append(TEXT_646);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
stringBuffer.append(TEXT_647);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EClassifier"));
stringBuffer.append(TEXT_648);
stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EParameter"));
stringBuffer.append(TEXT_649);
}
}
if (isInterface && genPackage.isLiteralsInterface()) {
stringBuffer.append(TEXT_650);
if (genModel.isOperationReflection()) {
stringBuffer.append(TEXT_651);
}
stringBuffer.append(TEXT_652);
if (isImplementation) {
stringBuffer.append(TEXT_653);
}
stringBuffer.append(TEXT_654);
for (GenClassifier genClassifier : genPackage.getGenClassifiers()) {
stringBuffer.append(TEXT_655);
if (genClassifier instanceof GenClass) {
GenClass genClass = (GenClass) genClassifier;
if (!genClass.isInterface()) {
stringBuffer.append(TEXT_656);
stringBuffer.append(genClass.getQualifiedClassName());
stringBuffer.append(TEXT_657);
stringBuffer.append(genClass.getFormattedName());
stringBuffer.append(TEXT_658);
stringBuffer.append(genClass.getQualifiedClassName());
} else {
stringBuffer.append(TEXT_659);
stringBuffer.append(genClass.getQualifiedInterfaceName());
stringBuffer.append(TEXT_660);
stringBuffer.append(genClass.getFormattedName());
stringBuffer.append(TEXT_661);
stringBuffer.append(genClass.getQualifiedInterfaceName());
}
} else if (genClassifier instanceof GenEnum) {
GenEnum genEnum = (GenEnum) genClassifier;
stringBuffer.append(TEXT_662);
stringBuffer.append(genEnum.getQualifiedName());
stringBuffer.append(TEXT_663);
stringBuffer.append(genEnum.getFormattedName());
stringBuffer.append(TEXT_664);
stringBuffer.append(genEnum.getQualifiedName());
} else if (genClassifier instanceof GenDataType) {
GenDataType genDataType = (GenDataType) genClassifier;
stringBuffer.append(TEXT_665);
stringBuffer.append(genDataType.getFormattedName());
stringBuffer.append(TEXT_666);
if (!genDataType.isPrimitiveType() && !genDataType.isArrayType()) {
stringBuffer.append(TEXT_667);
stringBuffer.append(genDataType.getRawInstanceClassName());
}
}
stringBuffer.append(TEXT_668);
stringBuffer.append(genPackage.getQualifiedPackageClassName());
stringBuffer.append(TEXT_669);
stringBuffer.append(genClassifier.getClassifierAccessorName());
stringBuffer.append(TEXT_670);
stringBuffer.append(publicStaticFinalFlag);
stringBuffer.append(genClassifier.getImportedMetaType());
stringBuffer.append(TEXT_671);
stringBuffer.append(genPackage.getClassifierID(genClassifier));
stringBuffer.append(TEXT_672);
stringBuffer.append(genClassifier.getClassifierAccessorName());
stringBuffer.append(TEXT_673);
if (genClassifier instanceof GenClass) {
GenClass genClass = (GenClass) genClassifier;
for (GenFeature genFeature : genClass.getGenFeatures()) {
stringBuffer.append(TEXT_674);
stringBuffer.append(genFeature.getFormattedName());
stringBuffer.append(TEXT_675);
stringBuffer.append(genFeature.getFeatureKind());
stringBuffer.append(TEXT_676);
stringBuffer.append(publicStaticFinalFlag);
stringBuffer.append(genFeature.getImportedMetaType());
stringBuffer.append(TEXT_677);
stringBuffer.append(genClass.getFeatureID(genFeature));
stringBuffer.append(TEXT_678);
stringBuffer.append(genFeature.getFeatureAccessorName());
stringBuffer.append(TEXT_679);
}
if (genModel.isOperationReflection()) {
for (GenOperation genOperation : genClass.getGenOperations()) {
stringBuffer.append(TEXT_680);
stringBuffer.append(genOperation.getFormattedName());
stringBuffer.append(TEXT_681);
stringBuffer.append(publicStaticFinalFlag);
stringBuffer.append(genOperation.getImportedMetaType());
stringBuffer.append(TEXT_682);
stringBuffer.append(genClass.getOperationID(genOperation, false));
stringBuffer.append(TEXT_683);
stringBuffer.append(genOperation.getOperationAccessorName());
stringBuffer.append(TEXT_684);
}
}
}
}
stringBuffer.append(TEXT_685);
}
stringBuffer.append(TEXT_686);
stringBuffer.append(isInterface ? genPackage.getPackageInterfaceName() : genPackage.getPackageClassName());
genModel.emitSortedImports();
stringBuffer.append(TEXT_687);
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() && !genModel.isSuppressEMFMetaData()
&& !genModel.isSuppressInterfaces());
return canGenerate;
}
}