<?xml version="1.0" encoding="UTF-8" ?>
<!--
  This is used to map the model types to Java types
  for the generated code.
-->
<mappings name="Java">
    <mapping>
        <from>package</from>
        <to/>
    </mapping>
    <mapping>
        <from>concurrent</from>
        <to/>
    </mapping>
    <mapping>
        <from>guarded</from>
        <to>synchronized</to>
    </mapping>
    <mapping>
        <from>sequential</from>
        <to/>
    </mapping>
    <mapping>
        <from>File</from>
        <from>PrimitiveTypes::File</from>
        <from>datatype::File</from>
        <to>java.io.File</to>
    </mapping>
    <mapping>
        <from>String</from>
        <from>UML2::String</from>
        <from>UMLTypes::String</from>
        <from>UMLPrimitiveTypes::String</from>
        <from>PrimitiveTypes::String</from>
        <from>datatype::String</from>
        <from>XSDDatatypes::string</from>
        <from>RoseJavaDatatypes::java::lang::String</from>
        <to>java.lang.String</to>
    </mapping>
    <mapping>
        <from>Time</from>
        <from>Date</from>
        <from>DateTime</from>
        <from>PrimitiveTypes::Time</from>
        <from>PrimitiveTypes::Date</from>
        <from>PrimitiveTypes::DateTime</from>
        <from>datatype::Time</from>
        <from>datatype::Date</from>
        <from>datatype::DateTime</from>
        <from>datatypes::date</from>
        <from>XSDDatatypes::date</from>
        <from>XSDDatatypes::time</from>
        <from>XSDDatatypes::dateTime</from>
        <from>RoseAnalysisDatatypes::Date</from>
        <from>RoseJavaDatatypes::java::sql::Date</from>
        <from>RoseJavaDatatypes::java::sql::Time</from>
        <to>java.util.Date</to>
    </mapping>
    <!-- Timestamp contains nanoseconds, required by some database implementations. Use for persistent attributes -->
    <mapping>
        <from>Timestamp</from>
        <from>PrimitiveTypes::Timestamp</from>
        <from>datatype::Timestamp</from>
        <from>RoseJavaDatatypes::java::sql::Timestamp</from>
        <to>java.sql.Timestamp</to>
    </mapping>
    <mapping>
        <from>Java::char</from>
        <from>UML Standard Profile::char</from>
        <from>PrimitiveTypes::char</from>
        <from>datatype::char</from>
        <from>datatypes::char</from>
        <from>RoseCppDatatypes::char</from>
        <to>char</to>
    </mapping>
    <mapping>
        <from>Character</from>
        <from>PrimitiveTypes::Character</from>
        <from>datatype::Character</from>
        <from>RoseJavaDatatypes::java::lang::Character</from>
        <to>java.lang.Character</to>
    </mapping>
    <mapping>
        <from>Java::byte</from>
        <from>UML Standard Profile::byte</from>
        <from>PrimitiveTypes::byte</from>
        <from>datatype::byte</from>
        <from>datatypes::byte</from>
        <from>XSDDatatypes::byte</from>
        <from>RoseCppDatatypes::byte</from>
        <to>byte</to>
    </mapping>
    <mapping>
        <from>Byte</from>
        <from>PrimitiveTypes::Byte</from>
        <from>datatype::Byte</from>
        <from>RoseAnalysisDatatypes::Byte</from>
        <from>RoseJavaDatatypes::java::lang::Byte</from>
        <to>java.lang.Byte</to>
    </mapping>
    <mapping>
        <from>Java::short</from>
        <from>UML Standard Profile::short</from>
        <from>PrimitiveTypes::short</from>
        <from>datatype::short</from>
        <from>datatypes::short</from>
        <from>XSDDatatypes::short</from>
        <from>RoseCppDatatypes::short</from>
        <to>short</to>
    </mapping>
    <mapping>
        <from>Short</from>
        <from>PrimitiveTypes::Short</from>
        <from>datatype::Short</from>
        <from>RoseJavaDatatypes::java::lang::Short</from>
        <to>java.lang.Short</to>
    </mapping>
    <mapping>
        <from>Java::int</from>
        <from>UML Standard Profile::int</from>
        <from>PrimitiveTypes::int</from>
        <from>datatype::int</from>
        <from>datatypes::int</from>
        <from>XSDDatatypes::int</from>
        <from>RoseCppDatatypes::int</from>
        <to>int</to>
    </mapping>
    <mapping>
        <from>Integer</from>
        <from>UML2::Integer</from>
        <from>UMLPrimitiveTypes::Integer</from>
        <from>UML Standard Profile::Integer</from>
        <from>PrimitiveTypes::Integer</from>
        <from>datatype::Integer</from>
        <from>XSDDatatypes::integer</from>
        <from>RoseJavaDatatypes::java::lang::Integer</from>
        <to>java.lang.Integer</to>
    </mapping>
    <mapping>
        <from>Java::long</from>
        <from>UML Standard Profile::long</from>
        <from>PrimitiveTypes::long</from>
        <from>datatype::long</from>
        <from>datatypes::long</from>
        <from>XSDDatatypes::long</from>
        <from>RoseCppDatatypes::long</from>
        <to>long</to>
    </mapping>
    <mapping>
        <from>Long</from>
        <from>UnlimitedNatural</from>
        <from>UML2::UnlimitedNatural</from>
        <from>UMLPrimitiveTypes::UnlimitedNatural</from>
        <from>PrimitiveTypes::Long</from>
        <from>PrimitiveTypes::UnlimitedNatural</from>
        <from>datatype::Long</from>
        <from>RoseAnalysisDatatypes::Long</from>
        <to>java.lang.Long</to>
    </mapping>
    <mapping>
        <from>Java::float</from>
        <from>UML Standard Profile::float</from>
        <from>PrimitiveTypes::float</from>
        <from>datatype::float</from>
        <from>datatypes::float</from>
        <from>XSDDatatypes::float</from>
        <from>RoseCppDatatypes::float</from>
        <to>float</to>
    </mapping>
    <mapping>
        <from>Float</from>
        <from>PrimitiveTypes::Float</from>
        <from>datatype::Float</from>
        <from>RoseJavaDatatypes::java::lang::Float</from>
        <to>java.lang.Float</to>
    </mapping>
    <mapping>
        <from>Java::double</from>
        <from>UML Standard Profile::double</from>
        <from>PrimitiveTypes::double</from>
        <from>datatype::double</from>
        <from>datatypes::double</from>
        <to>double</to>
    </mapping>
    <mapping>
        <from>Double</from>
        <from>PrimitiveTypes::Double</from>
        <from>datatype::Double</from>
        <to>java.lang.Double</to>
    </mapping>
    <mapping>
        <from>BigInteger</from>
        <from>PrimitiveTypes::BigInteger</from>
        <from>datatype::BigInteger</from>
        <from>RoseJavaDatatypes::java::math::BigInteger</from>
        <to>java.math.BigInteger</to>
    </mapping>
    <mapping>
        <from>BigDecimal</from>
        <from>decimal</from>
        <from>Decimal</from>
        <from>money</from>
        <from>Money</from>
        <from>datatype::BigDecimal</from>
        <from>datatype::Decimal</from>
        <from>datatype::money</from>
        <from>datatype::Money</from>
        <from>PrimitiveTypes::BigDecimal</from>
        <from>PrimitiveTypes::decimal</from>
        <from>PrimitiveTypes::Decimal</from>
        <from>PrimitiveTypes::money</from>
        <from>PrimitiveTypes::Money</from>
        <from>RoseJavaDatatypes::java::math::BigDecimal</from>
        <from>XSDDatatypes::decimal</from>
        <to>java.math.BigDecimal</to>
    </mapping>
    <mapping>
        <from>Boolean</from>
        <from>UML2::Boolean</from>
        <from>UMLPrimitiveTypes::Boolean</from>
        <from>PrimitiveTypes::Boolean</from>
        <from>datatype::Boolean</from>
        <from>RoseJavaDatatypes::java::lang::Boolean</from>
        <to>java.lang.Boolean</to>
    </mapping>
    <mapping>
        <from>Java::boolean</from>
        <from>UML Standard Profile::boolean</from>
        <from>PrimitiveTypes::boolean</from>
        <from>datatype::boolean</from>
        <from>datatypes::boolean</from>
        <from>XSDDatatypes::boolean</from>
        <to>boolean</to>
    </mapping>
    <mapping>
        <from>Collection</from>
        <from>PrimitiveTypes::Collection</from>
        <from>datatype::Collection</from>
        <from>RoseJavaDatatypes::java::util::Collection</from>
        <to>java.util.Collection</to>
    </mapping>
    <mapping>
        <from>List</from>
        <from>PrimitiveTypes::List</from>
        <from>datatype::List</from>
        <from>RoseJavaDatatypes::java::util::List</from>
        <to>java.util.List</to>
    </mapping>
    <mapping>
        <from>ArrayList</from>
        <from>PrimitiveTypes::ArrayList</from>
        <from>datatype::ArrayList</from>
        <from>RoseJavaDatatypes::java::util::ArrayList</from>
        <to>java.util.ArrayList</to>
    </mapping>
    <mapping>
        <from>Set</from>
        <from>PrimitiveTypes::Set</from>
        <from>datatype::Set</from>
        <from>RoseJavaDatatypes::java::util::Set</from>
        <to>java.util.Set</to>
    </mapping>
    <mapping>
        <from>HashSet</from>
        <from>PrimitiveTypes::HashSet</from>
        <from>datatype::HashSet</from>
        <from>RoseJavaDatatypes::java::util::HashSet</from>
        <to>java.util.HashSet</to>
    </mapping>
    <mapping>
        <from>SortedSet</from>
        <from>PrimitiveTypes::SortedSet</from>
        <from>datatype::SortedSet</from>
        <from>RoseJavaDatatypes::java::util::SortedSet</from>
        <to>java.util.SortedSet</to>
    </mapping>
    <mapping>
        <from>TreeSet</from>
        <from>PrimitiveTypes::TreeSet</from>
        <from>datatype::TreeSet</from>
        <from>RoseJavaDatatypes::java::util::TreeSet</from>
        <to>java.util.TreeSet</to>
    </mapping>
    <mapping>
        <from>Clob</from>
        <from>PrimitiveTypes::Clob</from>
        <from>datatype::Clob</from>
        <to>java.lang.String</to>
    </mapping>
    <mapping>
        <from>Blob</from>
        <from>PrimitiveTypes::Blob</from>
        <from>datatype::Blob</from>
        <to>byte[]</to>
    </mapping>
    <mapping>
        <from>Map</from>
        <from>PrimitiveTypes::Map</from>
        <from>datatype::Map</from>
        <from>RoseJavaDatatypes::java::util::Map</from>
        <to>java.util.Map</to>
    </mapping>
    <mapping>
        <from>HashMap</from>
        <from>PrimitiveTypes::HashMap</from>
        <from>datatype::HashMap</from>
        <from>RoseJavaDatatypes::java::util::HashMap</from>
        <to>java.util.HashMap</to>
    </mapping>
    <mapping>
        <from>SortedMap</from>
        <from>PrimitiveTypes::SortedMap</from>
        <from>datatype::SortedMap</from>
        <from>RoseJavaDatatypes::java::util::SortedMap</from>
        <to>java.util.SortedMap</to>
    </mapping>
    <mapping>
        <from>TreeMap</from>
        <from>PrimitiveTypes::TreeMap</from>
        <from>datatype::TreeMap</from>
        <from>RoseJavaDatatypes::java::util::TreeMap</from>
        <to>java.util.TreeMap</to>
    </mapping>
    <mapping>
        <from>Mappings</from>
        <from>PrimitiveTypes::Mappings</from>
        <from>datatype::Mappings</from>
        <to>org.andromda.metafacades.uml.TypeMappings</to>
    </mapping>
    <mapping>
        <from>URI</from>
        <from>PrimitiveTypes::URI</from>
        <from>datatype::URI</from>
        <to>java.net.URI</to>
    </mapping>
    <mapping>
        <from>URL</from>
        <from>PrimitiveTypes::URL</from>
        <from>datatype::URL</from>
        <to>java.net.URL</to>
    </mapping>
    <mapping>
        <from>Object</from>
        <from>Class</from>
        <from>PrimitiveTypes::Object</from>
        <from>datatype::Object</from>
        <to>java.lang.Object</to>
    </mapping>
    <mapping>
        <from>Void</from>
        <from>UML Standard Profile::void</from>
        <from>PrimitiveTypes::void</from>
        <from>PrimitiveTypes::Void</from>
        <from>datatype::void</from>
        <from>datatypes::void</from>
        <from>RoseJavaDatatypes::java::lang::Void</from>
        <from>RoseCppDatatypes::void</from>
        <to>void</to>
    </mapping>
    <mapping>
        <from>Document</from>
        <from>PrimitiveTypes::Document</from>
        <from>datatype::Document</from>
        <to>org.w3c.dom.Document</to>
    </mapping>
    <mapping>
        <from>ContentHandler</from>
        <from>PrimitiveTypes::ContentHandler</from>
        <from>datatype::ContentHandler</from>
        <to>org.xml.sax.ContentHandler</to>
    </mapping>
    <mapping>
        <from>TreeNode</from>
        <from>PrimitiveTypes::TreeNode</from>
        <from>datatype::TreeNode</from>
        <to>javax.swing.tree.TreeNode</to>
    </mapping>
</mappings>

