KickJava   Java API By Example, From Geeks To Geeks.

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


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

17 package org.eclipse.emf.ecore;
18
19
20 import java.util.Map JavaDoc;
21
22 import org.eclipse.emf.common.util.EList;
23
24
25 /**
26  * <!-- begin-user-doc -->
27  * A representation of the model object '<em><b>EPackage</b></em>'.
28  * <!-- end-user-doc -->
29  *
30  * <p>
31  * The following features are supported:
32  * <ul>
33  * <li>{@link org.eclipse.emf.ecore.EPackage#getNsURI <em>Ns URI</em>}</li>
34  * <li>{@link org.eclipse.emf.ecore.EPackage#getNsPrefix <em>Ns Prefix</em>}</li>
35  * <li>{@link org.eclipse.emf.ecore.EPackage#getEFactoryInstance <em>EFactory Instance</em>}</li>
36  * <li>{@link org.eclipse.emf.ecore.EPackage#getEClassifiers <em>EClassifiers</em>}</li>
37  * <li>{@link org.eclipse.emf.ecore.EPackage#getESubpackages <em>ESubpackages</em>}</li>
38  * <li>{@link org.eclipse.emf.ecore.EPackage#getESuperPackage <em>ESuper Package</em>}</li>
39  * </ul>
40  * </p>
41  *
42  * @see org.eclipse.emf.ecore.EcorePackage#getEPackage()
43  * @model
44  * @generated
45  */

46 public interface EPackage extends ENamedElement
47 {
48   /**
49    * An <code>EPackage</code> wrapper that is used by the {@link EPackage.Registry}.
50    */

51   public interface Descriptor
52   {
53     /**
54      * Returns the package.
55      * @return the package.
56      */

57     EPackage getEPackage();
58   }
59
60   /**
61    * A map from {@link EPackage#getNsURI() namespace URI} to {@link EPackage}.
62    */

63   public interface Registry extends Map JavaDoc
64   {
65     /**
66      * Looks up the value in the map, converting <code>EPackage.Descriptor</code> objects to <code>EPackage</code> objects on demand.
67      */

68     EPackage getEPackage(String JavaDoc nsURI);
69
70     Registry INSTANCE = org.eclipse.emf.ecore.impl.EPackageRegistryImpl.createGlobalRegistry();
71   }
72
73   /**
74    * Returns the value of the '<em><b>Ns URI</b></em>' attribute.
75    * <!-- begin-user-doc -->
76    * <p>
77    * It represents the namespace URI, i.e., a universally unique identification of a particular package,
78    * much like an XML Schema target namespace.
79    * It will be used in an XMI serialization.
80    * It is typically registered with the {@link EPackage.Registry#INSTANCE global} package registry.
81    * </p>
82    * @see EPackage.Registry#INSTANCE
83    * @ignore
84    * <!-- end-user-doc -->
85    * @return the value of the '<em>Ns URI</em>' attribute.
86    * @see #setNsURI(String)
87    * @see org.eclipse.emf.ecore.EcorePackage#getEPackage_NsURI()
88    * @model
89    * @generated
90    */

91   String JavaDoc getNsURI();
92
93   /**
94    * Sets the value of the '{@link org.eclipse.emf.ecore.EPackage#getNsURI <em>Ns URI</em>}' attribute.
95    * <!-- begin-user-doc -->
96    * <!-- end-user-doc -->
97    * @param value the new value of the '<em>Ns URI</em>' attribute.
98    * @see #getNsURI()
99    * @generated
100    */

101   void setNsURI(String JavaDoc value);
102
103   /**
104    * Returns the value of the '<em><b>Ns Prefix</b></em>' attribute.
105    * <!-- begin-user-doc -->
106    * <p>
107    * It represents the prefered XMLNS prefix to be used for this package's the {@link #getNsURI namespace URI}.
108    * It will be used in an XMI serialization.
109    * </p>
110    * <!-- end-user-doc -->
111    * @return the value of the '<em>Ns Prefix</em>' attribute.
112    * @see #setNsPrefix(String)
113    * @see org.eclipse.emf.ecore.EcorePackage#getEPackage_NsPrefix()
114    * @model
115    * @generated
116    */

117   String JavaDoc getNsPrefix();
118
119   /**
120    * Sets the value of the '{@link org.eclipse.emf.ecore.EPackage#getNsPrefix <em>Ns Prefix</em>}' attribute.
121    * <!-- begin-user-doc -->
122    * <!-- end-user-doc -->
123    * @param value the new value of the '<em>Ns Prefix</em>' attribute.
124    * @see #getNsPrefix()
125    * @generated
126    */

127   void setNsPrefix(String JavaDoc value);
128
129   /**
130    * Returns the value of the '<em><b>EFactory Instance</b></em>' reference.
131    * It is bidirectional and its opposite is '{@link org.eclipse.emf.ecore.EFactory#getEPackage <em>EPackage</em>}'.
132    * <!-- begin-user-doc -->
133    * <p>
134    * It this package's factory for creating modeled object instances.
135    * </p>
136    * <!-- end-user-doc -->
137    * @return the value of the '<em>EFactory Instance</em>' reference.
138    * @see #setEFactoryInstance(EFactory)
139    * @see org.eclipse.emf.ecore.EcorePackage#getEPackage_EFactoryInstance()
140    * @see org.eclipse.emf.ecore.EFactory#getEPackage
141    * @model opposite="ePackage" resolveProxies="false" required="true" transient="true"
142    * @generated
143    */

144   EFactory getEFactoryInstance();
145
146   /**
147    * Sets the value of the '{@link org.eclipse.emf.ecore.EPackage#getEFactoryInstance <em>EFactory Instance</em>}' reference.
148    * <!-- begin-user-doc -->
149    * <!-- end-user-doc -->
150    * @param value the new value of the '<em>EFactory Instance</em>' reference.
151    * @see #getEFactoryInstance()
152    * @generated
153    */

154   void setEFactoryInstance(EFactory value);
155
156   /**
157    * Returns the value of the '<em><b>EClassifiers</b></em>' containment reference list.
158    * The list contents are of type {@link org.eclipse.emf.ecore.EClassifier}.
159    * It is bidirectional and its opposite is '{@link org.eclipse.emf.ecore.EClassifier#getEPackage <em>EPackage</em>}'.
160    * <!-- begin-user-doc -->
161    * <p>
162    * It represents the meta objects, i.e., classes and datatypes, defined in this package.
163    * </p>
164    * <!-- end-user-doc -->
165    * @return the value of the '<em>EClassifiers</em>' containment reference list.
166    * @see org.eclipse.emf.ecore.EcorePackage#getEPackage_EClassifiers()
167    * @see org.eclipse.emf.ecore.EClassifier#getEPackage
168    * @model type="org.eclipse.emf.ecore.EClassifier" opposite="ePackage" containment="true"
169    * @generated
170    */

171   EList getEClassifiers();
172
173   /**
174    * Returns the value of the '<em><b>ESubpackages</b></em>' containment reference list.
175    * The list contents are of type {@link org.eclipse.emf.ecore.EPackage}.
176    * It is bidirectional and its opposite is '{@link org.eclipse.emf.ecore.EPackage#getESuperPackage <em>ESuper Package</em>}'.
177    * <!-- begin-user-doc -->
178    * <p>
179    * It represents the nested packages contained by this package.
180    * </p>
181    * <!-- end-user-doc -->
182    * @return the value of the '<em>ESubpackages</em>' containment reference list.
183    * @see org.eclipse.emf.ecore.EcorePackage#getEPackage_ESubpackages()
184    * @see org.eclipse.emf.ecore.EPackage#getESuperPackage
185    * @model type="org.eclipse.emf.ecore.EPackage" opposite="eSuperPackage" containment="true"
186    * @generated
187    */

188   EList getESubpackages();
189
190   /**
191    * Returns the value of the '<em><b>ESuper Package</b></em>' container reference.
192    * It is bidirectional and its opposite is '{@link org.eclipse.emf.ecore.EPackage#getESubpackages <em>ESubpackages</em>}'.
193    * <!-- begin-user-doc -->
194    * <p>
195    * It represents the containing package of this package.
196    * </p>
197    * <!-- end-user-doc -->
198    * @return the value of the '<em>ESuper Package</em>' container reference.
199    * @see org.eclipse.emf.ecore.EcorePackage#getEPackage_ESuperPackage()
200    * @see org.eclipse.emf.ecore.EPackage#getESubpackages
201    * @model opposite="eSubpackages" changeable="false"
202    * @generated
203    */

204   EPackage getESuperPackage();
205
206   /**
207    * <!-- begin-user-doc -->
208    * Returns the classifier with the given name.
209    * @param name the name in question.
210    * @return the classifier with the given name.
211    * <!-- end-user-doc -->
212    * @model
213    * @generated
214    */

215   EClassifier getEClassifier(String JavaDoc name);
216
217 }
218
Popular Tags