KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > emf > codegen > ecore > genmodel > impl > GenModelImpl


1 /**
2  * <copyright>
3  *
4  * Copyright (c) 2002-2005 IBM Corporation and others.
5  * All rights reserved. This program and the accompanying materials
6  * are made available under the terms of the Eclipse Public License v1.0
7  * which accompanies this distribution, and is available at
8  * http://www.eclipse.org/legal/epl-v10.html
9  *
10  * Contributors:
11  * IBM - Initial API and implementation
12  *
13  * </copyright>
14  *
15  * $Id: GenModelImpl.java,v 1.45 2005/06/28 23:50:25 marcelop Exp $
16  */

17 package org.eclipse.emf.codegen.ecore.genmodel.impl;
18
19
20 import java.lang.reflect.Method JavaDoc;
21 import java.util.ArrayList JavaDoc;
22 import java.util.Collection JavaDoc;
23 import java.util.Collections JavaDoc;
24 import java.util.HashSet JavaDoc;
25 import java.util.Iterator JavaDoc;
26 import java.util.List JavaDoc;
27 import java.util.ListIterator JavaDoc;
28 import java.util.Map JavaDoc;
29 import java.util.Set JavaDoc;
30
31 import org.eclipse.core.runtime.IProgressMonitor;
32 import org.eclipse.core.runtime.IStatus;
33 import org.eclipse.core.runtime.MultiStatus;
34 import org.eclipse.core.runtime.Path;
35 import org.eclipse.core.runtime.Status;
36 import org.eclipse.core.runtime.SubProgressMonitor;
37 import org.eclipse.jdt.core.ToolFactory;
38 import org.eclipse.jdt.core.formatter.CodeFormatter;
39
40 import org.eclipse.emf.codegen.ecore.CodeGenEcorePlugin;
41 import org.eclipse.emf.codegen.ecore.Generator;
42 import org.eclipse.emf.codegen.ecore.genmodel.GenClass;
43 import org.eclipse.emf.codegen.ecore.genmodel.GenDataType;
44 import org.eclipse.emf.codegen.ecore.genmodel.GenEnum;
45 import org.eclipse.emf.codegen.ecore.genmodel.GenEnumLiteral;
46 import org.eclipse.emf.codegen.ecore.genmodel.GenFeature;
47 import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
48 import org.eclipse.emf.codegen.ecore.genmodel.GenModelFactory;
49 import org.eclipse.emf.codegen.ecore.genmodel.GenModelPackage;
50 import org.eclipse.emf.codegen.ecore.genmodel.GenOperation;
51 import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
52 import org.eclipse.emf.codegen.ecore.genmodel.GenParameter;
53 import org.eclipse.emf.codegen.ecore.genmodel.GenResourceKind;
54 import org.eclipse.emf.codegen.jet.JETCompiler;
55 import org.eclipse.emf.codegen.jet.JETEmitter;
56 import org.eclipse.emf.codegen.jet.JETException;
57 import org.eclipse.emf.codegen.jmerge.JControlModel;
58 import org.eclipse.emf.codegen.util.CodeGenUtil;
59 import org.eclipse.emf.codegen.util.ImportManager;
60 import org.eclipse.emf.common.notify.Notification;
61 import org.eclipse.emf.common.notify.NotificationChain;
62 import org.eclipse.emf.common.util.AbstractTreeIterator;
63 import org.eclipse.emf.common.util.ECollections;
64 import org.eclipse.emf.common.util.EList;
65 import org.eclipse.emf.common.util.TreeIterator;
66 import org.eclipse.emf.common.util.URI;
67 import org.eclipse.emf.common.util.UniqueEList;
68 import org.eclipse.emf.ecore.EClass;
69 import org.eclipse.emf.ecore.EClassifier;
70 import org.eclipse.emf.ecore.EModelElement;
71 import org.eclipse.emf.ecore.EObject;
72 import org.eclipse.emf.ecore.EPackage;
73 import org.eclipse.emf.ecore.EStructuralFeature;
74 import org.eclipse.emf.ecore.EcorePackage;
75 import org.eclipse.emf.ecore.InternalEObject;
76 import org.eclipse.emf.ecore.impl.ENotificationImpl;
77 import org.eclipse.emf.ecore.util.BasicExtendedMetaData;
78 import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
79 import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
80 import org.eclipse.emf.ecore.util.EObjectResolvingEList;
81 import org.eclipse.emf.ecore.util.EcoreUtil;
82 import org.eclipse.emf.ecore.util.ExtendedMetaData;
83 import org.eclipse.emf.ecore.util.InternalEList;
84
85
86 /**
87  * <!-- begin-user-doc -->
88  * An implementation of the model object '<em><b>GenModel</b></em>'.
89  * <!-- end-user-doc -->
90  * <p>
91  * The following features are implemented:
92  * <ul>
93  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getCopyrightText <em>Copyright Text</em>}</li>
94  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getModelDirectory <em>Model Directory</em>}</li>
95  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isCreationCommands <em>Creation Commands</em>}</li>
96  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isCreationIcons <em>Creation Icons</em>}</li>
97  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getEditDirectory <em>Edit Directory</em>}</li>
98  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getEditorDirectory <em>Editor Directory</em>}</li>
99  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getModelPluginID <em>Model Plugin ID</em>}</li>
100  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getTemplateDirectory <em>Template Directory</em>}</li>
101  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isRuntimeJar <em>Runtime Jar</em>}</li>
102  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getForeignModel <em>Foreign Model</em>}</li>
103  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isDynamicTemplates <em>Dynamic Templates</em>}</li>
104  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getRedirection <em>Redirection</em>}</li>
105  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isForceOverwrite <em>Force Overwrite</em>}</li>
106  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getNonExternalizedStringTag <em>Non Externalized String Tag</em>}</li>
107  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getModelName <em>Model Name</em>}</li>
108  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getModelPluginClass <em>Model Plugin Class</em>}</li>
109  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getEditPluginClass <em>Edit Plugin Class</em>}</li>
110  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getEditorPluginClass <em>Editor Plugin Class</em>}</li>
111  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isUpdateClasspath <em>Update Classpath</em>}</li>
112  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isGenerateSchema <em>Generate Schema</em>}</li>
113  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isNonNLSMarkers <em>Non NLS Markers</em>}</li>
114  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getStaticPackages <em>Static Packages</em>}</li>
115  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getModelPluginVariables <em>Model Plugin Variables</em>}</li>
116  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getRootExtendsInterface <em>Root Extends Interface</em>}</li>
117  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getRootExtendsClass <em>Root Extends Class</em>}</li>
118  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getRootImplementsInterface <em>Root Implements Interface</em>}</li>
119  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isSuppressEMFTypes <em>Suppress EMF Types</em>}</li>
120  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getFeatureMapWrapperInterface <em>Feature Map Wrapper Interface</em>}</li>
121  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getFeatureMapWrapperInternalInterface <em>Feature Map Wrapper Internal Interface</em>}</li>
122  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getFeatureMapWrapperClass <em>Feature Map Wrapper Class</em>}</li>
123  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isRuntimeCompatibility <em>Runtime Compatibility</em>}</li>
124  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isRichClientPlatform <em>Rich Client Platform</em>}</li>
125  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isReflectiveDelegation <em>Reflective Delegation</em>}</li>
126  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isCodeFormatting <em>Code Formatting</em>}</li>
127  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getTestsDirectory <em>Tests Directory</em>}</li>
128  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getTestSuiteClass <em>Test Suite Class</em>}</li>
129  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getBooleanFlagsField <em>Boolean Flags Field</em>}</li>
130  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getBooleanFlagsReservedBits <em>Boolean Flags Reserved Bits</em>}</li>
131  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getImporterID <em>Importer ID</em>}</li>
132  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#isBundleManifest <em>Bundle Manifest</em>}</li>
133  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getGenPackages <em>Gen Packages</em>}</li>
134  * <li>{@link org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl#getUsedGenPackages <em>Used Gen Packages</em>}</li>
135  * </ul>
136  * </p>
137  *
138  * @generated
139  */

140 public class GenModelImpl extends GenBaseImpl implements GenModel
141 {
142   /**
143    * The default value of the '{@link #getCopyrightText() <em>Copyright Text</em>}' attribute.
144    * <!-- begin-user-doc -->
145    * <!-- end-user-doc -->
146    * @see #getCopyrightText()
147    * @generated
148    * @ordered
149    */

150   protected static final String JavaDoc COPYRIGHT_TEXT_EDEFAULT = null;
151
152   /**
153    * The cached value of the '{@link #getCopyrightText() <em>Copyright Text</em>}' attribute.
154    * <!-- begin-user-doc -->
155    * <!-- end-user-doc -->
156    * @see #getCopyrightText()
157    * @generated
158    * @ordered
159    */

160   protected String JavaDoc copyrightText = COPYRIGHT_TEXT_EDEFAULT;
161
162   /**
163    * The default value of the '{@link #getModelDirectory() <em>Model Directory</em>}' attribute.
164    * <!-- begin-user-doc -->
165    * <!-- end-user-doc -->
166    * @see #getModelDirectory()
167    * @generated
168    * @ordered
169    */

170   protected static final String JavaDoc MODEL_DIRECTORY_EDEFAULT = null;
171
172   /**
173    * The cached value of the '{@link #getModelDirectory() <em>Model Directory</em>}' attribute.
174    * <!-- begin-user-doc -->
175    * <!-- end-user-doc -->
176    * @see #getModelDirectory()
177    * @generated
178    * @ordered
179    */

180   protected String JavaDoc modelDirectory = MODEL_DIRECTORY_EDEFAULT;
181
182   /**
183    * The default value of the '{@link #isCreationCommands() <em>Creation Commands</em>}' attribute.
184    * <!-- begin-user-doc -->
185    * <!-- end-user-doc -->
186    * @see #isCreationCommands()
187    * @generated
188    * @ordered
189    */

190   protected static final boolean CREATION_COMMANDS_EDEFAULT = true;
191
192   /**
193    * The cached value of the '{@link #isCreationCommands() <em>Creation Commands</em>}' attribute.
194    * <!-- begin-user-doc -->
195    * <!-- end-user-doc -->
196    * @see #isCreationCommands()
197    * @generated
198    * @ordered
199    */

200   protected boolean creationCommands = CREATION_COMMANDS_EDEFAULT;
201
202   /**
203    * The default value of the '{@link #isCreationIcons() <em>Creation Icons</em>}' attribute.
204    * <!-- begin-user-doc -->
205    * <!-- end-user-doc -->
206    * @see #isCreationIcons()
207    * @generated
208    * @ordered
209    */

210   protected static final boolean CREATION_ICONS_EDEFAULT = true;
211
212   /**
213    * The cached value of the '{@link #isCreationIcons() <em>Creation Icons</em>}' attribute.
214    * <!-- begin-user-doc -->
215    * <!-- end-user-doc -->
216    * @see #isCreationIcons()
217    * @generated
218    * @ordered
219    */

220   protected boolean creationIcons = CREATION_ICONS_EDEFAULT;
221
222   /**
223    * The default value of the '{@link #getEditDirectory() <em>Edit Directory</em>}' attribute.
224    * <!-- begin-user-doc -->
225    * <!-- end-user-doc -->
226    * @see #getEditDirectory()
227    * @generated
228    * @ordered
229    */

230   protected static final String JavaDoc EDIT_DIRECTORY_EDEFAULT = null;
231
232   /**
233    * The cached value of the '{@link #getEditDirectory() <em>Edit Directory</em>}' attribute.
234    * <!-- begin-user-doc -->
235    * <!-- end-user-doc -->
236    * @see #getEditDirectory()
237    * @generated
238    * @ordered
239    */

240   protected String JavaDoc editDirectory = EDIT_DIRECTORY_EDEFAULT;
241
242   /**
243    * This is true if the Edit Directory attribute has been set.
244    * <!-- begin-user-doc -->
245    * <!-- end-user-doc -->
246    * @generated
247    * @ordered
248    */

249   protected boolean editDirectoryESet = false;
250
251   /**
252    * The default value of the '{@link #getEditorDirectory() <em>Editor Directory</em>}' attribute.
253    * <!-- begin-user-doc -->
254    * <!-- end-user-doc -->
255    * @see #getEditorDirectory()
256    * @generated
257    * @ordered
258    */

259   protected static final String JavaDoc EDITOR_DIRECTORY_EDEFAULT = null;
260
261   /**
262    * The cached value of the '{@link #getEditorDirectory() <em>Editor Directory</em>}' attribute.
263    * <!-- begin-user-doc -->
264    * <!-- end-user-doc -->
265    * @see #getEditorDirectory()
266    * @generated
267    * @ordered
268    */

269   protected String JavaDoc editorDirectory = EDITOR_DIRECTORY_EDEFAULT;
270
271   /**
272    * This is true if the Editor Directory attribute has been set.
273    * <!-- begin-user-doc -->
274    * <!-- end-user-doc -->
275    * @generated
276    * @ordered
277    */

278   protected boolean editorDirectoryESet = false;
279
280   /**
281    * The default value of the '{@link #getModelPluginID() <em>Model Plugin ID</em>}' attribute.
282    * <!-- begin-user-doc -->
283    * <!-- end-user-doc -->
284    * @see #getModelPluginID()
285    * @generated
286    * @ordered
287    */

288   protected static final String JavaDoc MODEL_PLUGIN_ID_EDEFAULT = null;
289
290   /**
291    * The cached value of the '{@link #getModelPluginID() <em>Model Plugin ID</em>}' attribute.
292    * <!-- begin-user-doc -->
293    * <!-- end-user-doc -->
294    * @see #getModelPluginID()
295    * @generated
296    * @ordered
297    */

298   protected String JavaDoc modelPluginID = MODEL_PLUGIN_ID_EDEFAULT;
299
300   /**
301    * The default value of the '{@link #getTemplateDirectory() <em>Template Directory</em>}' attribute.
302    * <!-- begin-user-doc -->
303    * <!-- end-user-doc -->
304    * @see #getTemplateDirectory()
305    * @generated
306    * @ordered
307    */

308   protected static final String JavaDoc TEMPLATE_DIRECTORY_EDEFAULT = null;
309
310   /**
311    * The cached value of the '{@link #getTemplateDirectory() <em>Template Directory</em>}' attribute.
312    * <!-- begin-user-doc -->
313    * <!-- end-user-doc -->
314    * @see #getTemplateDirectory()
315    * @generated
316    * @ordered
317    */

318   protected String JavaDoc templateDirectory = TEMPLATE_DIRECTORY_EDEFAULT;
319
320   /**
321    * The default value of the '{@link #isRuntimeJar() <em>Runtime Jar</em>}' attribute.
322    * <!-- begin-user-doc -->
323    * <!-- end-user-doc -->
324    * @see #isRuntimeJar()
325    * @generated
326    * @ordered
327    */

328   protected static final boolean RUNTIME_JAR_EDEFAULT = false;
329
330   /**
331    * The cached value of the '{@link #isRuntimeJar() <em>Runtime Jar</em>}' attribute.
332    * <!-- begin-user-doc -->
333    * <!-- end-user-doc -->
334    * @see #isRuntimeJar()
335    * @generated
336    * @ordered
337    */

338   protected boolean runtimeJar = RUNTIME_JAR_EDEFAULT;
339
340   /**
341    * The cached value of the '{@link #getForeignModel() <em>Foreign Model</em>}' attribute list.
342    * <!-- begin-user-doc -->
343    * <!-- end-user-doc -->
344    * @see #getForeignModel()
345    * @generated
346    * @ordered
347    */

348   protected EList foreignModel = null;
349
350   /**
351    * The default value of the '{@link #isDynamicTemplates() <em>Dynamic Templates</em>}' attribute.
352    * <!-- begin-user-doc -->
353    * <!-- end-user-doc -->
354    * @see #isDynamicTemplates()
355    * @generated
356    * @ordered
357    */

358   protected static final boolean DYNAMIC_TEMPLATES_EDEFAULT = false;
359
360   /**
361    * The cached value of the '{@link #isDynamicTemplates() <em>Dynamic Templates</em>}' attribute.
362    * <!-- begin-user-doc -->
363    * <!-- end-user-doc -->
364    * @see #isDynamicTemplates()
365    * @generated
366    * @ordered
367    */

368   protected boolean dynamicTemplates = DYNAMIC_TEMPLATES_EDEFAULT;
369
370   /**
371    * The default value of the '{@link #getRedirection() <em>Redirection</em>}' attribute.
372    * <!-- begin-user-doc -->
373    * <!-- end-user-doc -->
374    * @see #getRedirection()
375    * @generated
376    * @ordered
377    */

378   protected static final String JavaDoc REDIRECTION_EDEFAULT = null;
379
380   /**
381    * The cached value of the '{@link #getRedirection() <em>Redirection</em>}' attribute.
382    * <!-- begin-user-doc -->
383    * <!-- end-user-doc -->
384    * @see #getRedirection()
385    * @generated
386    * @ordered
387    */

388   protected String JavaDoc redirection = REDIRECTION_EDEFAULT;
389
390   /**
391    * The default value of the '{@link #isForceOverwrite() <em>Force Overwrite</em>}' attribute.
392    * <!-- begin-user-doc -->
393    * <!-- end-user-doc -->
394    * @see #isForceOverwrite()
395    * @generated
396    * @ordered
397    */

398   protected static final boolean FORCE_OVERWRITE_EDEFAULT = false;
399
400   /**
401    * The cached value of the '{@link #isForceOverwrite() <em>Force Overwrite</em>}' attribute.
402    * <!-- begin-user-doc -->
403    * <!-- end-user-doc -->
404    * @see #isForceOverwrite()
405    * @generated
406    * @ordered
407    */

408   protected boolean forceOverwrite = FORCE_OVERWRITE_EDEFAULT;
409
410   /**
411    * The default value of the '{@link #getNonExternalizedStringTag() <em>Non Externalized String Tag</em>}' attribute.
412    * <!-- begin-user-doc -->
413    * <!-- end-user-doc -->
414    * @see #getNonExternalizedStringTag()
415    * @generated
416    * @ordered
417    */

418   protected static final String JavaDoc NON_EXTERNALIZED_STRING_TAG_EDEFAULT = null;
419
420   /**
421    * The cached value of the '{@link #getNonExternalizedStringTag() <em>Non Externalized String Tag</em>}' attribute.
422    * <!-- begin-user-doc -->
423    * <!-- end-user-doc -->
424    * @see #getNonExternalizedStringTag()
425    * @generated
426    * @ordered
427    */

428   protected String JavaDoc nonExternalizedStringTag = NON_EXTERNALIZED_STRING_TAG_EDEFAULT;
429
430   /**
431    * The default value of the '{@link #getModelName() <em>Model Name</em>}' attribute.
432    * <!-- begin-user-doc -->
433    * <!-- end-user-doc -->
434    * @see #getModelName()
435    * @generated
436    * @ordered
437    */

438   protected static final String JavaDoc MODEL_NAME_EDEFAULT = null;
439
440   /**
441    * The cached value of the '{@link #getModelName() <em>Model Name</em>}' attribute.
442    * <!-- begin-user-doc -->
443    * <!-- end-user-doc -->
444    * @see #getModelName()
445    * @generated
446    * @ordered
447    */

448   protected String JavaDoc modelName = MODEL_NAME_EDEFAULT;
449
450   /**
451    * The default value of the '{@link #getModelPluginClass() <em>Model Plugin Class</em>}' attribute.
452    * <!-- begin-user-doc -->
453    * <!-- end-user-doc -->
454    * @see #getModelPluginClass()
455    * @generated
456    * @ordered
457    */

458   protected static final String JavaDoc MODEL_PLUGIN_CLASS_EDEFAULT = null;
459
460   /**
461    * The cached value of the '{@link #getModelPluginClass() <em>Model Plugin Class</em>}' attribute.
462    * <!-- begin-user-doc -->
463    * <!-- end-user-doc -->
464    * @see #getModelPluginClass()
465    * @generated
466    * @ordered
467    */

468   protected String JavaDoc modelPluginClass = MODEL_PLUGIN_CLASS_EDEFAULT;
469
470   /**
471    * The default value of the '{@link #getEditPluginClass() <em>Edit Plugin Class</em>}' attribute.
472    * <!-- begin-user-doc -->
473    * <!-- end-user-doc -->
474    * @see #getEditPluginClass()
475    * @generated
476    * @ordered
477    */

478   protected static final String JavaDoc EDIT_PLUGIN_CLASS_EDEFAULT = null;
479
480   /**
481    * The cached value of the '{@link #getEditPluginClass() <em>Edit Plugin Class</em>}' attribute.
482    * <!-- begin-user-doc -->
483    * <!-- end-user-doc -->
484    * @see #getEditPluginClass()
485    * @generated
486    * @ordered
487    */

488   protected String JavaDoc editPluginClass = EDIT_PLUGIN_CLASS_EDEFAULT;
489
490   /**
491    * This is true if the Edit Plugin Class attribute has been set.
492    * <!-- begin-user-doc -->
493    * <!-- end-user-doc -->
494    * @generated
495    * @ordered
496    */

497   protected boolean editPluginClassESet = false;
498
499   /**
500    * The default value of the '{@link #getEditorPluginClass() <em>Editor Plugin Class</em>}' attribute.
501    * <!-- begin-user-doc -->
502    * <!-- end-user-doc -->
503    * @see #getEditorPluginClass()
504    * @generated
505    * @ordered
506    */

507   protected static final String JavaDoc EDITOR_PLUGIN_CLASS_EDEFAULT = null;
508
509   /**
510    * The cached value of the '{@link #getEditorPluginClass() <em>Editor Plugin Class</em>}' attribute.
511    * <!-- begin-user-doc -->
512    * <!-- end-user-doc -->
513    * @see #getEditorPluginClass()
514    * @generated
515    * @ordered
516    */

517   protected String JavaDoc editorPluginClass = EDITOR_PLUGIN_CLASS_EDEFAULT;
518
519   /**
520    * This is true if the Editor Plugin Class attribute has been set.
521    * <!-- begin-user-doc -->
522    * <!-- end-user-doc -->
523    * @generated
524    * @ordered
525    */

526   protected boolean editorPluginClassESet = false;
527
528   /**
529    * The default value of the '{@link #isUpdateClasspath() <em>Update Classpath</em>}' attribute.
530    * <!-- begin-user-doc -->
531    * <!-- end-user-doc -->
532    * @see #isUpdateClasspath()
533    * @generated
534    * @ordered
535    */

536   protected static final boolean UPDATE_CLASSPATH_EDEFAULT = true;
537
538   /**
539    * The cached value of the '{@link #isUpdateClasspath() <em>Update Classpath</em>}' attribute.
540    * <!-- begin-user-doc -->
541    * <!-- end-user-doc -->
542    * @see #isUpdateClasspath()
543    * @generated
544    * @ordered
545    */

546   protected boolean updateClasspath = UPDATE_CLASSPATH_EDEFAULT;
547
548   /**
549    * The default value of the '{@link #isGenerateSchema() <em>Generate Schema</em>}' attribute.
550    * <!-- begin-user-doc -->
551    * <!-- end-user-doc -->
552    * @see #isGenerateSchema()
553    * @generated
554    * @ordered
555    */

556   protected static final boolean GENERATE_SCHEMA_EDEFAULT = false;
557
558   /**
559    * The cached value of the '{@link #isGenerateSchema() <em>Generate Schema</em>}' attribute.
560    * <!-- begin-user-doc -->
561    * <!-- end-user-doc -->
562    * @see #isGenerateSchema()
563    * @generated
564    * @ordered
565    */

566   protected boolean generateSchema = GENERATE_SCHEMA_EDEFAULT;
567
568   /**
569    * The default value of the '{@link #isNonNLSMarkers() <em>Non NLS Markers</em>}' attribute.
570    * <!-- begin-user-doc -->
571    * <!-- end-user-doc -->
572    * @see #isNonNLSMarkers()
573    * @generated
574    * @ordered
575    */

576   protected static final boolean NON_NLS_MARKERS_EDEFAULT = false;
577
578   /**
579    * The cached value of the '{@link #isNonNLSMarkers() <em>Non NLS Markers</em>}' attribute.
580    * <!-- begin-user-doc -->
581    * <!-- end-user-doc -->
582    * @see #isNonNLSMarkers()
583    * @generated
584    * @ordered
585    */

586   protected boolean nonNLSMarkers = NON_NLS_MARKERS_EDEFAULT;
587
588   /**
589    * The cached value of the '{@link #getStaticPackages() <em>Static Packages</em>}' attribute list.
590    * <!-- begin-user-doc -->
591    * <!-- end-user-doc -->
592    * @see #getStaticPackages()
593    * @generated
594    * @ordered
595    */

596   protected EList staticPackages = null;
597
598   /**
599    * The cached value of the '{@link #getModelPluginVariables() <em>Model Plugin Variables</em>}' attribute list.
600    * <!-- begin-user-doc -->
601    * <!-- end-user-doc -->
602    * @see #getModelPluginVariables()
603    * @generated
604    * @ordered
605    */

606   protected EList modelPluginVariables = null;
607
608   /**
609    * The default value of the '{@link #getRootExtendsInterface() <em>Root Extends Interface</em>}' attribute.
610    * <!-- begin-user-doc -->
611    * <!-- end-user-doc -->
612    * @see #getRootExtendsInterface()
613    * @generated
614    * @ordered
615    */

616   protected static final String JavaDoc ROOT_EXTENDS_INTERFACE_EDEFAULT = "org.eclipse.emf.ecore.EObject";
617
618   /**
619    * The cached value of the '{@link #getRootExtendsInterface() <em>Root Extends Interface</em>}' attribute.
620    * <!-- begin-user-doc -->
621    * <!-- end-user-doc -->
622    * @see #getRootExtendsInterface()
623    * @generated
624    * @ordered
625    */

626   protected String JavaDoc rootExtendsInterface = ROOT_EXTENDS_INTERFACE_EDEFAULT;
627
628   /**
629    * The default value of the '{@link #getRootExtendsClass() <em>Root Extends Class</em>}' attribute.
630    * <!-- begin-user-doc -->
631    * <!-- end-user-doc -->
632    * @see #getRootExtendsClass()
633    * @generated
634    * @ordered
635    */

636   protected static final String JavaDoc ROOT_EXTENDS_CLASS_EDEFAULT = "org.eclipse.emf.ecore.impl.EObjectImpl";
637
638   /**
639    * The cached value of the '{@link #getRootExtendsClass() <em>Root Extends Class</em>}' attribute.
640    * <!-- begin-user-doc -->
641    * <!-- end-user-doc -->
642    * @see #getRootExtendsClass()
643    * @generated
644    * @ordered
645    */

646   protected String JavaDoc rootExtendsClass = ROOT_EXTENDS_CLASS_EDEFAULT;
647
648   /**
649    * The default value of the '{@link #getRootImplementsInterface() <em>Root Implements Interface</em>}' attribute.
650    * <!-- begin-user-doc -->
651    * <!-- end-user-doc -->
652    * @see #getRootImplementsInterface()
653    * @generated
654    * @ordered
655    */

656   protected static final String JavaDoc ROOT_IMPLEMENTS_INTERFACE_EDEFAULT = null;
657
658   /**
659    * The cached value of the '{@link #getRootImplementsInterface() <em>Root Implements Interface</em>}' attribute.
660    * <!-- begin-user-doc -->
661    * <!-- end-user-doc -->
662    * @see #getRootImplementsInterface()
663    * @generated
664    * @ordered
665    */

666   protected String JavaDoc rootImplementsInterface = ROOT_IMPLEMENTS_INTERFACE_EDEFAULT;
667
668   /**
669    * The default value of the '{@link #isSuppressEMFTypes() <em>Suppress EMF Types</em>}' attribute.
670    * <!-- begin-user-doc -->
671    * <!-- end-user-doc -->
672    * @see #isSuppressEMFTypes()
673    * @generated
674    * @ordered
675    */

676   protected static final boolean SUPPRESS_EMF_TYPES_EDEFAULT = false;
677
678   /**
679    * The cached value of the '{@link #isSuppressEMFTypes() <em>Suppress EMF Types</em>}' attribute.
680    * <!-- begin-user-doc -->
681    * <!-- end-user-doc -->
682    * @see #isSuppressEMFTypes()
683    * @generated
684    * @ordered
685    */

686   protected boolean suppressEMFTypes = SUPPRESS_EMF_TYPES_EDEFAULT;
687
688   /**
689    * The default value of the '{@link #getFeatureMapWrapperInterface() <em>Feature Map Wrapper Interface</em>}' attribute.
690    * <!-- begin-user-doc -->
691    * <!-- end-user-doc -->
692    * @see #getFeatureMapWrapperInterface()
693    * @generated
694    * @ordered
695    */

696   protected static final String JavaDoc FEATURE_MAP_WRAPPER_INTERFACE_EDEFAULT = null;
697
698   /**
699    * The cached value of the '{@link #getFeatureMapWrapperInterface() <em>Feature Map Wrapper Interface</em>}' attribute.
700    * <!-- begin-user-doc -->
701    * <!-- end-user-doc -->
702    * @see #getFeatureMapWrapperInterface()
703    * @generated
704    * @ordered
705    */

706   protected String JavaDoc featureMapWrapperInterface = FEATURE_MAP_WRAPPER_INTERFACE_EDEFAULT;
707
708   /**
709    * The default value of the '{@link #getFeatureMapWrapperInternalInterface() <em>Feature Map Wrapper Internal Interface</em>}' attribute.
710    * <!-- begin-user-doc -->
711    * <!-- end-user-doc -->
712    * @see #getFeatureMapWrapperInternalInterface()
713    * @generated
714    * @ordered
715    */

716   protected static final String JavaDoc FEATURE_MAP_WRAPPER_INTERNAL_INTERFACE_EDEFAULT = null;
717
718   /**
719    * The cached value of the '{@link #getFeatureMapWrapperInternalInterface() <em>Feature Map Wrapper Internal Interface</em>}' attribute.
720    * <!-- begin-user-doc -->
721    * <!-- end-user-doc -->
722    * @see #getFeatureMapWrapperInternalInterface()
723    * @generated
724    * @ordered
725    */

726   protected String JavaDoc featureMapWrapperInternalInterface = FEATURE_MAP_WRAPPER_INTERNAL_INTERFACE_EDEFAULT;
727
728   /**
729    * The default value of the '{@link #getFeatureMapWrapperClass() <em>Feature Map Wrapper Class</em>}' attribute.
730    * <!-- begin-user-doc -->
731    * <!-- end-user-doc -->
732    * @see #getFeatureMapWrapperClass()
733    * @generated
734    * @ordered
735    */

736   protected static final String JavaDoc FEATURE_MAP_WRAPPER_CLASS_EDEFAULT = null;
737
738   /**
739    * The cached value of the '{@link #getFeatureMapWrapperClass() <em>Feature Map Wrapper Class</em>}' attribute.
740    * <!-- begin-user-doc -->
741    * <!-- end-user-doc -->
742    * @see #getFeatureMapWrapperClass()
743    * @generated
744    * @ordered
745    */

746   protected String JavaDoc featureMapWrapperClass = FEATURE_MAP_WRAPPER_CLASS_EDEFAULT;
747
748   /**
749    * The default value of the '{@link #isRuntimeCompatibility() <em>Runtime Compatibility</em>}' attribute.
750    * <!-- begin-user-doc -->
751    * <!-- end-user-doc -->
752    * @see #isRuntimeCompatibility()
753    * @generated
754    * @ordered
755    */

756   protected static final boolean RUNTIME_COMPATIBILITY_EDEFAULT = false;
757
758   /**
759    * The cached value of the '{@link #isRuntimeCompatibility() <em>Runtime Compatibility</em>}' attribute.
760    * <!-- begin-user-doc -->
761    * <!-- end-user-doc -->
762    * @see #isRuntimeCompatibility()
763    * @generated
764    * @ordered
765    */

766   protected boolean runtimeCompatibility = RUNTIME_COMPATIBILITY_EDEFAULT;
767
768   /**
769    * The default value of the '{@link #isRichClientPlatform() <em>Rich Client Platform</em>}' attribute.
770    * <!-- begin-user-doc -->
771    * <!-- end-user-doc -->
772    * @see #isRichClientPlatform()
773    * @generated
774    * @ordered
775    */

776   protected static final boolean RICH_CLIENT_PLATFORM_EDEFAULT = false;
777
778   /**
779    * The cached value of the '{@link #isRichClientPlatform() <em>Rich Client Platform</em>}' attribute.
780    * <!-- begin-user-doc -->
781    * <!-- end-user-doc -->
782    * @see #isRichClientPlatform()
783    * @generated
784    * @ordered
785    */

786   protected boolean richClientPlatform = RICH_CLIENT_PLATFORM_EDEFAULT;
787
788   /**
789    * The default value of the '{@link #isReflectiveDelegation() <em>Reflective Delegation</em>}' attribute.
790    * <!-- begin-user-doc -->
791    * <!-- end-user-doc -->
792    * @see #isReflectiveDelegation()
793    * @generated
794    * @ordered
795    */

796   protected static final boolean REFLECTIVE_DELEGATION_EDEFAULT = false;
797
798   /**
799    * The cached value of the '{@link #isReflectiveDelegation() <em>Reflective Delegation</em>}' attribute.
800    * <!-- begin-user-doc -->
801    * <!-- end-user-doc -->
802    * @see #isReflectiveDelegation()
803    * @generated
804    * @ordered
805    */

806   protected boolean reflectiveDelegation = REFLECTIVE_DELEGATION_EDEFAULT;
807
808   /**
809    * The default value of the '{@link #isCodeFormatting() <em>Code Formatting</em>}' attribute.
810    * <!-- begin-user-doc -->
811    * <!-- end-user-doc -->
812    * @see #isCodeFormatting()
813    * @generated
814    * @ordered
815    */

816   protected static final boolean CODE_FORMATTING_EDEFAULT = false;
817
818   /**
819    * The cached value of the '{@link #isCodeFormatting() <em>Code Formatting</em>}' attribute.
820    * <!-- begin-user-doc -->
821    * <!-- end-user-doc -->
822    * @see #isCodeFormatting()
823    * @generated
824    * @ordered
825    */

826   protected boolean codeFormatting = CODE_FORMATTING_EDEFAULT;
827
828   /**
829    * The default value of the '{@link #getTestsDirectory() <em>Tests Directory</em>}' attribute.
830    * <!-- begin-user-doc -->
831    * <!-- end-user-doc -->
832    * @see #getTestsDirectory()
833    * @generated
834    * @ordered
835    */

836   protected static final String JavaDoc TESTS_DIRECTORY_EDEFAULT = null;
837
838   /**
839    * The cached value of the '{@link #getTestsDirectory() <em>Tests Directory</em>}' attribute.
840    * <!-- begin-user-doc -->
841    * <!-- end-user-doc -->
842    * @see #getTestsDirectory()
843    * @generated
844    * @ordered
845    */

846   protected String JavaDoc testsDirectory = TESTS_DIRECTORY_EDEFAULT;
847
848   /**
849    * This is true if the Tests Directory attribute has been set.
850    * <!-- begin-user-doc -->
851    * <!-- end-user-doc -->
852    * @generated
853    * @ordered
854    */

855   protected boolean testsDirectoryESet = false;
856
857   /**
858    * The default value of the '{@link #getTestSuiteClass() <em>Test Suite Class</em>}' attribute.
859    * <!-- begin-user-doc -->
860    * <!-- end-user-doc -->
861    * @see #getTestSuiteClass()
862    * @generated
863    * @ordered
864    */

865   protected static final String JavaDoc TEST_SUITE_CLASS_EDEFAULT = null;
866
867   /**
868    * The cached value of the '{@link #getTestSuiteClass() <em>Test Suite Class</em>}' attribute.
869    * <!-- begin-user-doc -->
870    * <!-- end-user-doc -->
871    * @see #getTestSuiteClass()
872    * @generated
873    * @ordered
874    */

875   protected String JavaDoc testSuiteClass = TEST_SUITE_CLASS_EDEFAULT;
876
877   /**
878    * This is true if the Test Suite Class attribute has been set.
879    * <!-- begin-user-doc -->
880    * <!-- end-user-doc -->
881    * @generated
882    * @ordered
883    */

884   protected boolean testSuiteClassESet = false;
885
886   /**
887    * The default value of the '{@link #getBooleanFlagsField() <em>Boolean Flags Field</em>}' attribute.
888    * <!-- begin-user-doc -->
889    * <!-- end-user-doc -->
890    * @see #getBooleanFlagsField()
891    * @generated
892    * @ordered
893    */

894   protected static final String JavaDoc BOOLEAN_FLAGS_FIELD_EDEFAULT = null;
895
896   /**
897    * The cached value of the '{@link #getBooleanFlagsField() <em>Boolean Flags Field</em>}' attribute.
898    * <!-- begin-user-doc -->
899    * <!-- end-user-doc -->
900    * @see #getBooleanFlagsField()
901    * @generated
902    * @ordered
903    */

904   protected String JavaDoc booleanFlagsField = BOOLEAN_FLAGS_FIELD_EDEFAULT;
905
906   /**
907    * The default value of the '{@link #getBooleanFlagsReservedBits() <em>Boolean Flags Reserved Bits</em>}' attribute.
908    * <!-- begin-user-doc -->
909    * <!-- end-user-doc -->
910    * @see #getBooleanFlagsReservedBits()
911    * @generated
912    * @ordered
913    */

914   protected static final int BOOLEAN_FLAGS_RESERVED_BITS_EDEFAULT = -1;
915
916   /**
917    * The cached value of the '{@link #getBooleanFlagsReservedBits() <em>Boolean Flags Reserved Bits</em>}' attribute.
918    * <!-- begin-user-doc -->
919    * <!-- end-user-doc -->
920    * @see #getBooleanFlagsReservedBits()
921    * @generated
922    * @ordered
923    */

924   protected int booleanFlagsReservedBits = BOOLEAN_FLAGS_RESERVED_BITS_EDEFAULT;
925
926   /**
927    * The default value of the '{@link #getImporterID() <em>Importer ID</em>}' attribute.
928    * <!-- begin-user-doc -->
929    * <!-- end-user-doc -->
930    * @see #getImporterID()
931    * @generated
932    * @ordered
933    */

934   protected static final String JavaDoc IMPORTER_ID_EDEFAULT = null;
935
936   /**
937    * The cached value of the '{@link #getImporterID() <em>Importer ID</em>}' attribute.
938    * <!-- begin-user-doc -->
939    * <!-- end-user-doc -->
940    * @see #getImporterID()
941    * @generated
942    * @ordered
943    */

944   protected String JavaDoc importerID = IMPORTER_ID_EDEFAULT;
945
946   /**
947    * The default value of the '{@link #isBundleManifest() <em>Bundle Manifest</em>}' attribute.
948    * <!-- begin-user-doc -->
949    * <!-- end-user-doc -->
950    * @see #isBundleManifest()
951    * @generated
952    * @ordered
953    */

954   protected static final boolean BUNDLE_MANIFEST_EDEFAULT = true;
955
956   /**
957    * The cached value of the '{@link #isBundleManifest() <em>Bundle Manifest</em>}' attribute.
958    * <!-- begin-user-doc -->
959    * <!-- end-user-doc -->
960    * @see #isBundleManifest()
961    * @generated
962    * @ordered
963    */

964   protected boolean bundleManifest = BUNDLE_MANIFEST_EDEFAULT;
965
966   /**
967    * The cached value of the '{@link #getGenPackages() <em>Gen Packages</em>}' containment reference list.
968    * <!-- begin-user-doc -->
969    * <!-- end-user-doc -->
970    * @see #getGenPackages()
971    * @generated
972    * @ordered
973    */

974   protected EList genPackages = null;
975
976   protected EList staticGenPackages = null;
977
978   /**
979    * The cached value of the '{@link #getUsedGenPackages() <em>Used Gen Packages</em>}' reference list.
980    * <!-- begin-user-doc -->
981    * <!-- end-user-doc -->
982    * @see #getUsedGenPackages()
983    * @generated
984    * @ordered
985    */

986   protected EList usedGenPackages = null;
987
988   /**
989    * <!-- begin-user-doc -->
990    * <!-- end-user-doc -->
991    * @generated modifiable
992    */

993   protected GenModelImpl()
994   {
995     super();
996   }
997
998   /**
999    * <!-- begin-user-doc -->
1000   * <!-- end-user-doc -->
1001   * @generated
1002   */

1003  protected EClass eStaticClass()
1004  {
1005    return GenModelPackage.eINSTANCE.getGenModel();
1006  }
1007
1008  /**
1009   * <!-- begin-user-doc -->
1010   * <!-- end-user-doc -->
1011   * @generated
1012   */

1013  public String JavaDoc getCopyrightText()
1014  {
1015    return copyrightText;
1016  }
1017
1018  /**
1019   * <!-- begin-user-doc -->
1020   * <!-- end-user-doc -->
1021   * @generated
1022   */

1023  public void setCopyrightText(String JavaDoc newCopyrightText)
1024  {
1025    String JavaDoc oldCopyrightText = copyrightText;
1026    copyrightText = newCopyrightText;
1027    if (eNotificationRequired())
1028      eNotify(new ENotificationImpl(this, Notification.SET, GenModelPackage.GEN_MODEL__COPYRIGHT_TEXT, oldCopyrightText, copyrightText));
1029  }
1030
1031  protected String JavaDoc getSourceFragmentPath()
1032  {
1033    return "src";
1034  }
1035
1036  
1037  /**
1038   * <!-- begin-user-doc -->
1039   * <!-- end-user-doc -->
1040   * @generated
1041   */

1042  public String JavaDoc getModelDirectory()
1043  {
1044    return modelDirectory;
1045  }
1046
1047  /**
1048   * <!-- begin-user-doc -->
1049   * <!-- end-user-doc -->
1050   * @generated
1051   */

1052  public String JavaDoc getModelDirectoryGen()
1053  {
1054    return modelDirectory;
1055  }
1056
1057  /**
1058   * <!-- begin-user-doc -->
1059   * <!-- end-user-doc -->
1060   * @generated
1061   */

1062  public void setModelDirectory(String