KickJava   Java API By Example, From Geeks To Geeks.

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


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: ETypedElement.java,v 1.3 2005/06/08 06:20:10 nickb Exp $
16  */

17 package org.eclipse.emf.ecore;
18
19
20
21 /**
22  * <!-- begin-user-doc -->
23  * A representation of the model object '<em><b>ETyped Element</b></em>'.
24  * <!-- end-user-doc -->
25  *
26  * <p>
27  * The following features are supported:
28  * <ul>
29  * <li>{@link org.eclipse.emf.ecore.ETypedElement#isOrdered <em>Ordered</em>}</li>
30  * <li>{@link org.eclipse.emf.ecore.ETypedElement#isUnique <em>Unique</em>}</li>
31  * <li>{@link org.eclipse.emf.ecore.ETypedElement#getLowerBound <em>Lower Bound</em>}</li>
32  * <li>{@link org.eclipse.emf.ecore.ETypedElement#getUpperBound <em>Upper Bound</em>}</li>
33  * <li>{@link org.eclipse.emf.ecore.ETypedElement#isMany <em>Many</em>}</li>
34  * <li>{@link org.eclipse.emf.ecore.ETypedElement#isRequired <em>Required</em>}</li>
35  * <li>{@link org.eclipse.emf.ecore.ETypedElement#getEType <em>EType</em>}</li>
36  * </ul>
37  * </p>
38  *
39  * @see org.eclipse.emf.ecore.EcorePackage#getETypedElement()
40  * @model abstract="true"
41  * @generated
42  */

43 public interface ETypedElement extends ENamedElement
44 {
45   /**
46    * A value indicating that there is no {@link #getUpperBound upper bound}.
47    * @see #getUpperBound()
48    */

49   int UNBOUNDED_MULTIPLICITY = -1;
50
51   /**
52    * A value indicating that there is an unspecified {@link #getUpperBound upper bound}.
53    * @see #getUpperBound()
54    */

55   int UNSPECIFIED_MULTIPLICITY = -2;
56
57   /**
58    * Returns the value of the '<em><b>Ordered</b></em>' attribute.
59    * The default value is <code>"true"</code>.
60    * <!-- begin-user-doc -->
61    * <p>
62    * It represents whether order is meaningful.
63    * </p>
64    * <!-- end-user-doc -->
65    * @return the value of the '<em>Ordered</em>' attribute.
66    * @see #setOrdered(boolean)
67    * @see org.eclipse.emf.ecore.EcorePackage#getETypedElement_Ordered()
68    * @model default="true"
69    * @generated
70    */

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

81   void setOrdered(boolean value);
82
83   /**
84    * Returns the value of the '<em><b>Unique</b></em>' attribute.
85    * The default value is <code>"true"</code>.
86    * <!-- begin-user-doc -->
87    * <p>
88    * It represents whether values must be unique.
89    * </p>
90    * <!-- end-user-doc -->
91    * @return the value of the '<em>Unique</em>' attribute.
92    * @see #setUnique(boolean)
93    * @see org.eclipse.emf.ecore.EcorePackage#getETypedElement_Unique()
94    * @model default="true"
95    * @generated
96    */

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

107   void setUnique(boolean value);
108
109   /**
110    * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
111    * <!-- begin-user-doc -->
112    * <p>
113    * It represents the minimum number of values that must appear in a valid instance.
114    * </p>
115    * <!-- end-user-doc -->
116    * @return the value of the '<em>Lower Bound</em>' attribute.
117    * @see #setLowerBound(int)
118    * @see org.eclipse.emf.ecore.EcorePackage#getETypedElement_LowerBound()
119    * @model
120    * @generated
121    */

122   int getLowerBound();
123
124   /**
125    * Sets the value of the '{@link org.eclipse.emf.ecore.ETypedElement#getLowerBound <em>Lower Bound</em>}' attribute.
126    * <!-- begin-user-doc -->
127    * <!-- end-user-doc -->
128    * @param value the new value of the '<em>Lower Bound</em>' attribute.
129    * @see #getLowerBound()
130    * @generated
131    */

132   void setLowerBound(int value);
133
134   /**
135    * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
136    * The default value is <code>"1"</code>.
137    * <!-- begin-user-doc -->
138    * <p>
139    * It represents the maximum number of values that must appear in a valid instance;
140    * the value <code>-1</code>, i.e., (@link #UNBOUNDED_MULTIPLICITY}}, represents unbounded,
141    * and the value <code>-2</code>, i.e., (@link #UNSPECIFIED_MULTIPLICITY}}, represents unspecified.
142    * </p>
143    * <!-- end-user-doc -->
144    * @return the value of the '<em>Upper Bound</em>' attribute.
145    * @see #setUpperBound(int)
146    * @see org.eclipse.emf.ecore.EcorePackage#getETypedElement_UpperBound()
147    * @model default="1"
148    * @generated
149    */

150   int getUpperBound();
151
152   /**
153    * Sets the value of the '{@link org.eclipse.emf.ecore.ETypedElement#getUpperBound <em>Upper Bound</em>}' attribute.
154    * <!-- begin-user-doc -->
155    * <!-- end-user-doc -->
156    * @param value the new value of the '<em>Upper Bound</em>' attribute.
157    * @see #getUpperBound()
158    * @generated
159    */

160   void setUpperBound(int value);
161
162   /**
163    * Returns the value of the '<em><b>Many</b></em>' attribute.
164    * <!-- begin-user-doc -->
165    * <p>
166    * It represents whether more than one value may appear in a valid instance.
167    * </p>
168    * <!-- end-user-doc -->
169    * @return the value of the '<em>Many</em>' attribute.
170    * @see org.eclipse.emf.ecore.EcorePackage#getETypedElement_Many()
171    * @model transient="true" changeable="false" volatile="true"
172    * @generated
173    */

174   boolean isMany();
175
176   /**
177    * Returns the value of the '<em><b>Required</b></em>' attribute.
178    * <!-- begin-user-doc -->
179    * <p>
180    * It represents whether at least one value is required for a valid instance.
181    * </p>
182    * <!-- end-user-doc -->
183    * @return the value of the '<em>Required</em>' attribute.
184    * @see org.eclipse.emf.ecore.EcorePackage#getETypedElement_Required()
185    * @model transient="true" changeable="false" volatile="true"
186    * @generated
187    */

188   boolean isRequired();
189
190   /**
191    * Returns the value of the '<em><b>EType</b></em>' reference.
192    * <!-- begin-user-doc -->
193    * <p>
194    * It represents the type of the element.
195    * </p>
196    * <!-- end-user-doc -->
197    * @return the value of the '<em>EType</em>' reference.
198    * @see #setEType(EClassifier)
199    * @see org.eclipse.emf.ecore.EcorePackage#getETypedElement_EType()
200    * @model
201    * @generated
202    */

203   EClassifier getEType();
204
205   /**
206    * Sets the value of the '{@link org.eclipse.emf.ecore.ETypedElement#getEType <em>EType</em>}' reference.
207    * <!-- begin-user-doc -->
208    * <!-- end-user-doc -->
209    * @param value the new value of the '<em>EType</em>' reference.
210    * @see #getEType()
211    * @generated
212    */

213   void setEType(EClassifier value);
214
215 } //ETypedElement
216
Popular Tags