KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > emf > codegen > ecore > templates > model > PackageClass


1 package org.eclipse.emf.codegen.ecore.templates.model;
2
3 import java.util.*;
4 import org.eclipse.emf.ecore.*;
5 import org.eclipse.emf.codegen.ecore.genmodel.*;
6 import org.eclipse.emf.codegen.ecore.genmodel.impl.Literals;
7
8 public class PackageClass
9 {
10   protected static String JavaDoc nl;
11   public static synchronized PackageClass create(String JavaDoc lineSeparator)
12   {
13     nl = lineSeparator;
14     PackageClass result = new PackageClass();
15     nl = null;
16     return result;
17   }
18
19   protected final String JavaDoc NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
20   protected final String JavaDoc TEXT_1 = "";
21   protected final String JavaDoc TEXT_2 = "/**" + NL + " * <copyright>" + NL + " * </copyright>" + NL + " *" + NL + " * ";
22   protected final String JavaDoc TEXT_3 = "Id";
23   protected final String JavaDoc TEXT_4 = NL + " */" + NL + "package ";
24   protected final String JavaDoc TEXT_5 = ";" + NL;
25   protected final String JavaDoc TEXT_6 = NL + NL + "/**" + NL + " * <!-- begin-user-doc -->" + NL + " * An implementation of the model <b>Package</b>." + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public class ";
26   protected final String JavaDoc TEXT_7 = " extends ";
27   protected final String JavaDoc TEXT_8 = " implements ";
28   protected final String JavaDoc TEXT_9 = NL + "{";
29   protected final String JavaDoc TEXT_10 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
30   protected final String JavaDoc TEXT_11 = " copyright = \"";
31   protected final String JavaDoc TEXT_12 = "\";";
32   protected final String JavaDoc TEXT_13 = NL;
33   protected final String JavaDoc TEXT_14 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected String packageFilename = \"";
34   protected final String JavaDoc TEXT_15 = "\";";
35   protected final String JavaDoc TEXT_16 = NL;
36   protected final String JavaDoc TEXT_17 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate ";
37   protected final String JavaDoc TEXT_18 = " ";
38   protected final String JavaDoc TEXT_19 = " = null;" + NL;
39   protected final String JavaDoc TEXT_20 = 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 ";
40   protected final String JavaDoc TEXT_21 = "#eNS_URI" + NL + "\t * @see #init()" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate ";
41   protected final String JavaDoc TEXT_22 = "()" + NL + "\t{" + NL + "\t\tsuper(eNS_URI, ";
42   protected final String JavaDoc TEXT_23 = ".eINSTANCE);" + 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" + NL + "\t * model, and for any others upon which it depends. Simple" + NL + "\t * dependencies are satisfied by calling this method on all" + NL + "\t * dependent packages before doing anything else. This method drives" + NL + "\t * initialization for interdependent packages directly, in parallel" + NL + "\t * with this package, itself." + NL + "\t * <p>Of this package and its interdependencies, all packages which" + NL + "\t * have not yet been registered by their URI values are first created" + NL + "\t * and registered. The packages are then initialized in two steps:" + NL + "\t * meta-model objects for all of the packages are created before any" + NL + "\t * are initialized, since one package's meta-model objects may refer to" + NL + "\t * those of another." + NL + "\t * <p>Invocation of this method will not affect any packages that have" + NL + "\t * already been initialized." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #eNS_URI";
43   protected final String JavaDoc TEXT_24 = NL + "\t * @see #createPackageContents()" + NL + "\t * @see #initializePackageContents()";
44   protected final String JavaDoc TEXT_25 = NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
45   protected final String JavaDoc TEXT_26 = " init()" + NL + "\t{" + NL + "\t\tif (isInited) return (";
46   protected final String JavaDoc TEXT_27 = ")";
47   protected final String JavaDoc TEXT_28 = ".Registry.INSTANCE.getEPackage(";
48   protected final String JavaDoc TEXT_29 = ".eNS_URI);" + NL + "" + NL + "\t\t// Obtain or create and register package" + NL + "\t\t";
49   protected final String JavaDoc TEXT_30 = " the";
50   protected final String JavaDoc TEXT_31 = " = (";
51   protected final String JavaDoc TEXT_32 = ")(";
52   protected final String JavaDoc TEXT_33 = ".Registry.INSTANCE.getEPackage(eNS_URI) instanceof ";
53   protected final String JavaDoc TEXT_34 = " ? ";
54   protected final String JavaDoc TEXT_35 = ".Registry.INSTANCE.getEPackage(eNS_URI) : new ";
55   protected final String JavaDoc TEXT_36 = "());" + NL + "" + NL + "\t\tisInited = true;" + NL;
56   protected final String JavaDoc TEXT_37 = NL + "\t\t// Initialize simple dependencies";
57   protected final String JavaDoc TEXT_38 = NL + "\t\t";
58   protected final String JavaDoc TEXT_39 = ".init();";
59   protected final String JavaDoc TEXT_40 = NL;
60   protected final String JavaDoc TEXT_41 = NL + "\t\t// Obtain or create and register interdependencies";
61   protected final String JavaDoc TEXT_42 = NL + "\t\t";
62   protected final String JavaDoc TEXT_43 = " ";
63   protected final String JavaDoc TEXT_44 = " = (";
64   protected final String JavaDoc TEXT_45 = ")(";
65   protected final String JavaDoc TEXT_46 = ".Registry.INSTANCE.getEPackage(";
66   protected final String JavaDoc TEXT_47 = ".eNS_URI) instanceof ";
67   protected final String JavaDoc TEXT_48 = " ? ";
68   protected final String JavaDoc TEXT_49 = ".Registry.INSTANCE.getEPackage(";
69   protected final String JavaDoc TEXT_50 = ".eNS_URI) : ";
70   protected final String JavaDoc TEXT_51 = ".eINSTANCE);";
71   protected final String JavaDoc TEXT_52 = NL;
72   protected final String JavaDoc TEXT_53 = NL + "\t\t// Load packages";
73   protected final String JavaDoc TEXT_54 = NL + "\t\tthe";
74   protected final String JavaDoc TEXT_55 = ".loadPackage();";
75   protected final String JavaDoc TEXT_56 = NL + "\t\t";
76   protected final String JavaDoc TEXT_57 = ".loadPackage();";
77   protected final String JavaDoc TEXT_58 = NL;
78   protected final String JavaDoc TEXT_59 = NL + "\t\t// Create package meta-data objects";
79   protected final String JavaDoc TEXT_60 = NL + "\t\tthe";
80   protected final String JavaDoc TEXT_61 = ".createPackageContents();";
81   protected final String JavaDoc TEXT_62 = NL + "\t\t";
82   protected final String JavaDoc TEXT_63 = ".createPackageContents();";
83   protected final String JavaDoc TEXT_64 = NL + NL + "\t\t// Initialize created meta-data";
84   protected final String JavaDoc TEXT_65 = NL + "\t\tthe";
85   protected final String JavaDoc TEXT_66 = ".initializePackageContents();";
86   protected final String JavaDoc TEXT_67 = NL + "\t\t";
87   protected final String JavaDoc TEXT_68 = ".initializePackageContents();";
88   protected final String JavaDoc TEXT_69 = NL;
89   protected final String JavaDoc TEXT_70 = NL + "\t\t// Fix loaded packages";
90   protected final String JavaDoc TEXT_71 = NL + "\t\tthe";
91   protected final String JavaDoc TEXT_72 = ".fixPackageContents();";
92   protected final String JavaDoc TEXT_73 = NL + "\t\t";
93   protected final String JavaDoc TEXT_74 = ".fixPackageContents();";
94   protected final String JavaDoc TEXT_75 = NL;
95   protected final String JavaDoc TEXT_76 = NL + "\t\t// Register package validator" + NL + "\t\t";
96   protected final String JavaDoc TEXT_77 = ".Registry.INSTANCE.put" + NL + "\t\t\t(the";
97   protected final String JavaDoc TEXT_78 = ", " + NL + "\t\t\t new ";
98   protected final String JavaDoc TEXT_79 = ".Descriptor()" + NL + "\t\t\t {" + NL + "\t\t\t\t public ";
99   protected final String JavaDoc TEXT_80 = " getEValidator()" + NL + "\t\t\t\t {" + NL + "\t\t\t\t\t return ";
100   protected final String JavaDoc TEXT_81 = ".INSTANCE;" + NL + "\t\t\t\t }" + NL + "\t\t\t });" + NL;
101   protected final String JavaDoc TEXT_82 = NL + "\t\t// Mark meta-data to indicate it can't be changed" + NL + "\t\tthe";
102   protected final String JavaDoc TEXT_83 = ".freeze();" + NL;
103   protected final String JavaDoc TEXT_84 = NL + "\t\treturn the";
104   protected final String JavaDoc TEXT_85 = ";" + NL + "\t}" + NL;
105   protected final String JavaDoc TEXT_86 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
106   protected final String JavaDoc TEXT_87 = " get";
107   protected final String JavaDoc TEXT_88 = "()" + NL + "\t{";
108   protected final String JavaDoc TEXT_89 = NL + "\t\tif (";
109   protected final String JavaDoc TEXT_90 = " == null)" + NL + "\t\t{" + NL + "\t\t\t";
110   protected final String JavaDoc TEXT_91 = " = (";
111   protected final String JavaDoc TEXT_92 = ")";
112   protected final String JavaDoc TEXT_93 = ".Registry.INSTANCE.getEPackage(";
113   protected final String JavaDoc TEXT_94 = ".eNS_URI).getEClassifiers().get(";
114   protected final String JavaDoc TEXT_95 = ");" + NL + "\t\t}";
115   protected final String JavaDoc TEXT_96 = NL + "\t\treturn ";
116   protected final String JavaDoc TEXT_97 = ";" + NL + "\t}" + NL;
117   protected final String JavaDoc TEXT_98 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
118   protected final String JavaDoc TEXT_99 = " get";
119   protected final String JavaDoc TEXT_100 = "()" + NL + "\t{";
120   protected final String JavaDoc TEXT_101 = NL + "\t\treturn (";
121   protected final String JavaDoc TEXT_102 = ")";
122   protected final String JavaDoc TEXT_103 = ".getEStructuralFeatures().get(";
123   protected final String JavaDoc TEXT_104 = ");";
124   protected final String JavaDoc TEXT_105 = NL + " return (";
125   protected final String JavaDoc TEXT_106 = ")get";
126   protected final String JavaDoc TEXT_107 = "().getEStructuralFeatures().get(";
127   protected final String JavaDoc TEXT_108 = ");";
128   protected final String JavaDoc TEXT_109 = NL + "\t}" + NL;
129   protected final String JavaDoc TEXT_110 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
130   protected final String JavaDoc TEXT_111 = " get";
131   protected final String JavaDoc TEXT_112 = "()" + NL + "\t{" + NL + "\t\treturn (";
132   protected final String JavaDoc TEXT_113 = ")getEFactoryInstance();" + NL + "\t}" + NL;
133   protected final String JavaDoc TEXT_114 = 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;";
134   protected final String JavaDoc TEXT_115 = NL + NL + "\t\t// Create classes and their features";
135   protected final String JavaDoc TEXT_116 = NL + "\t\t";
136   protected final String JavaDoc TEXT_117 = " = create";
137   protected final String JavaDoc TEXT_118 = "(";
138   protected final String JavaDoc TEXT_119 = ");";
139   protected final String JavaDoc TEXT_120 = NL + "\t\tcreate";
140   protected final String JavaDoc TEXT_121 = "(";
141   protected final String JavaDoc TEXT_122 = ", ";
142   protected final String JavaDoc TEXT_123 = ");";
143   protected final String JavaDoc TEXT_124 = NL;
144   protected final String JavaDoc TEXT_125 = NL + NL + "\t\t// Create enums";
145   protected final String JavaDoc TEXT_126 = NL + "\t\t";
146   protected final String JavaDoc TEXT_127 = " = createEEnum(";
147   protected final String JavaDoc TEXT_128 = ");";
148   protected final String JavaDoc TEXT_129 = NL + NL + "\t\t// Create data types";
149   protected final String JavaDoc TEXT_130 = NL + "\t\t";
150   protected final String JavaDoc TEXT_131 = " = createEDataType(";
151   protected final String JavaDoc TEXT_132 = ");";
152   protected final String JavaDoc TEXT_133 = 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 + "" + 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);";
153   protected final String JavaDoc TEXT_134 = NL + NL + "\t\t// Obtain other dependent packages";
154   protected final String JavaDoc TEXT_135 = NL + "\t\t";
155   protected final String JavaDoc TEXT_136 = " ";
156   protected final String JavaDoc TEXT_137 = " = (";
157   protected final String JavaDoc TEXT_138 = ")";
158   protected final String JavaDoc TEXT_139 = ".Registry.INSTANCE.getEPackage(";
159   protected final String JavaDoc TEXT_140 = ".eNS_URI);";
160   protected final String JavaDoc TEXT_141 = NL + NL + "\t\t// Add subpackages";
161   protected final String JavaDoc TEXT_142 = NL + "\t\tgetESubpackages().add(";
162   protected final String JavaDoc TEXT_143 = ");";
163   protected final String JavaDoc TEXT_144 = NL + NL + "\t\t// Add supertypes to classes";
164   protected final String JavaDoc TEXT_145 = NL + "\t\t";
165   protected final String JavaDoc TEXT_146 = ".getESuperTypes().add(";
166   protected final String JavaDoc TEXT_147 = ".get";
167   protected final String JavaDoc TEXT_148 = "());";
168   protected final String JavaDoc TEXT_149 = NL + NL + "\t\t// Initialize classes and features; add operations and parameters";
169   protected final String JavaDoc TEXT_150 = NL + "\t\tinitEClass(";
170   protected final String JavaDoc TEXT_151 = ", ";
171   protected final String JavaDoc TEXT_152 = ".class, \"";
172   protected final String JavaDoc TEXT_153 = "\", ";
173   protected final String JavaDoc TEXT_154 = ", ";
174   protected final String JavaDoc TEXT_155 = ", ";
175   protected final String JavaDoc TEXT_156 = ");";
176   protected final String JavaDoc TEXT_157 = NL + "\t\tinitEReference(get";
177   protected final String JavaDoc TEXT_158 = "(), ";
178   protected final String JavaDoc TEXT_159 = ".get";
179   protected final String JavaDoc TEXT_160 = "(), ";
180   protected final String JavaDoc TEXT_161 = ", \"";
181   protected final String JavaDoc TEXT_162 = "\", ";
182   protected final String JavaDoc TEXT_163 = ", ";
183   protected final String JavaDoc TEXT_164 = ", ";
184   protected final String JavaDoc TEXT_165 = ", ";
185   protected final String JavaDoc TEXT_166 = ", ";
186   protected final String JavaDoc TEXT_167 = ", ";
187   protected final String JavaDoc TEXT_168 = ", ";
188   protected final String JavaDoc TEXT_169 = ", ";
189   protected final String JavaDoc TEXT_170 = ", ";
190   protected final String JavaDoc TEXT_171 = ", ";
191   protected final String JavaDoc TEXT_172 = ", ";
192   protected final String JavaDoc TEXT_173 = ", ";
193   protected final String JavaDoc TEXT_174 = ", ";
194   protected final String JavaDoc TEXT_175 = ");";
195   protected final String JavaDoc TEXT_176 = NL + "\t\tinitEAttribute(get";
196   protected final String JavaDoc TEXT_177 = "(), ";
197   protected final String JavaDoc TEXT_178 = ".get";
198   protected final String JavaDoc TEXT_179 = "(), \"";
199   protected final String JavaDoc TEXT_180 = "\", ";
200   protected final String JavaDoc TEXT_181 = ", ";
201   protected final String JavaDoc TEXT_182 = ", ";
202   protected final String JavaDoc TEXT_183 = ", ";
203   protected final String JavaDoc TEXT_184 = ", ";
204   protected final String JavaDoc TEXT_185 = ", ";
205   protected final String JavaDoc TEXT_186 = ", ";
206   protected final String JavaDoc TEXT_187 = ", ";
207   protected final String JavaDoc TEXT_188 = ", ";
208   protected final String JavaDoc TEXT_189 = ", ";
209   protected final String JavaDoc TEXT_190 = ", ";
210   protected final String JavaDoc TEXT_191 = ", ";
211   protected final String JavaDoc TEXT_192 = ");";
212   protected final String JavaDoc TEXT_193 = NL;
213   protected final String JavaDoc TEXT_194 = NL + "\t\t";
214   protected final String JavaDoc TEXT_195 = "addEOperation(";
215   protected final String JavaDoc TEXT_196 = ", ";
216   protected final String JavaDoc TEXT_197 = ".get";
217   protected final String JavaDoc TEXT_198 = "(), \"";
218   protected final String JavaDoc TEXT_199 = "\");";
219   protected final String JavaDoc TEXT_200 = NL + "\t\t";
220   protected final String JavaDoc TEXT_201 = "addEOperation(";
221   protected final String JavaDoc TEXT_202 = ", null, \"";
222   protected final String JavaDoc TEXT_203 = "\");";
223   protected final String JavaDoc TEXT_204 = NL + "\t\taddEParameter(op, ";
224   protected final String JavaDoc TEXT_205 = ".get";
225   protected final String JavaDoc TEXT_206 = "(), \"";
226   protected final String JavaDoc TEXT_207 = "\");";
227   protected final String JavaDoc TEXT_208 = NL + "\t\taddEException(op, ";
228   protected final String JavaDoc TEXT_209 = ".get";
229   protected final String JavaDoc TEXT_210 = "());";
230   protected final String JavaDoc TEXT_211 = NL;
231   protected final String JavaDoc TEXT_212 = NL + NL + "\t\t// Initialize enums and add enum literals";
232   protected final String JavaDoc TEXT_213 = NL + "\t\tinitEEnum(";
233   protected final String JavaDoc TEXT_214 = ", ";
234   protected final String JavaDoc TEXT_215 = ".class, \"";
235   protected final String JavaDoc TEXT_216 = "\");";
236   protected final String JavaDoc TEXT_217 = NL + "\t\taddEEnumLiteral(";
237   protected final String JavaDoc TEXT_218 = ", ";
238   protected final String JavaDoc TEXT_219 = ".";
239   protected final String JavaDoc TEXT_220 = "_LITERAL);";
240   protected final String JavaDoc TEXT_221 = NL;
241   protected final String JavaDoc TEXT_222 = NL + NL + "\t\t// Initialize data types";
242   protected final String JavaDoc TEXT_223 = NL + "\t\tinitEDataType(";
243   protected final String JavaDoc TEXT_224 = ", ";
244   protected final String JavaDoc TEXT_225 = ".class, \"";
245   protected final String JavaDoc TEXT_226 = "\", ";
246   protected final String JavaDoc TEXT_227 = ", ";
247   protected final String JavaDoc TEXT_228 = ");";
248   protected final String JavaDoc TEXT_229 = NL + NL + "\t\t// Create resource" + NL + "\t\tcreateResource(eNS_URI);";
249   protected final String JavaDoc TEXT_230 = NL + NL + "\t\t// Create annotations";
250   protected final String JavaDoc TEXT_231 = NL + "\t\t// ";
251   protected final String JavaDoc TEXT_232 = NL + "\t\tcreate";
252   protected final String JavaDoc TEXT_233 = "Annotations();";
253   protected final String JavaDoc TEXT_234 = NL + "\t}" + NL;
254   protected final String JavaDoc TEXT_235 = NL + "\t/**" + NL + "\t * Initializes the annotations for <b>";
255   protected final String JavaDoc TEXT_236 = "</b>." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void create";
256   protected final String JavaDoc TEXT_237 = "Annotations()" + NL + "\t{" + NL + "\t\tString source = ";
257   protected final String JavaDoc TEXT_238 = "null;";
258   protected final String JavaDoc TEXT_239 = "\"";
259   protected final String JavaDoc TEXT_240 = "\";";
260   protected final String JavaDoc TEXT_241 = "\t";
261   protected final String JavaDoc TEXT_242 = "\t" + NL + "\t\taddAnnotation" + NL + "\t\t (";
262   protected final String JavaDoc TEXT_243 = ", " + NL + "\t\t source, " + NL + "\t\t new String[] " + NL + "\t\t {";
263   protected final String JavaDoc TEXT_244 = NL + "\t\t\t ";
264   protected final String JavaDoc TEXT_245 = ", ";
265   protected final String JavaDoc TEXT_246 = NL + "\t\t });";
266   protected final String JavaDoc TEXT_247 = NL + "\t}" + NL;
267   protected final String JavaDoc TEXT_248 = 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";
268   protected final String JavaDoc TEXT_249 = " url = getClass().getResource(packageFilename);" + NL + "\t\tif (url == null)" + NL + "\t\t{" + NL + "\t\t\tthrow new RuntimeException(\"Missing serialized package: \" + packageFilename);";
269   protected final String JavaDoc TEXT_250 = NL + "\t\t}" + NL + "\t\t";
270   protected final String JavaDoc TEXT_251 = " uri = ";
271   protected final String JavaDoc TEXT_252 = ".createURI(url.toString());" + NL + "\t\t";
272   protected final String JavaDoc TEXT_253 = " resource = new ";
273   protected final String JavaDoc TEXT_254 = "().createResource(";
274   protected final String JavaDoc TEXT_255 = ".createURI(url.toString()));" + NL + "\t\ttry" + NL + "\t\t{" + NL + "\t\t\tresource.load(null);" + NL + "\t\t}" + NL + "\t\tcatch (";
275   protected final String JavaDoc TEXT_256 = " exception)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";
276   protected final String JavaDoc TEXT_257 = "(exception);" + NL + "\t\t}" + NL + "\t\tinitializeFromLoadedEPackage(this, (";
277   protected final String JavaDoc TEXT_258 = ")resource.getContents().get(0));" + NL + "\t\tcreateResource(eNS_URI);" + NL + "\t}" + NL;
278   protected final String JavaDoc TEXT_259 = 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}";
279   protected final String JavaDoc TEXT_260 = NL + "} //";
280   protected final String JavaDoc TEXT_261 = NL;
281
282   public String JavaDoc generate(Object JavaDoc argument)
283   {
284     StringBuffer JavaDoc stringBuffer = new StringBuffer JavaDoc();
285     
286 /**
287  * <copyright>
288  *
289  * Copyright (c) 2002-2004 IBM Corporation and others.
290  * All rights reserved. This program and the accompanying materials
291  * are made available under the terms of the Eclipse Public License v1.0
292  * which accompanies this distribution, and is available at
293  * http://www.eclipse.org/legal/epl-v10.html
294  *
295  * Contributors:
296  * IBM - Initial API and implementation
297  *
298  * </copyright>
299  */

300
301     GenPackage genPackage = (GenPackage)argument; GenModel genModel=genPackage.getGenModel();
302     stringBuffer.append(TEXT_1);
303     stringBuffer.append(TEXT_2);
304     stringBuffer.append("$");
305     stringBuffer.append(TEXT_3);
306     stringBuffer.append("$");
307     stringBuffer.append(TEXT_4);
308     stringBuffer.append(genPackage.getClassPackageName());
309     stringBuffer.append(TEXT_5);
310     genModel.markImportLocation(stringBuffer);
311     genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Registry");
312     genModel.addPseudoImport("org.eclipse.emf.ecore.EPackage.Descriptor");
313     for (Iterator i=genPackage.getOrderedGenClassifiers().iterator(); i.hasNext();) genModel.addPseudoImport(genPackage.getQualifiedPackageInterfaceName() + "." + genPackage.getClassifierID((GenClassifier)i.next()));
314     stringBuffer.append(TEXT_6);
315     stringBuffer.append(genPackage.getPackageClassName());
316     stringBuffer.append(TEXT_7);
317     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.EPackageImpl"));
318     stringBuffer.append(TEXT_8);
319     stringBuffer.append(genPackage.getImportedPackageInterfaceName());
320     stringBuffer.append(TEXT_9);
321     if (genModel.getCopyrightText() != null) {
322     stringBuffer.append(TEXT_10);
323     stringBuffer.append(genModel.getImportedName("java.lang.String"));
324     stringBuffer.append(TEXT_11);
325     stringBuffer.append(genModel.getCopyrightText());
326     stringBuffer.append(TEXT_12);
327     stringBuffer.append(genModel.getNonNLS());
328     stringBuffer.append(TEXT_13);
329     }
330     if (genPackage.isLoadingInitialization()) {
331     stringBuffer.append(TEXT_14);
332     stringBuffer.append(genPackage.getSerializedPackageFilename());
333     stringBuffer.append(TEXT_15);
334     stringBuffer.append(genModel.getNonNLS());
335     stringBuffer.append(TEXT_16);
336     }
337     for (Iterator i=genPackage.getGenClassifiers().iterator(); i.hasNext();) { GenClassifier genClassifier = (GenClassifier)i.next();
338     stringBuffer.append(TEXT_17);
339     stringBuffer.append(genClassifier.getImportedMetaType());
340     stringBuffer.append(TEXT_18);
341     stringBuffer.append(genClassifier.getClassifierInstanceName());
342     stringBuffer.append(TEXT_19);
343     }
344     stringBuffer.append(TEXT_20);
345     stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
346     stringBuffer.append(TEXT_21);
347     stringBuffer.append(genPackage.getPackageClassName());
348     stringBuffer.append(TEXT_22);
349     stringBuffer.append(genPackage.getImportedFactoryInterfaceName());
350     stringBuffer.append(TEXT_23);
351     if (!genPackage.isLoadedInitialization()) {
352     stringBuffer.append(TEXT_24);
353     }
354     stringBuffer.append(TEXT_25);
355     stringBuffer.append(genPackage.getImportedPackageInterfaceName());
356     stringBuffer.append(TEXT_26);
357     stringBuffer.append(genPackage.getImportedPackageInterfaceName());
358     stringBuffer.append(TEXT_27);
359     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
360     stringBuffer.append(TEXT_28);
361     stringBuffer.append(genPackage.getImportedPackageInterfaceName());
362     stringBuffer.append(TEXT_29);
363     stringBuffer.append(genPackage.getPackageClassName());
364     stringBuffer.append(TEXT_30);
365     stringBuffer.append(genPackage.getPackageInterfaceName());
366     stringBuffer.append(TEXT_31);
367     stringBuffer.append(genPackage.getPackageClassName());
368     stringBuffer.append(TEXT_32);
369     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
370     stringBuffer.append(TEXT_33);
371     stringBuffer.append(genPackage.getPackageClassName());
372     stringBuffer.append(TEXT_34);
373     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
374     stringBuffer.append(TEXT_35);
375     stringBuffer.append(genPackage.getPackageClassName());
376     stringBuffer.append(TEXT_36);
377     if (!genPackage.getPackageSimpleDependencies().isEmpty()) {
378     stringBuffer.append(TEXT_37);
379     for (Iterator p=genPackage.getPackageSimpleDependencies().iterator(); p.hasNext();) { GenPackage dep = (GenPackage)p.next();
380     stringBuffer.append(TEXT_38);
381     stringBuffer.append(dep.getImportedPackageClassName());
382     stringBuffer.append(TEXT_39);
383     }
384     stringBuffer.append(TEXT_40);
385     }
386     if (!genPackage.getPackageInterDependencies().isEmpty()) {
387     stringBuffer.append(TEXT_41);
388     for (Iterator p=genPackage.getPackageInterDependencies().iterator(); p.hasNext();) { GenPackage interdep = (GenPackage)p.next();
389     stringBuffer.append(TEXT_42);
390     stringBuffer.append(interdep.getImportedPackageClassName());
391     stringBuffer.append(TEXT_43);
392     stringBuffer.append(genPackage.getPackageInstanceVariable(interdep));
393     stringBuffer.append(TEXT_44);
394     stringBuffer.append(interdep.getImportedPackageClassName());
395     stringBuffer.append(TEXT_45);
396     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
397     stringBuffer.append(TEXT_46);
398     stringBuffer.append(interdep.getImportedPackageInterfaceName());
399     stringBuffer.append(TEXT_47);
400     stringBuffer.append(interdep.getImportedPackageClassName());
401     stringBuffer.append(TEXT_48);
402     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EPackage"));
403     stringBuffer.append(TEXT_49);
404     stringBuffer.append(interdep.getImportedPackageInterfaceName());
405     stringBuffer.append(TEXT_50);
406     stringBuffer.append(interdep.getImportedPackageInterfaceName());
407     stringBuffer.append(TEXT_51);
408     }
409     stringBuffer.append(TEXT_52);
410     }
411     if (genPackage.isLoadedInitialization() || !genPackage.getPackageLoadInterDependencies().isEmpty()) {
412     stringBuffer.append(TEXT_53);
413     if (genPackage.isLoadingInitialization()) {
414     stringBuffer.append(TEXT_54);
415     stringBuffer.append(genPackage.getPackageInterfaceName());
416     stringBuffer.append(TEXT_55);
417     }
418     for (Iterator p=genPackage.getPackageLoadInterDependencies().iterator(); p.hasNext();) { GenPackage inter