[327039] Adding implementation of UML 2.4 primitive types.
diff --git a/plugins/org.eclipse.uml2.types/.classpath b/plugins/org.eclipse.uml2.types/.classpath
new file mode 100644
index 0000000..304e861
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/.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/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.uml2.types/.project b/plugins/org.eclipse.uml2.types/.project
new file mode 100644
index 0000000..8fcca52
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.uml2.types</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/plugins/org.eclipse.uml2.types/META-INF/MANIFEST.MF b/plugins/org.eclipse.uml2.types/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..9b62887
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.uml2.types;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.uml2.types.TypesPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.uml2.types,
+ org.eclipse.uml2.types.internal.impl;x-internal:=true
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.uml2.common;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.uml2.types/about.html b/plugins/org.eclipse.uml2.types/about.html
new file mode 100755
index 0000000..598b368
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>May 12, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.types/build.properties b/plugins/org.eclipse.uml2.types/build.properties
new file mode 100644
index 0000000..7147a64
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/build.properties
@@ -0,0 +1,22 @@
+# Copyright (c) 2011 CEA and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA - initial API and implementation
+#
+source.. = src/
+output.. = bin/
+bin.includes = about.html,\
+ plugin.*,\
+ .,\
+ model/*.ecore,\
+ model/*.genmodel,\
+ META-INF/
+src.includes = about.html,\
+ model/*.uml
+exclude.. = **/doc-files/**
+javacSource = 1.5
+javacTarget = 1.5
diff --git a/plugins/org.eclipse.uml2.types/model/Types.ecore b/plugins/org.eclipse.uml2.types/model/Types.ecore
new file mode 100644
index 0000000..4d0a7ac
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/model/Types.ecore
@@ -0,0 +1,31 @@
+<?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="types"
+ nsURI="http://www.eclipse.org/uml2/4.0.0/Types" nsPrefix="types">
+ <eClassifiers xsi:type="ecore:EDataType" name="Boolean" instanceClassName="boolean">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A Boolean type is used for logical expression, consisting of the predefined values true and false."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="Integer" instanceClassName="int">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An integer is a primitive type representing integer values."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="Real" instanceClassName="double">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A real is a primitive type representing the mathematical concept of real."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="String" instanceClassName="java.lang.String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A string is a sequence of characters in some suitable character set used to display information about the model. Character sets may include non-Roman alphabets and characters."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="UnlimitedNatural" instanceClassName="int">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An unlimited natural is a primitive type representing unlimited natural values."/>
+ </eAnnotations>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.uml2.types/model/Types.genmodel b/plugins/org.eclipse.uml2.types/model/Types.genmodel
new file mode 100644
index 0000000..5184792
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/model/Types.genmodel
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel" modelDirectory="/org.eclipse.uml2.types/src"
+ editDirectory="" editorDirectory="" modelPluginID="org.eclipse.uml2.types" templateDirectory="/org.eclipse.uml2/templates"
+ runtimeJar="true" dynamicTemplates="true" modelName="Types" modelPluginClass="org.eclipse.uml2.types.TypesPlugin"
+ nonNLSMarkers="true" codeFormatting="true" testsDirectory="" importerID="org.eclipse.uml2.uml.ecore.importer"
+ complianceLevel="5.0" copyrightFields="false" invariantPrefix="validate">
+ <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
+ <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
+ <details key="UNION_PROPERTIES" value="PROCESS"/>
+ <details key="DUPLICATE_FEATURES" value="PROCESS"/>
+ <details key="SUBSETTING_PROPERTIES" value="PROCESS"/>
+ <details key="COMMENTS" value="PROCESS"/>
+ <details key="DUPLICATE_FEATURE_INHERITANCE" value="PROCESS"/>
+ <details key="DUPLICATE_OPERATIONS" value="PROCESS"/>
+ <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
+ <details key="REDEFINING_PROPERTIES" value="PROCESS"/>
+ <details key="ANNOTATION_DETAILS" value="PROCESS"/>
+ <details key="DUPLICATE_OPERATION_INHERITANCE" value="PROCESS"/>
+ <details key="REDEFINING_OPERATIONS" value="PROCESS"/>
+ <details key="DERIVED_FEATURES" value="PROCESS"/>
+ <details key="OPERATION_BODIES" value="IGNORE"/>
+ <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
+ <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+ </genAnnotations>
+ <foreignModel>Types.merged.uml</foreignModel>
+ <genPackages xsi:type="genmodel:GenPackage" prefix="Types" basePackage="org.eclipse.uml2"
+ disposableProviderFactory="true" classPackageSuffix="internal.impl" generateExampleClass="false"
+ ecorePackage="Types.ecore#/">
+ <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="Types.ecore#//Boolean"/>
+ <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="Types.ecore#//Integer"/>
+ <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="Types.ecore#//Real"/>
+ <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="Types.ecore#//String"/>
+ <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="Types.ecore#//UnlimitedNatural"/>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.uml2.types/model/Types.merged.uml b/plugins/org.eclipse.uml2.types/model/Types.merged.uml
new file mode 100644
index 0000000..2d3df97
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/model/Types.merged.uml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+ <uml:Model xmi:id="_ioJEwKzrEeCNdMZQmxuX_Q" name="Types">
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_QxrSIKzuEeC4yJrLbEUOVg" name="Boolean">
+ <ownedComment xmi:id="_36nLcMlIEeCA2KY6CawwCg" annotatedElement="_QxrSIKzuEeC4yJrLbEUOVg">
+ <body>A Boolean type is used for logical expression, consisting of the predefined values true and false.</body>
+ </ownedComment>
+ </packagedElement>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_T5WNsKzuEeC4yJrLbEUOVg" name="Integer">
+ <ownedComment xmi:id="_37PdkMlIEeCA2KY6CawwCg" annotatedElement="_T5WNsKzuEeC4yJrLbEUOVg">
+ <body>An integer is a primitive type representing integer values.</body>
+ </ownedComment>
+ </packagedElement>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_Vu7PQKzuEeC4yJrLbEUOVg" name="Real">
+ <ownedComment xmi:id="_37TvAMlIEeCA2KY6CawwCg" annotatedElement="_Vu7PQKzuEeC4yJrLbEUOVg">
+ <body>A real is a primitive type representing the mathematical concept of real.</body>
+ </ownedComment>
+ </packagedElement>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_XSfTwKzuEeC4yJrLbEUOVg" name="String">
+ <ownedComment xmi:id="_37UWEMlIEeCA2KY6CawwCg" annotatedElement="_XSfTwKzuEeC4yJrLbEUOVg">
+ <body>A string is a sequence of characters in some suitable character set used to display information about the model. Character sets may include non-Roman alphabets and characters.</body>
+ </ownedComment>
+ </packagedElement>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_ZX79UKzuEeC4yJrLbEUOVg" name="UnlimitedNatural">
+ <ownedComment xmi:id="_37U9IMlIEeCA2KY6CawwCg" annotatedElement="_ZX79UKzuEeC4yJrLbEUOVg">
+ <body>An unlimited natural is a primitive type representing unlimited natural values.</body>
+ </ownedComment>
+ </packagedElement>
+ <profileApplication xmi:id="_cR_ToKzuEeC4yJrLbEUOVg">
+ <eAnnotations xmi:id="_cSCW8KzuEeC4yJrLbEUOVg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Model>
+ <Ecore:EPackage xmi:id="_eHAUgKzuEeC4yJrLbEUOVg" base_Package="_ioJEwKzrEeCNdMZQmxuX_Q" packageName="types" nsPrefix="types" nsURI="http://www.eclipse.org/uml2/4.0.0/Types" basePackage="org.eclipse.uml2" prefix="Types"/>
+ <Ecore:EDataType xmi:id="_unENgKzuEeC4yJrLbEUOVg" instanceClassName="boolean" base_PrimitiveType="_QxrSIKzuEeC4yJrLbEUOVg"/>
+ <Ecore:EDataType xmi:id="_wSOHwKzuEeC4yJrLbEUOVg" instanceClassName="int" base_PrimitiveType="_T5WNsKzuEeC4yJrLbEUOVg"/>
+ <Ecore:EDataType xmi:id="_yCpjkKzuEeC4yJrLbEUOVg" instanceClassName="double" base_PrimitiveType="_Vu7PQKzuEeC4yJrLbEUOVg"/>
+ <Ecore:EDataType xmi:id="_z95IQKzuEeC4yJrLbEUOVg" instanceClassName="java.lang.String" base_PrimitiveType="_XSfTwKzuEeC4yJrLbEUOVg"/>
+ <Ecore:EDataType xmi:id="_2fJkEKzuEeC4yJrLbEUOVg" instanceClassName="int" base_PrimitiveType="_ZX79UKzuEeC4yJrLbEUOVg"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.uml2.types/model/Types.uml b/plugins/org.eclipse.uml2.types/model/Types.uml
new file mode 100644
index 0000000..14bd341
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/model/Types.uml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+ <uml:Model xmi:id="_ioJEwKzrEeCNdMZQmxuX_Q" name="Types">
+ <packageMerge xmi:id="_0D370KzrEeCNdMZQmxuX_Q">
+ <mergedPackage href="../../org.eclipse.uml2/model/PrimitiveTypes.xmi#_0"/>
+ </packageMerge>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_QxrSIKzuEeC4yJrLbEUOVg" name="Boolean"/>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_T5WNsKzuEeC4yJrLbEUOVg" name="Integer"/>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_Vu7PQKzuEeC4yJrLbEUOVg" name="Real"/>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_XSfTwKzuEeC4yJrLbEUOVg" name="String"/>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_ZX79UKzuEeC4yJrLbEUOVg" name="UnlimitedNatural"/>
+ <profileApplication xmi:id="_cR_ToKzuEeC4yJrLbEUOVg">
+ <eAnnotations xmi:id="_cSCW8KzuEeC4yJrLbEUOVg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Model>
+ <Ecore:EPackage xmi:id="_eHAUgKzuEeC4yJrLbEUOVg" base_Package="_ioJEwKzrEeCNdMZQmxuX_Q" packageName="types" nsPrefix="types" nsURI="http://www.eclipse.org/uml2/4.0.0/Types" basePackage="org.eclipse.uml2" prefix="Types"/>
+ <Ecore:EDataType xmi:id="_unENgKzuEeC4yJrLbEUOVg" instanceClassName="boolean" base_PrimitiveType="_QxrSIKzuEeC4yJrLbEUOVg"/>
+ <Ecore:EDataType xmi:id="_wSOHwKzuEeC4yJrLbEUOVg" instanceClassName="int" base_PrimitiveType="_T5WNsKzuEeC4yJrLbEUOVg"/>
+ <Ecore:EDataType xmi:id="_yCpjkKzuEeC4yJrLbEUOVg" instanceClassName="double" base_PrimitiveType="_Vu7PQKzuEeC4yJrLbEUOVg"/>
+ <Ecore:EDataType xmi:id="_z95IQKzuEeC4yJrLbEUOVg" instanceClassName="java.lang.String" base_PrimitiveType="_XSfTwKzuEeC4yJrLbEUOVg"/>
+ <Ecore:EDataType xmi:id="_2fJkEKzuEeC4yJrLbEUOVg" instanceClassName="int" base_PrimitiveType="_ZX79UKzuEeC4yJrLbEUOVg"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.uml2.types/plugin.properties b/plugins/org.eclipse.uml2.types/plugin.properties
new file mode 100644
index 0000000..85d447f
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/plugin.properties
@@ -0,0 +1,14 @@
+# Copyright (c) 2011 CEA and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+pluginName = UML2 Types Model
+providerName = Eclipse Modeling Project
diff --git a/plugins/org.eclipse.uml2.types/plugin.xml b/plugins/org.eclipse.uml2.types/plugin.xml
new file mode 100644
index 0000000..e66533d
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/plugin.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2011 CEA and others.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ CEA - initial API and implementation
+
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/uml2/4.0.0/Types"
+ class="org.eclipse.uml2.types.TypesPackage"
+ genModel="model/Types.genmodel"/>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/TypesFactory.java b/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/TypesFactory.java
new file mode 100644
index 0000000..edeecdd
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/TypesFactory.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2011 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA - initial API and implementation
+ *
+ */
+package org.eclipse.uml2.types;
+
+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.uml2.types.TypesPackage
+ * @generated
+ */
+public interface TypesFactory
+ extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ TypesFactory eINSTANCE = org.eclipse.uml2.types.internal.impl.TypesFactoryImpl
+ .init();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ TypesPackage getTypesPackage();
+
+} //TypesFactory
\ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/TypesPackage.java b/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/TypesPackage.java
new file mode 100644
index 0000000..b0b915e
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/TypesPackage.java
@@ -0,0 +1,236 @@
+/*
+ * Copyright (c) 2011 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA - initial API and implementation
+ *
+ */
+package org.eclipse.uml2.types;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- 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.uml2.types.TypesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface TypesPackage
+ extends EPackage {
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "types"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/uml2/4.0.0/Types"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "types"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ TypesPackage eINSTANCE = org.eclipse.uml2.types.internal.impl.TypesPackageImpl
+ .init();
+
+ /**
+ * The meta object id for the '<em>Boolean</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.uml2.types.internal.impl.TypesPackageImpl#getBoolean()
+ * @generated
+ */
+ int BOOLEAN = 0;
+
+ /**
+ * The meta object id for the '<em>Integer</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.uml2.types.internal.impl.TypesPackageImpl#getInteger()
+ * @generated
+ */
+ int INTEGER = 1;
+
+ /**
+ * The meta object id for the '<em>Real</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.uml2.types.internal.impl.TypesPackageImpl#getReal()
+ * @generated
+ */
+ int REAL = 2;
+
+ /**
+ * The meta object id for the '<em>String</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.uml2.types.internal.impl.TypesPackageImpl#getString()
+ * @generated
+ */
+ int STRING = 3;
+
+ /**
+ * The meta object id for the '<em>Unlimited Natural</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.uml2.types.internal.impl.TypesPackageImpl#getUnlimitedNatural()
+ * @generated
+ */
+ int UNLIMITED_NATURAL = 4;
+
+ /**
+ * Returns the meta object for data type '<em>Boolean</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Boolean</em>'.
+ * @model instanceClass="boolean"
+ * @generated
+ */
+ EDataType getBoolean();
+
+ /**
+ * Returns the meta object for data type '<em>Integer</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Integer</em>'.
+ * @model instanceClass="int"
+ * @generated
+ */
+ EDataType getInteger();
+
+ /**
+ * Returns the meta object for data type '<em>Real</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Real</em>'.
+ * @model instanceClass="double"
+ * @generated
+ */
+ EDataType getReal();
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>String</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>String</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * @generated
+ */
+ EDataType getString();
+
+ /**
+ * Returns the meta object for data type '<em>Unlimited Natural</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Unlimited Natural</em>'.
+ * @model instanceClass="int"
+ * @generated
+ */
+ EDataType getUnlimitedNatural();
+
+ /**
+ * 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
+ */
+ TypesFactory getTypesFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that 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 -->
+ * @generated
+ */
+ interface Literals {
+
+ /**
+ * The meta object literal for the '<em>Boolean</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.uml2.types.internal.impl.TypesPackageImpl#getBoolean()
+ * @generated
+ */
+ EDataType BOOLEAN = eINSTANCE.getBoolean();
+
+ /**
+ * The meta object literal for the '<em>Integer</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.uml2.types.internal.impl.TypesPackageImpl#getInteger()
+ * @generated
+ */
+ EDataType INTEGER = eINSTANCE.getInteger();
+
+ /**
+ * The meta object literal for the '<em>Real</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.uml2.types.internal.impl.TypesPackageImpl#getReal()
+ * @generated
+ */
+ EDataType REAL = eINSTANCE.getReal();
+
+ /**
+ * The meta object literal for the '<em>String</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.uml2.types.internal.impl.TypesPackageImpl#getString()
+ * @generated
+ */
+ EDataType STRING = eINSTANCE.getString();
+
+ /**
+ * The meta object literal for the '<em>Unlimited Natural</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.uml2.types.internal.impl.TypesPackageImpl#getUnlimitedNatural()
+ * @generated
+ */
+ EDataType UNLIMITED_NATURAL = eINSTANCE.getUnlimitedNatural();
+
+ }
+
+} //TypesPackage
\ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/TypesPlugin.java b/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/TypesPlugin.java
new file mode 100644
index 0000000..540d7b1
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/TypesPlugin.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2011 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA - initial API and implementation
+ *
+ */
+package org.eclipse.uml2.types;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Types model plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class TypesPlugin
+ extends EMFPlugin {
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final TypesPlugin INSTANCE = new TypesPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypesPlugin() {
+ super(new ResourceLocator[]{});
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation
+ extends EclipsePlugin {
+
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/internal/impl/TypesFactoryImpl.java b/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/internal/impl/TypesFactoryImpl.java
new file mode 100644
index 0000000..dd0bb84
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/internal/impl/TypesFactoryImpl.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright (c) 2011 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA - initial API and implementation
+ *
+ */
+package org.eclipse.uml2.types.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.uml2.types.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TypesFactoryImpl
+ extends EFactoryImpl
+ implements TypesFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static TypesFactory init() {
+ try {
+ TypesFactory theTypesFactory = (TypesFactory) EPackage.Registry.INSTANCE
+ .getEFactory("http://www.eclipse.org/uml2/4.0.0/Types"); //$NON-NLS-1$
+ if (theTypesFactory != null) {
+ return theTypesFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new TypesFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypesFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ default :
+ throw new IllegalArgumentException(
+ "The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case TypesPackage.BOOLEAN :
+ return createBooleanFromString(eDataType, initialValue);
+ case TypesPackage.INTEGER :
+ return createIntegerFromString(eDataType, initialValue);
+ case TypesPackage.REAL :
+ return createRealFromString(eDataType, initialValue);
+ case TypesPackage.STRING :
+ return createStringFromString(eDataType, initialValue);
+ case TypesPackage.UNLIMITED_NATURAL :
+ return createUnlimitedNaturalFromString(eDataType, initialValue);
+ default :
+ throw new IllegalArgumentException(
+ "The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case TypesPackage.BOOLEAN :
+ return convertBooleanToString(eDataType, instanceValue);
+ case TypesPackage.INTEGER :
+ return convertIntegerToString(eDataType, instanceValue);
+ case TypesPackage.REAL :
+ return convertRealToString(eDataType, instanceValue);
+ case TypesPackage.STRING :
+ return convertStringToString(eDataType, instanceValue);
+ case TypesPackage.UNLIMITED_NATURAL :
+ return convertUnlimitedNaturalToString(eDataType, instanceValue);
+ default :
+ throw new IllegalArgumentException(
+ "The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Boolean createBooleanFromString(EDataType eDataType,
+ String initialValue) {
+ return initialValue == null
+ ? null
+ : Boolean.valueOf(initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String convertBooleanToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Integer createIntegerFromString(EDataType eDataType,
+ String initialValue) {
+ return initialValue == null
+ ? null
+ : Integer.valueOf(initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String convertIntegerToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Double createRealFromString(EDataType eDataType, String initialValue) {
+ return initialValue == null
+ ? null
+ : Double.valueOf(initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String convertRealToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String createStringFromString(EDataType eDataType,
+ String initialValue) {
+ return initialValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String convertStringToString(EDataType eDataType,
+ Object instanceValue) {
+ return (String) instanceValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Integer createUnlimitedNaturalFromString(EDataType eDataType,
+ String initialValue) {
+ return initialValue == null
+ ? null
+ : ("*".equals(initialValue) //$NON-NLS-1$
+ ? new Integer(-1)
+ : Integer.valueOf(initialValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String convertUnlimitedNaturalToString(EDataType eDataType,
+ Object instanceValue) {
+ return instanceValue == null
+ ? null
+ : (((Integer) instanceValue).intValue() == -1
+ ? "*" //$NON-NLS-1$
+ : instanceValue.toString());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypesPackage getTypesPackage() {
+ return (TypesPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static TypesPackage getPackage() {
+ return TypesPackage.eINSTANCE;
+ }
+
+} //TypesFactoryImpl
\ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/internal/impl/TypesPackageImpl.java b/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/internal/impl/TypesPackageImpl.java
new file mode 100644
index 0000000..efbb628
--- /dev/null
+++ b/plugins/org.eclipse.uml2.types/src/org/eclipse/uml2/types/internal/impl/TypesPackageImpl.java
@@ -0,0 +1,251 @@
+/*
+ * Copyright (c) 2011 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA - initial API and implementation
+ *
+ */
+package org.eclipse.uml2.types.internal.impl;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.uml2.types.TypesFactory;
+import org.eclipse.uml2.types.TypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TypesPackageImpl
+ extends EPackageImpl
+ implements TypesPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType booleanEDataType = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType integerEDataType = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType realEDataType = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType stringEDataType = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType unlimitedNaturalEDataType = 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.uml2.types.TypesPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private TypesPackageImpl() {
+ super(eNS_URI, TypesFactory.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.
+ *
+ * <p>This method is used to initialize {@link TypesPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static TypesPackage init() {
+ if (isInited)
+ return (TypesPackage) EPackage.Registry.INSTANCE
+ .getEPackage(TypesPackage.eNS_URI);
+
+ // Obtain or create and register package
+ TypesPackageImpl theTypesPackage = (TypesPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof TypesPackageImpl
+ ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new TypesPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theTypesPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(TypesPackage.eNS_URI, theTypesPackage);
+ return theTypesPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getBoolean() {
+ return booleanEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getInteger() {
+ return integerEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getReal() {
+ return realEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getString() {
+ return stringEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getUnlimitedNatural() {
+ return unlimitedNaturalEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypesFactory getTypesFactory() {
+ return (TypesFactory) 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 data types
+ booleanEDataType = createEDataType(BOOLEAN);
+ integerEDataType = createEDataType(INTEGER);
+ realEDataType = createEDataType(REAL);
+ stringEDataType = createEDataType(STRING);
+ unlimitedNaturalEDataType = createEDataType(UNLIMITED_NATURAL);
+ }
+
+ /**
+ * <!-- 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);
+
+ // Initialize data types
+ initEDataType(booleanEDataType, boolean.class,
+ "Boolean", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEDataType(integerEDataType, int.class,
+ "Integer", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEDataType(realEDataType, double.class,
+ "Real", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEDataType(stringEDataType, String.class,
+ "String", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEDataType(unlimitedNaturalEDataType, int.class,
+ "UnlimitedNatural", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //TypesPackageImpl
\ No newline at end of file