| <?xml version="1.0" encoding="UTF-8"?> |
| <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="component" |
| nsURI="http://eclipse.org/component" nsPrefix="component"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
			Each component is described via a component description
			file.
		"/> |
| </eAnnotations> |
| <eClassifiers xsi:type="ecore:EClass" name="ComponentDependsType"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="name" value="component-depends_._type"/> |
| <details key="kind" value="elementOnly"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="componentRef" upperBound="-1" |
| eType="#//ComponentRefType" containment="true" resolveProxies="false"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="element"/> |
| <details key="name" value="component-ref"/> |
| <details key="namespace" value="##targetNamespace"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="unrestricted" unique="false" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" |
| defaultValueLiteral="false" unsettable="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
						States whether this component is allowed to
						depend on arbitrary other components, or just
						the ones explicitly named by the
						&lt;component-ref&gt; children
					"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="unrestricted"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ComponentRefType"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="name" value="component-ref_._type"/> |
| <details key="kind" value="empty"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
						Name of the referenced component; e.g., "Eclipse
						Platform Generic Workbench"
					"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="name"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ComponentType"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="name" value="component_._type"/> |
| <details key="kind" value="elementOnly"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="plugin" upperBound="-1" |
| eType="#//PluginType" containment="true" resolveProxies="false"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="element"/> |
| <details key="name" value="plugin"/> |
| <details key="namespace" value="##targetNamespace"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="package" upperBound="-1" |
| eType="#//PackageType" containment="true" resolveProxies="false"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="element"/> |
| <details key="name" value="package"/> |
| <details key="namespace" value="##targetNamespace"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="componentDepends" lowerBound="1" |
| eType="#//ComponentDependsType" containment="true" resolveProxies="false"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="element"/> |
| <details key="name" value="component-depends"/> |
| <details key="namespace" value="##targetNamespace"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
						The component name; e.g. "Eclipse Platform
						Generic Workbench"; note that this name is used
						to refer to the component and distinguish it
						from other components (but otherwise has no
						official status in Eclipse ontology)
					"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="name"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="name" value=""/> |
| <details key="kind" value="mixed"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="elementWildcard"/> |
| <details key="name" value=":mixed"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="xMLNSPrefixMap" unique="false" |
| upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry" |
| transient="true" containment="true" resolveProxies="false"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="xmlns:prefix"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="xSISchemaLocation" unique="false" |
| upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry" |
| transient="true" containment="true" resolveProxies="false"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="xsi:schemaLocation"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="component" upperBound="-2" |
| eType="#//ComponentType" volatile="true" transient="true" derived="true" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
				Provides information about a component. Child elements
				of this element describe the set of plug-ins and
				fragments making up the component, and provide
				information about the Java packages and types in the
				component's code.
			"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="element"/> |
| <details key="name" value="component"/> |
| <details key="namespace" value="##targetNamespace"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="componentDepends" upperBound="-2" |
| eType="#//ComponentDependsType" volatile="true" transient="true" derived="true" |
| containment="true" resolveProxies="false"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="element"/> |
| <details key="name" value="component-depends"/> |
| <details key="namespace" value="##targetNamespace"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="componentRef" upperBound="-2" |
| eType="#//ComponentRefType" volatile="true" transient="true" derived="true" |
| containment="true" resolveProxies="false"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="element"/> |
| <details key="name" value="component-ref"/> |
| <details key="namespace" value="##targetNamespace"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="package" upperBound="-2" |
| eType="#//PackageType" volatile="true" transient="true" derived="true" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
				Provides information about a package as used by the
				component. In the unusual case where a package is shared
				with other components, the &lt;package&gt; element is
				understood to apply only to the types the component
				actually declares, and has no bearing on the types
				declared in the same package in any other component. The
				list of packages may be incomplete; if the component
				contains code in a package not mentioned in the list,
				the package is considered to be internal (equivalent to
				being explicitly described as &lt;package name="..."
				api="false" /&gt;). The children of the &lt;package&gt;
				element provide information about specific types in the
				package.
			"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="element"/> |
| <details key="name" value="package"/> |
| <details key="namespace" value="##targetNamespace"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="plugin" upperBound="-2" |
| eType="#//PluginType" volatile="true" transient="true" derived="true" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
				Identifies a plug-in or plug-in fragment that is part of
				the component. The list of plug-ins must be complete;
				that is, a component contains a plug-in (or fragment) if
				and only if a &lt;plugin&gt; element occurs as a child
				of the &lt;component&gt; element.
			"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="element"/> |
| <details key="name" value="plugin"/> |
| <details key="namespace" value="##targetNamespace"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="type" upperBound="-2" eType="#//TypeType" |
| volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
				Provides information about a top-level type in a
				package. (Note: We could extend the schema in the future
				to allow &lt;type&gt; elements to provide analogous
				information about their members. We could also extend
				the &lt;component&gt; element to allow aspects other
				than code API to be described.)
			"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="element"/> |
| <details key="name" value="type"/> |
| <details key="namespace" value="##targetNamespace"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="PackageType"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="name" value="package_._type"/> |
| <details key="kind" value="elementOnly"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="type" upperBound="-1" eType="#//TypeType" |
| containment="true" resolveProxies="false"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="element"/> |
| <details key="name" value="type"/> |
| <details key="namespace" value="##targetNamespace"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="api" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" |
| defaultValueLiteral="true" unsettable="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
						States whether this package is reserved for
						exclusive use by this component (default: true);
						specify "false" in (rare) cases where a multiple
						components declared types in the same package.
						Package sharing is only by mutual consent; all
						components involved must explicitly declare the
						package as exclusive="false" (even if it has no
						API types).
					"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="api"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="exclusive" unique="false" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" |
| defaultValueLiteral="true" unsettable="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
						States whether top-level types in this package
						are API types by default (default: true);
						specify "false" in order to explicitly list API
						types found in the package.
					"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="exclusive"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
						Java package name; e.g., "javax.swing",
						"org.eclipse.ui".
					"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="name"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="PluginType"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="name" value="plugin_._type"/> |
| <details key="kind" value="empty"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="fragment" unique="false" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" |
| defaultValueLiteral="false" unsettable="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
						State whether this is a plug-in fragment as
						opposed to a plug-in (default: plug-in).
					"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="fragment"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
						The plug-in id or plug-in fragment id; e.g.,
						"org.eclipse.core.resources"; note that in the
						case of a fragment, this is the id of fragment
						itself.
					"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="id"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TypeType"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="name" value="type_._type"/> |
| <details key="kind" value="empty"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="implement" unique="false" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" |
| defaultValueLiteral="true" unsettable="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
						States whether other components are expected to
						declare a class that implements this interface
						(default: true); specify "false" for an
						interface that other components are not supposed
						to implement directly; this attribute is ignored
						for classes, enumerations, and annotation types,
						none of which can be meaningfully implemented.
					"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="implement"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="instantiate" unique="false" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" |
| defaultValueLiteral="true" unsettable="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
						States whether other components are expected to
						create instances of this class or annotation
						type (default: true); specify "false" for a type
						that other components are not supposed to
						instantiate directly; this attribute is ignored
						for interfaces and enumerations, neither of
						which can be meaningfully instantiated; this
						attribute is moot for classes that are declared
						final (or ones with no generally accessible
						constructors), since the Java compiler and JRE
						will block outside attempts to instantiate.
					"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="instantiate"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
						Simple name of a top-level Java class,
						interface, enumeration, or annotation type;
						e.g., "String", "IResource".
					"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="name"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="reference" unique="false" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" |
| defaultValueLiteral="true" unsettable="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
						States whether other components are expected to
						reference this type by name (default: true);
						specify "false" to indicate that the type is
						internal.
					"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="reference"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="subclass" unique="false" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" |
| defaultValueLiteral="true" unsettable="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="
						States whether other components are expected to
						declare a class that directly subclasses this
						class (default: true); specify "false" for a
						class that other components are not supposed to
						subclass directly; this attribute is ignored for
						interfaces, enumerations, and annotation types,
						none of which can be meaningfully subclassed.
					"/> |
| </eAnnotations> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="kind" value="attribute"/> |
| <details key="name" value="subclass"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| </ecore:EPackage> |