blob: 23fd09074d2c82a135b4db2cacfa30c4e38c9429 [file] [log] [blame]
<?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="&#xD;&#xA;&#x9;&#x9;&#x9;Each component is described via a component description&#xD;&#xA;&#x9;&#x9;&#x9;file.&#xD;&#xA;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;States whether this component is allowed to&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;depend on arbitrary other components, or just&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;the ones explicitly named by the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;lt;component-ref&amp;gt; children&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Name of the referenced component; e.g., &quot;Eclipse&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Platform Generic Workbench&quot;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The component name; e.g. &quot;Eclipse Platform&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Generic Workbench&quot;; note that this name is used&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;to refer to the component and distinguish it&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;from other components (but otherwise has no&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;official status in Eclipse ontology)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Provides information about a component. Child elements&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;of this element describe the set of plug-ins and&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;fragments making up the component, and provide&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;information about the Java packages and types in the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;component's code.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Provides information about a package as used by the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;component. In the unusual case where a package is shared&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;with other components, the &amp;lt;package&amp;gt; element is&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;understood to apply only to the types the component&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;actually declares, and has no bearing on the types&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;declared in the same package in any other component. The&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;list of packages may be incomplete; if the component&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;contains code in a package not mentioned in the list,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;the package is considered to be internal (equivalent to&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;being explicitly described as &amp;lt;package name=&quot;...&quot;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;api=&quot;false&quot; /&amp;gt;). The children of the &amp;lt;package&amp;gt;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;element provide information about specific types in the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;package.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Identifies a plug-in or plug-in fragment that is part of&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;the component. The list of plug-ins must be complete;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;that is, a component contains a plug-in (or fragment) if&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;and only if a &amp;lt;plugin&amp;gt; element occurs as a child&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;of the &amp;lt;component&amp;gt; element.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Provides information about a top-level type in a&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;package. (Note: We could extend the schema in the future&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;to allow &amp;lt;type&amp;gt; elements to provide analogous&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;information about their members. We could also extend&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;the &amp;lt;component&amp;gt; element to allow aspects other&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;than code API to be described.)&#xD;&#xA;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;States whether this package is reserved for&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;exclusive use by this component (default: true);&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;specify &quot;false&quot; in (rare) cases where a multiple&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;components declared types in the same package.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Package sharing is only by mutual consent; all&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;components involved must explicitly declare the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;package as exclusive=&quot;false&quot; (even if it has no&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;API types).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;States whether top-level types in this package&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;are API types by default (default: true);&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;specify &quot;false&quot; in order to explicitly list API&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;types found in the package.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Java package name; e.g., &quot;javax.swing&quot;,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&quot;org.eclipse.ui&quot;.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;State whether this is a plug-in fragment as&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;opposed to a plug-in (default: plug-in).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The plug-in id or plug-in fragment id; e.g.,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&quot;org.eclipse.core.resources&quot;; note that in the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;case of a fragment, this is the id of fragment&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;itself.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;States whether other components are expected to&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;declare a class that implements this interface&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;(default: true); specify &quot;false&quot; for an&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;interface that other components are not supposed&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;to implement directly; this attribute is ignored&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;for classes, enumerations, and annotation types,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;none of which can be meaningfully implemented.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;States whether other components are expected to&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;create instances of this class or annotation&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;type (default: true); specify &quot;false&quot; for a type&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;that other components are not supposed to&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;instantiate directly; this attribute is ignored&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;for interfaces and enumerations, neither of&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;which can be meaningfully instantiated; this&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;attribute is moot for classes that are declared&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;final (or ones with no generally accessible&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;constructors), since the Java compiler and JRE&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;will block outside attempts to instantiate.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Simple name of a top-level Java class,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;interface, enumeration, or annotation type;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;e.g., &quot;String&quot;, &quot;IResource&quot;.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;States whether other components are expected to&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;reference this type by name (default: true);&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;specify &quot;false&quot; to indicate that the type is&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;internal.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
</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="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;States whether other components are expected to&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;declare a class that directly subclasses this&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;class (default: true); specify &quot;false&quot; for a&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;class that other components are not supposed to&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;subclass directly; this attribute is ignored for&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;interfaces, enumerations, and annotation types,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;none of which can be meaningfully subclassed.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
</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>