1 | /** |
2 | * <copyright> |
3 | * </copyright> |
4 | * |
5 | * $Id$ |
6 | */ |
7 | package de.fzi.se.quality.impl; |
8 | |
9 | import de.fzi.se.quality.QualityFactory; |
10 | import de.fzi.se.quality.QualityPackage; |
11 | import de.fzi.se.quality.QualityRepository; |
12 | import de.fzi.se.quality.QualityStatement; |
13 | |
14 | import de.fzi.se.quality.parameters.ParametersPackage; |
15 | |
16 | import de.fzi.se.quality.parameters.impl.ParametersPackageImpl; |
17 | |
18 | import de.fzi.se.quality.parameters.pcm.PCMPackage; |
19 | |
20 | import de.fzi.se.quality.parameters.pcm.impl.PCMPackageImpl; |
21 | |
22 | import de.fzi.se.quality.qualityannotation.QualityAnnotationPackage; |
23 | |
24 | import de.fzi.se.quality.qualityannotation.impl.QualityAnnotationPackageImpl; |
25 | |
26 | import de.uka.ipd.sdq.identifier.IdentifierPackage; |
27 | |
28 | import de.uka.ipd.sdq.pcm.PcmPackage; |
29 | |
30 | import org.eclipse.emf.ecore.EClass; |
31 | import org.eclipse.emf.ecore.EPackage; |
32 | import org.eclipse.emf.ecore.EReference; |
33 | |
34 | import org.eclipse.emf.ecore.impl.EPackageImpl; |
35 | |
36 | /** |
37 | * <!-- begin-user-doc --> |
38 | * An implementation of the model <b>Package</b>. |
39 | * <!-- end-user-doc --> |
40 | * @generated |
41 | */ |
42 | public class QualityPackageImpl extends EPackageImpl implements QualityPackage { |
43 | /** |
44 | * <!-- begin-user-doc --> |
45 | * <!-- end-user-doc --> |
46 | * @generated |
47 | */ |
48 | private EClass qualityRepositoryEClass = null; |
49 | |
50 | /** |
51 | * <!-- begin-user-doc --> |
52 | * <!-- end-user-doc --> |
53 | * @generated |
54 | */ |
55 | private EClass qualityStatementEClass = null; |
56 | |
57 | /** |
58 | * Creates an instance of the model <b>Package</b>, registered with |
59 | * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package |
60 | * package URI value. |
61 | * <p>Note: the correct way to create the package is via the static |
62 | * factory method {@link #init init()}, which also performs |
63 | * initialization of the package, or returns the registered package, |
64 | * if one already exists. |
65 | * <!-- begin-user-doc --> |
66 | * <!-- end-user-doc --> |
67 | * @see org.eclipse.emf.ecore.EPackage.Registry |
68 | * @see de.fzi.se.quality.QualityPackage#eNS_URI |
69 | * @see #init() |
70 | * @generated |
71 | */ |
72 | private QualityPackageImpl() { |
73 | super(eNS_URI, QualityFactory.eINSTANCE); |
74 | } |
75 | |
76 | /** |
77 | * <!-- begin-user-doc --> |
78 | * <!-- end-user-doc --> |
79 | * @generated |
80 | */ |
81 | private static boolean isInited = false; |
82 | |
83 | /** |
84 | * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. |
85 | * |
86 | * <p>This method is used to initialize {@link QualityPackage#eINSTANCE} when that field is accessed. |
87 | * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. |
88 | * <!-- begin-user-doc --> |
89 | * <!-- end-user-doc --> |
90 | * @see #eNS_URI |
91 | * @see #createPackageContents() |
92 | * @see #initializePackageContents() |
93 | * @generated |
94 | */ |
95 | public static QualityPackage init() { |
96 | if (isInited) return (QualityPackage)EPackage.Registry.INSTANCE.getEPackage(QualityPackage.eNS_URI); |
97 | |
98 | // Obtain or create and register package |
99 | QualityPackageImpl theQualityPackage = (QualityPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof QualityPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new QualityPackageImpl()); |
100 | |
101 | isInited = true; |
102 | |
103 | // Initialize simple dependencies |
104 | PcmPackage.eINSTANCE.eClass(); |
105 | |
106 | // Obtain or create and register interdependencies |
107 | QualityAnnotationPackageImpl theQualityAnnotationPackage = (QualityAnnotationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(QualityAnnotationPackage.eNS_URI) instanceof QualityAnnotationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(QualityAnnotationPackage.eNS_URI) : QualityAnnotationPackage.eINSTANCE); |
108 | ParametersPackageImpl theParametersPackage = (ParametersPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ParametersPackage.eNS_URI) instanceof ParametersPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ParametersPackage.eNS_URI) : ParametersPackage.eINSTANCE); |
109 | PCMPackageImpl thePCMPackage = (PCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PCMPackage.eNS_URI) instanceof PCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PCMPackage.eNS_URI) : PCMPackage.eINSTANCE); |
110 | |
111 | // Create package meta-data objects |
112 | theQualityPackage.createPackageContents(); |
113 | theQualityAnnotationPackage.createPackageContents(); |
114 | theParametersPackage.createPackageContents(); |
115 | thePCMPackage.createPackageContents(); |
116 | |
117 | // Initialize created meta-data |
118 | theQualityPackage.initializePackageContents(); |
119 | theQualityAnnotationPackage.initializePackageContents(); |
120 | theParametersPackage.initializePackageContents(); |
121 | thePCMPackage.initializePackageContents(); |
122 | |
123 | // Mark meta-data to indicate it can't be changed |
124 | theQualityPackage.freeze(); |
125 | |
126 | |
127 | // Update the registry and return the package |
128 | EPackage.Registry.INSTANCE.put(QualityPackage.eNS_URI, theQualityPackage); |
129 | return theQualityPackage; |
130 | } |
131 | |
132 | /** |
133 | * <!-- begin-user-doc --> |
134 | * <!-- end-user-doc --> |
135 | * @generated |
136 | */ |
137 | public EClass getQualityRepository() { |
138 | return qualityRepositoryEClass; |
139 | } |
140 | |
141 | /** |
142 | * <!-- begin-user-doc --> |
143 | * <!-- end-user-doc --> |
144 | * @generated |
145 | */ |
146 | public EReference getQualityRepository_QualityStatements() { |
147 | return (EReference)qualityRepositoryEClass.getEStructuralFeatures().get(0); |
148 | } |
149 | |
150 | /** |
151 | * <!-- begin-user-doc --> |
152 | * <!-- end-user-doc --> |
153 | * @generated |
154 | */ |
155 | public EClass getQualityStatement() { |
156 | return qualityStatementEClass; |
157 | } |
158 | |
159 | /** |
160 | * <!-- begin-user-doc --> |
161 | * <!-- end-user-doc --> |
162 | * @generated |
163 | */ |
164 | public EReference getQualityStatement_QualityRepository() { |
165 | return (EReference)qualityStatementEClass.getEStructuralFeatures().get(0); |
166 | } |
167 | |
168 | /** |
169 | * <!-- begin-user-doc --> |
170 | * <!-- end-user-doc --> |
171 | * @generated |
172 | */ |
173 | public QualityFactory getQualityFactory() { |
174 | return (QualityFactory)getEFactoryInstance(); |
175 | } |
176 | |
177 | /** |
178 | * <!-- begin-user-doc --> |
179 | * <!-- end-user-doc --> |
180 | * @generated |
181 | */ |
182 | private boolean isCreated = false; |
183 | |
184 | /** |
185 | * Creates the meta-model objects for the package. This method is |
186 | * guarded to have no affect on any invocation but its first. |
187 | * <!-- begin-user-doc --> |
188 | * <!-- end-user-doc --> |
189 | * @generated |
190 | */ |
191 | public void createPackageContents() { |
192 | if (isCreated) return; |
193 | isCreated = true; |
194 | |
195 | // Create classes and their features |
196 | qualityRepositoryEClass = createEClass(QUALITY_REPOSITORY); |
197 | createEReference(qualityRepositoryEClass, QUALITY_REPOSITORY__QUALITY_STATEMENTS); |
198 | |
199 | qualityStatementEClass = createEClass(QUALITY_STATEMENT); |
200 | createEReference(qualityStatementEClass, QUALITY_STATEMENT__QUALITY_REPOSITORY); |
201 | } |
202 | |
203 | /** |
204 | * <!-- begin-user-doc --> |
205 | * <!-- end-user-doc --> |
206 | * @generated |
207 | */ |
208 | private boolean isInitialized = false; |
209 | |
210 | /** |
211 | * Complete the initialization of the package and its meta-model. This |
212 | * method is guarded to have no affect on any invocation but its first. |
213 | * <!-- begin-user-doc --> |
214 | * <!-- end-user-doc --> |
215 | * @generated |
216 | */ |
217 | public void initializePackageContents() { |
218 | if (isInitialized) return; |
219 | isInitialized = true; |
220 | |
221 | // Initialize package |
222 | setName(eNAME); |
223 | setNsPrefix(eNS_PREFIX); |
224 | setNsURI(eNS_URI); |
225 | |
226 | // Obtain other dependent packages |
227 | QualityAnnotationPackage theQualityAnnotationPackage = (QualityAnnotationPackage)EPackage.Registry.INSTANCE.getEPackage(QualityAnnotationPackage.eNS_URI); |
228 | ParametersPackage theParametersPackage = (ParametersPackage)EPackage.Registry.INSTANCE.getEPackage(ParametersPackage.eNS_URI); |
229 | IdentifierPackage theIdentifierPackage = (IdentifierPackage)EPackage.Registry.INSTANCE.getEPackage(IdentifierPackage.eNS_URI); |
230 | |
231 | // Add subpackages |
232 | getESubpackages().add(theQualityAnnotationPackage); |
233 | getESubpackages().add(theParametersPackage); |
234 | |
235 | // Create type parameters |
236 | |
237 | // Set bounds for type parameters |
238 | |
239 | // Add supertypes to classes |
240 | qualityRepositoryEClass.getESuperTypes().add(theIdentifierPackage.getIdentifier()); |
241 | qualityStatementEClass.getESuperTypes().add(theIdentifierPackage.getIdentifier()); |
242 | |
243 | // Initialize classes and features; add operations and parameters |
244 | initEClass(qualityRepositoryEClass, QualityRepository.class, "QualityRepository", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
245 | initEReference(getQualityRepository_QualityStatements(), this.getQualityStatement(), this.getQualityStatement_QualityRepository(), "qualityStatements", null, 0, -1, QualityRepository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
246 | |
247 | initEClass(qualityStatementEClass, QualityStatement.class, "QualityStatement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
248 | initEReference(getQualityStatement_QualityRepository(), this.getQualityRepository(), this.getQualityRepository_QualityStatements(), "qualityRepository", null, 1, 1, QualityStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
249 | |
250 | // Create resource |
251 | createResource(eNS_URI); |
252 | } |
253 | |
254 | } //QualityPackageImpl |