Skip to main content
summaryrefslogtreecommitdiffstats
blob: 2f8aa37cc856c7c42e9afddc42914ef36fc6aafc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
<?xml version="1.0" encoding="ASCII"?>
<ecore:EPackage xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="java"
    nsURI="java.xmi" nsPrefix="org.eclipse.jem.java">
  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
    <details key="documentation" value="Changes to synch up with Java3e:&#xD;&#xA;- deleted JavaElement, BodyElement which didn't add anything useful&#xD;&#xA;- deleted NestedClass and the association which described nesting, contents can be used instead&#xD;&#xA;- deleted extends/extendedBy which is replaced with MOF subtype/supertype&#xD;&#xA;- deleted the clumsy main diagram&#xD;&#xA;- moved the MOF inheritance details to the MOF binding diagram&#xD;&#xA;- deleted &quot;final&quot; on JavaParameter, don't know what that was supposed to be&#xD;&#xA;- deleted the Category junk&#xD;&#xA;- changed the Block-typed attributes on Field, Method, Initializer to be associations to Block&#xD;&#xA;&#xD;&#xA;Outstanding questions/issues:&#xD;&#xA;- JavaParameterKind should go away if we get the base Parameter kind fixed up&#xD;&#xA;"/>
  </eAnnotations>
  <eClassifiers xsi:type="ecore:EClass" name="JavaClass" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass">
    <eOperations name="isNested" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eOperations name="getField" eType="#//Field">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return an Field with the passed name, or null."/>
      </eAnnotations>
      <eParameters name="fieldName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eOperations>
    <eOperations name="getFieldExtended" eType="#//Field">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value=" Return an Field with the passed name from this JavaClass or any supertypes.&#xD;&#xA;&#xD;&#xA;Return null if a Field named fieldName is not found."/>
      </eAnnotations>
      <eParameters name="fieldName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eOperations>
    <eOperations name="getFieldNamed" eType="#//Field">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return an Field with the passed name, or null."/>
      </eAnnotations>
      <eParameters name="fieldName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eOperations>
    <eOperations name="getFieldsExtended" eType="#//JTypeList">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return all fields, including those from supertypes."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getMethod" eType="#//Method">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Get the method of this name and these parameters. It will not look up the supertype hierarchy."/>
      </eAnnotations>
      <eParameters name="methodName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eParameters name="parameterTypes" eType="#//JTypeList">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="List of parameter types."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getMethodElementSignatures" eType="#//JTypeList">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return a List of Strings that represent MethodElement signatures from most general to most specific."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getMethodExtended" eType="#//Method">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Get the method of this name and these parameters. It will look up the supertype hierarchy."/>
      </eAnnotations>
      <eParameters name="methodName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eParameters name="parameterTypes" eType="#//JTypeList">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="List of parameter types."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getMethodsExtended" eType="#//JTypeList">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return all methods, including those from supertypes."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getOnlySpecificMethods" eType="#//JTypeList">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return a List of Methods that begins with @aMethodNamePrefix and is not included in the @excludedNames list. If @aMethodNamePrefix is null, all methods will be returned.&#xD;&#xA;"/>
      </eAnnotations>
      <eParameters name="aMethodNamePrefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eParameters name="excludedNames" eType="#//JTypeList"/>
    </eOperations>
    <eOperations name="getPublicMethod" eType="#//Method">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return a method matching the name, and non-return parameters with fully qualified types matching all the types in the list, if it exists.  It will not look up the supertype hierarchy."/>
      </eAnnotations>
      <eParameters name="methodName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eParameters name="parameterTypes" eType="#//JTypeList">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="List of parameter types."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getPublicMethods" eType="#//JTypeList">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return all methods, it will not go up the supertype hierarchy."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getPublicMethodsExtended" eType="#//JTypeList">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return all public methods, including those from supertypes."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getPublicMethodsNamed" eType="#//JTypeList">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns a filtered list on the methods of this class, having a name equal to that of the parameter."/>
      </eAnnotations>
      <eParameters name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eOperations>
    <eOperations name="getSupertype" eType="#//JavaClass"/>
    <eOperations name="implementsInterface" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Test whether the receiver implements the passed interface (or one of its supertypes)."/>
      </eAnnotations>
      <eParameters name="interfaceType" eType="#//JavaClass"/>
    </eOperations>
    <eOperations name="infoString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return a string showing our details."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="inheritsFrom" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Tests whether this class inherits from the passed in class."/>
      </eAnnotations>
      <eParameters name="javaClass" eType="#//JavaClass"/>
    </eOperations>
    <eOperations name="isExistingType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Does this type exist."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isInterface" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Is this an interface."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="setSupertype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Set the supertype."/>
      </eAnnotations>
      <eParameters name="javaclass" eType="#//JavaClass"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//TypeKind"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="public" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="implementsInterfaces" upperBound="-1"
        eType="#//JavaClass"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="classImport" upperBound="-1"
        eType="#//JavaClass"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="packageImports" upperBound="-1"
        eType="#//JavaPackage"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="fields" upperBound="-1"
        eType="#//Field" containment="true" eOpposite="#//Field/javaClass"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="methods" upperBound="-1"
        eType="#//Method" containment="true" eOpposite="#//Method/javaClass"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="initializers" upperBound="-1"
        eType="#//Initializer" containment="true" eOpposite="#//Initializer/javaClass"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="declaredClasses" upperBound="-1"
        eType="#//JavaClass" eOpposite="#//JavaClass/declaringClass"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="declaringClass" eType="#//JavaClass"
        eOpposite="#//JavaClass/declaredClasses"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="javaPackage" eType="#//JavaPackage"
        changeable="false" volatile="true" transient="true" eOpposite="#//JavaPackage/javaClasses"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1"
        eType="#//JavaEvent" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="allEvents" upperBound="-1"
        eType="#//JavaEvent" volatile="true" transient="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Initializer">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStatic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="javaClass" eType="#//JavaClass"
        transient="true" eOpposite="#//JavaClass/initializers"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//Block"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="JavaParameter" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EParameter">
    <eOperations name="isArray" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Is this parameter type an array type."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isReturn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Is this a return parameter."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getJavaType" eType="#//JTypeJavaHelpers"/>
    <eOperations name="getQualifiedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="parameterKind" eType="#//JavaParameterKind"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Method" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation">
    <eOperations name="getContainingJavaClass" eType="#//JavaClass">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return the java class that this method is defined in."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getMethodElementSignature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return a String with the the method name and its parameters. e.g. &lt;code> setFirstName(java.lang.String) &lt;/code> .&#xD;&#xA; "/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getParameter" eType="#//JavaParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return a Parameter with the passed name, or null."/>
      </eAnnotations>
      <eParameters name="parameterName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eOperations>
    <eOperations name="getReturnType" eType="#//JTypeJavaHelpers">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Get the return type."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="setReturnType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Set the return type"/>
      </eAnnotations>
      <eParameters name="type" eType="#//JTypeJavaHelpers"/>
    </eOperations>
    <eOperations name="getSignature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Replicate the functionality of java.lang.reflect.Method.toString().&#xD;&#xA;&#xD;&#xA;Returns a string describing this Method.  The string is formatted as the method access modifiers, if any, followed by the method return type, followed by a space, followed by the class declaring the method, followed by a period, followed by the method name, followed by a parenthesized, comma-separated list of the method's formal parameter types. If the method throws checked exceptions, the parameter list is followed by a space, followed by the word throws followed by a comma-separated list of the thrown exception types.&#xD;&#xA;&#xD;&#xA;For example:&#xD;&#xA;&#xD;&#xA;    public boolean java.lang.Object.equals(java.lang.Object)&#xD;&#xA;&#xD;&#xA;The access modifiers are placed in canonical order as specified by &quot;The Java Language Specification&quot;.  This is public, &lt;tt>protected&lt;/tt> or &lt;tt>private&lt;/tt> first, and then other modifiers in the following order: &lt;tt>abstract&lt;/tt>, &lt;tt>static&lt;/tt>, &lt;tt>final&lt;/tt>, &lt;tt>synchronized&lt;/tt> &lt;tt>native&lt;/tt>.&#xD;&#xA;"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isGenerated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns true if the method is system generated.&#xD;&#xA;This is usually determined by the @generated tag in the comment."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="setIsGenerated">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Set the isGenerated flag."/>
      </eAnnotations>
      <eParameters name="generated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    </eOperations>
    <eOperations name="isVoid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Is this a void return type method."/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="native" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="synchronized" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="constructor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="javaVisibility" eType="#//JavaVisibilityKind"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
        eType="#//JavaParameter" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="javaExceptions" upperBound="-1"
        eType="#//JavaClass"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="javaClass" eType="#//JavaClass"
        transient="true" eOpposite="#//JavaClass/methods"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//Block"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Field" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//ETypedElement">
    <eOperations name="getContainingJavaClass" eType="#//JavaClass">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Get the class that this field is within."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isArray" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Is this field an array type."/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="javaVisibility" eType="#//JavaVisibilityKind"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="transient" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="volatile" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="javaClass" eType="#//JavaClass"
        transient="true" eOpposite="#//JavaClass/fields"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="initializer" eType="#//Block"
        containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="TypeKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="UNDEFINED=1 CLASS=2 INTERFACE=3 EXCEPTION=4"/>
    </eAnnotations>
    <eLiterals name="UNDEFINED"/>
    <eLiterals name="CLASS" value="1"/>
    <eLiterals name="INTERFACE" value="2"/>
    <eLiterals name="EXCEPTION" value="3"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Block">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="source" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
        eType="#//Block" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//Block"/>
  <eClassifiers xsi:type="ecore:EClass" name="Statement" eSuperTypes="#//Block"/>
  <eClassifiers xsi:type="ecore:EClass" name="JavaPackage" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage">
    <eStructuralFeatures xsi:type="ecore:EReference" name="javaClasses" upperBound="-1"
        eType="#//JavaClass" changeable="false" volatile="true" transient="true" eOpposite="#//JavaClass/javaPackage"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="JavaVisibilityKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="PACKAGE=1&#xD;&#xA;PUBLIC=2&#xD;&#xA;PRIVATE=3&#xD;&#xA;PROTECTED=4"/>
    </eAnnotations>
    <eLiterals name="PUBLIC"/>
    <eLiterals name="PRIVATE" value="1"/>
    <eLiterals name="PROTECTED" value="2"/>
    <eLiterals name="PACKAGE" value="3"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="JavaParameterKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="IN=0&#xD;&#xA;OUT=1&#xD;&#xA;INOUT=2&#xD;&#xA;RETURN=3"/>
    </eAnnotations>
    <eLiterals name="IN"/>
    <eLiterals name="OUT" value="1"/>
    <eLiterals name="INOUT" value="2"/>
    <eLiterals name="RETURN" value="3"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="JavaDataType" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass">
    <eOperations name="getDefaultValueString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return the default string representing the default value of the primitive."/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ArrayType" eSuperTypes="#//JavaClass">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Describes a Java Array type&#xD;&#xA;   For multi-dimensional arrays, it is unlikely that the component type will be&#xD;&#xA;   specified directly.  This would require instantiating a chain of component types&#xD;&#xA;   such as String[][][][]->String[][][]->String[][]->String[]->String.&#xD;&#xA;&#xD;&#xA;  The component type relationship will be computed if the finalComponentType&#xD;&#xA;  and array dimensions is specified.&#xD;&#xA; &#xD;&#xA;  For this reason, the preferred way to create is through the JavaRefFactory factory method:&#xD;&#xA;       createArrayType(JavaClass finalComponentType, int dimensions)"/>
    </eAnnotations>
    <eOperations name="getFinalComponentType" eType="#//JTypeJavaHelpers">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Get the final component type for this Array Type.&#xD;&#xA;&#xD;&#xA;In order to ensure a unique instance, we will resolve this type using reflection. It turns out to be most efficient to just do this by trimming the name."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getComponentTypeAsHelper" eType="#//JTypeJavaHelpers">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Get the component type of this array. &#xD;&#xA;&#xD;&#xA;If this is a multi-dimensional array, the component type will be the nested array type."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isPrimitiveArray" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Is this an array of java primitives"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="setComponentType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Set the component type."/>
      </eAnnotations>
      <eParameters name="helperComponentType" eType="#//JTypeJavaHelpers"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="arrayDimensions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="componentType" lowerBound="1"
        eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="JTypeJavaHelpers" instanceClassName="org.eclipse.jem.java.JavaHelpers">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="This interface is a common interface between JavaClass and JavaDataType plus some common helper methods."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="JTypeList" instanceClassName="java.util.List">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="java.util.List type"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="JavaEvent" abstract="true" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
</ecore:EPackage>

Back to the top