KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > emf > ecore > EClass


1 /**
2  * <copyright>
3  *
4  * Copyright (c) 2002-2004 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: EClass.java,v 1.6 2005/06/22 20:00:41 davidms Exp $
16  */

17 package org.eclipse.emf.ecore;
18
19
20 import org.eclipse.emf.common.util.EList;
21
22
23 /**
24  * <!-- begin-user-doc -->
25  * A representation of the model object '<em><b>EClass</b></em>'.
26  * <!-- end-user-doc -->
27  *
28  * <p>
29  * The following features are supported:
30  * <ul>
31  * <li>{@link org.eclipse.emf.ecore.EClass#isAbstract <em>Abstract</em>}</li>
32  * <li>{@link org.eclipse.emf.ecore.EClass#isInterface <em>Interface</em>}</li>
33  * <li>{@link org.eclipse.emf.ecore.EClass#getESuperTypes <em>ESuper Types</em>}</li>
34  * <li>{@link org.eclipse.emf.ecore.EClass#getEOperations <em>EOperations</em>}</li>
35  * <li>{@link org.eclipse.emf.ecore.EClass#getEAllAttributes <em>EAll Attributes</em>}</li>
36  * <li>{@link org.eclipse.emf.ecore.EClass#getEAllReferences <em>EAll References</em>}</li>
37  * <li>{@link org.eclipse.emf.ecore.EClass#getEReferences <em>EReferences</em>}</li>
38  * <li>{@link org.eclipse.emf.ecore.EClass#getEAttributes <em>EAttributes</em>}</li>
39  * <li>{@link org.eclipse.emf.ecore.EClass#getEAllContainments <em>EAll Containments</em>}</li>
40  * <li>{@link org.eclipse.emf.ecore.EClass#getEAllOperations <em>EAll Operations</em>}</li>
41  * <li>{@link org.eclipse.emf.ecore.EClass#getEAllStructuralFeatures <em>EAll Structural Features</em>}</li>
42  * <li>{@link org.eclipse.emf.ecore.EClass#getEAllSuperTypes <em>EAll Super Types</em>}</li>
43  * <li>{@link org.eclipse.emf.ecore.EClass#getEIDAttribute <em>EID Attribute</em>}</li>
44  * <li>{@link org.eclipse.emf.ecore.EClass#getEStructuralFeatures <em>EStructural Features</em>}</li>
45  * </ul>
46  * </p>
47  *
48  * @see org.eclipse.emf.ecore.EcorePackage#getEClass()
49  * @model
50  * @generated
51  */

52 public interface EClass extends EClassifier
53 {
54   /**
55    * Returns the value of the '<em><b>Abstract</b></em>' attribute.
56    * <!-- begin-user-doc -->
57    * <p>
58    * It represents whether the class is abstract in the Java sense.
59    * For an abstract class,
60    * the generated implementation class will be abstract,
61    * and the generated factory will not provide support for creating an instance.
62    * </p>
63    * <!-- end-user-doc -->
64    * @return the value of the '<em>Abstract</em>' attribute.
65    * @see #setAbstract(boolean)
66    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_Abstract()
67    * @model
68    * @generated
69    */

70   boolean isAbstract();
71
72   /**
73    * Sets the value of the '{@link org.eclipse.emf.ecore.EClass#isAbstract <em>Abstract</em>}' attribute.
74    * <!-- begin-user-doc -->
75    * <!-- end-user-doc -->
76    * @param value the new value of the '<em>Abstract</em>' attribute.
77    * @see #isAbstract()
78    * @generated
79    */

80   void setAbstract(boolean value);
81
82   /**
83    * Returns the value of the '<em><b>Interface</b></em>' attribute.
84    * <!-- begin-user-doc -->
85    * <p>
86    * It represents whether the class is an interface in the Java sense.
87    * For an interface class,
88    * there will be no generated implementation class.
89    * </p>
90    * <!-- end-user-doc -->
91    * @return the value of the '<em>Interface</em>' attribute.
92    * @see #setInterface(boolean)
93    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_Interface()
94    * @model
95    * @generated
96    */

97   boolean isInterface();
98
99   /**
100    * Sets the value of the '{@link org.eclipse.emf.ecore.EClass#isInterface <em>Interface</em>}' attribute.
101    * <!-- begin-user-doc -->
102    * <!-- end-user-doc -->
103    * @param value the new value of the '<em>Interface</em>' attribute.
104    * @see #isInterface()
105    * @generated
106    */

107   void setInterface(boolean value);
108
109   /**
110    * Returns the value of the '<em><b>ESuper Types</b></em>' reference list.
111    * The list contents are of type {@link org.eclipse.emf.ecore.EClass}.
112    * <!-- begin-user-doc -->
113    * <p>
114    * It represents the super types in the Java sense, i.e., the super class and the direct implemented interfaces.
115    * </p>
116    * @see #getEAllSuperTypes()
117    * @ignore
118    * <!-- end-user-doc -->
119    * @return the value of the '<em>ESuper Types</em>' reference list.
120    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_ESuperTypes()
121    * @model type="org.eclipse.emf.ecore.EClass"
122    * @generated
123    */

124   EList getESuperTypes();
125
126   /**
127    * Returns the value of the '<em><b>EAll Super Types</b></em>' reference list.
128    * The list contents are of type {@link org.eclipse.emf.ecore.EClass}.
129    * <!-- begin-user-doc -->
130    * <p>
131    * It represents the closure of all inherited super types.
132    * </p>
133    * <!-- end-user-doc -->
134    * @return the value of the '<em>EAll Super Types</em>' reference list.
135    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_EAllSuperTypes()
136    * @model type="org.eclipse.emf.ecore.EClass" transient="true" changeable="false" volatile="true" derived="true"
137    * @generated
138    */

139   EList getEAllSuperTypes();
140
141   /**
142    * Returns the value of the '<em><b>EID Attribute</b></em>' reference.
143    * <!-- begin-user-doc -->
144    * <p>
145    * It represents the attribute that will be used as the ID of an instace.
146    * @see org.eclipse.emf.ecore.EAttribute#isID()
147    * @ignore
148    * </p>
149    * <!-- end-user-doc -->
150    * @return the value of the '<em>EID Attribute</em>' reference.
151    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_EIDAttribute()
152    * @model resolveProxies="false" transient="true" changeable="false" volatile="true" derived="true"
153    * @generated
154    */

155   EAttribute getEIDAttribute();
156
157   /**
158    * Returns the value of the '<em><b>EStructural Features</b></em>' containment reference list.
159    * The list contents are of type {@link org.eclipse.emf.ecore.EStructuralFeature}.
160    * It is bidirectional and its opposite is '{@link org.eclipse.emf.ecore.EStructuralFeature#getEContainingClass <em>EContaining Class</em>}'.
161    * <!-- begin-user-doc -->
162    * <p>
163    * It represents the modeled features local to this class.
164    * </p>
165    * <!-- end-user-doc -->
166    * @return the value of the '<em>EStructural Features</em>' containment reference list.
167    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_EStructuralFeatures()
168    * @see org.eclipse.emf.ecore.EStructuralFeature#getEContainingClass
169    * @model type="org.eclipse.emf.ecore.EStructuralFeature" opposite="eContainingClass" containment="true"
170    * @generated
171    */

172   EList getEStructuralFeatures();
173
174   /**
175    * Returns the value of the '<em><b>EAttributes</b></em>' reference list.
176    * The list contents are of type {@link org.eclipse.emf.ecore.EAttribute}.
177    * <!-- begin-user-doc -->
178    * <p>
179    * It represents the modeled attributes local to this class.
180    * </p>
181    * <!-- end-user-doc -->
182    * @return the value of the '<em>EAttributes</em>' reference list.
183    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_EAttributes()
184    * @model type="org.eclipse.emf.ecore.EAttribute" transient="true" changeable="false" volatile="true" derived="true"
185    * @generated
186    */

187   EList getEAttributes();
188
189   /**
190    * Returns the value of the '<em><b>EAll Attributes</b></em>' reference list.
191    * The list contents are of type {@link org.eclipse.emf.ecore.EAttribute}.
192    * <!-- begin-user-doc -->
193    * <p>
194    * It represents the closure of all attributes, inherited and local.
195    * </p>
196    * <!-- end-user-doc -->
197    * @return the value of the '<em>EAll Attributes</em>' reference list.
198    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_EAllAttributes()
199    * @model type="org.eclipse.emf.ecore.EAttribute" transient="true" changeable="false" volatile="true" derived="true"
200    * @generated
201    */

202   EList getEAllAttributes();
203
204   /**
205    * Returns the value of the '<em><b>EReferences</b></em>' reference list.
206    * The list contents are of type {@link org.eclipse.emf.ecore.EReference}.
207    * <!-- begin-user-doc -->
208    * <p>
209    * It represents the modeled references local to this class.
210    * </p>
211    * <!-- end-user-doc -->
212    * @return the value of the '<em>EReferences</em>' reference list.
213    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_EReferences()
214    * @model type="org.eclipse.emf.ecore.EReference" transient="true" changeable="false" volatile="true" derived="true"
215    * @generated
216    */

217   EList getEReferences();
218
219   /**
220    * Returns the value of the '<em><b>EAll References</b></em>' reference list.
221    * The list contents are of type {@link org.eclipse.emf.ecore.EReference}.
222    * <!-- begin-user-doc -->
223    * <p>
224    * It represents the closure of all references, inherited and local.
225    * </p>
226    * <!-- end-user-doc -->
227    * @return the value of the '<em>EAll References</em>' reference list.
228    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_EAllReferences()
229    * @model type="org.eclipse.emf.ecore.EReference" transient="true" changeable="false" volatile="true" derived="true"
230    * @generated
231    */

232   EList getEAllReferences();
233
234   /**
235    * Returns the value of the '<em><b>EAll Containments</b></em>' reference list.
236    * The list contents are of type {@link org.eclipse.emf.ecore.EReference}.
237    * <!-- begin-user-doc -->
238    * <p>
239    * It represents the closure of all references, inherited and local,
240    * that are {@link EReference#isContainment containments}.
241    * These features will determine the {@link EObject#eContents} of an instance.
242    * </p>
243    * <!-- end-user-doc -->
244    * @return the value of the '<em>EAll Containments</em>' reference list.
245    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_EAllContainments()
246    * @model type="org.eclipse.emf.ecore.EReference" transient="true" changeable="false" volatile="true" derived="true"
247    * @generated
248    */

249   EList getEAllContainments();
250
251   /**
252    * Returns the value of the '<em><b>EAll Structural Features</b></em>' reference list.
253    * The list contents are of type {@link org.eclipse.emf.ecore.EStructuralFeature}.
254    * <!-- begin-user-doc -->
255    * <p>
256    * It represents the closure of all attributes and references, inherited and local.
257    * </p>
258    * <!-- end-user-doc -->
259    * @return the value of the '<em>EAll Structural Features</em>' reference list.
260    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_EAllStructuralFeatures()
261    * @model type="org.eclipse.emf.ecore.EStructuralFeature" transient="true" changeable="false" volatile="true" derived="true"
262    * @generated
263    */

264   EList getEAllStructuralFeatures();
265
266   /**
267    * Returns the value of the '<em><b>EOperations</b></em>' containment reference list.
268    * The list contents are of type {@link org.eclipse.emf.ecore.EOperation}.
269    * It is bidirectional and its opposite is '{@link org.eclipse.emf.ecore.EOperation#getEContainingClass <em>EContaining Class</em>}'.
270    * <!-- begin-user-doc -->
271    * <p>
272    * It represents the modeled operations local to this class.
273    * </p>
274    * <!-- end-user-doc -->
275    * @return the value of the '<em>EOperations</em>' containment reference list.
276    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_EOperations()
277    * @see org.eclipse.emf.ecore.EOperation#getEContainingClass
278    * @model type="org.eclipse.emf.ecore.EOperation" opposite="eContainingClass" containment="true"
279    * @generated
280    */

281   EList getEOperations();
282
283   /**
284    * Returns the value of the '<em><b>EAll Operations</b></em>' reference list.
285    * The list contents are of type {@link org.eclipse.emf.ecore.EOperation}.
286    * <!-- begin-user-doc -->
287    * <p>
288    * It represents the closure of all operations, inherited and local.
289    * </p>
290    * <!-- end-user-doc -->
291    * @return the value of the '<em>EAll Operations</em>' reference list.
292    * @see org.eclipse.emf.ecore.EcorePackage#getEClass_EAllOperations()
293    * @model type="org.eclipse.emf.ecore.EOperation" transient="true" changeable="false" volatile="true" derived="true"
294    * @generated
295    */

296   EList getEAllOperations();
297
298   /**
299    * <!-- begin-user-doc -->
300    * Returns whether this class is the same as, or a super type of, some other class.
301    * @param someClass some other class.
302    * @return whether this class is the same as, or a super type of, some other class.
303    * @see Class#isAssignableFrom
304    * @ignore
305    * <!-- end-user-doc -->
306    * @model
307    * @generated
308    */

309   boolean isSuperTypeOf(EClass someClass);
310
311   /**
312    * <!-- begin-user-doc -->
313    * Returns the number of features.
314    * @return the number of features.
315    * <!-- end-user-doc -->
316    * @model kind="operation"
317    * @generated
318    */

319   int getFeatureCount();
320
321   /**
322    * <!-- begin-user-doc -->
323    * Returns the feature with this ID.
324    * @return the feature with this ID.
325    * <!-- end-user-doc -->
326    * @model
327    * @generated
328    */

329   EStructuralFeature getEStructuralFeature(int featureID);
330
331   /**
332    * <!-- begin-user-doc -->
333    * Returns the feature with this name.
334    * @return the feature with this name.
335    * <!-- end-user-doc -->
336    * @model
337    * @generated
338    */

339   EStructuralFeature getEStructuralFeature(String JavaDoc featureName);
340
341   /**
342    * <!-- begin-user-doc -->
343    * Returns the ID of the feature relative to this class, or -1 if the feature is not in this class.
344    * @return the ID of the feature relative to this class, or -1 if the feature is not in this class.
345    * <!-- end-user-doc -->
346    * @model
347    * @generated
348    */

349   int getFeatureID(EStructuralFeature feature);
350
351 }
352
Popular Tags