[82965] Initial prototype for an API scanning tool
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/.classpath b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/.classpath
new file mode 100644
index 0000000..751c8f2
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/.cvsignore b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/.cvsignore
new file mode 100644
index 0000000..ba077a4
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/.cvsignore
@@ -0,0 +1 @@
+bin
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/.project b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/.project
new file mode 100644
index 0000000..7368702
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.wtp.releng.tools.component.core</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/build.properties b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/build.properties
new file mode 100644
index 0000000..4605915
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/build.properties
@@ -0,0 +1,14 @@
+<!--
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: build.properties,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+-->
+bin.includes = plugin.xml,\
+ runtime/org.eclipse.wtp.releng.tools.component.core.jar,\
+ plugin.properties
+jars.compile.order = runtime/org.eclipse.wtp.releng.tools.component.core.jar
+source.runtime/org.eclipse.wtp.releng.tools.component.core.jar = src/
+output.runtime/org.eclipse.wtp.releng.tools.component.core.jar = bin/
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/component-api.genmodel b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/component-api.genmodel
new file mode 100644
index 0000000..af5be03
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/component-api.genmodel
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.wtp.releng.tools.component.core/src"
+ editDirectory="/org.eclipse.wtp.releng.tools.component.core.edit/src" editorDirectory="/org.eclipse.wtp.releng.tools.component.core.editor/src"
+ modelPluginID="org.eclipse.wtp.releng.tools.component.core" runtimeJar="true"
+ modelName="Component-api" editPluginClass="org.eclipse.wtp.releng.tools.component.api.provider.ComponentapiEditPlugin"
+ editorPluginClass="org.eclipse.wtp.releng.tools.component.api.presentation.ComponentapiEditorPlugin"
+ runtimeCompatibility="false">
+ <foreignModel>../xsd/component-api.xsd</foreignModel>
+ <genPackages prefix="Api" basePackage="org.eclipse.wtp.releng.tools.component" resource="XML"
+ disposableProviderFactory="true" ecorePackage="org.eclipse.wtp.releng.tools.component.api.ecore#/">
+ <genEnums ecoreEnum="org.eclipse.wtp.releng.tools.component.api.ecore#//Visibility">
+ <genEnumLiterals ecoreEnumLiteral="org.eclipse.wtp.releng.tools.component.api.ecore#//Visibility/public"/>
+ <genEnumLiterals ecoreEnumLiteral="org.eclipse.wtp.releng.tools.component.api.ecore#//Visibility/protected"/>
+ <genEnumLiterals ecoreEnumLiteral="org.eclipse.wtp.releng.tools.component.api.ecore#//Visibility/private"/>
+ </genEnums>
+ <genDataTypes ecoreDataType="org.eclipse.wtp.releng.tools.component.api.ecore#//ListOfTypes"/>
+ <genDataTypes ecoreDataType="org.eclipse.wtp.releng.tools.component.api.ecore#//VisibilityObject"/>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.api.ecore#//ApiTypes">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.api.ecore#//ApiTypes/package"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.api.ecore#//ClassApi">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.api.ecore#//ClassApi/methodApi"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.api.ecore#//ClassApi/fieldApi"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//ClassApi/implement"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//ClassApi/instantiate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//ClassApi/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//ClassApi/reference"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//ClassApi/subclass"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.api.ecore#//ComponentApiType">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.api.ecore#//ComponentApiType/internalApis"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.api.ecore#//ComponentApiType/externalApis"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//ComponentApiType/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//ComponentApiType/version"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.api.ecore#//DocumentRoot">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//DocumentRoot/mixed"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.api.ecore#//DocumentRoot/xMLNSPrefixMap"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.api.ecore#//DocumentRoot/xSISchemaLocation"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.api.ecore#//DocumentRoot/componentApi"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.api.ecore#//FieldApi">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//FieldApi/final"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//FieldApi/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//FieldApi/static"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//FieldApi/transient"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//FieldApi/type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//FieldApi/visibility"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//FieldApi/volatile"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.api.ecore#//MethodApi">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//MethodApi/abstract"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//MethodApi/exceptionType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//MethodApi/final"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//MethodApi/inputType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//MethodApi/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//MethodApi/native"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//MethodApi/returnType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//MethodApi/static"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//MethodApi/strict"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//MethodApi/synchronized"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//MethodApi/visibility"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.api.ecore#//Package">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.api.ecore#//Package/classApi"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.api.ecore#//Package/name"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/component-use.genmodel b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/component-use.genmodel
new file mode 100644
index 0000000..043da6a
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/component-use.genmodel
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.wtp.releng.tools.component.core/src"
+ editDirectory="/org.eclipse.wtp.releng.tools.component.core.edit/src" editorDirectory="/org.eclipse.wtp.releng.tools.component.core.editor/src"
+ modelPluginID="org.eclipse.wtp.releng.tools.component.core" runtimeJar="true"
+ modelName="Component-use" editPluginClass="org.eclipse.wtp.releng.tools.component.use.provider.ComponentuseEditPlugin"
+ editorPluginClass="org.eclipse.wtp.releng.tools.component.use.presentation.ComponentuseEditorPlugin"
+ runtimeCompatibility="false" usedGenPackages="component-api.genmodel#//api">
+ <foreignModel>../xsd/component-use.xsd</foreignModel>
+ <genPackages prefix="Use" basePackage="org.eclipse.wtp.releng.tools.component" resource="XML"
+ disposableProviderFactory="true" ecorePackage="org.eclipse.wtp.releng.tools.component.use.ecore#/">
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.use.ecore#//ComponentUseType">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.use.ecore#//ComponentUseType/sourceClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.use.ecore#//ComponentUseType/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.use.ecore#//ComponentUseType/version"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.use.ecore#//DocumentRoot">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.use.ecore#//DocumentRoot/mixed"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.use.ecore#//DocumentRoot/xMLNSPrefixMap"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.use.ecore#//DocumentRoot/xSISchemaLocation"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.use.ecore#//DocumentRoot/componentUse"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.use.ecore#//SourceClass">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.use.ecore#//SourceClass/classUse"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.use.ecore#//SourceClass/name"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/component.genmodel b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/component.genmodel
new file mode 100644
index 0000000..a0a72fd
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/component.genmodel
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.wtp.releng.tools.component.core/src"
+ editDirectory="/org.eclipse.wtp.releng.tools.component.core.edit/src" editorDirectory="/org.eclipse.wtp.releng.tools.component.core.editor/src"
+ modelPluginID="org.eclipse.wtp.releng.tools.component.core" runtimeJar="true"
+ modelName="Component" editPluginClass="org.eclipse.wtp.releng.tools.component.model.provider.ComponentEditPlugin"
+ editorPluginClass="org.eclipse.wtp.releng.tools.component.model.presentation.ComponentEditorPlugin"
+ runtimeCompatibility="false">
+ <foreignModel>../xsd/component.xsd</foreignModel>
+ <genPackages prefix="Model" basePackage="org.eclipse.wtp.releng.tools.component"
+ resource="XML" disposableProviderFactory="true" ecorePackage="org.eclipse.wtp.releng.tools.component.model.ecore#/">
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.model.ecore#//ComponentDependsType">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.model.ecore#//ComponentDependsType/componentRef"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//ComponentDependsType/unrestricted"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.model.ecore#//ComponentRefType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//ComponentRefType/name"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.model.ecore#//ComponentType">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.model.ecore#//ComponentType/plugin"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.model.ecore#//ComponentType/package"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.model.ecore#//ComponentType/componentDepends"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//ComponentType/name"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.model.ecore#//DocumentRoot">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//DocumentRoot/mixed"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.model.ecore#//DocumentRoot/xMLNSPrefixMap"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.model.ecore#//DocumentRoot/xSISchemaLocation"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.model.ecore#//DocumentRoot/component"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.model.ecore#//DocumentRoot/componentDepends"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.model.ecore#//DocumentRoot/componentRef"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.model.ecore#//DocumentRoot/package"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.model.ecore#//DocumentRoot/plugin"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.model.ecore#//DocumentRoot/type"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.model.ecore#//PackageType">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wtp.releng.tools.component.model.ecore#//PackageType/type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//PackageType/api"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//PackageType/exclusive"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//PackageType/name"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.model.ecore#//PluginType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//PluginType/fragment"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//PluginType/id"/>
+ </genClasses>
+ <genClasses ecoreClass="org.eclipse.wtp.releng.tools.component.model.ecore#//TypeType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//TypeType/implement"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//TypeType/instantiate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//TypeType/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//TypeType/reference"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wtp.releng.tools.component.model.ecore#//TypeType/subclass"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/org.eclipse.wtp.releng.tools.component.api.ecore b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/org.eclipse.wtp.releng.tools.component.api.ecore
new file mode 100644
index 0000000..967a89e
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/org.eclipse.wtp.releng.tools.component.api.ecore
@@ -0,0 +1,339 @@
+<?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="api"
+ nsURI="http://eclipse.org/wtp/releng/tools/component-api" nsPrefix="api">
+ <eClassifiers xsi:type="ecore:EClass" name="ApiTypes">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="api-types"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="package" lowerBound="1"
+ upperBound="-1" eType="#//Package" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="package"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassApi">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="class-api"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="methodApi" lowerBound="1"
+ upperBound="-1" eType="#//MethodApi" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="method-api"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fieldApi" lowerBound="1"
+ upperBound="-1" eType="#//FieldApi" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="field-api"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="implement" unique="false"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
+ defaultValueLiteral="false" unsettable="true">
+ <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="false" unsettable="true">
+ <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:///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="false" unsettable="true">
+ <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="false" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="subclass"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ComponentApiType">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="component-api_._type"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="internalApis" lowerBound="1"
+ eType="#//ApiTypes" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="internal-apis"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="externalApis" lowerBound="1"
+ eType="#//ApiTypes" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="external-apis"/>
+ </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>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" unique="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="version"/>
+ </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="componentApi" upperBound="-2"
+ eType="#//ComponentApiType" 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-api"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FieldApi">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="field-api"/>
+ <details key="kind" value="empty"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
+ defaultValueLiteral="false" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="final"/>
+ </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:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="name"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="static" unique="false"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
+ defaultValueLiteral="false" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="static"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="transient" unique="false"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
+ defaultValueLiteral="false" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="transient"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" unique="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="type"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" unique="false"
+ lowerBound="1" eType="#//Visibility" defaultValueLiteral="public" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="visibility"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="volatile" unique="false"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
+ defaultValueLiteral="false" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="volatile"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="ListOfTypes" instanceClassName="java.util.List">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="list-of-types"/>
+ <details key="itemType" value="http://www.eclipse.org/emf/2003/XMLType#string"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MethodApi">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="method-api"/>
+ <details key="kind" value="empty"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" unique="false"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
+ defaultValueLiteral="false" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="abstract"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="exceptionType" unique="false"
+ eType="#//ListOfTypes">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="exception-type"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
+ defaultValueLiteral="false" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="final"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="inputType" unique="false"
+ eType="#//ListOfTypes">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="input-type"/>
+ </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:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="name"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="native" unique="false"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
+ defaultValueLiteral="false" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="native"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="returnType" unique="false"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="return-type"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="static" unique="false"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
+ defaultValueLiteral="false" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="static"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="strict" unique="false"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
+ defaultValueLiteral="false" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="strict"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="synchronized" unique="false"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
+ defaultValueLiteral="false" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="synchronized"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" unique="false"
+ lowerBound="1" eType="#//Visibility" defaultValueLiteral="public" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="visibility"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Package">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="package"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="classApi" lowerBound="1"
+ upperBound="-1" eType="#//ClassApi" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="class-api"/>
+ </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:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="name"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="Visibility">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="visibility"/>
+ </eAnnotations>
+ <eLiterals name="public"/>
+ <eLiterals name="protected" value="1"/>
+ <eLiterals name="private" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="VisibilityObject" instanceClassName="org.eclipse.emf.common.util.AbstractEnumerator">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="visibility:Object"/>
+ <details key="baseType" value="visibility"/>
+ </eAnnotations>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/org.eclipse.wtp.releng.tools.component.model.ecore b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/org.eclipse.wtp.releng.tools.component.model.ecore
new file mode 100644
index 0000000..7623d88
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/org.eclipse.wtp.releng.tools.component.model.ecore
@@ -0,0 +1,316 @@
+<?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="model"
+ nsURI="http://eclipse.org/wtp/releng/tools/component-model" nsPrefix="model">
+ <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>
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/org.eclipse.wtp.releng.tools.component.use.ecore b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/org.eclipse.wtp.releng.tools.component.use.ecore
new file mode 100644
index 0000000..046ca0f
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/model/org.eclipse.wtp.releng.tools.component.use.ecore
@@ -0,0 +1,95 @@
+<?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="use"
+ nsURI="http://eclipse.org/wtp/releng/tools/component-use" nsPrefix="use">
+ <eClassifiers xsi:type="ecore:EClass" name="ComponentUseType">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="component-use_._type"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sourceClass" lowerBound="1"
+ upperBound="-1" eType="#//SourceClass" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="source-class"/>
+ </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>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" unique="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="version"/>
+ </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="componentUse" upperBound="-2"
+ eType="#//ComponentUseType" 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-use"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SourceClass">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="source-class"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="classUse" lowerBound="1"
+ upperBound="-1" eType="ecore:EClass org.eclipse.wtp.releng.tools.component.api.ecore#//ClassApi"
+ containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="class-use"/>
+ </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:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="name"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/plugin.properties b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/plugin.properties
new file mode 100644
index 0000000..b6ab83a
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/plugin.properties
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: plugin.properties,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+
+# ====================================================================
+# To code developer:
+# Do NOT change the properties between this line and the
+# "%%% END OF TRANSLATED PROPERTIES %%%" line.
+# Make a new property name, append to the end of the file and change
+# the code to use the new property.
+# ====================================================================
+
+# ====================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# ====================================================================
+
+pluginName = Component Model
+providerName = www.example.org
+
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/plugin.xml b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/plugin.xml
new file mode 100644
index 0000000..cff1294
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/plugin.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: plugin.xml,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+-->
+
+<plugin
+ name = "%pluginName"
+ id = "org.eclipse.wtp.releng.tools.component.core"
+ version = "1.0.0"
+ provider-name = "%providerName">
+
+ <requires>
+ <import plugin="org.eclipse.core.runtime" />
+ <import plugin="org.eclipse.emf.ecore" export="true"/>
+ <import plugin="org.eclipse.emf.ecore.xmi" export="true"/>
+ </requires>
+
+ <runtime>
+ <library name="runtime/org.eclipse.wtp.releng.tools.component.core.jar">
+ <export name="*"/>
+ </library>
+ </runtime>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://eclipse.org/wtp/releng/tools/component-model"
+ class = "org.eclipse.wtp.releng.tools.component.model.ModelPackage" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="model"
+ class="org.eclipse.wtp.releng.tools.component.model.util.ModelResourceFactoryImpl" />
+ </extension>
+
+</plugin>
+
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ApiFactory.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ApiFactory.java
new file mode 100644
index 0000000..1d17a3f
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ApiFactory.java
@@ -0,0 +1,101 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ApiFactory.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage
+ * @generated
+ */
+public interface ApiFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ApiFactory eINSTANCE = new org.eclipse.wtp.releng.tools.component.api.impl.ApiFactoryImpl();
+
+ /**
+ * Returns a new object of class '<em>Types</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Types</em>'.
+ * @generated
+ */
+ ApiTypes createApiTypes();
+
+ /**
+ * Returns a new object of class '<em>Class Api</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Class Api</em>'.
+ * @generated
+ */
+ ClassApi createClassApi();
+
+ /**
+ * Returns a new object of class '<em>Component Api Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Component Api Type</em>'.
+ * @generated
+ */
+ ComponentApiType createComponentApiType();
+
+ /**
+ * Returns a new object of class '<em>Document Root</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Document Root</em>'.
+ * @generated
+ */
+ DocumentRoot createDocumentRoot();
+
+ /**
+ * Returns a new object of class '<em>Field Api</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Field Api</em>'.
+ * @generated
+ */
+ FieldApi createFieldApi();
+
+ /**
+ * Returns a new object of class '<em>Method Api</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Method Api</em>'.
+ * @generated
+ */
+ MethodApi createMethodApi();
+
+ /**
+ * Returns a new object of class '<em>Package</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Package</em>'.
+ * @generated
+ */
+ org.eclipse.wtp.releng.tools.component.api.Package createPackage();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ApiPackage getApiPackage();
+
+} //ApiFactory
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ApiPackage.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ApiPackage.java
new file mode 100644
index 0000000..1221cd4
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ApiPackage.java
@@ -0,0 +1,1059 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ApiPackage.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiFactory
+ * @generated
+ */
+public interface ApiPackage extends EPackage
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "api";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://eclipse.org/wtp/releng/tools/component-api";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "api";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ApiPackage eINSTANCE = org.eclipse.wtp.releng.tools.component.api.impl.ApiPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.api.impl.ApiTypesImpl <em>Types</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.ApiTypesImpl
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.ApiPackageImpl#getApiTypes()
+ * @generated
+ */
+ int API_TYPES = 0;
+
+ /**
+ * The feature id for the '<em><b>Package</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int API_TYPES__PACKAGE = 0;
+
+ /**
+ * The number of structural features of the the '<em>Types</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int API_TYPES_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.api.impl.ClassApiImpl <em>Class Api</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.ClassApiImpl
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.ApiPackageImpl#getClassApi()
+ * @generated
+ */
+ int CLASS_API = 1;
+
+ /**
+ * The feature id for the '<em><b>Method Api</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS_API__METHOD_API = 0;
+
+ /**
+ * The feature id for the '<em><b>Field Api</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS_API__FIELD_API = 1;
+
+ /**
+ * The feature id for the '<em><b>Implement</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS_API__IMPLEMENT = 2;
+
+ /**
+ * The feature id for the '<em><b>Instantiate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS_API__INSTANTIATE = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS_API__NAME = 4;
+
+ /**
+ * The feature id for the '<em><b>Reference</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS_API__REFERENCE = 5;
+
+ /**
+ * The feature id for the '<em><b>Subclass</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS_API__SUBCLASS = 6;
+
+ /**
+ * The number of structural features of the the '<em>Class Api</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS_API_FEATURE_COUNT = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.api.impl.ComponentApiTypeImpl <em>Component Api Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.ComponentApiTypeImpl
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.ApiPackageImpl#getComponentApiType()
+ * @generated
+ */
+ int COMPONENT_API_TYPE = 2;
+
+ /**
+ * The feature id for the '<em><b>Internal Apis</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_API_TYPE__INTERNAL_APIS = 0;
+
+ /**
+ * The feature id for the '<em><b>External Apis</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_API_TYPE__EXTERNAL_APIS = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_API_TYPE__NAME = 2;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_API_TYPE__VERSION = 3;
+
+ /**
+ * The number of structural features of the the '<em>Component Api Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_API_TYPE_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.api.impl.DocumentRootImpl <em>Document Root</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.DocumentRootImpl
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.ApiPackageImpl#getDocumentRoot()
+ * @generated
+ */
+ int DOCUMENT_ROOT = 3;
+
+ /**
+ * The feature id for the '<em><b>Mixed</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__MIXED = 0;
+
+ /**
+ * The feature id for the '<em><b>XMLNS Prefix Map</b></em>' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__XMLNS_PREFIX_MAP = 1;
+
+ /**
+ * The feature id for the '<em><b>XSI Schema Location</b></em>' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = 2;
+
+ /**
+ * The feature id for the '<em><b>Component Api</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__COMPONENT_API = 3;
+
+ /**
+ * The number of structural features of the the '<em>Document Root</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.api.impl.FieldApiImpl <em>Field Api</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.FieldApiImpl
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.ApiPackageImpl#getFieldApi()
+ * @generated
+ */
+ int FIELD_API = 4;
+
+ /**
+ * The feature id for the '<em><b>Final</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIELD_API__FINAL = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIELD_API__NAME = 1;
+
+ /**
+ * The feature id for the '<em><b>Static</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIELD_API__STATIC = 2;
+
+ /**
+ * The feature id for the '<em><b>Transient</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIELD_API__TRANSIENT = 3;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIELD_API__TYPE = 4;
+
+ /**
+ * The feature id for the '<em><b>Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIELD_API__VISIBILITY = 5;
+
+ /**
+ * The feature id for the '<em><b>Volatile</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIELD_API__VOLATILE = 6;
+
+ /**
+ * The number of structural features of the the '<em>Field Api</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIELD_API_FEATURE_COUNT = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.api.impl.MethodApiImpl <em>Method Api</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.MethodApiImpl
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.ApiPackageImpl#getMethodApi()
+ * @generated
+ */
+ int METHOD_API = 5;
+
+ /**
+ * The feature id for the '<em><b>Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METHOD_API__ABSTRACT = 0;
+
+ /**
+ * The feature id for the '<em><b>Exception Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METHOD_API__EXCEPTION_TYPE = 1;
+
+ /**
+ * The feature id for the '<em><b>Final</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METHOD_API__FINAL = 2;
+
+ /**
+ * The feature id for the '<em><b>Input Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METHOD_API__INPUT_TYPE = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METHOD_API__NAME = 4;
+
+ /**
+ * The feature id for the '<em><b>Native</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METHOD_API__NATIVE = 5;
+
+ /**
+ * The feature id for the '<em><b>Return Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METHOD_API__RETURN_TYPE = 6;
+
+ /**
+ * The feature id for the '<em><b>Static</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METHOD_API__STATIC = 7;
+
+ /**
+ * The feature id for the '<em><b>Strict</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METHOD_API__STRICT = 8;
+
+ /**
+ * The feature id for the '<em><b>Synchronized</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METHOD_API__SYNCHRONIZED = 9;
+
+ /**
+ * The feature id for the '<em><b>Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METHOD_API__VISIBILITY = 10;
+
+ /**
+ * The number of structural features of the the '<em>Method Api</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int METHOD_API_FEATURE_COUNT = 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.api.impl.PackageImpl <em>Package</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.PackageImpl
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.ApiPackageImpl#getPackage()
+ * @generated
+ */
+ int PACKAGE = 6;
+
+ /**
+ * The feature id for the '<em><b>Class Api</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE__CLASS_API = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE__NAME = 1;
+
+ /**
+ * The number of structural features of the the '<em>Package</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.api.Visibility <em>Visibility</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.Visibility
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.ApiPackageImpl#getVisibility()
+ * @generated
+ */
+ int VISIBILITY = 7;
+
+ /**
+ * The meta object id for the '<em>List Of Types</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.util.List
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.ApiPackageImpl#getListOfTypes()
+ * @generated
+ */
+ int LIST_OF_TYPES = 8;
+
+ /**
+ * The meta object id for the '<em>Visibility Object</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.Visibility
+ * @see org.eclipse.wtp.releng.tools.component.api.impl.ApiPackageImpl#getVisibilityObject()
+ * @generated
+ */
+ int VISIBILITY_OBJECT = 9;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.api.ApiTypes <em>Types</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Types</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiTypes
+ * @generated
+ */
+ EClass getApiTypes();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.wtp.releng.tools.component.api.ApiTypes#getPackage <em>Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Package</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiTypes#getPackage()
+ * @see #getApiTypes()
+ * @generated
+ */
+ EReference getApiTypes_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi <em>Class Api</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Class Api</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ClassApi
+ * @generated
+ */
+ EClass getClassApi();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#getMethodApi <em>Method Api</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Method Api</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ClassApi#getMethodApi()
+ * @see #getClassApi()
+ * @generated
+ */
+ EReference getClassApi_MethodApi();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#getFieldApi <em>Field Api</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Field Api</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ClassApi#getFieldApi()
+ * @see #getClassApi()
+ * @generated
+ */
+ EReference getClassApi_FieldApi();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isImplement <em>Implement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Implement</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ClassApi#isImplement()
+ * @see #getClassApi()
+ * @generated
+ */
+ EAttribute getClassApi_Implement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isInstantiate <em>Instantiate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Instantiate</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ClassApi#isInstantiate()
+ * @see #getClassApi()
+ * @generated
+ */
+ EAttribute getClassApi_Instantiate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ClassApi#getName()
+ * @see #getClassApi()
+ * @generated
+ */
+ EAttribute getClassApi_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isReference <em>Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Reference</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ClassApi#isReference()
+ * @see #getClassApi()
+ * @generated
+ */
+ EAttribute getClassApi_Reference();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isSubclass <em>Subclass</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Subclass</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ClassApi#isSubclass()
+ * @see #getClassApi()
+ * @generated
+ */
+ EAttribute getClassApi_Subclass();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType <em>Component Api Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Component Api Type</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ComponentApiType
+ * @generated
+ */
+ EClass getComponentApiType();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getInternalApis <em>Internal Apis</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Internal Apis</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getInternalApis()
+ * @see #getComponentApiType()
+ * @generated
+ */
+ EReference getComponentApiType_InternalApis();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getExternalApis <em>External Apis</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>External Apis</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getExternalApis()
+ * @see #getComponentApiType()
+ * @generated
+ */
+ EReference getComponentApiType_ExternalApis();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getName()
+ * @see #getComponentApiType()
+ * @generated
+ */
+ EAttribute getComponentApiType_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getVersion()
+ * @see #getComponentApiType()
+ * @generated
+ */
+ EAttribute getComponentApiType_Version();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.api.DocumentRoot <em>Document Root</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Document Root</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.DocumentRoot
+ * @generated
+ */
+ EClass getDocumentRoot();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.wtp.releng.tools.component.api.DocumentRoot#getMixed <em>Mixed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Mixed</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.DocumentRoot#getMixed()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EAttribute getDocumentRoot_Mixed();
+
+ /**
+ * Returns the meta object for the map '{@link org.eclipse.wtp.releng.tools.component.api.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the map '<em>XMLNS Prefix Map</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.DocumentRoot#getXMLNSPrefixMap()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_XMLNSPrefixMap();
+
+ /**
+ * Returns the meta object for the map '{@link org.eclipse.wtp.releng.tools.component.api.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the map '<em>XSI Schema Location</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.DocumentRoot#getXSISchemaLocation()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_XSISchemaLocation();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.wtp.releng.tools.component.api.DocumentRoot#getComponentApi <em>Component Api</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Component Api</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.DocumentRoot#getComponentApi()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_ComponentApi();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi <em>Field Api</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Field Api</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.FieldApi
+ * @generated
+ */
+ EClass getFieldApi();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isFinal <em>Final</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Final</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.FieldApi#isFinal()
+ * @see #getFieldApi()
+ * @generated
+ */
+ EAttribute getFieldApi_Final();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.FieldApi#getName()
+ * @see #getFieldApi()
+ * @generated
+ */
+ EAttribute getFieldApi_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isStatic <em>Static</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Static</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.FieldApi#isStatic()
+ * @see #getFieldApi()
+ * @generated
+ */
+ EAttribute getFieldApi_Static();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isTransient <em>Transient</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Transient</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.FieldApi#isTransient()
+ * @see #getFieldApi()
+ * @generated
+ */
+ EAttribute getFieldApi_Transient();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.FieldApi#getType()
+ * @see #getFieldApi()
+ * @generated
+ */
+ EAttribute getFieldApi_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#getVisibility <em>Visibility</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Visibility</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.FieldApi#getVisibility()
+ * @see #getFieldApi()
+ * @generated
+ */
+ EAttribute getFieldApi_Visibility();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isVolatile <em>Volatile</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Volatile</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.FieldApi#isVolatile()
+ * @see #getFieldApi()
+ * @generated
+ */
+ EAttribute getFieldApi_Volatile();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi <em>Method Api</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Method Api</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.MethodApi
+ * @generated
+ */
+ EClass getMethodApi();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isAbstract <em>Abstract</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Abstract</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.MethodApi#isAbstract()
+ * @see #getMethodApi()
+ * @generated
+ */
+ EAttribute getMethodApi_Abstract();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getExceptionType <em>Exception Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exception Type</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.MethodApi#getExceptionType()
+ * @see #getMethodApi()
+ * @generated
+ */
+ EAttribute getMethodApi_ExceptionType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isFinal <em>Final</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Final</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.MethodApi#isFinal()
+ * @see #getMethodApi()
+ * @generated
+ */
+ EAttribute getMethodApi_Final();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getInputType <em>Input Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Input Type</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.MethodApi#getInputType()
+ * @see #getMethodApi()
+ * @generated
+ */
+ EAttribute getMethodApi_InputType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.MethodApi#getName()
+ * @see #getMethodApi()
+ * @generated
+ */
+ EAttribute getMethodApi_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isNative <em>Native</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Native</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.MethodApi#isNative()
+ * @see #getMethodApi()
+ * @generated
+ */
+ EAttribute getMethodApi_Native();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getReturnType <em>Return Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Return Type</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.MethodApi#getReturnType()
+ * @see #getMethodApi()
+ * @generated
+ */
+ EAttribute getMethodApi_ReturnType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isStatic <em>Static</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Static</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.MethodApi#isStatic()
+ * @see #getMethodApi()
+ * @generated
+ */
+ EAttribute getMethodApi_Static();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isStrict <em>Strict</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Strict</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.MethodApi#isStrict()
+ * @see #getMethodApi()
+ * @generated
+ */
+ EAttribute getMethodApi_Strict();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isSynchronized <em>Synchronized</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Synchronized</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.MethodApi#isSynchronized()
+ * @see #getMethodApi()
+ * @generated
+ */
+ EAttribute getMethodApi_Synchronized();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getVisibility <em>Visibility</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Visibility</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.MethodApi#getVisibility()
+ * @see #getMethodApi()
+ * @generated
+ */
+ EAttribute getMethodApi_Visibility();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.api.Package <em>Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Package</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.Package
+ * @generated
+ */
+ EClass getPackage();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.wtp.releng.tools.component.api.Package#getClassApi <em>Class Api</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Class Api</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.Package#getClassApi()
+ * @see #getPackage()
+ * @generated
+ */
+ EReference getPackage_ClassApi();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.api.Package#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.Package#getName()
+ * @see #getPackage()
+ * @generated
+ */
+ EAttribute getPackage_Name();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.wtp.releng.tools.component.api.Visibility <em>Visibility</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Visibility</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.Visibility
+ * @generated
+ */
+ EEnum getVisibility();
+
+ /**
+ * Returns the meta object for data type '{@link java.util.List <em>List Of Types</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>List Of Types</em>'.
+ * @see java.util.List
+ * @model instanceClass="java.util.List"
+ * @generated
+ */
+ EDataType getListOfTypes();
+
+ /**
+ * Returns the meta object for data type '{@link org.eclipse.wtp.releng.tools.component.api.Visibility <em>Visibility Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Visibility Object</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.api.Visibility
+ * @model instanceClass="org.eclipse.wtp.releng.tools.component.api.Visibility"
+ * @generated
+ */
+ EDataType getVisibilityObject();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ApiFactory getApiFactory();
+
+} //ApiPackage
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ApiTypes.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ApiTypes.java
new file mode 100644
index 0000000..398c54c
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ApiTypes.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ApiTypes.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Types</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.ApiTypes#getPackage <em>Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getApiTypes()
+ * @model
+ * @generated
+ */
+public interface ApiTypes extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Package</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.wtp.releng.tools.component.api.Package}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Package</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Package</em>' containment reference list.
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getApiTypes_Package()
+ * @model type="org.eclipse.wtp.releng.tools.component.api.Package" containment="true" resolveProxies="false" required="true"
+ * @generated
+ */
+ EList getPackage();
+
+} // ApiTypes
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ClassApi.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ClassApi.java
new file mode 100644
index 0000000..fe86738
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ClassApi.java
@@ -0,0 +1,311 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ClassApi.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Class Api</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#getMethodApi <em>Method Api</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#getFieldApi <em>Field Api</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isImplement <em>Implement</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isInstantiate <em>Instantiate</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isReference <em>Reference</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isSubclass <em>Subclass</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getClassApi()
+ * @model
+ * @generated
+ */
+public interface ClassApi extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Method Api</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.wtp.releng.tools.component.api.MethodApi}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Method Api</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Method Api</em>' containment reference list.
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getClassApi_MethodApi()
+ * @model type="org.eclipse.wtp.releng.tools.component.api.MethodApi" containment="true" resolveProxies="false" required="true"
+ * @generated
+ */
+ EList getMethodApi();
+
+ /**
+ * Returns the value of the '<em><b>Field Api</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.wtp.releng.tools.component.api.FieldApi}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Field Api</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Field Api</em>' containment reference list.
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getClassApi_FieldApi()
+ * @model type="org.eclipse.wtp.releng.tools.component.api.FieldApi" containment="true" resolveProxies="false" required="true"
+ * @generated
+ */
+ EList getFieldApi();
+
+ /**
+ * Returns the value of the '<em><b>Implement</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Implement</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Implement</em>' attribute.
+ * @see #isSetImplement()
+ * @see #unsetImplement()
+ * @see #setImplement(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getClassApi_Implement()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isImplement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isImplement <em>Implement</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Implement</em>' attribute.
+ * @see #isSetImplement()
+ * @see #unsetImplement()
+ * @see #isImplement()
+ * @generated
+ */
+ void setImplement(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isImplement <em>Implement</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetImplement()
+ * @see #isImplement()
+ * @see #setImplement(boolean)
+ * @generated
+ */
+ void unsetImplement();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isImplement <em>Implement</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Implement</em>' attribute is set.
+ * @see #unsetImplement()
+ * @see #isImplement()
+ * @see #setImplement(boolean)
+ * @generated
+ */
+ boolean isSetImplement();
+
+ /**
+ * Returns the value of the '<em><b>Instantiate</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Instantiate</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Instantiate</em>' attribute.
+ * @see #isSetInstantiate()
+ * @see #unsetInstantiate()
+ * @see #setInstantiate(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getClassApi_Instantiate()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isInstantiate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isInstantiate <em>Instantiate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Instantiate</em>' attribute.
+ * @see #isSetInstantiate()
+ * @see #unsetInstantiate()
+ * @see #isInstantiate()
+ * @generated
+ */
+ void setInstantiate(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isInstantiate <em>Instantiate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetInstantiate()
+ * @see #isInstantiate()
+ * @see #setInstantiate(boolean)
+ * @generated
+ */
+ void unsetInstantiate();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isInstantiate <em>Instantiate</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Instantiate</em>' attribute is set.
+ * @see #unsetInstantiate()
+ * @see #isInstantiate()
+ * @see #setInstantiate(boolean)
+ * @generated
+ */
+ boolean isSetInstantiate();
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getClassApi_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Reference</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Reference</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Reference</em>' attribute.
+ * @see #isSetReference()
+ * @see #unsetReference()
+ * @see #setReference(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getClassApi_Reference()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isReference();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isReference <em>Reference</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Reference</em>' attribute.
+ * @see #isSetReference()
+ * @see #unsetReference()
+ * @see #isReference()
+ * @generated
+ */
+ void setReference(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isReference <em>Reference</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetReference()
+ * @see #isReference()
+ * @see #setReference(boolean)
+ * @generated
+ */
+ void unsetReference();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isReference <em>Reference</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Reference</em>' attribute is set.
+ * @see #unsetReference()
+ * @see #isReference()
+ * @see #setReference(boolean)
+ * @generated
+ */
+ boolean isSetReference();
+
+ /**
+ * Returns the value of the '<em><b>Subclass</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Subclass</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Subclass</em>' attribute.
+ * @see #isSetSubclass()
+ * @see #unsetSubclass()
+ * @see #setSubclass(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getClassApi_Subclass()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isSubclass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isSubclass <em>Subclass</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Subclass</em>' attribute.
+ * @see #isSetSubclass()
+ * @see #unsetSubclass()
+ * @see #isSubclass()
+ * @generated
+ */
+ void setSubclass(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isSubclass <em>Subclass</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetSubclass()
+ * @see #isSubclass()
+ * @see #setSubclass(boolean)
+ * @generated
+ */
+ void unsetSubclass();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi#isSubclass <em>Subclass</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Subclass</em>' attribute is set.
+ * @see #unsetSubclass()
+ * @see #isSubclass()
+ * @see #setSubclass(boolean)
+ * @generated
+ */
+ boolean isSetSubclass();
+
+} // ClassApi
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ComponentApiType.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ComponentApiType.java
new file mode 100644
index 0000000..32f31c7
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/ComponentApiType.java
@@ -0,0 +1,141 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ComponentApiType.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Component Api Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getInternalApis <em>Internal Apis</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getExternalApis <em>External Apis</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getVersion <em>Version</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getComponentApiType()
+ * @model
+ * @generated
+ */
+public interface ComponentApiType extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Internal Apis</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Internal Apis</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Internal Apis</em>' containment reference.
+ * @see #setInternalApis(ApiTypes)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getComponentApiType_InternalApis()
+ * @model containment="true" resolveProxies="false" required="true"
+ * @generated
+ */
+ ApiTypes getInternalApis();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getInternalApis <em>Internal Apis</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Internal Apis</em>' containment reference.
+ * @see #getInternalApis()
+ * @generated
+ */
+ void setInternalApis(ApiTypes value);
+
+ /**
+ * Returns the value of the '<em><b>External Apis</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>External Apis</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>External Apis</em>' containment reference.
+ * @see #setExternalApis(ApiTypes)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getComponentApiType_ExternalApis()
+ * @model containment="true" resolveProxies="false" required="true"
+ * @generated
+ */
+ ApiTypes getExternalApis();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getExternalApis <em>External Apis</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>External Apis</em>' containment reference.
+ * @see #getExternalApis()
+ * @generated
+ */
+ void setExternalApis(ApiTypes value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * 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)
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getComponentApiType_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Version</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #setVersion(String)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getComponentApiType_Version()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getVersion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType#getVersion <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Version</em>' attribute.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(String value);
+
+} // ComponentApiType
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/DocumentRoot.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/DocumentRoot.java
new file mode 100644
index 0000000..9b6e553
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/DocumentRoot.java
@@ -0,0 +1,112 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DocumentRoot.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.DocumentRoot#getMixed <em>Mixed</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.DocumentRoot#getComponentApi <em>Component Api</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getDocumentRoot()
+ * @model
+ * @generated
+ */
+public interface DocumentRoot extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Mixed</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mixed</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mixed</em>' attribute list.
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getDocumentRoot_Mixed()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+ * @generated
+ */
+ FeatureMap getMixed();
+
+ /**
+ * Returns the value of the '<em><b>XMLNS Prefix Map</b></em>' map.
+ * The key is of type {@link java.lang.String},
+ * and the value is of type {@link java.lang.String},
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>XMLNS Prefix Map</em>' map isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>XMLNS Prefix Map</em>' map.
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getDocumentRoot_XMLNSPrefixMap()
+ * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry" keyType="java.lang.String" valueType="java.lang.String" transient="true"
+ * @generated
+ */
+ EMap getXMLNSPrefixMap();
+
+ /**
+ * Returns the value of the '<em><b>XSI Schema Location</b></em>' map.
+ * The key is of type {@link java.lang.String},
+ * and the value is of type {@link java.lang.String},
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>XSI Schema Location</em>' map isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>XSI Schema Location</em>' map.
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getDocumentRoot_XSISchemaLocation()
+ * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry" keyType="java.lang.String" valueType="java.lang.String" transient="true"
+ * @generated
+ */
+ EMap getXSISchemaLocation();
+
+ /**
+ * Returns the value of the '<em><b>Component Api</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Component Api</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Component Api</em>' containment reference.
+ * @see #setComponentApi(ComponentApiType)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getDocumentRoot_ComponentApi()
+ * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+ * @generated
+ */
+ ComponentApiType getComponentApi();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.DocumentRoot#getComponentApi <em>Component Api</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Component Api</em>' containment reference.
+ * @see #getComponentApi()
+ * @generated
+ */
+ void setComponentApi(ComponentApiType value);
+
+} // DocumentRoot
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/FieldApi.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/FieldApi.java
new file mode 100644
index 0000000..2e7ff26
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/FieldApi.java
@@ -0,0 +1,360 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: FieldApi.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Field Api</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isFinal <em>Final</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isStatic <em>Static</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isTransient <em>Transient</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#getVisibility <em>Visibility</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isVolatile <em>Volatile</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getFieldApi()
+ * @model
+ * @generated
+ */
+public interface FieldApi extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Final</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Final</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Final</em>' attribute.
+ * @see #isSetFinal()
+ * @see #unsetFinal()
+ * @see #setFinal(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getFieldApi_Final()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isFinal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isFinal <em>Final</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Final</em>' attribute.
+ * @see #isSetFinal()
+ * @see #unsetFinal()
+ * @see #isFinal()
+ * @generated
+ */
+ void setFinal(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isFinal <em>Final</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetFinal()
+ * @see #isFinal()
+ * @see #setFinal(boolean)
+ * @generated
+ */
+ void unsetFinal();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isFinal <em>Final</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Final</em>' attribute is set.
+ * @see #unsetFinal()
+ * @see #isFinal()
+ * @see #setFinal(boolean)
+ * @generated
+ */
+ boolean isSetFinal();
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getFieldApi_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Static</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Static</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Static</em>' attribute.
+ * @see #isSetStatic()
+ * @see #unsetStatic()
+ * @see #setStatic(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getFieldApi_Static()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isStatic();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isStatic <em>Static</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Static</em>' attribute.
+ * @see #isSetStatic()
+ * @see #unsetStatic()
+ * @see #isStatic()
+ * @generated
+ */
+ void setStatic(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isStatic <em>Static</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetStatic()
+ * @see #isStatic()
+ * @see #setStatic(boolean)
+ * @generated
+ */
+ void unsetStatic();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isStatic <em>Static</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Static</em>' attribute is set.
+ * @see #unsetStatic()
+ * @see #isStatic()
+ * @see #setStatic(boolean)
+ * @generated
+ */
+ boolean isSetStatic();
+
+ /**
+ * Returns the value of the '<em><b>Transient</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Transient</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Transient</em>' attribute.
+ * @see #isSetTransient()
+ * @see #unsetTransient()
+ * @see #setTransient(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getFieldApi_Transient()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isTransient();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isTransient <em>Transient</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Transient</em>' attribute.
+ * @see #isSetTransient()
+ * @see #unsetTransient()
+ * @see #isTransient()
+ * @generated
+ */
+ void setTransient(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isTransient <em>Transient</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetTransient()
+ * @see #isTransient()
+ * @see #setTransient(boolean)
+ * @generated
+ */
+ void unsetTransient();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isTransient <em>Transient</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Transient</em>' attribute is set.
+ * @see #unsetTransient()
+ * @see #isTransient()
+ * @see #setTransient(boolean)
+ * @generated
+ */
+ boolean isSetTransient();
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getFieldApi_Type()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Visibility</b></em>' attribute.
+ * The default value is <code>"public"</code>.
+ * The literals are from the enumeration {@link org.eclipse.wtp.releng.tools.component.api.Visibility}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Visibility</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Visibility</em>' attribute.
+ * @see org.eclipse.wtp.releng.tools.component.api.Visibility
+ * @see #isSetVisibility()
+ * @see #unsetVisibility()
+ * @see #setVisibility(Visibility)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getFieldApi_Visibility()
+ * @model default="public" unique="false" unsettable="true" required="true"
+ * @generated
+ */
+ Visibility getVisibility();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#getVisibility <em>Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Visibility</em>' attribute.
+ * @see org.eclipse.wtp.releng.tools.component.api.Visibility
+ * @see #isSetVisibility()
+ * @see #unsetVisibility()
+ * @see #getVisibility()
+ * @generated
+ */
+ void setVisibility(Visibility value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#getVisibility <em>Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetVisibility()
+ * @see #getVisibility()
+ * @see #setVisibility(Visibility)
+ * @generated
+ */
+ void unsetVisibility();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#getVisibility <em>Visibility</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Visibility</em>' attribute is set.
+ * @see #unsetVisibility()
+ * @see #getVisibility()
+ * @see #setVisibility(Visibility)
+ * @generated
+ */
+ boolean isSetVisibility();
+
+ /**
+ * Returns the value of the '<em><b>Volatile</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Volatile</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Volatile</em>' attribute.
+ * @see #isSetVolatile()
+ * @see #unsetVolatile()
+ * @see #setVolatile(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getFieldApi_Volatile()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isVolatile();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isVolatile <em>Volatile</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Volatile</em>' attribute.
+ * @see #isSetVolatile()
+ * @see #unsetVolatile()
+ * @see #isVolatile()
+ * @generated
+ */
+ void setVolatile(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isVolatile <em>Volatile</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetVolatile()
+ * @see #isVolatile()
+ * @see #setVolatile(boolean)
+ * @generated
+ */
+ void unsetVolatile();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi#isVolatile <em>Volatile</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Volatile</em>' attribute is set.
+ * @see #unsetVolatile()
+ * @see #isVolatile()
+ * @see #setVolatile(boolean)
+ * @generated
+ */
+ boolean isSetVolatile();
+
+} // FieldApi
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/MethodApi.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/MethodApi.java
new file mode 100644
index 0000000..b0d998f
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/MethodApi.java
@@ -0,0 +1,526 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MethodApi.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Method Api</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isAbstract <em>Abstract</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getExceptionType <em>Exception Type</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isFinal <em>Final</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getInputType <em>Input Type</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isNative <em>Native</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getReturnType <em>Return Type</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isStatic <em>Static</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isStrict <em>Strict</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isSynchronized <em>Synchronized</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getVisibility <em>Visibility</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getMethodApi()
+ * @model
+ * @generated
+ */
+public interface MethodApi extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Abstract</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Abstract</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Abstract</em>' attribute.
+ * @see #isSetAbstract()
+ * @see #unsetAbstract()
+ * @see #setAbstract(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getMethodApi_Abstract()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isAbstract();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isAbstract <em>Abstract</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Abstract</em>' attribute.
+ * @see #isSetAbstract()
+ * @see #unsetAbstract()
+ * @see #isAbstract()
+ * @generated
+ */
+ void setAbstract(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isAbstract <em>Abstract</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetAbstract()
+ * @see #isAbstract()
+ * @see #setAbstract(boolean)
+ * @generated
+ */
+ void unsetAbstract();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isAbstract <em>Abstract</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Abstract</em>' attribute is set.
+ * @see #unsetAbstract()
+ * @see #isAbstract()
+ * @see #setAbstract(boolean)
+ * @generated
+ */
+ boolean isSetAbstract();
+
+ /**
+ * Returns the value of the '<em><b>Exception Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exception Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exception Type</em>' attribute.
+ * @see #setExceptionType(List)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getMethodApi_ExceptionType()
+ * @model unique="false" dataType="org.eclipse.wtp.releng.tools.component.api.ListOfTypes" many="false"
+ * @generated
+ */
+ List getExceptionType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getExceptionType <em>Exception Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exception Type</em>' attribute.
+ * @see #getExceptionType()
+ * @generated
+ */
+ void setExceptionType(List value);
+
+ /**
+ * Returns the value of the '<em><b>Final</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Final</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Final</em>' attribute.
+ * @see #isSetFinal()
+ * @see #unsetFinal()
+ * @see #setFinal(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getMethodApi_Final()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isFinal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isFinal <em>Final</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Final</em>' attribute.
+ * @see #isSetFinal()
+ * @see #unsetFinal()
+ * @see #isFinal()
+ * @generated
+ */
+ void setFinal(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isFinal <em>Final</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetFinal()
+ * @see #isFinal()
+ * @see #setFinal(boolean)
+ * @generated
+ */
+ void unsetFinal();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isFinal <em>Final</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Final</em>' attribute is set.
+ * @see #unsetFinal()
+ * @see #isFinal()
+ * @see #setFinal(boolean)
+ * @generated
+ */
+ boolean isSetFinal();
+
+ /**
+ * Returns the value of the '<em><b>Input Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Input Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Input Type</em>' attribute.
+ * @see #setInputType(List)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getMethodApi_InputType()
+ * @model unique="false" dataType="org.eclipse.wtp.releng.tools.component.api.ListOfTypes" many="false"
+ * @generated
+ */
+ List getInputType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getInputType <em>Input Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Input Type</em>' attribute.
+ * @see #getInputType()
+ * @generated
+ */
+ void setInputType(List value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getMethodApi_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Native</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Native</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Native</em>' attribute.
+ * @see #isSetNative()
+ * @see #unsetNative()
+ * @see #setNative(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getMethodApi_Native()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isNative();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isNative <em>Native</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Native</em>' attribute.
+ * @see #isSetNative()
+ * @see #unsetNative()
+ * @see #isNative()
+ * @generated
+ */
+ void setNative(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isNative <em>Native</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetNative()
+ * @see #isNative()
+ * @see #setNative(boolean)
+ * @generated
+ */
+ void unsetNative();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isNative <em>Native</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Native</em>' attribute is set.
+ * @see #unsetNative()
+ * @see #isNative()
+ * @see #setNative(boolean)
+ * @generated
+ */
+ boolean isSetNative();
+
+ /**
+ * Returns the value of the '<em><b>Return Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Return Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Return Type</em>' attribute.
+ * @see #setReturnType(String)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getMethodApi_ReturnType()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getReturnType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getReturnType <em>Return Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Return Type</em>' attribute.
+ * @see #getReturnType()
+ * @generated
+ */
+ void setReturnType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Static</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Static</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Static</em>' attribute.
+ * @see #isSetStatic()
+ * @see #unsetStatic()
+ * @see #setStatic(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getMethodApi_Static()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isStatic();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isStatic <em>Static</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Static</em>' attribute.
+ * @see #isSetStatic()
+ * @see #unsetStatic()
+ * @see #isStatic()
+ * @generated
+ */
+ void setStatic(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isStatic <em>Static</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetStatic()
+ * @see #isStatic()
+ * @see #setStatic(boolean)
+ * @generated
+ */
+ void unsetStatic();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isStatic <em>Static</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Static</em>' attribute is set.
+ * @see #unsetStatic()
+ * @see #isStatic()
+ * @see #setStatic(boolean)
+ * @generated
+ */
+ boolean isSetStatic();
+
+ /**
+ * Returns the value of the '<em><b>Strict</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Strict</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Strict</em>' attribute.
+ * @see #isSetStrict()
+ * @see #unsetStrict()
+ * @see #setStrict(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getMethodApi_Strict()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isStrict();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isStrict <em>Strict</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Strict</em>' attribute.
+ * @see #isSetStrict()
+ * @see #unsetStrict()
+ * @see #isStrict()
+ * @generated
+ */
+ void setStrict(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isStrict <em>Strict</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetStrict()
+ * @see #isStrict()
+ * @see #setStrict(boolean)
+ * @generated
+ */
+ void unsetStrict();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isStrict <em>Strict</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Strict</em>' attribute is set.
+ * @see #unsetStrict()
+ * @see #isStrict()
+ * @see #setStrict(boolean)
+ * @generated
+ */
+ boolean isSetStrict();
+
+ /**
+ * Returns the value of the '<em><b>Synchronized</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Synchronized</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Synchronized</em>' attribute.
+ * @see #isSetSynchronized()
+ * @see #unsetSynchronized()
+ * @see #setSynchronized(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getMethodApi_Synchronized()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isSynchronized();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isSynchronized <em>Synchronized</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Synchronized</em>' attribute.
+ * @see #isSetSynchronized()
+ * @see #unsetSynchronized()
+ * @see #isSynchronized()
+ * @generated
+ */
+ void setSynchronized(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isSynchronized <em>Synchronized</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetSynchronized()
+ * @see #isSynchronized()
+ * @see #setSynchronized(boolean)
+ * @generated
+ */
+ void unsetSynchronized();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#isSynchronized <em>Synchronized</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Synchronized</em>' attribute is set.
+ * @see #unsetSynchronized()
+ * @see #isSynchronized()
+ * @see #setSynchronized(boolean)
+ * @generated
+ */
+ boolean isSetSynchronized();
+
+ /**
+ * Returns the value of the '<em><b>Visibility</b></em>' attribute.
+ * The default value is <code>"public"</code>.
+ * The literals are from the enumeration {@link org.eclipse.wtp.releng.tools.component.api.Visibility}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Visibility</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Visibility</em>' attribute.
+ * @see org.eclipse.wtp.releng.tools.component.api.Visibility
+ * @see #isSetVisibility()
+ * @see #unsetVisibility()
+ * @see #setVisibility(Visibility)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getMethodApi_Visibility()
+ * @model default="public" unique="false" unsettable="true" required="true"
+ * @generated
+ */
+ Visibility getVisibility();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getVisibility <em>Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Visibility</em>' attribute.
+ * @see org.eclipse.wtp.releng.tools.component.api.Visibility
+ * @see #isSetVisibility()
+ * @see #unsetVisibility()
+ * @see #getVisibility()
+ * @generated
+ */
+ void setVisibility(Visibility value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getVisibility <em>Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetVisibility()
+ * @see #getVisibility()
+ * @see #setVisibility(Visibility)
+ * @generated
+ */
+ void unsetVisibility();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi#getVisibility <em>Visibility</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Visibility</em>' attribute is set.
+ * @see #unsetVisibility()
+ * @see #getVisibility()
+ * @see #setVisibility(Visibility)
+ * @generated
+ */
+ boolean isSetVisibility();
+
+} // MethodApi
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/Package.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/Package.java
new file mode 100644
index 0000000..d104743
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/Package.java
@@ -0,0 +1,74 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Package.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Package</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.Package#getClassApi <em>Class Api</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.Package#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getPackage()
+ * @model
+ * @generated
+ */
+public interface Package extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Class Api</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.wtp.releng.tools.component.api.ClassApi}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class Api</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Class Api</em>' containment reference list.
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getPackage_ClassApi()
+ * @model type="org.eclipse.wtp.releng.tools.component.api.ClassApi" containment="true" resolveProxies="false" required="true"
+ * @generated
+ */
+ EList getClassApi();
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getPackage_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.api.Package#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // Package
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/Visibility.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/Visibility.java
new file mode 100644
index 0000000..2516bfb
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/Visibility.java
@@ -0,0 +1,170 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Visibility.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Visibility</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#getVisibility()
+ * @model
+ * @generated
+ */
+public final class Visibility extends AbstractEnumerator
+{
+ /**
+ * The '<em><b>Public</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Public</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PUBLIC_LITERAL
+ * @model name="public"
+ * @generated
+ * @ordered
+ */
+ public static final int PUBLIC = 0;
+
+ /**
+ * The '<em><b>Protected</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Protected</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PROTECTED_LITERAL
+ * @model name="protected"
+ * @generated
+ * @ordered
+ */
+ public static final int PROTECTED = 1;
+
+ /**
+ * The '<em><b>Private</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Private</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PRIVATE_LITERAL
+ * @model name="private"
+ * @generated
+ * @ordered
+ */
+ public static final int PRIVATE = 2;
+
+ /**
+ * The '<em><b>Public</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PUBLIC
+ * @generated
+ * @ordered
+ */
+ public static final Visibility PUBLIC_LITERAL = new Visibility(PUBLIC, "public");
+
+ /**
+ * The '<em><b>Protected</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PROTECTED
+ * @generated
+ * @ordered
+ */
+ public static final Visibility PROTECTED_LITERAL = new Visibility(PROTECTED, "protected");
+
+ /**
+ * The '<em><b>Private</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PRIVATE
+ * @generated
+ * @ordered
+ */
+ public static final Visibility PRIVATE_LITERAL = new Visibility(PRIVATE, "private");
+
+ /**
+ * An array of all the '<em><b>Visibility</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final Visibility[] VALUES_ARRAY =
+ new Visibility[]
+ {
+ PUBLIC_LITERAL,
+ PROTECTED_LITERAL,
+ PRIVATE_LITERAL,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Visibility</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Visibility</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Visibility get(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ Visibility result = VALUES_ARRAY[i];
+ if (result.toString().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Visibility</b></em>' literal with the specified value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Visibility get(int value)
+ {
+ switch (value)
+ {
+ case PUBLIC: return PUBLIC_LITERAL;
+ case PROTECTED: return PROTECTED_LITERAL;
+ case PRIVATE: return PRIVATE_LITERAL;
+ }
+ return null;
+ }
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private Visibility(int value, String name)
+ {
+ super(value, name);
+ }
+
+} //Visibility
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ApiFactoryImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ApiFactoryImpl.java
new file mode 100644
index 0000000..c7387cc
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ApiFactoryImpl.java
@@ -0,0 +1,271 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ApiFactoryImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.impl;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.wtp.releng.tools.component.api.ApiFactory;
+import org.eclipse.wtp.releng.tools.component.api.ApiPackage;
+import org.eclipse.wtp.releng.tools.component.api.ApiTypes;
+import org.eclipse.wtp.releng.tools.component.api.ClassApi;
+import org.eclipse.wtp.releng.tools.component.api.ComponentApiType;
+import org.eclipse.wtp.releng.tools.component.api.DocumentRoot;
+import org.eclipse.wtp.releng.tools.component.api.FieldApi;
+import org.eclipse.wtp.releng.tools.component.api.MethodApi;
+import org.eclipse.wtp.releng.tools.component.api.Visibility;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ApiFactoryImpl extends EFactoryImpl implements ApiFactory
+{
+ /**
+ * Creates and instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApiFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case ApiPackage.API_TYPES: return createApiTypes();
+ case ApiPackage.CLASS_API: return createClassApi();
+ case ApiPackage.COMPONENT_API_TYPE: return createComponentApiType();
+ case ApiPackage.DOCUMENT_ROOT: return createDocumentRoot();
+ case ApiPackage.FIELD_API: return createFieldApi();
+ case ApiPackage.METHOD_API: return createMethodApi();
+ case ApiPackage.PACKAGE: return createPackage();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object createFromString(EDataType eDataType, String initialValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case ApiPackage.VISIBILITY:
+ {
+ Visibility result = Visibility.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+ case ApiPackage.LIST_OF_TYPES:
+ return createListOfTypesFromString(eDataType, initialValue);
+ case ApiPackage.VISIBILITY_OBJECT:
+ return createVisibilityObjectFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertToString(EDataType eDataType, Object instanceValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case ApiPackage.VISIBILITY:
+ return instanceValue == null ? null : instanceValue.toString();
+ case ApiPackage.LIST_OF_TYPES:
+ return convertListOfTypesToString(eDataType, instanceValue);
+ case ApiPackage.VISIBILITY_OBJECT:
+ return convertVisibilityObjectToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApiTypes createApiTypes()
+ {
+ ApiTypesImpl apiTypes = new ApiTypesImpl();
+ return apiTypes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassApi createClassApi()
+ {
+ ClassApiImpl classApi = new ClassApiImpl();
+ return classApi;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentApiType createComponentApiType()
+ {
+ ComponentApiTypeImpl componentApiType = new ComponentApiTypeImpl();
+ return componentApiType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DocumentRoot createDocumentRoot()
+ {
+ DocumentRootImpl documentRoot = new DocumentRootImpl();
+ return documentRoot;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FieldApi createFieldApi()
+ {
+ FieldApiImpl fieldApi = new FieldApiImpl();
+ return fieldApi;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MethodApi createMethodApi()
+ {
+ MethodApiImpl methodApi = new MethodApiImpl();
+ return methodApi;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.wtp.releng.tools.component.api.Package createPackage()
+ {
+ PackageImpl package_ = new PackageImpl();
+ return package_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List createListOfTypesFromString(EDataType eDataType, String initialValue)
+ {
+ if (initialValue == null) return null;
+ List result = new ArrayList();
+ for (StringTokenizer stringTokenizer = new StringTokenizer(initialValue); stringTokenizer.hasMoreTokens(); )
+ {
+ String item = stringTokenizer.nextToken();
+ result.add(XMLTypeFactory.eINSTANCE.createFromString(XMLTypePackage.eINSTANCE.getString(), item));
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertListOfTypesToString(EDataType eDataType, Object instanceValue)
+ {
+ if (instanceValue == null) return null;
+ List list = (List)instanceValue;
+ if (list.isEmpty()) return "";
+ StringBuffer result = new StringBuffer();
+ for (Iterator i = list.iterator(); i.hasNext(); )
+ {
+ result.append(XMLTypeFactory.eINSTANCE.convertToString(XMLTypePackage.eINSTANCE.getString(), i.next()));
+ result.append(' ');
+ }
+ return result.substring(0, result.length() - 1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Visibility createVisibilityObjectFromString(EDataType eDataType, String initialValue)
+ {
+ return (Visibility)ApiFactory.eINSTANCE.createFromString(ApiPackage.eINSTANCE.getVisibility(), initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertVisibilityObjectToString(EDataType eDataType, Object instanceValue)
+ {
+ return ApiFactory.eINSTANCE.convertToString(ApiPackage.eINSTANCE.getVisibility(), instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApiPackage getApiPackage()
+ {
+ return (ApiPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ public static ApiPackage getPackage()
+ {
+ return ApiPackage.eINSTANCE;
+ }
+
+} //ApiFactoryImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ApiPackageImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ApiPackageImpl.java
new file mode 100644
index 0000000..56069fc
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ApiPackageImpl.java
@@ -0,0 +1,1224 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ApiPackageImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.impl;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EValidator;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.emf.ecore.xml.type.impl.XMLTypePackageImpl;
+
+import org.eclipse.wtp.releng.tools.component.api.ApiFactory;
+import org.eclipse.wtp.releng.tools.component.api.ApiPackage;
+import org.eclipse.wtp.releng.tools.component.api.ApiTypes;
+import org.eclipse.wtp.releng.tools.component.api.ClassApi;
+import org.eclipse.wtp.releng.tools.component.api.ComponentApiType;
+import org.eclipse.wtp.releng.tools.component.api.DocumentRoot;
+import org.eclipse.wtp.releng.tools.component.api.FieldApi;
+import org.eclipse.wtp.releng.tools.component.api.MethodApi;
+import org.eclipse.wtp.releng.tools.component.api.Visibility;
+
+import org.eclipse.wtp.releng.tools.component.api.util.ApiValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ApiPackageImpl extends EPackageImpl implements ApiPackage
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass apiTypesEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass classApiEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass componentApiTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass documentRootEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass fieldApiEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass methodApiEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass packageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum visibilityEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType listOfTypesEDataType = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType visibilityObjectEDataType = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ApiPackageImpl()
+ {
+ super(eNS_URI, ApiFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this
+ * model, and for any others upon which it depends. Simple
+ * dependencies are satisfied by calling this method on all
+ * dependent packages before doing anything else. This method drives
+ * initialization for interdependent packages directly, in parallel
+ * with this package, itself.
+ * <p>Of this package and its interdependencies, all packages which
+ * have not yet been registered by their URI values are first created
+ * and registered. The packages are then initialized in two steps:
+ * meta-model objects for all of the packages are created before any
+ * are initialized, since one package's meta-model objects may refer to
+ * those of another.
+ * <p>Invocation of this method will not affect any packages that have
+ * already been initialized.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ApiPackage init()
+ {
+ if (isInited) return (ApiPackage)EPackage.Registry.INSTANCE.getEPackage(ApiPackage.eNS_URI);
+
+ // Obtain or create and register package
+ ApiPackageImpl theApiPackage = (ApiPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof ApiPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new ApiPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ XMLTypePackageImpl.init();
+
+ // Create package meta-data objects
+ theApiPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theApiPackage.initializePackageContents();
+
+ // Register package validator
+ EValidator.Registry.INSTANCE.put
+ (theApiPackage,
+ new EValidator.Descriptor()
+ {
+ public EValidator getEValidator()
+ {
+ return ApiValidator.INSTANCE;
+ }
+ });
+
+ // Mark meta-data to indicate it can't be changed
+ theApiPackage.freeze();
+
+ return theApiPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getApiTypes()
+ {
+ return apiTypesEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getApiTypes_Package()
+ {
+ return (EReference)apiTypesEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClassApi()
+ {
+ return classApiEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassApi_MethodApi()
+ {
+ return (EReference)classApiEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassApi_FieldApi()
+ {
+ return (EReference)classApiEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getClassApi_Implement()
+ {
+ return (EAttribute)classApiEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getClassApi_Instantiate()
+ {
+ return (EAttribute)classApiEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getClassApi_Name()
+ {
+ return (EAttribute)classApiEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getClassApi_Reference()
+ {
+ return (EAttribute)classApiEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getClassApi_Subclass()
+ {
+ return (EAttribute)classApiEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getComponentApiType()
+ {
+ return componentApiTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComponentApiType_InternalApis()
+ {
+ return (EReference)componentApiTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComponentApiType_ExternalApis()
+ {
+ return (EReference)componentApiTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getComponentApiType_Name()
+ {
+ return (EAttribute)componentApiTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getComponentApiType_Version()
+ {
+ return (EAttribute)componentApiTypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDocumentRoot()
+ {
+ return documentRootEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDocumentRoot_Mixed()
+ {
+ return (EAttribute)documentRootEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_XMLNSPrefixMap()
+ {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_XSISchemaLocation()
+ {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_ComponentApi()
+ {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFieldApi()
+ {
+ return fieldApiEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFieldApi_Final()
+ {
+ return (EAttribute)fieldApiEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFieldApi_Name()
+ {
+ return (EAttribute)fieldApiEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFieldApi_Static()
+ {
+ return (EAttribute)fieldApiEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFieldApi_Transient()
+ {
+ return (EAttribute)fieldApiEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFieldApi_Type()
+ {
+ return (EAttribute)fieldApiEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFieldApi_Visibility()
+ {
+ return (EAttribute)fieldApiEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFieldApi_Volatile()
+ {
+ return (EAttribute)fieldApiEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMethodApi()
+ {
+ return methodApiEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMethodApi_Abstract()
+ {
+ return (EAttribute)methodApiEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMethodApi_ExceptionType()
+ {
+ return (EAttribute)methodApiEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMethodApi_Final()
+ {
+ return (EAttribute)methodApiEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMethodApi_InputType()
+ {
+ return (EAttribute)methodApiEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMethodApi_Name()
+ {
+ return (EAttribute)methodApiEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMethodApi_Native()
+ {
+ return (EAttribute)methodApiEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMethodApi_ReturnType()
+ {
+ return (EAttribute)methodApiEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMethodApi_Static()
+ {
+ return (EAttribute)methodApiEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMethodApi_Strict()
+ {
+ return (EAttribute)methodApiEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMethodApi_Synchronized()
+ {
+ return (EAttribute)methodApiEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMethodApi_Visibility()
+ {
+ return (EAttribute)methodApiEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPackage()
+ {
+ return packageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackage_ClassApi()
+ {
+ return (EReference)packageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPackage_Name()
+ {
+ return (EAttribute)packageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getVisibility()
+ {
+ return visibilityEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getListOfTypes()
+ {
+ return listOfTypesEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getVisibilityObject()
+ {
+ return visibilityObjectEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApiFactory getApiFactory()
+ {
+ return (ApiFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents()
+ {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ apiTypesEClass = createEClass(API_TYPES);
+ createEReference(apiTypesEClass, API_TYPES__PACKAGE);
+
+ classApiEClass = createEClass(CLASS_API);
+ createEReference(classApiEClass, CLASS_API__METHOD_API);
+ createEReference(classApiEClass, CLASS_API__FIELD_API);
+ createEAttribute(classApiEClass, CLASS_API__IMPLEMENT);
+ createEAttribute(classApiEClass, CLASS_API__INSTANTIATE);
+ createEAttribute(classApiEClass, CLASS_API__NAME);
+ createEAttribute(classApiEClass, CLASS_API__REFERENCE);
+ createEAttribute(classApiEClass, CLASS_API__SUBCLASS);
+
+ componentApiTypeEClass = createEClass(COMPONENT_API_TYPE);
+ createEReference(componentApiTypeEClass, COMPONENT_API_TYPE__INTERNAL_APIS);
+ createEReference(componentApiTypeEClass, COMPONENT_API_TYPE__EXTERNAL_APIS);
+ createEAttribute(componentApiTypeEClass, COMPONENT_API_TYPE__NAME);
+ createEAttribute(componentApiTypeEClass, COMPONENT_API_TYPE__VERSION);
+
+ documentRootEClass = createEClass(DOCUMENT_ROOT);
+ createEAttribute(documentRootEClass, DOCUMENT_ROOT__MIXED);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__COMPONENT_API);
+
+ fieldApiEClass = createEClass(FIELD_API);
+ createEAttribute(fieldApiEClass, FIELD_API__FINAL);
+ createEAttribute(fieldApiEClass, FIELD_API__NAME);
+ createEAttribute(fieldApiEClass, FIELD_API__STATIC);
+ createEAttribute(fieldApiEClass, FIELD_API__TRANSIENT);
+ createEAttribute(fieldApiEClass, FIELD_API__TYPE);
+ createEAttribute(fieldApiEClass, FIELD_API__VISIBILITY);
+ createEAttribute(fieldApiEClass, FIELD_API__VOLATILE);
+
+ methodApiEClass = createEClass(METHOD_API);
+ createEAttribute(methodApiEClass, METHOD_API__ABSTRACT);
+ createEAttribute(methodApiEClass, METHOD_API__EXCEPTION_TYPE);
+ createEAttribute(methodApiEClass, METHOD_API__FINAL);
+ createEAttribute(methodApiEClass, METHOD_API__INPUT_TYPE);
+ createEAttribute(methodApiEClass, METHOD_API__NAME);
+ createEAttribute(methodApiEClass, METHOD_API__NATIVE);
+ createEAttribute(methodApiEClass, METHOD_API__RETURN_TYPE);
+ createEAttribute(methodApiEClass, METHOD_API__STATIC);
+ createEAttribute(methodApiEClass, METHOD_API__STRICT);
+ createEAttribute(methodApiEClass, METHOD_API__SYNCHRONIZED);
+ createEAttribute(methodApiEClass, METHOD_API__VISIBILITY);
+
+ packageEClass = createEClass(PACKAGE);
+ createEReference(packageEClass, PACKAGE__CLASS_API);
+ createEAttribute(packageEClass, PACKAGE__NAME);
+
+ // Create enums
+ visibilityEEnum = createEEnum(VISIBILITY);
+
+ // Create data types
+ listOfTypesEDataType = createEDataType(LIST_OF_TYPES);
+ visibilityObjectEDataType = createEDataType(VISIBILITY_OBJECT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents()
+ {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ XMLTypePackageImpl theXMLTypePackage = (XMLTypePackageImpl)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
+
+ // Add supertypes to classes
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(apiTypesEClass, ApiTypes.class, "ApiTypes", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getApiTypes_Package(), this.getPackage(), null, "package", null, 1, -1, ApiTypes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(classApiEClass, ClassApi.class, "ClassApi", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getClassApi_MethodApi(), this.getMethodApi(), null, "methodApi", null, 1, -1, ClassApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getClassApi_FieldApi(), this.getFieldApi(), null, "fieldApi", null, 1, -1, ClassApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getClassApi_Implement(), theXMLTypePackage.getBoolean(), "implement", "false", 0, 1, ClassApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getClassApi_Instantiate(), theXMLTypePackage.getBoolean(), "instantiate", "false", 0, 1, ClassApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getClassApi_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ClassApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getClassApi_Reference(), theXMLTypePackage.getBoolean(), "reference", "false", 0, 1, ClassApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getClassApi_Subclass(), theXMLTypePackage.getBoolean(), "subclass", "false", 0, 1, ClassApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(componentApiTypeEClass, ComponentApiType.class, "ComponentApiType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getComponentApiType_InternalApis(), this.getApiTypes(), null, "internalApis", null, 1, 1, ComponentApiType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getComponentApiType_ExternalApis(), this.getApiTypes(), null, "externalApis", null, 1, 1, ComponentApiType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getComponentApiType_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ComponentApiType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getComponentApiType_Version(), theXMLTypePackage.getString(), "version", null, 1, 1, ComponentApiType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDocumentRoot_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, null, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_XMLNSPrefixMap(), ecorePackage.getEStringToStringMapEntry(), null, "xMLNSPrefixMap", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_XSISchemaLocation(), ecorePackage.getEStringToStringMapEntry(), null, "xSISchemaLocation", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_ComponentApi(), this.getComponentApiType(), null, "componentApi", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+
+ initEClass(fieldApiEClass, FieldApi.class, "FieldApi", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFieldApi_Final(), theXMLTypePackage.getBoolean(), "final", "false", 0, 1, FieldApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFieldApi_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, FieldApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFieldApi_Static(), theXMLTypePackage.getBoolean(), "static", "false", 0, 1, FieldApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFieldApi_Transient(), theXMLTypePackage.getBoolean(), "transient", "false", 0, 1, FieldApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFieldApi_Type(), theXMLTypePackage.getString(), "type", null, 1, 1, FieldApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFieldApi_Visibility(), this.getVisibility(), "visibility", "public", 1, 1, FieldApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFieldApi_Volatile(), theXMLTypePackage.getBoolean(), "volatile", "false", 0, 1, FieldApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(methodApiEClass, MethodApi.class, "MethodApi", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMethodApi_Abstract(), theXMLTypePackage.getBoolean(), "abstract", "false", 0, 1, MethodApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMethodApi_ExceptionType(), this.getListOfTypes(), "exceptionType", null, 0, 1, MethodApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMethodApi_Final(), theXMLTypePackage.getBoolean(), "final", "false", 0, 1, MethodApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMethodApi_InputType(), this.getListOfTypes(), "inputType", null, 0, 1, MethodApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMethodApi_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, MethodApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMethodApi_Native(), theXMLTypePackage.getBoolean(), "native", "false", 0, 1, MethodApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMethodApi_ReturnType(), theXMLTypePackage.getString(), "returnType", null, 0, 1, MethodApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMethodApi_Static(), theXMLTypePackage.getBoolean(), "static", "false", 0, 1, MethodApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMethodApi_Strict(), theXMLTypePackage.getBoolean(), "strict", "false", 0, 1, MethodApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMethodApi_Synchronized(), theXMLTypePackage.getBoolean(), "synchronized", "false", 0, 1, MethodApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMethodApi_Visibility(), this.getVisibility(), "visibility", "public", 1, 1, MethodApi.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(packageEClass, org.eclipse.wtp.releng.tools.component.api.Package.class, "Package", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPackage_ClassApi(), this.getClassApi(), null, "classApi", null, 1, -1, org.eclipse.wtp.releng.tools.component.api.Package.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPackage_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, org.eclipse.wtp.releng.tools.component.api.Package.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(visibilityEEnum, Visibility.class, "Visibility");
+ addEEnumLiteral(visibilityEEnum, Visibility.PUBLIC_LITERAL);
+ addEEnumLiteral(visibilityEEnum, Visibility.PROTECTED_LITERAL);
+ addEEnumLiteral(visibilityEEnum, Visibility.PRIVATE_LITERAL);
+
+ // Initialize data types
+ initEDataType(listOfTypesEDataType, List.class, "ListOfTypes", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(visibilityObjectEDataType, Visibility.class, "VisibilityObject", IS_SERIALIZABLE, IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
+ createExtendedMetaDataAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createExtendedMetaDataAnnotations()
+ {
+ String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";
+ addAnnotation
+ (apiTypesEClass,
+ source,
+ new String[]
+ {
+ "name", "api-types",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getApiTypes_Package(),
+ source,
+ new String[]
+ {
+ "kind", "element",
+ "name", "package"
+ });
+ addAnnotation
+ (classApiEClass,
+ source,
+ new String[]
+ {
+ "name", "class-api",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getClassApi_MethodApi(),
+ source,
+ new String[]
+ {
+ "kind", "element",
+ "name", "method-api"
+ });
+ addAnnotation
+ (getClassApi_FieldApi(),
+ source,
+ new String[]
+ {
+ "kind", "element",
+ "name", "field-api"
+ });
+ addAnnotation
+ (getClassApi_Implement(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "implement"
+ });
+ addAnnotation
+ (getClassApi_Instantiate(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "instantiate"
+ });
+ addAnnotation
+ (getClassApi_Name(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "name"
+ });
+ addAnnotation
+ (getClassApi_Reference(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "reference"
+ });
+ addAnnotation
+ (getClassApi_Subclass(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "subclass"
+ });
+ addAnnotation
+ (componentApiTypeEClass,
+ source,
+ new String[]
+ {
+ "name", "component-api_._type",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getComponentApiType_InternalApis(),
+ source,
+ new String[]
+ {
+ "kind", "element",
+ "name", "internal-apis"
+ });
+ addAnnotation
+ (getComponentApiType_ExternalApis(),
+ source,
+ new String[]
+ {
+ "kind", "element",
+ "name", "external-apis"
+ });
+ addAnnotation
+ (getComponentApiType_Name(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "name"
+ });
+ addAnnotation
+ (getComponentApiType_Version(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "version"
+ });
+ addAnnotation
+ (documentRootEClass,
+ source,
+ new String[]
+ {
+ "name", "",
+ "kind", "mixed"
+ });
+ addAnnotation
+ (getDocumentRoot_Mixed(),
+ source,
+ new String[]
+ {
+ "kind", "elementWildcard",
+ "name", ":mixed"
+ });
+ addAnnotation
+ (getDocumentRoot_XMLNSPrefixMap(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "xmlns:prefix"
+ });
+ addAnnotation
+ (getDocumentRoot_XSISchemaLocation(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "xsi:schemaLocation"
+ });
+ addAnnotation
+ (getDocumentRoot_ComponentApi(),
+ source,
+ new String[]
+ {
+ "kind", "element",
+ "name", "component-api",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (fieldApiEClass,
+ source,
+ new String[]
+ {
+ "name", "field-api",
+ "kind", "empty"
+ });
+ addAnnotation
+ (getFieldApi_Final(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "final"
+ });
+ addAnnotation
+ (getFieldApi_Name(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "name"
+ });
+ addAnnotation
+ (getFieldApi_Static(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "static"
+ });
+ addAnnotation
+ (getFieldApi_Transient(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "transient"
+ });
+ addAnnotation
+ (getFieldApi_Type(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "type"
+ });
+ addAnnotation
+ (getFieldApi_Visibility(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "visibility"
+ });
+ addAnnotation
+ (getFieldApi_Volatile(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "volatile"
+ });
+ addAnnotation
+ (listOfTypesEDataType,
+ source,
+ new String[]
+ {
+ "name", "list-of-types",
+ "itemType", "http://www.eclipse.org/emf/2003/XMLType#string"
+ });
+ addAnnotation
+ (methodApiEClass,
+ source,
+ new String[]
+ {
+ "name", "method-api",
+ "kind", "empty"
+ });
+ addAnnotation
+ (getMethodApi_Abstract(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "abstract"
+ });
+ addAnnotation
+ (getMethodApi_ExceptionType(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "exception-type"
+ });
+ addAnnotation
+ (getMethodApi_Final(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "final"
+ });
+ addAnnotation
+ (getMethodApi_InputType(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "input-type"
+ });
+ addAnnotation
+ (getMethodApi_Name(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "name"
+ });
+ addAnnotation
+ (getMethodApi_Native(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "native"
+ });
+ addAnnotation
+ (getMethodApi_ReturnType(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "return-type"
+ });
+ addAnnotation
+ (getMethodApi_Static(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "static"
+ });
+ addAnnotation
+ (getMethodApi_Strict(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "strict"
+ });
+ addAnnotation
+ (getMethodApi_Synchronized(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "synchronized"
+ });
+ addAnnotation
+ (getMethodApi_Visibility(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "visibility"
+ });
+ addAnnotation
+ (packageEClass,
+ source,
+ new String[]
+ {
+ "name", "package",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getPackage_ClassApi(),
+ source,
+ new String[]
+ {
+ "kind", "element",
+ "name", "class-api"
+ });
+ addAnnotation
+ (getPackage_Name(),
+ source,
+ new String[]
+ {
+ "kind", "attribute",
+ "name", "name"
+ });
+ addAnnotation
+ (visibilityEEnum,
+ source,
+ new String[]
+ {
+ "name", "visibility"
+ });
+ addAnnotation
+ (visibilityObjectEDataType,
+ source,
+ new String[]
+ {
+ "name", "visibility:Object",
+ "baseType", "visibility"
+ });
+ }
+
+} //ApiPackageImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ApiTypesImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ApiTypesImpl.java
new file mode 100644
index 0000000..69b45e4
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ApiTypesImpl.java
@@ -0,0 +1,169 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ApiTypesImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wtp.releng.tools.component.api.ApiPackage;
+import org.eclipse.wtp.releng.tools.component.api.ApiTypes;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Types</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.ApiTypesImpl#getPackage <em>Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ApiTypesImpl extends EObjectImpl implements ApiTypes
+{
+ /**
+ * The cached value of the '{@link #getPackage() <em>Package</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPackage()
+ * @generated
+ * @ordered
+ */
+ protected EList package_ = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ApiTypesImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass()
+ {
+ return ApiPackage.eINSTANCE.getApiTypes();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getPackage()
+ {
+ if (package_ == null)
+ {
+ package_ = new EObjectContainmentEList(org.eclipse.wtp.releng.tools.component.api.Package.class, this, ApiPackage.API_TYPES__PACKAGE);
+ }
+ return package_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs)
+ {
+ if (featureID >= 0)
+ {
+ switch (eDerivedStructuralFeatureID(featureID, baseClass))
+ {
+ case ApiPackage.API_TYPES__PACKAGE:
+ return ((InternalEList)getPackage()).basicRemove(otherEnd, msgs);
+ default:
+ return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+ }
+ }
+ return eBasicSetContainer(null, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.API_TYPES__PACKAGE:
+ return getPackage();
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.API_TYPES__PACKAGE:
+ getPackage().clear();
+ getPackage().addAll((Collection)newValue);
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.API_TYPES__PACKAGE:
+ getPackage().clear();
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.API_TYPES__PACKAGE:
+ return package_ != null && !package_.isEmpty();
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+} //ApiTypesImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ClassApiImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ClassApiImpl.java
new file mode 100644
index 0000000..9c880ee
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ClassApiImpl.java
@@ -0,0 +1,649 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ClassApiImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wtp.releng.tools.component.api.ApiPackage;
+import org.eclipse.wtp.releng.tools.component.api.ClassApi;
+import org.eclipse.wtp.releng.tools.component.api.FieldApi;
+import org.eclipse.wtp.releng.tools.component.api.MethodApi;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Class Api</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.ClassApiImpl#getMethodApi <em>Method Api</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.ClassApiImpl#getFieldApi <em>Field Api</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.ClassApiImpl#isImplement <em>Implement</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.ClassApiImpl#isInstantiate <em>Instantiate</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.ClassApiImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.ClassApiImpl#isReference <em>Reference</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.ClassApiImpl#isSubclass <em>Subclass</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ClassApiImpl extends EObjectImpl implements ClassApi
+{
+ /**
+ * The cached value of the '{@link #getMethodApi() <em>Method Api</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMethodApi()
+ * @generated
+ * @ordered
+ */
+ protected EList methodApi = null;
+
+ /**
+ * The cached value of the '{@link #getFieldApi() <em>Field Api</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFieldApi()
+ * @generated
+ * @ordered
+ */
+ protected EList fieldApi = null;
+
+ /**
+ * The default value of the '{@link #isImplement() <em>Implement</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isImplement()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IMPLEMENT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isImplement() <em>Implement</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isImplement()
+ * @generated
+ * @ordered
+ */
+ protected boolean implement = IMPLEMENT_EDEFAULT;
+
+ /**
+ * This is true if the Implement attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean implementESet = false;
+
+ /**
+ * The default value of the '{@link #isInstantiate() <em>Instantiate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isInstantiate()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean INSTANTIATE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isInstantiate() <em>Instantiate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isInstantiate()
+ * @generated
+ * @ordered
+ */
+ protected boolean instantiate = INSTANTIATE_EDEFAULT;
+
+ /**
+ * This is true if the Instantiate attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean instantiateESet = false;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isReference() <em>Reference</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReference()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean REFERENCE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isReference() <em>Reference</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReference()
+ * @generated
+ * @ordered
+ */
+ protected boolean reference = REFERENCE_EDEFAULT;
+
+ /**
+ * This is true if the Reference attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean referenceESet = false;
+
+ /**
+ * The default value of the '{@link #isSubclass() <em>Subclass</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSubclass()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SUBCLASS_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isSubclass() <em>Subclass</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSubclass()
+ * @generated
+ * @ordered
+ */
+ protected boolean subclass = SUBCLASS_EDEFAULT;
+
+ /**
+ * This is true if the Subclass attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean subclassESet = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassApiImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass()
+ {
+ return ApiPackage.eINSTANCE.getClassApi();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getMethodApi()
+ {
+ if (methodApi == null)
+ {
+ methodApi = new EObjectContainmentEList(MethodApi.class, this, ApiPackage.CLASS_API__METHOD_API);
+ }
+ return methodApi;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getFieldApi()
+ {
+ if (fieldApi == null)
+ {
+ fieldApi = new EObjectContainmentEList(FieldApi.class, this, ApiPackage.CLASS_API__FIELD_API);
+ }
+ return fieldApi;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isImplement()
+ {
+ return implement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImplement(boolean newImplement)
+ {
+ boolean oldImplement = implement;
+ implement = newImplement;
+ boolean oldImplementESet = implementESet;
+ implementESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.CLASS_API__IMPLEMENT, oldImplement, implement, !oldImplementESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetImplement()
+ {
+ boolean oldImplement = implement;
+ boolean oldImplementESet = implementESet;
+ implement = IMPLEMENT_EDEFAULT;
+ implementESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.CLASS_API__IMPLEMENT, oldImplement, IMPLEMENT_EDEFAULT, oldImplementESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetImplement()
+ {
+ return implementESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isInstantiate()
+ {
+ return instantiate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInstantiate(boolean newInstantiate)
+ {
+ boolean oldInstantiate = instantiate;
+ instantiate = newInstantiate;
+ boolean oldInstantiateESet = instantiateESet;
+ instantiateESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.CLASS_API__INSTANTIATE, oldInstantiate, instantiate, !oldInstantiateESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetInstantiate()
+ {
+ boolean oldInstantiate = instantiate;
+ boolean oldInstantiateESet = instantiateESet;
+ instantiate = INSTANTIATE_EDEFAULT;
+ instantiateESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.CLASS_API__INSTANTIATE, oldInstantiate, INSTANTIATE_EDEFAULT, oldInstantiateESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetInstantiate()
+ {
+ return instantiateESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.CLASS_API__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isReference()
+ {
+ return reference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReference(boolean newReference)
+ {
+ boolean oldReference = reference;
+ reference = newReference;
+ boolean oldReferenceESet = referenceESet;
+ referenceESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.CLASS_API__REFERENCE, oldReference, reference, !oldReferenceESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetReference()
+ {
+ boolean oldReference = reference;
+ boolean oldReferenceESet = referenceESet;
+ reference = REFERENCE_EDEFAULT;
+ referenceESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.CLASS_API__REFERENCE, oldReference, REFERENCE_EDEFAULT, oldReferenceESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetReference()
+ {
+ return referenceESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSubclass()
+ {
+ return subclass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSubclass(boolean newSubclass)
+ {
+ boolean oldSubclass = subclass;
+ subclass = newSubclass;
+ boolean oldSubclassESet = subclassESet;
+ subclassESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.CLASS_API__SUBCLASS, oldSubclass, subclass, !oldSubclassESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetSubclass()
+ {
+ boolean oldSubclass = subclass;
+ boolean oldSubclassESet = subclassESet;
+ subclass = SUBCLASS_EDEFAULT;
+ subclassESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.CLASS_API__SUBCLASS, oldSubclass, SUBCLASS_EDEFAULT, oldSubclassESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSubclass()
+ {
+ return subclassESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs)
+ {
+ if (featureID >= 0)
+ {
+ switch (eDerivedStructuralFeatureID(featureID, baseClass))
+ {
+ case ApiPackage.CLASS_API__METHOD_API:
+ return ((InternalEList)getMethodApi()).basicRemove(otherEnd, msgs);
+ case ApiPackage.CLASS_API__FIELD_API:
+ return ((InternalEList)getFieldApi()).basicRemove(otherEnd, msgs);
+ default:
+ return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+ }
+ }
+ return eBasicSetContainer(null, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.CLASS_API__METHOD_API:
+ return getMethodApi();
+ case ApiPackage.CLASS_API__FIELD_API:
+ return getFieldApi();
+ case ApiPackage.CLASS_API__IMPLEMENT:
+ return isImplement() ? Boolean.TRUE : Boolean.FALSE;
+ case ApiPackage.CLASS_API__INSTANTIATE:
+ return isInstantiate() ? Boolean.TRUE : Boolean.FALSE;
+ case ApiPackage.CLASS_API__NAME:
+ return getName();
+ case ApiPackage.CLASS_API__REFERENCE:
+ return isReference() ? Boolean.TRUE : Boolean.FALSE;
+ case ApiPackage.CLASS_API__SUBCLASS:
+ return isSubclass() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.CLASS_API__METHOD_API:
+ getMethodApi().clear();
+ getMethodApi().addAll((Collection)newValue);
+ return;
+ case ApiPackage.CLASS_API__FIELD_API:
+ getFieldApi().clear();
+ getFieldApi().addAll((Collection)newValue);
+ return;
+ case ApiPackage.CLASS_API__IMPLEMENT:
+ setImplement(((Boolean)newValue).booleanValue());
+ return;
+ case ApiPackage.CLASS_API__INSTANTIATE:
+ setInstantiate(((Boolean)newValue).booleanValue());
+ return;
+ case ApiPackage.CLASS_API__NAME:
+ setName((String)newValue);
+ return;
+ case ApiPackage.CLASS_API__REFERENCE:
+ setReference(((Boolean)newValue).booleanValue());
+ return;
+ case ApiPackage.CLASS_API__SUBCLASS:
+ setSubclass(((Boolean)newValue).booleanValue());
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.CLASS_API__METHOD_API:
+ getMethodApi().clear();
+ return;
+ case ApiPackage.CLASS_API__FIELD_API:
+ getFieldApi().clear();
+ return;
+ case ApiPackage.CLASS_API__IMPLEMENT:
+ unsetImplement();
+ return;
+ case ApiPackage.CLASS_API__INSTANTIATE:
+ unsetInstantiate();
+ return;
+ case ApiPackage.CLASS_API__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ApiPackage.CLASS_API__REFERENCE:
+ unsetReference();
+ return;
+ case ApiPackage.CLASS_API__SUBCLASS:
+ unsetSubclass();
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.CLASS_API__METHOD_API:
+ return methodApi != null && !methodApi.isEmpty();
+ case ApiPackage.CLASS_API__FIELD_API:
+ return fieldApi != null && !fieldApi.isEmpty();
+ case ApiPackage.CLASS_API__IMPLEMENT:
+ return isSetImplement();
+ case ApiPackage.CLASS_API__INSTANTIATE:
+ return isSetInstantiate();
+ case ApiPackage.CLASS_API__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ApiPackage.CLASS_API__REFERENCE:
+ return isSetReference();
+ case ApiPackage.CLASS_API__SUBCLASS:
+ return isSetSubclass();
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (implement: ");
+ if (implementESet) result.append(implement); else result.append("<unset>");
+ result.append(", instantiate: ");
+ if (instantiateESet) result.append(instantiate); else result.append("<unset>");
+ result.append(", name: ");
+ result.append(name);
+ result.append(", reference: ");
+ if (referenceESet) result.append(reference); else result.append("<unset>");
+ result.append(", subclass: ");
+ if (subclassESet) result.append(subclass); else result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} //ClassApiImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ComponentApiTypeImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ComponentApiTypeImpl.java
new file mode 100644
index 0000000..6a5fe9d
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/ComponentApiTypeImpl.java
@@ -0,0 +1,395 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ComponentApiTypeImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.wtp.releng.tools.component.api.ApiPackage;
+import org.eclipse.wtp.releng.tools.component.api.ApiTypes;
+import org.eclipse.wtp.releng.tools.component.api.ComponentApiType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Component Api Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.ComponentApiTypeImpl#getInternalApis <em>Internal Apis</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.ComponentApiTypeImpl#getExternalApis <em>External Apis</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.ComponentApiTypeImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.ComponentApiTypeImpl#getVersion <em>Version</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ComponentApiTypeImpl extends EObjectImpl implements ComponentApiType
+{
+ /**
+ * The cached value of the '{@link #getInternalApis() <em>Internal Apis</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInternalApis()
+ * @generated
+ * @ordered
+ */
+ protected ApiTypes internalApis = null;
+
+ /**
+ * The cached value of the '{@link #getExternalApis() <em>External Apis</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExternalApis()
+ * @generated
+ * @ordered
+ */
+ protected ApiTypes externalApis = null;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final String VERSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected String version = VERSION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComponentApiTypeImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass()
+ {
+ return ApiPackage.eINSTANCE.getComponentApiType();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApiTypes getInternalApis()
+ {
+ return internalApis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInternalApis(ApiTypes newInternalApis, NotificationChain msgs)
+ {
+ ApiTypes oldInternalApis = internalApis;
+ internalApis = newInternalApis;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ApiPackage.COMPONENT_API_TYPE__INTERNAL_APIS, oldInternalApis, newInternalApis);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInternalApis(ApiTypes newInternalApis)
+ {
+ if (newInternalApis != internalApis)
+ {
+ NotificationChain msgs = null;
+ if (internalApis != null)
+ msgs = ((InternalEObject)internalApis).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ApiPackage.COMPONENT_API_TYPE__INTERNAL_APIS, null, msgs);
+ if (newInternalApis != null)
+ msgs = ((InternalEObject)newInternalApis).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ApiPackage.COMPONENT_API_TYPE__INTERNAL_APIS, null, msgs);
+ msgs = basicSetInternalApis(newInternalApis, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.COMPONENT_API_TYPE__INTERNAL_APIS, newInternalApis, newInternalApis));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApiTypes getExternalApis()
+ {
+ return externalApis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExternalApis(ApiTypes newExternalApis, NotificationChain msgs)
+ {
+ ApiTypes oldExternalApis = externalApis;
+ externalApis = newExternalApis;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ApiPackage.COMPONENT_API_TYPE__EXTERNAL_APIS, oldExternalApis, newExternalApis);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExternalApis(ApiTypes newExternalApis)
+ {
+ if (newExternalApis != externalApis)
+ {
+ NotificationChain msgs = null;
+ if (externalApis != null)
+ msgs = ((InternalEObject)externalApis).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ApiPackage.COMPONENT_API_TYPE__EXTERNAL_APIS, null, msgs);
+ if (newExternalApis != null)
+ msgs = ((InternalEObject)newExternalApis).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ApiPackage.COMPONENT_API_TYPE__EXTERNAL_APIS, null, msgs);
+ msgs = basicSetExternalApis(newExternalApis, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.COMPONENT_API_TYPE__EXTERNAL_APIS, newExternalApis, newExternalApis));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.COMPONENT_API_TYPE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getVersion()
+ {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVersion(String newVersion)
+ {
+ String oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.COMPONENT_API_TYPE__VERSION, oldVersion, version));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs)
+ {
+ if (featureID >= 0)
+ {
+ switch (eDerivedStructuralFeatureID(featureID, baseClass))
+ {
+ case ApiPackage.COMPONENT_API_TYPE__INTERNAL_APIS:
+ return basicSetInternalApis(null, msgs);
+ case ApiPackage.COMPONENT_API_TYPE__EXTERNAL_APIS:
+ return basicSetExternalApis(null, msgs);
+ default:
+ return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+ }
+ }
+ return eBasicSetContainer(null, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.COMPONENT_API_TYPE__INTERNAL_APIS:
+ return getInternalApis();
+ case ApiPackage.COMPONENT_API_TYPE__EXTERNAL_APIS:
+ return getExternalApis();
+ case ApiPackage.COMPONENT_API_TYPE__NAME:
+ return getName();
+ case ApiPackage.COMPONENT_API_TYPE__VERSION:
+ return getVersion();
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.COMPONENT_API_TYPE__INTERNAL_APIS:
+ setInternalApis((ApiTypes)newValue);
+ return;
+ case ApiPackage.COMPONENT_API_TYPE__EXTERNAL_APIS:
+ setExternalApis((ApiTypes)newValue);
+ return;
+ case ApiPackage.COMPONENT_API_TYPE__NAME:
+ setName((String)newValue);
+ return;
+ case ApiPackage.COMPONENT_API_TYPE__VERSION:
+ setVersion((String)newValue);
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.COMPONENT_API_TYPE__INTERNAL_APIS:
+ setInternalApis((ApiTypes)null);
+ return;
+ case ApiPackage.COMPONENT_API_TYPE__EXTERNAL_APIS:
+ setExternalApis((ApiTypes)null);
+ return;
+ case ApiPackage.COMPONENT_API_TYPE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ApiPackage.COMPONENT_API_TYPE__VERSION:
+ setVersion(VERSION_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.COMPONENT_API_TYPE__INTERNAL_APIS:
+ return internalApis != null;
+ case ApiPackage.COMPONENT_API_TYPE__EXTERNAL_APIS:
+ return externalApis != null;
+ case ApiPackage.COMPONENT_API_TYPE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ApiPackage.COMPONENT_API_TYPE__VERSION:
+ return VERSION_EDEFAULT == null ? version != null : !VERSION_EDEFAULT.equals(version);
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", version: ");
+ result.append(version);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ComponentApiTypeImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/DocumentRootImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/DocumentRootImpl.java
new file mode 100644
index 0000000..d8f6e27
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/DocumentRootImpl.java
@@ -0,0 +1,309 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DocumentRootImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wtp.releng.tools.component.api.ApiPackage;
+import org.eclipse.wtp.releng.tools.component.api.ComponentApiType;
+import org.eclipse.wtp.releng.tools.component.api.DocumentRoot;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.DocumentRootImpl#getMixed <em>Mixed</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.DocumentRootImpl#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.DocumentRootImpl#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.DocumentRootImpl#getComponentApi <em>Component Api</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DocumentRootImpl extends EObjectImpl implements DocumentRoot
+{
+ /**
+ * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMixed()
+ * @generated
+ * @ordered
+ */
+ protected FeatureMap mixed = null;
+
+ /**
+ * The cached value of the '{@link #getXMLNSPrefixMap() <em>XMLNS Prefix Map</em>}' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXMLNSPrefixMap()
+ * @generated
+ * @ordered
+ */
+ protected EMap xMLNSPrefixMap = null;
+
+ /**
+ * The cached value of the '{@link #getXSISchemaLocation() <em>XSI Schema Location</em>}' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXSISchemaLocation()
+ * @generated
+ * @ordered
+ */
+ protected EMap xSISchemaLocation = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DocumentRootImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass()
+ {
+ return ApiPackage.eINSTANCE.getDocumentRoot();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureMap getMixed()
+ {
+ if (mixed == null)
+ {
+ mixed = new BasicFeatureMap(this, ApiPackage.DOCUMENT_ROOT__MIXED);
+ }
+ return mixed;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EMap getXMLNSPrefixMap()
+ {
+ if (xMLNSPrefixMap == null)
+ {
+ xMLNSPrefixMap = new EcoreEMap(EcorePackage.eINSTANCE.getEStringToStringMapEntry(), EStringToStringMapEntryImpl.class, this, ApiPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+ }
+ return xMLNSPrefixMap;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EMap getXSISchemaLocation()
+ {
+ if (xSISchemaLocation == null)
+ {
+ xSISchemaLocation = new EcoreEMap(EcorePackage.eINSTANCE.getEStringToStringMapEntry(), EStringToStringMapEntryImpl.class, this, ApiPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+ }
+ return xSISchemaLocation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentApiType getComponentApi()
+ {
+ return (ComponentApiType)getMixed().get(ApiPackage.eINSTANCE.getDocumentRoot_ComponentApi(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetComponentApi(ComponentApiType newComponentApi, NotificationChain msgs)
+ {
+ return ((FeatureMap.Internal)getMixed()).basicAdd(ApiPackage.eINSTANCE.getDocumentRoot_ComponentApi(), newComponentApi, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setComponentApi(ComponentApiType newComponentApi)
+ {
+ ((FeatureMap.Internal)getMixed()).set(ApiPackage.eINSTANCE.getDocumentRoot_ComponentApi(), newComponentApi);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs)
+ {
+ if (featureID >= 0)
+ {
+ switch (eDerivedStructuralFeatureID(featureID, baseClass))
+ {
+ case ApiPackage.DOCUMENT_ROOT__MIXED:
+ return ((InternalEList)getMixed()).basicRemove(otherEnd, msgs);
+ case ApiPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ return ((InternalEList)getXMLNSPrefixMap()).basicRemove(otherEnd, msgs);
+ case ApiPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ return ((InternalEList)getXSISchemaLocation()).basicRemove(otherEnd, msgs);
+ case ApiPackage.DOCUMENT_ROOT__COMPONENT_API:
+ return basicSetComponentApi(null, msgs);
+ default:
+ return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+ }
+ }
+ return eBasicSetContainer(null, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.DOCUMENT_ROOT__MIXED:
+ return getMixed();
+ case ApiPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ return getXMLNSPrefixMap();
+ case ApiPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ return getXSISchemaLocation();
+ case ApiPackage.DOCUMENT_ROOT__COMPONENT_API:
+ return getComponentApi();
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.DOCUMENT_ROOT__MIXED:
+ getMixed().clear();
+ getMixed().addAll((Collection)newValue);
+ return;
+ case ApiPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ getXMLNSPrefixMap().clear();
+ getXMLNSPrefixMap().addAll((Collection)newValue);
+ return;
+ case ApiPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ getXSISchemaLocation().clear();
+ getXSISchemaLocation().addAll((Collection)newValue);
+ return;
+ case ApiPackage.DOCUMENT_ROOT__COMPONENT_API:
+ setComponentApi((ComponentApiType)newValue);
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.DOCUMENT_ROOT__MIXED:
+ getMixed().clear();
+ return;
+ case ApiPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ getXMLNSPrefixMap().clear();
+ return;
+ case ApiPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ getXSISchemaLocation().clear();
+ return;
+ case ApiPackage.DOCUMENT_ROOT__COMPONENT_API:
+ setComponentApi((ComponentApiType)null);
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.DOCUMENT_ROOT__MIXED:
+ return mixed != null && !mixed.isEmpty();
+ case ApiPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ return xMLNSPrefixMap != null && !xMLNSPrefixMap.isEmpty();
+ case ApiPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ return xSISchemaLocation != null && !xSISchemaLocation.isEmpty();
+ case ApiPackage.DOCUMENT_ROOT__COMPONENT_API:
+ return getComponentApi() != null;
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (mixed: ");
+ result.append(mixed);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DocumentRootImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/FieldApiImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/FieldApiImpl.java
new file mode 100644
index 0000000..a4b1ff9
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/FieldApiImpl.java
@@ -0,0 +1,693 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: FieldApiImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.wtp.releng.tools.component.api.ApiPackage;
+import org.eclipse.wtp.releng.tools.component.api.FieldApi;
+import org.eclipse.wtp.releng.tools.component.api.Visibility;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Field Api</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.FieldApiImpl#isFinal <em>Final</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.FieldApiImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.FieldApiImpl#isStatic <em>Static</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.FieldApiImpl#isTransient <em>Transient</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.FieldApiImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.FieldApiImpl#getVisibility <em>Visibility</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.FieldApiImpl#isVolatile <em>Volatile</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FieldApiImpl extends EObjectImpl implements FieldApi
+{
+ /**
+ * The default value of the '{@link #isFinal() <em>Final</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isFinal()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean FINAL_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isFinal() <em>Final</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isFinal()
+ * @generated
+ * @ordered
+ */
+ protected boolean final_ = FINAL_EDEFAULT;
+
+ /**
+ * This is true if the Final attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean finalESet = false;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isStatic() <em>Static</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isStatic()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean STATIC_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isStatic() <em>Static</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isStatic()
+ * @generated
+ * @ordered
+ */
+ protected boolean static_ = STATIC_EDEFAULT;
+
+ /**
+ * This is true if the Static attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean staticESet = false;
+
+ /**
+ * The default value of the '{@link #isTransient() <em>Transient</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isTransient()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean TRANSIENT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isTransient() <em>Transient</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isTransient()
+ * @generated
+ * @ordered
+ */
+ protected boolean transient_ = TRANSIENT_EDEFAULT;
+
+ /**
+ * This is true if the Transient attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean transientESet = false;
+
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVisibility()
+ * @generated
+ * @ordered
+ */
+ protected static final Visibility VISIBILITY_EDEFAULT = Visibility.PUBLIC_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVisibility()
+ * @generated
+ * @ordered
+ */
+ protected Visibility visibility = VISIBILITY_EDEFAULT;
+
+ /**
+ * This is true if the Visibility attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean visibilityESet = false;
+
+ /**
+ * The default value of the '{@link #isVolatile() <em>Volatile</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isVolatile()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean VOLATILE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isVolatile() <em>Volatile</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isVolatile()
+ * @generated
+ * @ordered
+ */
+ protected boolean volatile_ = VOLATILE_EDEFAULT;
+
+ /**
+ * This is true if the Volatile attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean volatileESet = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FieldApiImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass()
+ {
+ return ApiPackage.eINSTANCE.getFieldApi();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isFinal()
+ {
+ return final_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFinal(boolean newFinal)
+ {
+ boolean oldFinal = final_;
+ final_ = newFinal;
+ boolean oldFinalESet = finalESet;
+ finalESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.FIELD_API__FINAL, oldFinal, final_, !oldFinalESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetFinal()
+ {
+ boolean oldFinal = final_;
+ boolean oldFinalESet = finalESet;
+ final_ = FINAL_EDEFAULT;
+ finalESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.FIELD_API__FINAL, oldFinal, FINAL_EDEFAULT, oldFinalESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetFinal()
+ {
+ return finalESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.FIELD_API__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isStatic()
+ {
+ return static_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatic(boolean newStatic)
+ {
+ boolean oldStatic = static_;
+ static_ = newStatic;
+ boolean oldStaticESet = staticESet;
+ staticESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.FIELD_API__STATIC, oldStatic, static_, !oldStaticESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetStatic()
+ {
+ boolean oldStatic = static_;
+ boolean oldStaticESet = staticESet;
+ static_ = STATIC_EDEFAULT;
+ staticESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.FIELD_API__STATIC, oldStatic, STATIC_EDEFAULT, oldStaticESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetStatic()
+ {
+ return staticESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTransient()
+ {
+ return transient_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTransient(boolean newTransient)
+ {
+ boolean oldTransient = transient_;
+ transient_ = newTransient;
+ boolean oldTransientESet = transientESet;
+ transientESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.FIELD_API__TRANSIENT, oldTransient, transient_, !oldTransientESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetTransient()
+ {
+ boolean oldTransient = transient_;
+ boolean oldTransientESet = transientESet;
+ transient_ = TRANSIENT_EDEFAULT;
+ transientESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.FIELD_API__TRANSIENT, oldTransient, TRANSIENT_EDEFAULT, oldTransientESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetTransient()
+ {
+ return transientESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getType()
+ {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(String newType)
+ {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.FIELD_API__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Visibility getVisibility()
+ {
+ return visibility;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVisibility(Visibility newVisibility)
+ {
+ Visibility oldVisibility = visibility;
+ visibility = newVisibility == null ? VISIBILITY_EDEFAULT : newVisibility;
+ boolean oldVisibilityESet = visibilityESet;
+ visibilityESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.FIELD_API__VISIBILITY, oldVisibility, visibility, !oldVisibilityESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetVisibility()
+ {
+ Visibility oldVisibility = visibility;
+ boolean oldVisibilityESet = visibilityESet;
+ visibility = VISIBILITY_EDEFAULT;
+ visibilityESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.FIELD_API__VISIBILITY, oldVisibility, VISIBILITY_EDEFAULT, oldVisibilityESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetVisibility()
+ {
+ return visibilityESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isVolatile()
+ {
+ return volatile_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVolatile(boolean newVolatile)
+ {
+ boolean oldVolatile = volatile_;
+ volatile_ = newVolatile;
+ boolean oldVolatileESet = volatileESet;
+ volatileESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.FIELD_API__VOLATILE, oldVolatile, volatile_, !oldVolatileESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetVolatile()
+ {
+ boolean oldVolatile = volatile_;
+ boolean oldVolatileESet = volatileESet;
+ volatile_ = VOLATILE_EDEFAULT;
+ volatileESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.FIELD_API__VOLATILE, oldVolatile, VOLATILE_EDEFAULT, oldVolatileESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetVolatile()
+ {
+ return volatileESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.FIELD_API__FINAL:
+ return isFinal() ? Boolean.TRUE : Boolean.FALSE;
+ case ApiPackage.FIELD_API__NAME:
+ return getName();
+ case ApiPackage.FIELD_API__STATIC:
+ return isStatic() ? Boolean.TRUE : Boolean.FALSE;
+ case ApiPackage.FIELD_API__TRANSIENT:
+ return isTransient() ? Boolean.TRUE : Boolean.FALSE;
+ case ApiPackage.FIELD_API__TYPE:
+ return getType();
+ case ApiPackage.FIELD_API__VISIBILITY:
+ return getVisibility();
+ case ApiPackage.FIELD_API__VOLATILE:
+ return isVolatile() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.FIELD_API__FINAL:
+ setFinal(((Boolean)newValue).booleanValue());
+ return;
+ case ApiPackage.FIELD_API__NAME:
+ setName((String)newValue);
+ return;
+ case ApiPackage.FIELD_API__STATIC:
+ setStatic(((Boolean)newValue).booleanValue());
+ return;
+ case ApiPackage.FIELD_API__TRANSIENT:
+ setTransient(((Boolean)newValue).booleanValue());
+ return;
+ case ApiPackage.FIELD_API__TYPE:
+ setType((String)newValue);
+ return;
+ case ApiPackage.FIELD_API__VISIBILITY:
+ setVisibility((Visibility)newValue);
+ return;
+ case ApiPackage.FIELD_API__VOLATILE:
+ setVolatile(((Boolean)newValue).booleanValue());
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.FIELD_API__FINAL:
+ unsetFinal();
+ return;
+ case ApiPackage.FIELD_API__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ApiPackage.FIELD_API__STATIC:
+ unsetStatic();
+ return;
+ case ApiPackage.FIELD_API__TRANSIENT:
+ unsetTransient();
+ return;
+ case ApiPackage.FIELD_API__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case ApiPackage.FIELD_API__VISIBILITY:
+ unsetVisibility();
+ return;
+ case ApiPackage.FIELD_API__VOLATILE:
+ unsetVolatile();
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.FIELD_API__FINAL:
+ return isSetFinal();
+ case ApiPackage.FIELD_API__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ApiPackage.FIELD_API__STATIC:
+ return isSetStatic();
+ case ApiPackage.FIELD_API__TRANSIENT:
+ return isSetTransient();
+ case ApiPackage.FIELD_API__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ case ApiPackage.FIELD_API__VISIBILITY:
+ return isSetVisibility();
+ case ApiPackage.FIELD_API__VOLATILE:
+ return isSetVolatile();
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (final: ");
+ if (finalESet) result.append(final_); else result.append("<unset>");
+ result.append(", name: ");
+ result.append(name);
+ result.append(", static: ");
+ if (staticESet) result.append(static_); else result.append("<unset>");
+ result.append(", transient: ");
+ if (transientESet) result.append(transient_); else result.append("<unset>");
+ result.append(", type: ");
+ result.append(type);
+ result.append(", visibility: ");
+ if (visibilityESet) result.append(visibility); else result.append("<unset>");
+ result.append(", volatile: ");
+ if (volatileESet) result.append(volatile_); else result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} //FieldApiImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/MethodApiImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/MethodApiImpl.java
new file mode 100644
index 0000000..4b4edb8
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/MethodApiImpl.java
@@ -0,0 +1,991 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MethodApiImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.impl;
+
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.wtp.releng.tools.component.api.ApiPackage;
+import org.eclipse.wtp.releng.tools.component.api.MethodApi;
+import org.eclipse.wtp.releng.tools.component.api.Visibility;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Method Api</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.MethodApiImpl#isAbstract <em>Abstract</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.MethodApiImpl#getExceptionType <em>Exception Type</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.MethodApiImpl#isFinal <em>Final</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.MethodApiImpl#getInputType <em>Input Type</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.MethodApiImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.MethodApiImpl#isNative <em>Native</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.MethodApiImpl#getReturnType <em>Return Type</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.MethodApiImpl#isStatic <em>Static</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.MethodApiImpl#isStrict <em>Strict</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.MethodApiImpl#isSynchronized <em>Synchronized</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.MethodApiImpl#getVisibility <em>Visibility</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MethodApiImpl extends EObjectImpl implements MethodApi
+{
+ /**
+ * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isAbstract()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ABSTRACT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isAbstract()
+ * @generated
+ * @ordered
+ */
+ protected boolean abstract_ = ABSTRACT_EDEFAULT;
+
+ /**
+ * This is true if the Abstract attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean abstractESet = false;
+
+ /**
+ * The default value of the '{@link #getExceptionType() <em>Exception Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExceptionType()
+ * @generated
+ * @ordered
+ */
+ protected static final List EXCEPTION_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getExceptionType() <em>Exception Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExceptionType()
+ * @generated
+ * @ordered
+ */
+ protected List exceptionType = EXCEPTION_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isFinal() <em>Final</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isFinal()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean FINAL_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isFinal() <em>Final</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isFinal()
+ * @generated
+ * @ordered
+ */
+ protected boolean final_ = FINAL_EDEFAULT;
+
+ /**
+ * This is true if the Final attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean finalESet = false;
+
+ /**
+ * The default value of the '{@link #getInputType() <em>Input Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputType()
+ * @generated
+ * @ordered
+ */
+ protected static final List INPUT_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInputType() <em>Input Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputType()
+ * @generated
+ * @ordered
+ */
+ protected List inputType = INPUT_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isNative() <em>Native</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isNative()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean NATIVE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isNative() <em>Native</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isNative()
+ * @generated
+ * @ordered
+ */
+ protected boolean native_ = NATIVE_EDEFAULT;
+
+ /**
+ * This is true if the Native attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean nativeESet = false;
+
+ /**
+ * The default value of the '{@link #getReturnType() <em>Return Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReturnType()
+ * @generated
+ * @ordered
+ */
+ protected static final String RETURN_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getReturnType() <em>Return Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReturnType()
+ * @generated
+ * @ordered
+ */
+ protected String returnType = RETURN_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isStatic() <em>Static</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isStatic()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean STATIC_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isStatic() <em>Static</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isStatic()
+ * @generated
+ * @ordered
+ */
+ protected boolean static_ = STATIC_EDEFAULT;
+
+ /**
+ * This is true if the Static attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean staticESet = false;
+
+ /**
+ * The default value of the '{@link #isStrict() <em>Strict</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isStrict()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean STRICT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isStrict() <em>Strict</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isStrict()
+ * @generated
+ * @ordered
+ */
+ protected boolean strict = STRICT_EDEFAULT;
+
+ /**
+ * This is true if the Strict attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean strictESet = false;
+
+ /**
+ * The default value of the '{@link #isSynchronized() <em>Synchronized</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSynchronized()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SYNCHRONIZED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isSynchronized() <em>Synchronized</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSynchronized()
+ * @generated
+ * @ordered
+ */
+ protected boolean synchronized_ = SYNCHRONIZED_EDEFAULT;
+
+ /**
+ * This is true if the Synchronized attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean synchronizedESet = false;
+
+ /**
+ * The default value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVisibility()
+ * @generated
+ * @ordered
+ */
+ protected static final Visibility VISIBILITY_EDEFAULT = Visibility.PUBLIC_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVisibility()
+ * @generated
+ * @ordered
+ */
+ protected Visibility visibility = VISIBILITY_EDEFAULT;
+
+ /**
+ * This is true if the Visibility attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean visibilityESet = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MethodApiImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass()
+ {
+ return ApiPackage.eINSTANCE.getMethodApi();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isAbstract()
+ {
+ return abstract_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAbstract(boolean newAbstract)
+ {
+ boolean oldAbstract = abstract_;
+ abstract_ = newAbstract;
+ boolean oldAbstractESet = abstractESet;
+ abstractESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.METHOD_API__ABSTRACT, oldAbstract, abstract_, !oldAbstractESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetAbstract()
+ {
+ boolean oldAbstract = abstract_;
+ boolean oldAbstractESet = abstractESet;
+ abstract_ = ABSTRACT_EDEFAULT;
+ abstractESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.METHOD_API__ABSTRACT, oldAbstract, ABSTRACT_EDEFAULT, oldAbstractESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetAbstract()
+ {
+ return abstractESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getExceptionType()
+ {
+ return exceptionType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExceptionType(List newExceptionType)
+ {
+ List oldExceptionType = exceptionType;
+ exceptionType = newExceptionType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.METHOD_API__EXCEPTION_TYPE, oldExceptionType, exceptionType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isFinal()
+ {
+ return final_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFinal(boolean newFinal)
+ {
+ boolean oldFinal = final_;
+ final_ = newFinal;
+ boolean oldFinalESet = finalESet;
+ finalESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.METHOD_API__FINAL, oldFinal, final_, !oldFinalESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetFinal()
+ {
+ boolean oldFinal = final_;
+ boolean oldFinalESet = finalESet;
+ final_ = FINAL_EDEFAULT;
+ finalESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.METHOD_API__FINAL, oldFinal, FINAL_EDEFAULT, oldFinalESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetFinal()
+ {
+ return finalESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getInputType()
+ {
+ return inputType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInputType(List newInputType)
+ {
+ List oldInputType = inputType;
+ inputType = newInputType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.METHOD_API__INPUT_TYPE, oldInputType, inputType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.METHOD_API__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isNative()
+ {
+ return native_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNative(boolean newNative)
+ {
+ boolean oldNative = native_;
+ native_ = newNative;
+ boolean oldNativeESet = nativeESet;
+ nativeESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.METHOD_API__NATIVE, oldNative, native_, !oldNativeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetNative()
+ {
+ boolean oldNative = native_;
+ boolean oldNativeESet = nativeESet;
+ native_ = NATIVE_EDEFAULT;
+ nativeESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.METHOD_API__NATIVE, oldNative, NATIVE_EDEFAULT, oldNativeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetNative()
+ {
+ return nativeESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getReturnType()
+ {
+ return returnType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReturnType(String newReturnType)
+ {
+ String oldReturnType = returnType;
+ returnType = newReturnType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.METHOD_API__RETURN_TYPE, oldReturnType, returnType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isStatic()
+ {
+ return static_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatic(boolean newStatic)
+ {
+ boolean oldStatic = static_;
+ static_ = newStatic;
+ boolean oldStaticESet = staticESet;
+ staticESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.METHOD_API__STATIC, oldStatic, static_, !oldStaticESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetStatic()
+ {
+ boolean oldStatic = static_;
+ boolean oldStaticESet = staticESet;
+ static_ = STATIC_EDEFAULT;
+ staticESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.METHOD_API__STATIC, oldStatic, STATIC_EDEFAULT, oldStaticESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetStatic()
+ {
+ return staticESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isStrict()
+ {
+ return strict;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStrict(boolean newStrict)
+ {
+ boolean oldStrict = strict;
+ strict = newStrict;
+ boolean oldStrictESet = strictESet;
+ strictESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.METHOD_API__STRICT, oldStrict, strict, !oldStrictESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetStrict()
+ {
+ boolean oldStrict = strict;
+ boolean oldStrictESet = strictESet;
+ strict = STRICT_EDEFAULT;
+ strictESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.METHOD_API__STRICT, oldStrict, STRICT_EDEFAULT, oldStrictESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetStrict()
+ {
+ return strictESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSynchronized()
+ {
+ return synchronized_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSynchronized(boolean newSynchronized)
+ {
+ boolean oldSynchronized = synchronized_;
+ synchronized_ = newSynchronized;
+ boolean oldSynchronizedESet = synchronizedESet;
+ synchronizedESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.METHOD_API__SYNCHRONIZED, oldSynchronized, synchronized_, !oldSynchronizedESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetSynchronized()
+ {
+ boolean oldSynchronized = synchronized_;
+ boolean oldSynchronizedESet = synchronizedESet;
+ synchronized_ = SYNCHRONIZED_EDEFAULT;
+ synchronizedESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.METHOD_API__SYNCHRONIZED, oldSynchronized, SYNCHRONIZED_EDEFAULT, oldSynchronizedESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSynchronized()
+ {
+ return synchronizedESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Visibility getVisibility()
+ {
+ return visibility;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVisibility(Visibility newVisibility)
+ {
+ Visibility oldVisibility = visibility;
+ visibility = newVisibility == null ? VISIBILITY_EDEFAULT : newVisibility;
+ boolean oldVisibilityESet = visibilityESet;
+ visibilityESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.METHOD_API__VISIBILITY, oldVisibility, visibility, !oldVisibilityESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetVisibility()
+ {
+ Visibility oldVisibility = visibility;
+ boolean oldVisibilityESet = visibilityESet;
+ visibility = VISIBILITY_EDEFAULT;
+ visibilityESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ApiPackage.METHOD_API__VISIBILITY, oldVisibility, VISIBILITY_EDEFAULT, oldVisibilityESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetVisibility()
+ {
+ return visibilityESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.METHOD_API__ABSTRACT:
+ return isAbstract() ? Boolean.TRUE : Boolean.FALSE;
+ case ApiPackage.METHOD_API__EXCEPTION_TYPE:
+ return getExceptionType();
+ case ApiPackage.METHOD_API__FINAL:
+ return isFinal() ? Boolean.TRUE : Boolean.FALSE;
+ case ApiPackage.METHOD_API__INPUT_TYPE:
+ return getInputType();
+ case ApiPackage.METHOD_API__NAME:
+ return getName();
+ case ApiPackage.METHOD_API__NATIVE:
+ return isNative() ? Boolean.TRUE : Boolean.FALSE;
+ case ApiPackage.METHOD_API__RETURN_TYPE:
+ return getReturnType();
+ case ApiPackage.METHOD_API__STATIC:
+ return isStatic() ? Boolean.TRUE : Boolean.FALSE;
+ case ApiPackage.METHOD_API__STRICT:
+ return isStrict() ? Boolean.TRUE : Boolean.FALSE;
+ case ApiPackage.METHOD_API__SYNCHRONIZED:
+ return isSynchronized() ? Boolean.TRUE : Boolean.FALSE;
+ case ApiPackage.METHOD_API__VISIBILITY:
+ return getVisibility();
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.METHOD_API__ABSTRACT:
+ setAbstract(((Boolean)newValue).booleanValue());
+ return;
+ case ApiPackage.METHOD_API__EXCEPTION_TYPE:
+ setExceptionType((List)newValue);
+ return;
+ case ApiPackage.METHOD_API__FINAL:
+ setFinal(((Boolean)newValue).booleanValue());
+ return;
+ case ApiPackage.METHOD_API__INPUT_TYPE:
+ setInputType((List)newValue);
+ return;
+ case ApiPackage.METHOD_API__NAME:
+ setName((String)newValue);
+ return;
+ case ApiPackage.METHOD_API__NATIVE:
+ setNative(((Boolean)newValue).booleanValue());
+ return;
+ case ApiPackage.METHOD_API__RETURN_TYPE:
+ setReturnType((String)newValue);
+ return;
+ case ApiPackage.METHOD_API__STATIC:
+ setStatic(((Boolean)newValue).booleanValue());
+ return;
+ case ApiPackage.METHOD_API__STRICT:
+ setStrict(((Boolean)newValue).booleanValue());
+ return;
+ case ApiPackage.METHOD_API__SYNCHRONIZED:
+ setSynchronized(((Boolean)newValue).booleanValue());
+ return;
+ case ApiPackage.METHOD_API__VISIBILITY:
+ setVisibility((Visibility)newValue);
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.METHOD_API__ABSTRACT:
+ unsetAbstract();
+ return;
+ case ApiPackage.METHOD_API__EXCEPTION_TYPE:
+ setExceptionType(EXCEPTION_TYPE_EDEFAULT);
+ return;
+ case ApiPackage.METHOD_API__FINAL:
+ unsetFinal();
+ return;
+ case ApiPackage.METHOD_API__INPUT_TYPE:
+ setInputType(INPUT_TYPE_EDEFAULT);
+ return;
+ case ApiPackage.METHOD_API__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ApiPackage.METHOD_API__NATIVE:
+ unsetNative();
+ return;
+ case ApiPackage.METHOD_API__RETURN_TYPE:
+ setReturnType(RETURN_TYPE_EDEFAULT);
+ return;
+ case ApiPackage.METHOD_API__STATIC:
+ unsetStatic();
+ return;
+ case ApiPackage.METHOD_API__STRICT:
+ unsetStrict();
+ return;
+ case ApiPackage.METHOD_API__SYNCHRONIZED:
+ unsetSynchronized();
+ return;
+ case ApiPackage.METHOD_API__VISIBILITY:
+ unsetVisibility();
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.METHOD_API__ABSTRACT:
+ return isSetAbstract();
+ case ApiPackage.METHOD_API__EXCEPTION_TYPE:
+ return EXCEPTION_TYPE_EDEFAULT == null ? exceptionType != null : !EXCEPTION_TYPE_EDEFAULT.equals(exceptionType);
+ case ApiPackage.METHOD_API__FINAL:
+ return isSetFinal();
+ case ApiPackage.METHOD_API__INPUT_TYPE:
+ return INPUT_TYPE_EDEFAULT == null ? inputType != null : !INPUT_TYPE_EDEFAULT.equals(inputType);
+ case ApiPackage.METHOD_API__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ApiPackage.METHOD_API__NATIVE:
+ return isSetNative();
+ case ApiPackage.METHOD_API__RETURN_TYPE:
+ return RETURN_TYPE_EDEFAULT == null ? returnType != null : !RETURN_TYPE_EDEFAULT.equals(returnType);
+ case ApiPackage.METHOD_API__STATIC:
+ return isSetStatic();
+ case ApiPackage.METHOD_API__STRICT:
+ return isSetStrict();
+ case ApiPackage.METHOD_API__SYNCHRONIZED:
+ return isSetSynchronized();
+ case ApiPackage.METHOD_API__VISIBILITY:
+ return isSetVisibility();
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (abstract: ");
+ if (abstractESet) result.append(abstract_); else result.append("<unset>");
+ result.append(", exceptionType: ");
+ result.append(exceptionType);
+ result.append(", final: ");
+ if (finalESet) result.append(final_); else result.append("<unset>");
+ result.append(", inputType: ");
+ result.append(inputType);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", native: ");
+ if (nativeESet) result.append(native_); else result.append("<unset>");
+ result.append(", returnType: ");
+ result.append(returnType);
+ result.append(", static: ");
+ if (staticESet) result.append(static_); else result.append("<unset>");
+ result.append(", strict: ");
+ if (strictESet) result.append(strict); else result.append("<unset>");
+ result.append(", synchronized: ");
+ if (synchronizedESet) result.append(synchronized_); else result.append("<unset>");
+ result.append(", visibility: ");
+ if (visibilityESet) result.append(visibility); else result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} //MethodApiImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/PackageImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/PackageImpl.java
new file mode 100644
index 0000000..187c407
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/impl/PackageImpl.java
@@ -0,0 +1,241 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PackageImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wtp.releng.tools.component.api.ApiPackage;
+import org.eclipse.wtp.releng.tools.component.api.ClassApi;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Package</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.PackageImpl#getClassApi <em>Class Api</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.api.impl.PackageImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PackageImpl extends EObjectImpl implements org.eclipse.wtp.releng.tools.component.api.Package
+{
+ /**
+ * The cached value of the '{@link #getClassApi() <em>Class Api</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassApi()
+ * @generated
+ * @ordered
+ */
+ protected EList classApi = null;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PackageImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass()
+ {
+ return ApiPackage.eINSTANCE.getPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getClassApi()
+ {
+ if (classApi == null)
+ {
+ classApi = new EObjectContainmentEList(ClassApi.class, this, ApiPackage.PACKAGE__CLASS_API);
+ }
+ return classApi;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApiPackage.PACKAGE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs)
+ {
+ if (featureID >= 0)
+ {
+ switch (eDerivedStructuralFeatureID(featureID, baseClass))
+ {
+ case ApiPackage.PACKAGE__CLASS_API:
+ return ((InternalEList)getClassApi()).basicRemove(otherEnd, msgs);
+ default:
+ return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+ }
+ }
+ return eBasicSetContainer(null, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.PACKAGE__CLASS_API:
+ return getClassApi();
+ case ApiPackage.PACKAGE__NAME:
+ return getName();
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.PACKAGE__CLASS_API:
+ getClassApi().clear();
+ getClassApi().addAll((Collection)newValue);
+ return;
+ case ApiPackage.PACKAGE__NAME:
+ setName((String)newValue);
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.PACKAGE__CLASS_API:
+ getClassApi().clear();
+ return;
+ case ApiPackage.PACKAGE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ApiPackage.PACKAGE__CLASS_API:
+ return classApi != null && !classApi.isEmpty();
+ case ApiPackage.PACKAGE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PackageImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiAdapterFactory.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiAdapterFactory.java
new file mode 100644
index 0000000..a5ae6af
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiAdapterFactory.java
@@ -0,0 +1,252 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ApiAdapterFactory.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.wtp.releng.tools.component.api.ApiPackage;
+import org.eclipse.wtp.releng.tools.component.api.ApiTypes;
+import org.eclipse.wtp.releng.tools.component.api.ClassApi;
+import org.eclipse.wtp.releng.tools.component.api.ComponentApiType;
+import org.eclipse.wtp.releng.tools.component.api.DocumentRoot;
+import org.eclipse.wtp.releng.tools.component.api.FieldApi;
+import org.eclipse.wtp.releng.tools.component.api.MethodApi;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage
+ * @generated
+ */
+public class ApiAdapterFactory extends AdapterFactoryImpl
+{
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ApiPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApiAdapterFactory()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = ApiPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ public boolean isFactoryForType(Object object)
+ {
+ if (object == modelPackage)
+ {
+ return true;
+ }
+ if (object instanceof EObject)
+ {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch the delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ApiSwitch modelSwitch =
+ new ApiSwitch()
+ {
+ public Object caseApiTypes(ApiTypes object)
+ {
+ return createApiTypesAdapter();
+ }
+ public Object caseClassApi(ClassApi object)
+ {
+ return createClassApiAdapter();
+ }
+ public Object caseComponentApiType(ComponentApiType object)
+ {
+ return createComponentApiTypeAdapter();
+ }
+ public Object caseDocumentRoot(DocumentRoot object)
+ {
+ return createDocumentRootAdapter();
+ }
+ public Object caseFieldApi(FieldApi object)
+ {
+ return createFieldApiAdapter();
+ }
+ public Object caseMethodApi(MethodApi object)
+ {
+ return createMethodApiAdapter();
+ }
+ public Object casePackage(org.eclipse.wtp.releng.tools.component.api.Package object)
+ {
+ return createPackageAdapter();
+ }
+ public Object defaultCase(EObject object)
+ {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ public Adapter createAdapter(Notifier target)
+ {
+ return (Adapter)modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.wtp.releng.tools.component.api.ApiTypes <em>Types</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiTypes
+ * @generated
+ */
+ public Adapter createApiTypesAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.wtp.releng.tools.component.api.ClassApi <em>Class Api</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.wtp.releng.tools.component.api.ClassApi
+ * @generated
+ */
+ public Adapter createClassApiAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.wtp.releng.tools.component.api.ComponentApiType <em>Component Api Type</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.wtp.releng.tools.component.api.ComponentApiType
+ * @generated
+ */
+ public Adapter createComponentApiTypeAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.wtp.releng.tools.component.api.DocumentRoot <em>Document Root</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.wtp.releng.tools.component.api.DocumentRoot
+ * @generated
+ */
+ public Adapter createDocumentRootAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.wtp.releng.tools.component.api.FieldApi <em>Field Api</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.wtp.releng.tools.component.api.FieldApi
+ * @generated
+ */
+ public Adapter createFieldApiAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.wtp.releng.tools.component.api.MethodApi <em>Method Api</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.wtp.releng.tools.component.api.MethodApi
+ * @generated
+ */
+ public Adapter createMethodApiAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.wtp.releng.tools.component.api.Package <em>Package</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.wtp.releng.tools.component.api.Package
+ * @generated
+ */
+ public Adapter createPackageAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter()
+ {
+ return null;
+ }
+
+} //ApiAdapterFactory
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiResourceFactoryImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiResourceFactoryImpl.java
new file mode 100644
index 0000000..4bd3928
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiResourceFactoryImpl.java
@@ -0,0 +1,66 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ApiResourceFactoryImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.ExtendedMetaData;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.util.ApiResourceImpl
+ * @generated
+ */
+public class ApiResourceFactoryImpl extends XMLResourceFactoryImpl
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendedMetaData extendedMetaData;
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApiResourceFactoryImpl()
+ {
+ super();
+ extendedMetaData = ExtendedMetaData.INSTANCE;
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Resource createResource(URI uri)
+ {
+ XMLResource result = new ApiResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //ApiResourceFactoryImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiResourceImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiResourceImpl.java
new file mode 100644
index 0000000..5d5e408
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiResourceImpl.java
@@ -0,0 +1,34 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ApiResourceImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.util.ApiResourceFactoryImpl
+ * @generated
+ */
+public class ApiResourceImpl extends XMLResourceImpl
+{
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public ApiResourceImpl(URI uri)
+ {
+ super(uri);
+ }
+
+} //ApiResourceFactoryImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiSwitch.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiSwitch.java
new file mode 100644
index 0000000..c90568c
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiSwitch.java
@@ -0,0 +1,286 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ApiSwitch.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.wtp.releng.tools.component.api.ApiPackage;
+import org.eclipse.wtp.releng.tools.component.api.ApiTypes;
+import org.eclipse.wtp.releng.tools.component.api.ClassApi;
+import org.eclipse.wtp.releng.tools.component.api.ComponentApiType;
+import org.eclipse.wtp.releng.tools.component.api.DocumentRoot;
+import org.eclipse.wtp.releng.tools.component.api.FieldApi;
+import org.eclipse.wtp.releng.tools.component.api.MethodApi;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage
+ * @generated
+ */
+public class ApiSwitch
+{
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ApiPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApiSwitch()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = ApiPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public Object doSwitch(EObject theEObject)
+ {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected Object doSwitch(EClass theEClass, EObject theEObject)
+ {
+ if (theEClass.eContainer() == modelPackage)
+ {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else
+ {
+ List eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch((EClass)eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected Object doSwitch(int classifierID, EObject theEObject)
+ {
+ switch (classifierID)
+ {
+ case ApiPackage.API_TYPES:
+ {
+ ApiTypes apiTypes = (ApiTypes)theEObject;
+ Object result = caseApiTypes(apiTypes);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApiPackage.CLASS_API:
+ {
+ ClassApi classApi = (ClassApi)theEObject;
+ Object result = caseClassApi(classApi);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApiPackage.COMPONENT_API_TYPE:
+ {
+ ComponentApiType componentApiType = (ComponentApiType)theEObject;
+ Object result = caseComponentApiType(componentApiType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApiPackage.DOCUMENT_ROOT:
+ {
+ DocumentRoot documentRoot = (DocumentRoot)theEObject;
+ Object result = caseDocumentRoot(documentRoot);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApiPackage.FIELD_API:
+ {
+ FieldApi fieldApi = (FieldApi)theEObject;
+ Object result = caseFieldApi(fieldApi);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApiPackage.METHOD_API:
+ {
+ MethodApi methodApi = (MethodApi)theEObject;
+ Object result = caseMethodApi(methodApi);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApiPackage.PACKAGE:
+ {
+ org.eclipse.wtp.releng.tools.component.api.Package package_ = (org.eclipse.wtp.releng.tools.component.api.Package)theEObject;
+ Object result = casePackage(package_);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Types</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Types</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseApiTypes(ApiTypes object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Class Api</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Class Api</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseClassApi(ClassApi object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Component Api Type</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Component Api Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseComponentApiType(ComponentApiType object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Document Root</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Document Root</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseDocumentRoot(DocumentRoot object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Field Api</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Field Api</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseFieldApi(FieldApi object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Method Api</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Method Api</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseMethodApi(MethodApi object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Package</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Package</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object casePackage(org.eclipse.wtp.releng.tools.component.api.Package object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public Object defaultCase(EObject object)
+ {
+ return null;
+ }
+
+} //ApiSwitch
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiValidator.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiValidator.java
new file mode 100644
index 0000000..b9da41a
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/api/util/ApiValidator.java
@@ -0,0 +1,258 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ApiValidator.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.api.util;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.emf.ecore.xml.type.util.XMLTypeValidator;
+
+import org.eclipse.wtp.releng.tools.component.api.ApiPackage;
+import org.eclipse.wtp.releng.tools.component.api.ApiTypes;
+import org.eclipse.wtp.releng.tools.component.api.ClassApi;
+import org.eclipse.wtp.releng.tools.component.api.ComponentApiType;
+import org.eclipse.wtp.releng.tools.component.api.DocumentRoot;
+import org.eclipse.wtp.releng.tools.component.api.FieldApi;
+import org.eclipse.wtp.releng.tools.component.api.MethodApi;
+import org.eclipse.wtp.releng.tools.component.api.Visibility;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Validator</b> for the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.api.ApiPackage
+ * @generated
+ */
+public class ApiValidator extends EObjectValidator
+{
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final ApiValidator INSTANCE = new ApiValidator();
+
+ /**
+ * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.common.util.Diagnostic#getSource()
+ * @see org.eclipse.emf.common.util.Diagnostic#getCode()
+ * @generated
+ */
+ public static final String DIAGNOSTIC_SOURCE = "org.eclipse.wtp.releng.tools.component.api";
+
+ /**
+ * A constant with a fixed name that can be used as the base value for additional hand written constants.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 0;
+
+ /**
+ * The cached base package validator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XMLTypeValidator xmlTypeValidator;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ApiValidator()
+ {
+ xmlTypeValidator = XMLTypeValidator.INSTANCE;
+ }
+
+ /**
+ * Returns the package of this validator switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EPackage getEPackage()
+ {
+ return ApiPackage.eINSTANCE;
+ }
+
+ /**
+ * Calls <code>validateXXX</code> for the corresonding classifier of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map context)
+ {
+ switch (classifierID)
+ {
+ case ApiPackage.API_TYPES:
+ return validateApiTypes((ApiTypes)value, diagnostics, context);
+ case ApiPackage.CLASS_API:
+ return validateClassApi((ClassApi)value, diagnostics, context);
+ case ApiPackage.COMPONENT_API_TYPE:
+ return validateComponentApiType((ComponentApiType)value, diagnostics, context);
+ case ApiPackage.DOCUMENT_ROOT:
+ return validateDocumentRoot((DocumentRoot)value, diagnostics, context);
+ case ApiPackage.FIELD_API:
+ return validateFieldApi((FieldApi)value, diagnostics, context);
+ case ApiPackage.METHOD_API:
+ return validateMethodApi((MethodApi)value, diagnostics, context);
+ case ApiPackage.PACKAGE:
+ return validatePackage((org.eclipse.wtp.releng.tools.component.api.Package)value, diagnostics, context);
+ case ApiPackage.VISIBILITY:
+ return validateVisibility((Object)value, diagnostics, context);
+ case ApiPackage.LIST_OF_TYPES:
+ return validateListOfTypes((List)value, diagnostics, context);
+ case ApiPackage.VISIBILITY_OBJECT:
+ return validateVisibilityObject((Visibility)value, diagnostics, context);
+ default:
+ return true;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateApiTypes(ApiTypes apiTypes, DiagnosticChain diagnostics, Map context)
+ {
+ return validate_EveryDefaultConstraint(apiTypes, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClassApi(ClassApi classApi, DiagnosticChain diagnostics, Map context)
+ {
+ return validate_EveryDefaultConstraint(classApi, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateComponentApiType(ComponentApiType componentApiType, DiagnosticChain diagnostics, Map context)
+ {
+ return validate_EveryDefaultConstraint(componentApiType, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDocumentRoot(DocumentRoot documentRoot, DiagnosticChain diagnostics, Map context)
+ {
+ return validate_EveryDefaultConstraint(documentRoot, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateFieldApi(FieldApi fieldApi, DiagnosticChain diagnostics, Map context)
+ {
+ return validate_EveryDefaultConstraint(fieldApi, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMethodApi(MethodApi methodApi, DiagnosticChain diagnostics, Map context)
+ {
+ return validate_EveryDefaultConstraint(methodApi, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePackage(org.eclipse.wtp.releng.tools.component.api.Package package_, DiagnosticChain diagnostics, Map context)
+ {
+ return validate_EveryDefaultConstraint(package_, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateVisibility(Object visibility, DiagnosticChain diagnostics, Map context)
+ {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateListOfTypes(List listOfTypes, DiagnosticChain diagnostics, Map context)
+ {
+ boolean result = validateListOfTypes_ItemType(listOfTypes, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ItemType constraint of '<em>List Of Types</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateListOfTypes_ItemType(List listOfTypes, DiagnosticChain diagnostics, Map context)
+ {
+ boolean result = true;
+ for (Iterator i = listOfTypes.iterator(); i.hasNext() && (result || diagnostics != null); )
+ {
+ Object item = i.next();
+ if (XMLTypePackage.eINSTANCE.getString().isInstance(item))
+ {
+ result &= xmlTypeValidator.validateString((String)item, diagnostics, context);
+ }
+ else
+ {
+ result = false;
+ reportDataValueTypeViolation(XMLTypePackage.eINSTANCE.getString(), item, diagnostics, context);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateVisibilityObject(Visibility visibilityObject, DiagnosticChain diagnostics, Map context)
+ {
+ return true;
+ }
+
+} //ApiValidator
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentDependsType.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentDependsType.java
new file mode 100644
index 0000000..cb01f74
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentDependsType.java
@@ -0,0 +1,106 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ComponentDependsType.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Component Depends Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.ComponentDependsType#getComponentRef <em>Component Ref</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.ComponentDependsType#isUnrestricted <em>Unrestricted</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getComponentDependsType()
+ * @model
+ * @generated
+ */
+public interface ComponentDependsType extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Component Ref</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.wtp.releng.tools.component.model.ComponentRefType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Component Ref</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Component Ref</em>' containment reference list.
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getComponentDependsType_ComponentRef()
+ * @model type="org.eclipse.wtp.releng.tools.component.model.ComponentRefType" containment="true" resolveProxies="false"
+ * @generated
+ */
+ EList getComponentRef();
+
+ /**
+ * Returns the value of the '<em><b>Unrestricted</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * States whether this component is allowed to
+ * depend on arbitrary other components, or just
+ * the ones explicitly named by the
+ * <component-ref> children
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Unrestricted</em>' attribute.
+ * @see #isSetUnrestricted()
+ * @see #unsetUnrestricted()
+ * @see #setUnrestricted(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getComponentDependsType_Unrestricted()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isUnrestricted();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.ComponentDependsType#isUnrestricted <em>Unrestricted</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unrestricted</em>' attribute.
+ * @see #isSetUnrestricted()
+ * @see #unsetUnrestricted()
+ * @see #isUnrestricted()
+ * @generated
+ */
+ void setUnrestricted(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.ComponentDependsType#isUnrestricted <em>Unrestricted</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetUnrestricted()
+ * @see #isUnrestricted()
+ * @see #setUnrestricted(boolean)
+ * @generated
+ */
+ void unsetUnrestricted();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.model.ComponentDependsType#isUnrestricted <em>Unrestricted</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Unrestricted</em>' attribute is set.
+ * @see #unsetUnrestricted()
+ * @see #isUnrestricted()
+ * @see #setUnrestricted(boolean)
+ * @generated
+ */
+ boolean isSetUnrestricted();
+
+} // ComponentDependsType
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentRefType.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentRefType.java
new file mode 100644
index 0000000..c39ab5f
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentRefType.java
@@ -0,0 +1,57 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ComponentRefType.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Component Ref Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.ComponentRefType#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getComponentRefType()
+ * @model
+ * @generated
+ */
+public interface ComponentRefType extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * Name of the referenced component; e.g., "Eclipse
+ * Platform Generic Workbench"
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getComponentRefType_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.ComponentRefType#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // ComponentRefType
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentType.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentType.java
new file mode 100644
index 0000000..023f7e8
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ComponentType.java
@@ -0,0 +1,123 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ComponentType.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Component Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.ComponentType#getPlugin <em>Plugin</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.ComponentType#getPackage <em>Package</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.ComponentType#getComponentDepends <em>Component Depends</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.ComponentType#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getComponentType()
+ * @model
+ * @generated
+ */
+public interface ComponentType extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Plugin</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.wtp.releng.tools.component.model.PluginType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Plugin</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Plugin</em>' containment reference list.
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getComponentType_Plugin()
+ * @model type="org.eclipse.wtp.releng.tools.component.model.PluginType" containment="true" resolveProxies="false"
+ * @generated
+ */
+ EList getPlugin();
+
+ /**
+ * Returns the value of the '<em><b>Package</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.wtp.releng.tools.component.model.PackageType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Package</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Package</em>' containment reference list.
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getComponentType_Package()
+ * @model type="org.eclipse.wtp.releng.tools.component.model.PackageType" containment="true" resolveProxies="false"
+ * @generated
+ */
+ EList getPackage();
+
+ /**
+ * Returns the value of the '<em><b>Component Depends</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Component Depends</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Component Depends</em>' containment reference.
+ * @see #setComponentDepends(ComponentDependsType)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getComponentType_ComponentDepends()
+ * @model containment="true" resolveProxies="false" required="true"
+ * @generated
+ */
+ ComponentDependsType getComponentDepends();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.ComponentType#getComponentDepends <em>Component Depends</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Component Depends</em>' containment reference.
+ * @see #getComponentDepends()
+ * @generated
+ */
+ void setComponentDepends(ComponentDependsType value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * 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)
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getComponentType_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.ComponentType#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // ComponentType
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/DocumentRoot.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/DocumentRoot.java
new file mode 100644
index 0000000..5e8440f
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/DocumentRoot.java
@@ -0,0 +1,276 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DocumentRoot.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getMixed <em>Mixed</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getComponent <em>Component</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getComponentDepends <em>Component Depends</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getComponentRef <em>Component Ref</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getPackage <em>Package</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getPlugin <em>Plugin</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getDocumentRoot()
+ * @model
+ * @generated
+ */
+public interface DocumentRoot extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Mixed</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mixed</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mixed</em>' attribute list.
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getDocumentRoot_Mixed()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+ * @generated
+ */
+ FeatureMap getMixed();
+
+ /**
+ * Returns the value of the '<em><b>XMLNS Prefix Map</b></em>' map.
+ * The key is of type {@link java.lang.String},
+ * and the value is of type {@link java.lang.String},
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>XMLNS Prefix Map</em>' map isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>XMLNS Prefix Map</em>' map.
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getDocumentRoot_XMLNSPrefixMap()
+ * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry" keyType="java.lang.String" valueType="java.lang.String" transient="true"
+ * @generated
+ */
+ EMap getXMLNSPrefixMap();
+
+ /**
+ * Returns the value of the '<em><b>XSI Schema Location</b></em>' map.
+ * The key is of type {@link java.lang.String},
+ * and the value is of type {@link java.lang.String},
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>XSI Schema Location</em>' map isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>XSI Schema Location</em>' map.
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getDocumentRoot_XSISchemaLocation()
+ * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry" keyType="java.lang.String" valueType="java.lang.String" transient="true"
+ * @generated
+ */
+ EMap getXSISchemaLocation();
+
+ /**
+ * Returns the value of the '<em><b>Component</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * 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.
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Component</em>' containment reference.
+ * @see #setComponent(ComponentType)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getDocumentRoot_Component()
+ * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+ * @generated
+ */
+ ComponentType getComponent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getComponent <em>Component</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Component</em>' containment reference.
+ * @see #getComponent()
+ * @generated
+ */
+ void setComponent(ComponentType value);
+
+ /**
+ * Returns the value of the '<em><b>Component Depends</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Component Depends</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Component Depends</em>' containment reference.
+ * @see #setComponentDepends(ComponentDependsType)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getDocumentRoot_ComponentDepends()
+ * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+ * @generated
+ */
+ ComponentDependsType getComponentDepends();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getComponentDepends <em>Component Depends</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Component Depends</em>' containment reference.
+ * @see #getComponentDepends()
+ * @generated
+ */
+ void setComponentDepends(ComponentDependsType value);
+
+ /**
+ * Returns the value of the '<em><b>Component Ref</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Component Ref</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Component Ref</em>' containment reference.
+ * @see #setComponentRef(ComponentRefType)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getDocumentRoot_ComponentRef()
+ * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+ * @generated
+ */
+ ComponentRefType getComponentRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getComponentRef <em>Component Ref</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Component Ref</em>' containment reference.
+ * @see #getComponentRef()
+ * @generated
+ */
+ void setComponentRef(ComponentRefType value);
+
+ /**
+ * Returns the value of the '<em><b>Package</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * Provides information about a package as used by the
+ * component. In the unusual case where a package is shared
+ * with other components, the <package> 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 <package name="..."
+ * api="false" />). The children of the <package>
+ * element provide information about specific types in the
+ * package.
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Package</em>' containment reference.
+ * @see #setPackage(PackageType)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getDocumentRoot_Package()
+ * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+ * @generated
+ */
+ PackageType getPackage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getPackage <em>Package</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Package</em>' containment reference.
+ * @see #getPackage()
+ * @generated
+ */
+ void setPackage(PackageType value);
+
+ /**
+ * Returns the value of the '<em><b>Plugin</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * 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 <plugin> element occurs as a child
+ * of the <component> element.
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Plugin</em>' containment reference.
+ * @see #setPlugin(PluginType)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getDocumentRoot_Plugin()
+ * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+ * @generated
+ */
+ PluginType getPlugin();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getPlugin <em>Plugin</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Plugin</em>' containment reference.
+ * @see #getPlugin()
+ * @generated
+ */
+ void setPlugin(PluginType value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * Provides information about a top-level type in a
+ * package. (Note: We could extend the schema in the future
+ * to allow <type> elements to provide analogous
+ * information about their members. We could also extend
+ * the <component> element to allow aspects other
+ * than code API to be described.)
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Type</em>' containment reference.
+ * @see #setType(TypeType)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getDocumentRoot_Type()
+ * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+ * @generated
+ */
+ TypeType getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getType <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' containment reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(TypeType value);
+
+} // DocumentRoot
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ModelFactory.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ModelFactory.java
new file mode 100644
index 0000000..ebe234b
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ModelFactory.java
@@ -0,0 +1,101 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ModelFactory.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage
+ * @generated
+ */
+public interface ModelFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ModelFactory eINSTANCE = new org.eclipse.wtp.releng.tools.component.model.impl.ModelFactoryImpl();
+
+ /**
+ * Returns a new object of class '<em>Component Depends Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Component Depends Type</em>'.
+ * @generated
+ */
+ ComponentDependsType createComponentDependsType();
+
+ /**
+ * Returns a new object of class '<em>Component Ref Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Component Ref Type</em>'.
+ * @generated
+ */
+ ComponentRefType createComponentRefType();
+
+ /**
+ * Returns a new object of class '<em>Component Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Component Type</em>'.
+ * @generated
+ */
+ ComponentType createComponentType();
+
+ /**
+ * Returns a new object of class '<em>Document Root</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Document Root</em>'.
+ * @generated
+ */
+ DocumentRoot createDocumentRoot();
+
+ /**
+ * Returns a new object of class '<em>Package Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Package Type</em>'.
+ * @generated
+ */
+ PackageType createPackageType();
+
+ /**
+ * Returns a new object of class '<em>Plugin Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Plugin Type</em>'.
+ * @generated
+ */
+ PluginType createPluginType();
+
+ /**
+ * Returns a new object of class '<em>Type Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Type Type</em>'.
+ * @generated
+ */
+ TypeType createTypeType();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ModelPackage getModelPackage();
+
+} //ModelFactory
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ModelPackage.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ModelPackage.java
new file mode 100644
index 0000000..8e5507c
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/ModelPackage.java
@@ -0,0 +1,821 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ModelPackage.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * Each component is described via a component description
+ * file.
+ *
+ * <!-- end-model-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelFactory
+ * @generated
+ */
+public interface ModelPackage extends EPackage
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "model";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://eclipse.org/wtp/releng/tools/component-model";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "model";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ModelPackage eINSTANCE = org.eclipse.wtp.releng.tools.component.model.impl.ModelPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.model.impl.ComponentDependsTypeImpl <em>Component Depends Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.ComponentDependsTypeImpl
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.ModelPackageImpl#getComponentDependsType()
+ * @generated
+ */
+ int COMPONENT_DEPENDS_TYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Component Ref</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_DEPENDS_TYPE__COMPONENT_REF = 0;
+
+ /**
+ * The feature id for the '<em><b>Unrestricted</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_DEPENDS_TYPE__UNRESTRICTED = 1;
+
+ /**
+ * The number of structural features of the the '<em>Component Depends Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_DEPENDS_TYPE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.model.impl.ComponentRefTypeImpl <em>Component Ref Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.ComponentRefTypeImpl
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.ModelPackageImpl#getComponentRefType()
+ * @generated
+ */
+ int COMPONENT_REF_TYPE = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_REF_TYPE__NAME = 0;
+
+ /**
+ * The number of structural features of the the '<em>Component Ref Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_REF_TYPE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.model.impl.ComponentTypeImpl <em>Component Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.ComponentTypeImpl
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.ModelPackageImpl#getComponentType()
+ * @generated
+ */
+ int COMPONENT_TYPE = 2;
+
+ /**
+ * The feature id for the '<em><b>Plugin</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_TYPE__PLUGIN = 0;
+
+ /**
+ * The feature id for the '<em><b>Package</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_TYPE__PACKAGE = 1;
+
+ /**
+ * The feature id for the '<em><b>Component Depends</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_TYPE__COMPONENT_DEPENDS = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_TYPE__NAME = 3;
+
+ /**
+ * The number of structural features of the the '<em>Component Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_TYPE_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.model.impl.DocumentRootImpl <em>Document Root</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.DocumentRootImpl
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.ModelPackageImpl#getDocumentRoot()
+ * @generated
+ */
+ int DOCUMENT_ROOT = 3;
+
+ /**
+ * The feature id for the '<em><b>Mixed</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__MIXED = 0;
+
+ /**
+ * The feature id for the '<em><b>XMLNS Prefix Map</b></em>' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__XMLNS_PREFIX_MAP = 1;
+
+ /**
+ * The feature id for the '<em><b>XSI Schema Location</b></em>' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = 2;
+
+ /**
+ * The feature id for the '<em><b>Component</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__COMPONENT = 3;
+
+ /**
+ * The feature id for the '<em><b>Component Depends</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__COMPONENT_DEPENDS = 4;
+
+ /**
+ * The feature id for the '<em><b>Component Ref</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__COMPONENT_REF = 5;
+
+ /**
+ * The feature id for the '<em><b>Package</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__PACKAGE = 6;
+
+ /**
+ * The feature id for the '<em><b>Plugin</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__PLUGIN = 7;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__TYPE = 8;
+
+ /**
+ * The number of structural features of the the '<em>Document Root</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT_FEATURE_COUNT = 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.model.impl.PackageTypeImpl <em>Package Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.PackageTypeImpl
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.ModelPackageImpl#getPackageType()
+ * @generated
+ */
+ int PACKAGE_TYPE = 4;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_TYPE__TYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Api</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_TYPE__API = 1;
+
+ /**
+ * The feature id for the '<em><b>Exclusive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_TYPE__EXCLUSIVE = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_TYPE__NAME = 3;
+
+ /**
+ * The number of structural features of the the '<em>Package Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_TYPE_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.model.impl.PluginTypeImpl <em>Plugin Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.PluginTypeImpl
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.ModelPackageImpl#getPluginType()
+ * @generated
+ */
+ int PLUGIN_TYPE = 5;
+
+ /**
+ * The feature id for the '<em><b>Fragment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_TYPE__FRAGMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_TYPE__ID = 1;
+
+ /**
+ * The number of structural features of the the '<em>Plugin Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_TYPE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.wtp.releng.tools.component.model.impl.TypeTypeImpl <em>Type Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.TypeTypeImpl
+ * @see org.eclipse.wtp.releng.tools.component.model.impl.ModelPackageImpl#getTypeType()
+ * @generated
+ */
+ int TYPE_TYPE = 6;
+
+ /**
+ * The feature id for the '<em><b>Implement</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_TYPE__IMPLEMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Instantiate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_TYPE__INSTANTIATE = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_TYPE__NAME = 2;
+
+ /**
+ * The feature id for the '<em><b>Reference</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_TYPE__REFERENCE = 3;
+
+ /**
+ * The feature id for the '<em><b>Subclass</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_TYPE__SUBCLASS = 4;
+
+ /**
+ * The number of structural features of the the '<em>Type Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_TYPE_FEATURE_COUNT = 5;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.model.ComponentDependsType <em>Component Depends Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Component Depends Type</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.ComponentDependsType
+ * @generated
+ */
+ EClass getComponentDependsType();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.wtp.releng.tools.component.model.ComponentDependsType#getComponentRef <em>Component Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Component Ref</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.ComponentDependsType#getComponentRef()
+ * @see #getComponentDependsType()
+ * @generated
+ */
+ EReference getComponentDependsType_ComponentRef();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.model.ComponentDependsType#isUnrestricted <em>Unrestricted</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unrestricted</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.ComponentDependsType#isUnrestricted()
+ * @see #getComponentDependsType()
+ * @generated
+ */
+ EAttribute getComponentDependsType_Unrestricted();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.model.ComponentRefType <em>Component Ref Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Component Ref Type</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.ComponentRefType
+ * @generated
+ */
+ EClass getComponentRefType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.model.ComponentRefType#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.ComponentRefType#getName()
+ * @see #getComponentRefType()
+ * @generated
+ */
+ EAttribute getComponentRefType_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.model.ComponentType <em>Component Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Component Type</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.ComponentType
+ * @generated
+ */
+ EClass getComponentType();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.wtp.releng.tools.component.model.ComponentType#getPlugin <em>Plugin</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Plugin</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.ComponentType#getPlugin()
+ * @see #getComponentType()
+ * @generated
+ */
+ EReference getComponentType_Plugin();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.wtp.releng.tools.component.model.ComponentType#getPackage <em>Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Package</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.ComponentType#getPackage()
+ * @see #getComponentType()
+ * @generated
+ */
+ EReference getComponentType_Package();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.wtp.releng.tools.component.model.ComponentType#getComponentDepends <em>Component Depends</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Component Depends</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.ComponentType#getComponentDepends()
+ * @see #getComponentType()
+ * @generated
+ */
+ EReference getComponentType_ComponentDepends();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.model.ComponentType#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.ComponentType#getName()
+ * @see #getComponentType()
+ * @generated
+ */
+ EAttribute getComponentType_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot <em>Document Root</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Document Root</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.DocumentRoot
+ * @generated
+ */
+ EClass getDocumentRoot();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getMixed <em>Mixed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Mixed</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getMixed()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EAttribute getDocumentRoot_Mixed();
+
+ /**
+ * Returns the meta object for the map '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the map '<em>XMLNS Prefix Map</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getXMLNSPrefixMap()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_XMLNSPrefixMap();
+
+ /**
+ * Returns the meta object for the map '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the map '<em>XSI Schema Location</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getXSISchemaLocation()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_XSISchemaLocation();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getComponent <em>Component</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Component</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getComponent()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_Component();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getComponentDepends <em>Component Depends</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Component Depends</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getComponentDepends()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_ComponentDepends();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getComponentRef <em>Component Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Component Ref</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getComponentRef()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_ComponentRef();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getPackage <em>Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Package</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getPackage()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_Package();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getPlugin <em>Plugin</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Plugin</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getPlugin()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_Plugin();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Type</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.DocumentRoot#getType()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.model.PackageType <em>Package Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Package Type</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.PackageType
+ * @generated
+ */
+ EClass getPackageType();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.wtp.releng.tools.component.model.PackageType#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Type</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.PackageType#getType()
+ * @see #getPackageType()
+ * @generated
+ */
+ EReference getPackageType_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.model.PackageType#isApi <em>Api</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Api</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.PackageType#isApi()
+ * @see #getPackageType()
+ * @generated
+ */
+ EAttribute getPackageType_Api();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.model.PackageType#isExclusive <em>Exclusive</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exclusive</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.PackageType#isExclusive()
+ * @see #getPackageType()
+ * @generated
+ */
+ EAttribute getPackageType_Exclusive();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.model.PackageType#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.PackageType#getName()
+ * @see #getPackageType()
+ * @generated
+ */
+ EAttribute getPackageType_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.model.PluginType <em>Plugin Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Plugin Type</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.PluginType
+ * @generated
+ */
+ EClass getPluginType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.model.PluginType#isFragment <em>Fragment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fragment</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.PluginType#isFragment()
+ * @see #getPluginType()
+ * @generated
+ */
+ EAttribute getPluginType_Fragment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.model.PluginType#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.PluginType#getId()
+ * @see #getPluginType()
+ * @generated
+ */
+ EAttribute getPluginType_Id();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.wtp.releng.tools.component.model.TypeType <em>Type Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Type Type</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.TypeType
+ * @generated
+ */
+ EClass getTypeType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isImplement <em>Implement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Implement</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.TypeType#isImplement()
+ * @see #getTypeType()
+ * @generated
+ */
+ EAttribute getTypeType_Implement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isInstantiate <em>Instantiate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Instantiate</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.TypeType#isInstantiate()
+ * @see #getTypeType()
+ * @generated
+ */
+ EAttribute getTypeType_Instantiate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.TypeType#getName()
+ * @see #getTypeType()
+ * @generated
+ */
+ EAttribute getTypeType_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isReference <em>Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Reference</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.TypeType#isReference()
+ * @see #getTypeType()
+ * @generated
+ */
+ EAttribute getTypeType_Reference();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isSubclass <em>Subclass</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Subclass</em>'.
+ * @see org.eclipse.wtp.releng.tools.component.model.TypeType#isSubclass()
+ * @see #getTypeType()
+ * @generated
+ */
+ EAttribute getTypeType_Subclass();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ModelFactory getModelFactory();
+
+} //ModelPackage
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/PackageType.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/PackageType.java
new file mode 100644
index 0000000..a28380d
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/PackageType.java
@@ -0,0 +1,198 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PackageType.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Package Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.PackageType#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.PackageType#isApi <em>Api</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.PackageType#isExclusive <em>Exclusive</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.PackageType#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getPackageType()
+ * @model
+ * @generated
+ */
+public interface PackageType extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.wtp.releng.tools.component.model.TypeType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' containment reference list.
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getPackageType_Type()
+ * @model type="org.eclipse.wtp.releng.tools.component.model.TypeType" containment="true" resolveProxies="false"
+ * @generated
+ */
+ EList getType();
+
+ /**
+ * Returns the value of the '<em><b>Api</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * 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).
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Api</em>' attribute.
+ * @see #isSetApi()
+ * @see #unsetApi()
+ * @see #setApi(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getPackageType_Api()
+ * @model default="true" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isApi();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.PackageType#isApi <em>Api</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Api</em>' attribute.
+ * @see #isSetApi()
+ * @see #unsetApi()
+ * @see #isApi()
+ * @generated
+ */
+ void setApi(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.PackageType#isApi <em>Api</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetApi()
+ * @see #isApi()
+ * @see #setApi(boolean)
+ * @generated
+ */
+ void unsetApi();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.model.PackageType#isApi <em>Api</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Api</em>' attribute is set.
+ * @see #unsetApi()
+ * @see #isApi()
+ * @see #setApi(boolean)
+ * @generated
+ */
+ boolean isSetApi();
+
+ /**
+ * Returns the value of the '<em><b>Exclusive</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * 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.
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Exclusive</em>' attribute.
+ * @see #isSetExclusive()
+ * @see #unsetExclusive()
+ * @see #setExclusive(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getPackageType_Exclusive()
+ * @model default="true" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isExclusive();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.PackageType#isExclusive <em>Exclusive</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exclusive</em>' attribute.
+ * @see #isSetExclusive()
+ * @see #unsetExclusive()
+ * @see #isExclusive()
+ * @generated
+ */
+ void setExclusive(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.PackageType#isExclusive <em>Exclusive</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetExclusive()
+ * @see #isExclusive()
+ * @see #setExclusive(boolean)
+ * @generated
+ */
+ void unsetExclusive();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.model.PackageType#isExclusive <em>Exclusive</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Exclusive</em>' attribute is set.
+ * @see #unsetExclusive()
+ * @see #isExclusive()
+ * @see #setExclusive(boolean)
+ * @generated
+ */
+ boolean isSetExclusive();
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * Java package name; e.g., "javax.swing",
+ * "org.eclipse.ui".
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getPackageType_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.PackageType#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // PackageType
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/PluginType.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/PluginType.java
new file mode 100644
index 0000000..4f8594e
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/PluginType.java
@@ -0,0 +1,116 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PluginType.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Plugin Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.PluginType#isFragment <em>Fragment</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.PluginType#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getPluginType()
+ * @model
+ * @generated
+ */
+public interface PluginType extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Fragment</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * State whether this is a plug-in fragment as
+ * opposed to a plug-in (default: plug-in).
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Fragment</em>' attribute.
+ * @see #isSetFragment()
+ * @see #unsetFragment()
+ * @see #setFragment(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getPluginType_Fragment()
+ * @model default="false" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isFragment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.PluginType#isFragment <em>Fragment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fragment</em>' attribute.
+ * @see #isSetFragment()
+ * @see #unsetFragment()
+ * @see #isFragment()
+ * @generated
+ */
+ void setFragment(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.PluginType#isFragment <em>Fragment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetFragment()
+ * @see #isFragment()
+ * @see #setFragment(boolean)
+ * @generated
+ */
+ void unsetFragment();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.model.PluginType#isFragment <em>Fragment</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Fragment</em>' attribute is set.
+ * @see #unsetFragment()
+ * @see #isFragment()
+ * @see #setFragment(boolean)
+ * @generated
+ */
+ boolean isSetFragment();
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * 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.
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getPluginType_Id()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.PluginType#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+} // PluginType
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/TypeType.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/TypeType.java
new file mode 100644
index 0000000..d653454
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/TypeType.java
@@ -0,0 +1,307 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TypeType.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Type Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isImplement <em>Implement</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isInstantiate <em>Instantiate</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.TypeType#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isReference <em>Reference</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isSubclass <em>Subclass</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getTypeType()
+ * @model
+ * @generated
+ */
+public interface TypeType extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Implement</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * 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.
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Implement</em>' attribute.
+ * @see #isSetImplement()
+ * @see #unsetImplement()
+ * @see #setImplement(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getTypeType_Implement()
+ * @model default="true" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isImplement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isImplement <em>Implement</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Implement</em>' attribute.
+ * @see #isSetImplement()
+ * @see #unsetImplement()
+ * @see #isImplement()
+ * @generated
+ */
+ void setImplement(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isImplement <em>Implement</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetImplement()
+ * @see #isImplement()
+ * @see #setImplement(boolean)
+ * @generated
+ */
+ void unsetImplement();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isImplement <em>Implement</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Implement</em>' attribute is set.
+ * @see #unsetImplement()
+ * @see #isImplement()
+ * @see #setImplement(boolean)
+ * @generated
+ */
+ boolean isSetImplement();
+
+ /**
+ * Returns the value of the '<em><b>Instantiate</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * 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.
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Instantiate</em>' attribute.
+ * @see #isSetInstantiate()
+ * @see #unsetInstantiate()
+ * @see #setInstantiate(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getTypeType_Instantiate()
+ * @model default="true" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isInstantiate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isInstantiate <em>Instantiate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Instantiate</em>' attribute.
+ * @see #isSetInstantiate()
+ * @see #unsetInstantiate()
+ * @see #isInstantiate()
+ * @generated
+ */
+ void setInstantiate(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isInstantiate <em>Instantiate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetInstantiate()
+ * @see #isInstantiate()
+ * @see #setInstantiate(boolean)
+ * @generated
+ */
+ void unsetInstantiate();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isInstantiate <em>Instantiate</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Instantiate</em>' attribute is set.
+ * @see #unsetInstantiate()
+ * @see #isInstantiate()
+ * @see #setInstantiate(boolean)
+ * @generated
+ */
+ boolean isSetInstantiate();
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * Simple name of a top-level Java class,
+ * interface, enumeration, or annotation type;
+ * e.g., "String", "IResource".
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getTypeType_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Reference</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * States whether other components are expected to
+ * reference this type by name (default: true);
+ * specify "false" to indicate that the type is
+ * internal.
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Reference</em>' attribute.
+ * @see #isSetReference()
+ * @see #unsetReference()
+ * @see #setReference(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getTypeType_Reference()
+ * @model default="true" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isReference();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isReference <em>Reference</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Reference</em>' attribute.
+ * @see #isSetReference()
+ * @see #unsetReference()
+ * @see #isReference()
+ * @generated
+ */
+ void setReference(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isReference <em>Reference</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetReference()
+ * @see #isReference()
+ * @see #setReference(boolean)
+ * @generated
+ */
+ void unsetReference();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isReference <em>Reference</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Reference</em>' attribute is set.
+ * @see #unsetReference()
+ * @see #isReference()
+ * @see #setReference(boolean)
+ * @generated
+ */
+ boolean isSetReference();
+
+ /**
+ * Returns the value of the '<em><b>Subclass</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * 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.
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Subclass</em>' attribute.
+ * @see #isSetSubclass()
+ * @see #unsetSubclass()
+ * @see #setSubclass(boolean)
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#getTypeType_Subclass()
+ * @model default="true" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+ * @generated
+ */
+ boolean isSubclass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isSubclass <em>Subclass</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Subclass</em>' attribute.
+ * @see #isSetSubclass()
+ * @see #unsetSubclass()
+ * @see #isSubclass()
+ * @generated
+ */
+ void setSubclass(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isSubclass <em>Subclass</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetSubclass()
+ * @see #isSubclass()
+ * @see #setSubclass(boolean)
+ * @generated
+ */
+ void unsetSubclass();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.wtp.releng.tools.component.model.TypeType#isSubclass <em>Subclass</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Subclass</em>' attribute is set.
+ * @see #unsetSubclass()
+ * @see #isSubclass()
+ * @see #setSubclass(boolean)
+ * @generated
+ */
+ boolean isSetSubclass();
+
+} // TypeType
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ComponentDependsTypeImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ComponentDependsTypeImpl.java
new file mode 100644
index 0000000..c6a45e2
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ComponentDependsTypeImpl.java
@@ -0,0 +1,278 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ComponentDependsTypeImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wtp.releng.tools.component.model.ComponentDependsType;
+import org.eclipse.wtp.releng.tools.component.model.ComponentRefType;
+import org.eclipse.wtp.releng.tools.component.model.ModelPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Component Depends Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.ComponentDependsTypeImpl#getComponentRef <em>Component Ref</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.ComponentDependsTypeImpl#isUnrestricted <em>Unrestricted</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ComponentDependsTypeImpl extends EObjectImpl implements ComponentDependsType
+{
+ /**
+ * The cached value of the '{@link #getComponentRef() <em>Component Ref</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComponentRef()
+ * @generated
+ * @ordered
+ */
+ protected EList componentRef = null;
+
+ /**
+ * The default value of the '{@link #isUnrestricted() <em>Unrestricted</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnrestricted()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean UNRESTRICTED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isUnrestricted() <em>Unrestricted</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnrestricted()
+ * @generated
+ * @ordered
+ */
+ protected boolean unrestricted = UNRESTRICTED_EDEFAULT;
+
+ /**
+ * This is true if the Unrestricted attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean unrestrictedESet = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComponentDependsTypeImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass()
+ {
+ return ModelPackage.eINSTANCE.getComponentDependsType();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getComponentRef()
+ {
+ if (componentRef == null)
+ {
+ componentRef = new EObjectContainmentEList(ComponentRefType.class, this, ModelPackage.COMPONENT_DEPENDS_TYPE__COMPONENT_REF);
+ }
+ return componentRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnrestricted()
+ {
+ return unrestricted;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnrestricted(boolean newUnrestricted)
+ {
+ boolean oldUnrestricted = unrestricted;
+ unrestricted = newUnrestricted;
+ boolean oldUnrestrictedESet = unrestrictedESet;
+ unrestrictedESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.COMPONENT_DEPENDS_TYPE__UNRESTRICTED, oldUnrestricted, unrestricted, !oldUnrestrictedESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetUnrestricted()
+ {
+ boolean oldUnrestricted = unrestricted;
+ boolean oldUnrestrictedESet = unrestrictedESet;
+ unrestricted = UNRESTRICTED_EDEFAULT;
+ unrestrictedESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ModelPackage.COMPONENT_DEPENDS_TYPE__UNRESTRICTED, oldUnrestricted, UNRESTRICTED_EDEFAULT, oldUnrestrictedESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetUnrestricted()
+ {
+ return unrestrictedESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs)
+ {
+ if (featureID >= 0)
+ {
+ switch (eDerivedStructuralFeatureID(featureID, baseClass))
+ {
+ case ModelPackage.COMPONENT_DEPENDS_TYPE__COMPONENT_REF:
+ return ((InternalEList)getComponentRef()).basicRemove(otherEnd, msgs);
+ default:
+ return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+ }
+ }
+ return eBasicSetContainer(null, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.COMPONENT_DEPENDS_TYPE__COMPONENT_REF:
+ return getComponentRef();
+ case ModelPackage.COMPONENT_DEPENDS_TYPE__UNRESTRICTED:
+ return isUnrestricted() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.COMPONENT_DEPENDS_TYPE__COMPONENT_REF:
+ getComponentRef().clear();
+ getComponentRef().addAll((Collection)newValue);
+ return;
+ case ModelPackage.COMPONENT_DEPENDS_TYPE__UNRESTRICTED:
+ setUnrestricted(((Boolean)newValue).booleanValue());
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.COMPONENT_DEPENDS_TYPE__COMPONENT_REF:
+ getComponentRef().clear();
+ return;
+ case ModelPackage.COMPONENT_DEPENDS_TYPE__UNRESTRICTED:
+ unsetUnrestricted();
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.COMPONENT_DEPENDS_TYPE__COMPONENT_REF:
+ return componentRef != null && !componentRef.isEmpty();
+ case ModelPackage.COMPONENT_DEPENDS_TYPE__UNRESTRICTED:
+ return isSetUnrestricted();
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (unrestricted: ");
+ if (unrestrictedESet) result.append(unrestricted); else result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} //ComponentDependsTypeImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ComponentRefTypeImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ComponentRefTypeImpl.java
new file mode 100644
index 0000000..c7df5e9
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ComponentRefTypeImpl.java
@@ -0,0 +1,176 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ComponentRefTypeImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.wtp.releng.tools.component.model.ComponentRefType;
+import org.eclipse.wtp.releng.tools.component.model.ModelPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Component Ref Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.ComponentRefTypeImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ComponentRefTypeImpl extends EObjectImpl implements ComponentRefType
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComponentRefTypeImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass()
+ {
+ return ModelPackage.eINSTANCE.getComponentRefType();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.COMPONENT_REF_TYPE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.COMPONENT_REF_TYPE__NAME:
+ return getName();
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.COMPONENT_REF_TYPE__NAME:
+ setName((String)newValue);
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.COMPONENT_REF_TYPE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.COMPONENT_REF_TYPE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ComponentRefTypeImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ComponentTypeImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ComponentTypeImpl.java
new file mode 100644
index 0000000..8332251
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ComponentTypeImpl.java
@@ -0,0 +1,353 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ComponentTypeImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wtp.releng.tools.component.model.ComponentDependsType;
+import org.eclipse.wtp.releng.tools.component.model.ComponentType;
+import org.eclipse.wtp.releng.tools.component.model.ModelPackage;
+import org.eclipse.wtp.releng.tools.component.model.PackageType;
+import org.eclipse.wtp.releng.tools.component.model.PluginType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Component Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.ComponentTypeImpl#getPlugin <em>Plugin</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.ComponentTypeImpl#getPackage <em>Package</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.ComponentTypeImpl#getComponentDepends <em>Component Depends</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.ComponentTypeImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ComponentTypeImpl extends EObjectImpl implements ComponentType
+{
+ /**
+ * The cached value of the '{@link #getPlugin() <em>Plugin</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPlugin()
+ * @generated
+ * @ordered
+ */
+ protected EList plugin = null;
+
+ /**
+ * The cached value of the '{@link #getPackage() <em>Package</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPackage()
+ * @generated
+ * @ordered
+ */
+ protected EList package_ = null;
+
+ /**
+ * The cached value of the '{@link #getComponentDepends() <em>Component Depends</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComponentDepends()
+ * @generated
+ * @ordered
+ */
+ protected ComponentDependsType componentDepends = null;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComponentTypeImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass()
+ {
+ return ModelPackage.eINSTANCE.getComponentType();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getPlugin()
+ {
+ if (plugin == null)
+ {
+ plugin = new EObjectContainmentEList(PluginType.class, this, ModelPackage.COMPONENT_TYPE__PLUGIN);
+ }
+ return plugin;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getPackage()
+ {
+ if (package_ == null)
+ {
+ package_ = new EObjectContainmentEList(PackageType.class, this, ModelPackage.COMPONENT_TYPE__PACKAGE);
+ }
+ return package_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentDependsType getComponentDepends()
+ {
+ return componentDepends;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetComponentDepends(ComponentDependsType newComponentDepends, NotificationChain msgs)
+ {
+ ComponentDependsType oldComponentDepends = componentDepends;
+ componentDepends = newComponentDepends;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ModelPackage.COMPONENT_TYPE__COMPONENT_DEPENDS, oldComponentDepends, newComponentDepends);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setComponentDepends(ComponentDependsType newComponentDepends)
+ {
+ if (newComponentDepends != componentDepends)
+ {
+ NotificationChain msgs = null;
+ if (componentDepends != null)
+ msgs = ((InternalEObject)componentDepends).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ModelPackage.COMPONENT_TYPE__COMPONENT_DEPENDS, null, msgs);
+ if (newComponentDepends != null)
+ msgs = ((InternalEObject)newComponentDepends).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ModelPackage.COMPONENT_TYPE__COMPONENT_DEPENDS, null, msgs);
+ msgs = basicSetComponentDepends(newComponentDepends, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.COMPONENT_TYPE__COMPONENT_DEPENDS, newComponentDepends, newComponentDepends));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.COMPONENT_TYPE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs)
+ {
+ if (featureID >= 0)
+ {
+ switch (eDerivedStructuralFeatureID(featureID, baseClass))
+ {
+ case ModelPackage.COMPONENT_TYPE__PLUGIN:
+ return ((InternalEList)getPlugin()).basicRemove(otherEnd, msgs);
+ case ModelPackage.COMPONENT_TYPE__PACKAGE:
+ return ((InternalEList)getPackage()).basicRemove(otherEnd, msgs);
+ case ModelPackage.COMPONENT_TYPE__COMPONENT_DEPENDS:
+ return basicSetComponentDepends(null, msgs);
+ default:
+ return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+ }
+ }
+ return eBasicSetContainer(null, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.COMPONENT_TYPE__PLUGIN:
+ return getPlugin();
+ case ModelPackage.COMPONENT_TYPE__PACKAGE:
+ return getPackage();
+ case ModelPackage.COMPONENT_TYPE__COMPONENT_DEPENDS:
+ return getComponentDepends();
+ case ModelPackage.COMPONENT_TYPE__NAME:
+ return getName();
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.COMPONENT_TYPE__PLUGIN:
+ getPlugin().clear();
+ getPlugin().addAll((Collection)newValue);
+ return;
+ case ModelPackage.COMPONENT_TYPE__PACKAGE:
+ getPackage().clear();
+ getPackage().addAll((Collection)newValue);
+ return;
+ case ModelPackage.COMPONENT_TYPE__COMPONENT_DEPENDS:
+ setComponentDepends((ComponentDependsType)newValue);
+ return;
+ case ModelPackage.COMPONENT_TYPE__NAME:
+ setName((String)newValue);
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.COMPONENT_TYPE__PLUGIN:
+ getPlugin().clear();
+ return;
+ case ModelPackage.COMPONENT_TYPE__PACKAGE:
+ getPackage().clear();
+ return;
+ case ModelPackage.COMPONENT_TYPE__COMPONENT_DEPENDS:
+ setComponentDepends((ComponentDependsType)null);
+ return;
+ case ModelPackage.COMPONENT_TYPE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.COMPONENT_TYPE__PLUGIN:
+ return plugin != null && !plugin.isEmpty();
+ case ModelPackage.COMPONENT_TYPE__PACKAGE:
+ return package_ != null && !package_.isEmpty();
+ case ModelPackage.COMPONENT_TYPE__COMPONENT_DEPENDS:
+ return componentDepends != null;
+ case ModelPackage.COMPONENT_TYPE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ComponentTypeImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/DocumentRootImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/DocumentRootImpl.java
new file mode 100644
index 0000000..4d1d062
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/DocumentRootImpl.java
@@ -0,0 +1,529 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DocumentRootImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wtp.releng.tools.component.model.ComponentDependsType;
+import org.eclipse.wtp.releng.tools.component.model.ComponentRefType;
+import org.eclipse.wtp.releng.tools.component.model.ComponentType;
+import org.eclipse.wtp.releng.tools.component.model.DocumentRoot;
+import org.eclipse.wtp.releng.tools.component.model.ModelPackage;
+import org.eclipse.wtp.releng.tools.component.model.PackageType;
+import org.eclipse.wtp.releng.tools.component.model.PluginType;
+import org.eclipse.wtp.releng.tools.component.model.TypeType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.DocumentRootImpl#getMixed <em>Mixed</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.DocumentRootImpl#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.DocumentRootImpl#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.DocumentRootImpl#getComponent <em>Component</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.DocumentRootImpl#getComponentDepends <em>Component Depends</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.DocumentRootImpl#getComponentRef <em>Component Ref</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.DocumentRootImpl#getPackage <em>Package</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.DocumentRootImpl#getPlugin <em>Plugin</em>}</li>
+ * <li>{@link org.eclipse.wtp.releng.tools.component.model.impl.DocumentRootImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DocumentRootImpl extends EObjectImpl implements DocumentRoot
+{
+ /**
+ * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMixed()
+ * @generated
+ * @ordered
+ */
+ protected FeatureMap mixed = null;
+
+ /**
+ * The cached value of the '{@link #getXMLNSPrefixMap() <em>XMLNS Prefix Map</em>}' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXMLNSPrefixMap()
+ * @generated
+ * @ordered
+ */
+ protected EMap xMLNSPrefixMap = null;
+
+ /**
+ * The cached value of the '{@link #getXSISchemaLocation() <em>XSI Schema Location</em>}' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXSISchemaLocation()
+ * @generated
+ * @ordered
+ */
+ protected EMap xSISchemaLocation = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DocumentRootImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass()
+ {
+ return ModelPackage.eINSTANCE.getDocumentRoot();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureMap getMixed()
+ {
+ if (mixed == null)
+ {
+ mixed = new BasicFeatureMap(this, ModelPackage.DOCUMENT_ROOT__MIXED);
+ }
+ return mixed;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EMap getXMLNSPrefixMap()
+ {
+ if (xMLNSPrefixMap == null)
+ {
+ xMLNSPrefixMap = new EcoreEMap(EcorePackage.eINSTANCE.getEStringToStringMapEntry(), EStringToStringMapEntryImpl.class, this, ModelPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+ }
+ return xMLNSPrefixMap;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EMap getXSISchemaLocation()
+ {
+ if (xSISchemaLocation == null)
+ {
+ xSISchemaLocation = new EcoreEMap(EcorePackage.eINSTANCE.getEStringToStringMapEntry(), EStringToStringMapEntryImpl.class, this, ModelPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+ }
+ return xSISchemaLocation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentType getComponent()
+ {
+ return (ComponentType)getMixed().get(ModelPackage.eINSTANCE.getDocumentRoot_Component(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetComponent(ComponentType newComponent, NotificationChain msgs)
+ {
+ return ((FeatureMap.Internal)getMixed()).basicAdd(ModelPackage.eINSTANCE.getDocumentRoot_Component(), newComponent, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setComponent(ComponentType newComponent)
+ {
+ ((FeatureMap.Internal)getMixed()).set(ModelPackage.eINSTANCE.getDocumentRoot_Component(), newComponent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentDependsType getComponentDepends()
+ {
+ return (ComponentDependsType)getMixed().get(ModelPackage.eINSTANCE.getDocumentRoot_ComponentDepends(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetComponentDepends(ComponentDependsType newComponentDepends, NotificationChain msgs)
+ {
+ return ((FeatureMap.Internal)getMixed()).basicAdd(ModelPackage.eINSTANCE.getDocumentRoot_ComponentDepends(), newComponentDepends, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setComponentDepends(ComponentDependsType newComponentDepends)
+ {
+ ((FeatureMap.Internal)getMixed()).set(ModelPackage.eINSTANCE.getDocumentRoot_ComponentDepends(), newComponentDepends);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentRefType getComponentRef()
+ {
+ return (ComponentRefType)getMixed().get(ModelPackage.eINSTANCE.getDocumentRoot_ComponentRef(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetComponentRef(ComponentRefType newComponentRef, NotificationChain msgs)
+ {
+ return ((FeatureMap.Internal)getMixed()).basicAdd(ModelPackage.eINSTANCE.getDocumentRoot_ComponentRef(), newComponentRef, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setComponentRef(ComponentRefType newComponentRef)
+ {
+ ((FeatureMap.Internal)getMixed()).set(ModelPackage.eINSTANCE.getDocumentRoot_ComponentRef(), newComponentRef);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageType getPackage()
+ {
+ return (PackageType)getMixed().get(ModelPackage.eINSTANCE.getDocumentRoot_Package(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPackage(PackageType newPackage, NotificationChain msgs)
+ {
+ return ((FeatureMap.Internal)getMixed()).basicAdd(ModelPackage.eINSTANCE.getDocumentRoot_Package(), newPackage, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPackage(PackageType newPackage)
+ {
+ ((FeatureMap.Internal)getMixed()).set(ModelPackage.eINSTANCE.getDocumentRoot_Package(), newPackage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PluginType getPlugin()
+ {
+ return (PluginType)getMixed().get(ModelPackage.eINSTANCE.getDocumentRoot_Plugin(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPlugin(PluginType newPlugin, NotificationChain msgs)
+ {
+ return ((FeatureMap.Internal)getMixed()).basicAdd(ModelPackage.eINSTANCE.getDocumentRoot_Plugin(), newPlugin, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPlugin(PluginType newPlugin)
+ {
+ ((FeatureMap.Internal)getMixed()).set(ModelPackage.eINSTANCE.getDocumentRoot_Plugin(), newPlugin);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypeType getType()
+ {
+ return (TypeType)getMixed().get(ModelPackage.eINSTANCE.getDocumentRoot_Type(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetType(TypeType newType, NotificationChain msgs)
+ {
+ return ((FeatureMap.Internal)getMixed()).basicAdd(ModelPackage.eINSTANCE.getDocumentRoot_Type(), newType, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(TypeType newType)
+ {
+ ((FeatureMap.Internal)getMixed()).set(ModelPackage.eINSTANCE.getDocumentRoot_Type(), newType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs)
+ {
+ if (featureID >= 0)
+ {
+ switch (eDerivedStructuralFeatureID(featureID, baseClass))
+ {
+ case ModelPackage.DOCUMENT_ROOT__MIXED:
+ return ((InternalEList)getMixed()).basicRemove(otherEnd, msgs);
+ case ModelPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ return ((InternalEList)getXMLNSPrefixMap()).basicRemove(otherEnd, msgs);
+ case ModelPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ return ((InternalEList)getXSISchemaLocation()).basicRemove(otherEnd, msgs);
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT:
+ return basicSetComponent(null, msgs);
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT_DEPENDS:
+ return basicSetComponentDepends(null, msgs);
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT_REF:
+ return basicSetComponentRef(null, msgs);
+ case ModelPackage.DOCUMENT_ROOT__PACKAGE:
+ return basicSetPackage(null, msgs);
+ case ModelPackage.DOCUMENT_ROOT__PLUGIN:
+ return basicSetPlugin(null, msgs);
+ case ModelPackage.DOCUMENT_ROOT__TYPE:
+ return basicSetType(null, msgs);
+ default:
+ return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+ }
+ }
+ return eBasicSetContainer(null, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.DOCUMENT_ROOT__MIXED:
+ return getMixed();
+ case ModelPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ return getXMLNSPrefixMap();
+ case ModelPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ return getXSISchemaLocation();
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT:
+ return getComponent();
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT_DEPENDS:
+ return getComponentDepends();
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT_REF:
+ return getComponentRef();
+ case ModelPackage.DOCUMENT_ROOT__PACKAGE:
+ return getPackage();
+ case ModelPackage.DOCUMENT_ROOT__PLUGIN:
+ return getPlugin();
+ case ModelPackage.DOCUMENT_ROOT__TYPE:
+ return getType();
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.DOCUMENT_ROOT__MIXED:
+ getMixed().clear();
+ getMixed().addAll((Collection)newValue);
+ return;
+ case ModelPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ getXMLNSPrefixMap().clear();
+ getXMLNSPrefixMap().addAll((Collection)newValue);
+ return;
+ case ModelPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ getXSISchemaLocation().clear();
+ getXSISchemaLocation().addAll((Collection)newValue);
+ return;
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT:
+ setComponent((ComponentType)newValue);
+ return;
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT_DEPENDS:
+ setComponentDepends((ComponentDependsType)newValue);
+ return;
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT_REF:
+ setComponentRef((ComponentRefType)newValue);
+ return;
+ case ModelPackage.DOCUMENT_ROOT__PACKAGE:
+ setPackage((PackageType)newValue);
+ return;
+ case ModelPackage.DOCUMENT_ROOT__PLUGIN:
+ setPlugin((PluginType)newValue);
+ return;
+ case ModelPackage.DOCUMENT_ROOT__TYPE:
+ setType((TypeType)newValue);
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.DOCUMENT_ROOT__MIXED:
+ getMixed().clear();
+ return;
+ case ModelPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ getXMLNSPrefixMap().clear();
+ return;
+ case ModelPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ getXSISchemaLocation().clear();
+ return;
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT:
+ setComponent((ComponentType)null);
+ return;
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT_DEPENDS:
+ setComponentDepends((ComponentDependsType)null);
+ return;
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT_REF:
+ setComponentRef((ComponentRefType)null);
+ return;
+ case ModelPackage.DOCUMENT_ROOT__PACKAGE:
+ setPackage((PackageType)null);
+ return;
+ case ModelPackage.DOCUMENT_ROOT__PLUGIN:
+ setPlugin((PluginType)null);
+ return;
+ case ModelPackage.DOCUMENT_ROOT__TYPE:
+ setType((TypeType)null);
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(EStructuralFeature eFeature)
+ {
+ switch (eDerivedStructuralFeatureID(eFeature))
+ {
+ case ModelPackage.DOCUMENT_ROOT__MIXED:
+ return mixed != null && !mixed.isEmpty();
+ case ModelPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ return xMLNSPrefixMap != null && !xMLNSPrefixMap.isEmpty();
+ case ModelPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ return xSISchemaLocation != null && !xSISchemaLocation.isEmpty();
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT:
+ return getComponent() != null;
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT_DEPENDS:
+ return getComponentDepends() != null;
+ case ModelPackage.DOCUMENT_ROOT__COMPONENT_REF:
+ return getComponentRef() != null;
+ case ModelPackage.DOCUMENT_ROOT__PACKAGE:
+ return getPackage() != null;
+ case ModelPackage.DOCUMENT_ROOT__PLUGIN:
+ return getPlugin() != null;
+ case ModelPackage.DOCUMENT_ROOT__TYPE:
+ return getType() != null;
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (mixed: ");
+ result.append(mixed);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DocumentRootImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ModelFactoryImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ModelFactoryImpl.java
new file mode 100644
index 0000000..dc5c327
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ModelFactoryImpl.java
@@ -0,0 +1,154 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ModelFactoryImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.wtp.releng.tools.component.model.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModelFactoryImpl extends EFactoryImpl implements ModelFactory
+{
+ /**
+ * Creates and instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case ModelPackage.COMPONENT_DEPENDS_TYPE: return createComponentDependsType();
+ case ModelPackage.COMPONENT_REF_TYPE: return createComponentRefType();
+ case ModelPackage.COMPONENT_TYPE: return createComponentType();
+ case ModelPackage.DOCUMENT_ROOT: return createDocumentRoot();
+ case ModelPackage.PACKAGE_TYPE: return createPackageType();
+ case ModelPackage.PLUGIN_TYPE: return createPluginType();
+ case ModelPackage.TYPE_TYPE: return createTypeType();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentDependsType createComponentDependsType()
+ {
+ ComponentDependsTypeImpl componentDependsType = new ComponentDependsTypeImpl();
+ return componentDependsType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentRefType createComponentRefType()
+ {
+ ComponentRefTypeImpl componentRefType = new ComponentRefTypeImpl();
+ return componentRefType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentType createComponentType()
+ {
+ ComponentTypeImpl componentType = new ComponentTypeImpl();
+ return componentType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DocumentRoot createDocumentRoot()
+ {
+ DocumentRootImpl documentRoot = new DocumentRootImpl();
+ return documentRoot;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageType createPackageType()
+ {
+ PackageTypeImpl packageType = new PackageTypeImpl();
+ return packageType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PluginType createPluginType()
+ {
+ PluginTypeImpl pluginType = new PluginTypeImpl();
+ return pluginType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypeType createTypeType()
+ {
+ TypeTypeImpl typeType = new TypeTypeImpl();
+ return typeType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelPackage getModelPackage()
+ {
+ return (ModelPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ public static ModelPackage getPackage()
+ {
+ return ModelPackage.eINSTANCE;
+ }
+
+} //ModelFactoryImpl
diff --git a/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ModelPackageImpl.java b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ModelPackageImpl.java
new file mode 100644
index 0000000..56fb0b0
--- /dev/null
+++ b/archive/working/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/model/impl/ModelPackageImpl.java
@@ -0,0 +1,945 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ModelPackageImpl.java,v 1.1 2005/01/25 21:28:36 ryman Exp $
+ */
+package org.eclipse.wtp.releng.tools.component.model.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.emf.ecore.xml.type.impl.XMLTypePackageImpl;
+
+import org.eclipse.wtp.releng.tools.component.model.ComponentDependsType;
+import org.eclipse.wtp.releng.tools.component.model.ComponentRefType;
+import org.eclipse.wtp.releng.tools.component.model.ComponentType;
+import org.eclipse.wtp.releng.tools.component.model.DocumentRoot;
+import org.eclipse.wtp.releng.tools.component.model.ModelFactory;
+import org.eclipse.wtp.releng.tools.component.model.ModelPackage;
+import org.eclipse.wtp.releng.tools.component.model.PackageType;
+import org.eclipse.wtp.releng.tools.component.model.PluginType;
+import org.eclipse.wtp.releng.tools.component.model.TypeType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModelPackageImpl extends EPackageImpl implements ModelPackage
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass componentDependsTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass componentRefTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass componentTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass documentRootEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass packageTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pluginTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass typeTypeEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.wtp.releng.tools.component.model.ModelPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ModelPackageImpl()
+ {
+ super(eNS_URI, ModelFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this
+ * model, and for any others upon which it depends. Simple
+ * dependencies are satisfied by calling this method on all
+ * dependent packages before doing anything else. This method drives
+ * initialization for interdependent packages directly, in parallel
+ * with this package, itself.
+ * <p>Of this package and its interdependencies, all packages which
+ * have not yet been registered by their URI values are first created
+ * and registered. The packages are then initialized in two steps:
+ * meta-model objects for all of the packages are created before any
+ * are initialized, since one package's meta-model objects may refer to
+ * those of another.
+ * <p>Invocation of this method will not affect any packages that have
+ * already been initialized.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ModelPackage init()
+ {
+ if (isInited) return (ModelPackage)EPackage.Registry.INSTANCE.getEPackage(ModelPackage.eNS_URI);
+
+ // Obtain or create and register package
+ ModelPackageImpl theModelPackage = (ModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof ModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new ModelPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ XMLTypePackageImpl.init();
+
+ // Create package meta-data objects
+ theModelPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theModelPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theModelPackage.freeze();
+
+ return theModelPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getComponentDependsType()
+ {
+ return componentDependsTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComponentDependsType_ComponentRef()
+ {
+ return (EReference)componentDependsTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getComponentDependsType_Unrestricted()
+ {
+ return (EAttribute)componentDependsTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getComponentRefType()
+ {
+ return componentRefTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getComponentRefType_Name()
+ {
+ return (EAttribute)componentRefTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getComponentType()
+ {
+ return componentTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComponentType_Plugin()
+ {
+ return (EReference)componentTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComponentType_Package()
+ {
+ return (EReference)componentTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComponentType_ComponentDepends()
+ {
+ return (EReference)componentTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getComponentType_Name()
+ {
+ return (EAttribute)componentTypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDocumentRoot()
+ {
+ return documentRootEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDocumentRoot_Mixed()
+ {
+ return (EAttribute)documentRootEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_XMLNSPrefixMap()
+ {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_XSISchemaLocation()
+ {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_Component()
+ {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_ComponentDepends()
+ {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_ComponentRef()
+ {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_Package()
+ {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_Plugin()
+ {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_Type()
+ {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPackageType()
+ {
+ return packageTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPackageType_Type()
+ {
+ return (EReference)packageTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPackageType_Api()
+ {
+ return (EAttribute)packageTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPackageType_Exclusive()
+ {
+ return (EAttribute)packageTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPackageType_Name()
+ {
+ return (EAttribute)packageTypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPluginType()
+ {
+ return pluginTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPluginType_Fragment()
+ {
+ return (EAttribute)pluginTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPluginType_Id()
+ {
+ return (EAttribute)pluginTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTypeType()
+ {
+ return typeTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTypeType_Implement()
+ {
+ return (EAttribute)typeTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTypeType_Instantiate()
+ {
+ return (EAttribute)typeTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTypeType_Name()
+ {
+ return (EAttribute)typeTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTypeType_Reference()
+ {
+ return (EAttribute)typeTypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTypeType_Subclass()
+ {
+ return (EAttribute)typeTypeEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelFactory getModelFactory()
+ {
+ return (ModelFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents()
+ {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ componentDependsTypeEClass = createEClass(COMPONENT_DEPENDS_TYPE);
+ createEReference(componentDependsTypeEClass, COMPONENT_DEPENDS_TYPE__COMPONENT_REF);
+ createEAttribute(componentDependsTypeEClass, COMPONENT_DEPENDS_TYPE__UNRESTRICTED);
+
+ componentRefTypeEClass = createEClass(COMPONENT_REF_TYPE);
+ createEAttribute(componentRefTypeEClass, COMPONENT_REF_TYPE__NAME);
+
+ componentTypeEClass = createEClass(COMPONENT_TYPE);
+ createEReference(componentTypeEClass, COMPONENT_TYPE__PLUGIN);
+ createEReference(componentTypeEClass, COMPONENT_TYPE__PACKAGE);
+ createEReference(componentTypeEClass, COMPONENT_TYPE__COMPONENT_DEPENDS);
+ createEAttribute(componentTypeEClass, COMPONENT_TYPE__NAME);
+
+ documentRootEClass = createEClass(DOCUMENT_ROOT);
+ createEAttribute(documentRootEClass, DOCUMENT_ROOT__MIXED);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__COMPONENT);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__COMPONENT_DEPENDS);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__COMPONENT_REF);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__PACKAGE);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__PLUGIN);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__TYPE);
+
+ packageTypeEClass = createEClass(PACKAGE_TYPE);
+ createEReference(packageTypeEClass, PACKAGE_TYPE__TYPE);
+ createEAttribute(packageTypeEClass, PACKAGE_TYPE__API);
+ createEAttribute(packageTypeEClass, PACKAGE_TYPE__EXCLUSIVE);
+ createEAttribute(packageTypeEClass, PACKAGE_TYPE__NAME);
+
+ pluginTypeEClass = createEClass(PLUGIN_TYPE);
+ createEAttribute(pluginTypeEClass, PLUGIN_TYPE__FRAGMENT);
+ createEAttribute(pluginTypeEClass, PLUGIN_TYPE__ID);
+
+ typeTypeEClass = createEClass(TYPE_TYPE);
+ createEAttribute(typeTypeEClass, TYPE_TYPE__IMPLEMENT);
+ createEAttribute(typeTypeEClass, TYPE_TYPE__INSTANTIATE);
+ createEAttribute(typeTypeEClass, TYPE_TYPE__NAME);
+ createEAttribute(typeTypeEClass, TYPE_TYPE__REFERENCE);
+ createEAttribute(typeTypeEClass, TYPE_TYPE__SUBCLASS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents()
+ {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ XMLTypePackageImpl theXMLTypePackage = (XMLTypePackageImpl)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
+
+ // Add supertypes to classes
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(componentDependsTypeEClass, ComponentDependsType.class, "ComponentDependsType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getComponentDependsType_ComponentRef(), this.getComponentRefType(), null, "componentRef", null, 0, -1, ComponentDependsType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getComponentDependsType_Unrestricted(), theXMLTypePackage.getBoolean(), "unrestricted", "false", 0, 1, ComponentDependsType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(componentRefTypeEClass, ComponentRefType.class, "ComponentRefType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getComponentRefType_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ComponentRefType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(componentTypeEClass, ComponentType.class, "ComponentType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getComponentType_Plugin(), this.getPluginType(), null, "plugin", null, 0, -1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getComponentType_Package(), this.getPackageType(), null, "package", null, 0, -1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getComponentType_ComponentDepends(), this.getComponentDependsType(), null, "componentDepends", null, 1, 1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getComponentType_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDocumentRoot_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, null, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_XMLNSPrefixMap(), ecorePackage.getEStringToStringMapEntry(), null, "xMLNSPrefixMap", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_XSISchemaLocation(), ecorePackage.getEStringToStringMapEntry(), null, "xSISchemaLocation", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_Component(), this.getComponentType(), null, "component", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_ComponentDepends(), this.getComponentDependsType(), null, "componentDepends", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_ComponentRef(), this.getComponentRefType(), null, "componentRef", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_Package(), this.getPackageType(), null, "package", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_Plugin(), this.getPluginType(), null, "plugin", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_Type(), this.getTypeType(), null, "type", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+
+ initEClass(packageTypeEClass, PackageType.class, "PackageType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPackageType_Type(), this.getTypeType(), null, "type", null, 0, -1, PackageType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPackageType_Api(), theXMLTypePackage.getBoolean(), "api", "true", 0, 1, PackageType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPackageType_Exclusive(), theXMLTypePackage.getBoolean(), "exclusive", "true", 0, 1, PackageType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPackageType_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, PackageType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pluginTypeEClass, PluginType.class, "PluginType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPluginType_Fragment(), theXMLTypePackage.getBoolean(), "fragment", "false", 0, 1, PluginType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPluginType_Id(), theXMLTypePackage.getString(), "id", null, 1, 1, PluginType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(typeTypeEClass, TypeType.class, "TypeType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getTypeType_Implement(), theXMLTypePackage.getBoolean(), "implement", "true", 0, 1, TypeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTypeType_Instantiate(), theXMLTypePackage.getBoolean(), "instantiate", "true", 0, 1, TypeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);