Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Bergmayr2015-07-31 08:50:03 -0400
committerAlex Bergmayr2015-07-31 08:50:03 -0400
commit31245ca47c863216d15dcd3c86b83b0a5fc324ee (patch)
tree6de5d4de026908b799c381c5f75b7d2d6a4df7f6
parentd754246c1bc2dc9db9b392f1e00d69a6fb5ac42e (diff)
downloadupr-31245ca47c863216d15dcd3c86b83b0a5fc324ee.tar.gz
upr-31245ca47c863216d15dcd3c86b83b0a5fc324ee.tar.xz
upr-31245ca47c863216d15dcd3c86b83b0a5fc324ee.zip
Added initial JUMP contributionHEADmaster
-rw-r--r--proprietary/build/org.eclipse.upr.platform.jump.build/.project11
-rw-r--r--proprietary/build/org.eclipse.upr.platform.jump.build/pom.xml293
-rw-r--r--proprietary/build/org.eclipse.upr.platform.jump/.project17
-rw-r--r--proprietary/build/org.eclipse.upr.platform.jump/about.html22
-rw-r--r--proprietary/build/org.eclipse.upr.platform.jump/category.xml15
-rw-r--r--proprietary/build/org.eclipse.upr.platform.jump/pom.xml43
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.classpath7
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.gitignore1
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.project34
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/META-INF/MANIFEST.MF21
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/about.html22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/build.properties17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/plugin.properties17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/pom.xml27
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/.gitignore3
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfile.atl1205
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfile.java359
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfile.properties24
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfilePostProcessor.java394
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/ResourceBasedCodeModel2UMLProfile.java257
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/javaLibrary.atl329
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/profileLibrary.atl51
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/util/CodeModel2UMLProfileUtil.java27
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.classpath7
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.gitignore1
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.project28
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.code2cm/META-INF/MANIFEST.MF19
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.code2cm/about.html22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.code2cm/build.properties17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.code2cm/plugin.properties17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.code2cm/pom.xml27
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.code2cm/src/org/eclipse/upr/platform/java/code2cm/JavaDiscoverer.java53
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.code2cm/src/org/eclipse/upr/platform/java/code2cm/impl/JavaDiscovererImpl.java83
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/.classpath7
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/.project28
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/META-INF/MANIFEST.MF17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/about.html22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/bin/.gitignore1
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/build.properties22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.ecore18
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.genmodel23
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.properties17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.xml17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/pom.xml27
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/Configuration.java42
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ConfigurationParameter.java18
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationFactory.java60
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationPackage.java316
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ProfileConfigurationParameter.java52
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/RepeatingStereotypesSolution.java235
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationImpl.java152
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationParameterImpl.java41
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationFactoryImpl.java168
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationPackageImpl.java259
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ProfileConfigurationParameterImpl.java163
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationAdapterFactory.java156
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationSwitch.java153
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationUtil.java59
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/.project22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/META-INF/MANIFEST.MF10
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/about.html22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/build.properties15
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/plugin.properties17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/plugin.xml192
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/pom.xml27
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/.project22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/META-INF/MANIFEST.MF10
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/about.html22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/build.properties17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/plugin.properties17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/plugin.xml181
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/pom.xml27
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/eclipselink_profile.profile.uml10200
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/ejb3.0_profile.profile.uml1705
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/ejb3.2_profile.profile.uml2519
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/findBugs_profile.profile.uml2882
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/hibernate-core_profile.profile.uml8800
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/jackson-annotations_profile.profile.uml2688
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/javax.annotation_profile.profile.uml1358
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/javax.cdi_profile.profile.uml1935
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/javax.inject_profile.profile.uml459
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/javax.interceptor_profile.profile.uml583
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/javax.validation_profile.profile.uml3294
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/javax.ws_profile.profile.uml1506
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/jaxb_profile.profile.uml1455
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/jaxrs_profile.profile.uml2744
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/jboss-arquillian_profile.profile.uml474
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/jdk7_profile.profile.uml685
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/jpa2_profile.profile.uml6164
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/junit_profile.profile.uml1586
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/objectify_profile.profile.uml1132
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/spring-bundle_profile.profile.uml5297
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/struts-bundle_profile.profile.uml4050
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/.classpath5
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/.gitignore1
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/.project23
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/META-INF/MANIFEST.MF9
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/about.html22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/build.properties21
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/libraries/ExtendedJavaTypes.library.uml119
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/libraries/java-io.uml8105
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/libraries/java-lang.uml12503
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/libraries/java-util.uml19540
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/libraries/javaLibrary.uml20
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/plugin.properties17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/plugin.xml51
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/pom.xml27
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/profiles/javaProfile.di17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/profiles/javaProfile.notation71
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.resources/profiles/javaProfile.uml223
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.ui/.classpath7
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.ui/.gitignore1
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.ui/.project28
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.ui/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.ui/META-INF/MANIFEST.MF22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.ui/about.html22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.ui/build.properties18
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.ui/plugin.properties17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.ui/plugin.xml37
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.ui/pom.xml27
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.ui/src/org/eclipse/upr/platform/java/ui/RunHandler.java153
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/.classpath7
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/.gitignore1
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/.project28
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/META-INF/MANIFEST.MF16
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/about.html22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/build.properties22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/model/Trace.ecore15
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/model/Trace.genmodel18
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/plugin.properties17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/plugin.xml17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/pom.xml27
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/src/org/eclipse/upr/platform/trace/Trace.java54
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/src/org/eclipse/upr/platform/trace/TraceFactory.java63
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/src/org/eclipse/upr/platform/trace/TraceLink.java98
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/src/org/eclipse/upr/platform/trace/TracePackage.java285
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/src/org/eclipse/upr/platform/trace/impl/TraceFactoryImpl.java118
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/src/org/eclipse/upr/platform/trace/impl/TraceImpl.java164
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/src/org/eclipse/upr/platform/trace/impl/TraceLinkImpl.java251
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/src/org/eclipse/upr/platform/trace/impl/TracePackageImpl.java244
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/src/org/eclipse/upr/platform/trace/util/TraceAdapterFactory.java150
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.trace/src/org/eclipse/upr/platform/trace/util/TraceSwitch.java143
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles.papyrus/.project17
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles.papyrus/build.properties16
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles.papyrus/epl-v10.html161
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles.papyrus/feature.properties127
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles.papyrus/feature.xml50
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles.papyrus/license.html116
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles.papyrus/pom.xml27
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles/.project17
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles/build.properties17
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles/epl-v10.html161
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles/feature.properties127
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles/feature.xml50
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles/license.html116
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump.profiles/pom.xml27
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump/.project17
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump/build.properties17
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump/epl-v10.html161
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump/feature.properties127
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump/feature.xml112
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump/license.html116
-rw-r--r--proprietary/features/org.eclipse.upr.platform.jump/pom.xml27
-rw-r--r--proprietary/tests/annotation.declaration/.classpath6
-rw-r--r--proprietary/tests/annotation.declaration/.gitignore1
-rw-r--r--proprietary/tests/annotation.declaration/.project17
-rw-r--r--proprietary/tests/annotation.declaration/.settings/org.eclipse.jdt.core.prefs11
-rw-r--r--proprietary/tests/annotation.declaration/annotation.declaration_profile.profile.uml205
-rw-r--r--proprietary/tests/annotation.declaration/jump.test.annotation.declaration_java.xmi22
-rw-r--r--proprietary/tests/annotation.declaration/src/annotation/declaration/MyAnnotation.java18
-rw-r--r--proprietary/tests/annotationmember.declaration/.classpath6
-rw-r--r--proprietary/tests/annotationmember.declaration/.gitignore1
-rw-r--r--proprietary/tests/annotationmember.declaration/.project17
-rw-r--r--proprietary/tests/annotationmember.declaration/.settings/org.eclipse.jdt.core.prefs11
-rw-r--r--proprietary/tests/annotationmember.declaration/annotationmember.declaration_java.xmi72
-rw-r--r--proprietary/tests/annotationmember.declaration/src/annotationmember/declaration/MyAnnotation.java24
-rw-r--r--proprietary/tests/annotationmember.declaration/src/annotationmember/declaration/MyOtherAnnotation.java18
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.classpath9
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.gitignore1
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.project29
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/META-INF/MANIFEST.MF28
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/about.html22
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/build.properties17
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/cfg/configuration.jcfg4
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/annotation.declaration.xmi22
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/annotationmember.declaration.xmi72
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/objectify.xmi62643
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/target.declaration.xmi42
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/umlprofile/EclipseLink_profile.profile.uml10198
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/umlprofile/annotation.declaration_profile.profile.uml205
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/umlprofile/annotationmember.declaration_profile.profile.uml425
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/umlprofile/objectify_profile.profile.uml1132
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/umlprofile/target.declaration_profile.profile.uml85
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/launch/TestCodeModel2UMLProfile-All.launch46
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/launch/TestJavaLibraries-Objectify.launch46
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/launch/TestProfileStructure.launch49
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/plugin.properties17
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/pom.xml27
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/src/org/eclipse/upr/platform/java/cm2up/test/AllTests.java24
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/src/org/eclipse/upr/platform/java/cm2up/test/TestJavaLibraries.java157
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/src/org/eclipse/upr/platform/java/cm2up/test/TestProfileStructure.java173
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/src/org/eclipse/upr/platform/java/cm2up/test/TestUtil.java142
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/src/org/eclipse/upr/platform/java/cm2up/test/UMLHelper.groovy36
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/.classpath7
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/.gitignore1
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/.project28
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/META-INF/MANIFEST.MF13
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/about.html22
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/build.properties17
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/plugin.properties17
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/pom.xml27
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/src/org/eclipse/upr/platform/java/profiles/papyrus/test/TestPapyrusProfiles.java67
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/.classpath7
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/.gitignore1
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/.project28
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/META-INF/MANIFEST.MF15
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/about.html22
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/build.properties17
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/plugin.properties17
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/pom.xml27
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/src/org/eclipse/upr/platform/java/profiles/test/TestProfiles.java80
-rw-r--r--proprietary/tests/target.declaration/.classpath6
-rw-r--r--proprietary/tests/target.declaration/.gitignore1
-rw-r--r--proprietary/tests/target.declaration/.project17
-rw-r--r--proprietary/tests/target.declaration/.settings/org.eclipse.jdt.core.prefs11
-rw-r--r--proprietary/tests/target.declaration/src/target/declaration/MyAnnotation.java22
-rw-r--r--proprietary/tests/target.declaration/target.declaration_java.xmi42
235 files changed, 188787 insertions, 0 deletions
diff --git a/proprietary/build/org.eclipse.upr.platform.jump.build/.project b/proprietary/build/org.eclipse.upr.platform.jump.build/.project
new file mode 100644
index 0000000..058b5d3
--- /dev/null
+++ b/proprietary/build/org.eclipse.upr.platform.jump.build/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.upr.platform.jump.build</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/proprietary/build/org.eclipse.upr.platform.jump.build/pom.xml b/proprietary/build/org.eclipse.upr.platform.jump.build/pom.xml
new file mode 100644
index 0000000..8fc0e82
--- /dev/null
+++ b/proprietary/build/org.eclipse.upr.platform.jump.build/pom.xml
@@ -0,0 +1,293 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 TU Wien.
+ 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:
+ Alexander Bergmayr (TU Wien) - initial API and implementation
+
+ Initially developed in the context of ARTIST EU project www.artist-project.eu
+-->
+
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.jump.build</artifactId>
+ <version>0.9.0</version>
+ <packaging>pom</packaging>
+
+ <properties>
+ <tycho-version>0.19.0</tycho-version>
+ <tycho-extras-version>0.19.0</tycho-extras-version>
+ <jarsigner-version>1.0.5</jarsigner-version>
+ <!-- does not make too much sense currently, since repository not yet exists -->
+ <baseline-repository>http://download.eclipse.org/modeling/upr/nightly/</baseline-repository>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>kepler</id>
+ <url>http://download.eclipse.org/releases/kepler</url>
+ <layout>p2</layout>
+ </repository>
+ </repositories>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>cbi</id>
+ <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.11.0</version>
+ </dependency>
+ </dependencies>
+
+ <modules>
+ <module>../../bundles/org.eclipse.upr.platform.java.cm2up</module>
+ <module>../../bundles/org.eclipse.upr.platform.java.code2cm</module>
+ <module>../../bundles/org.eclipse.upr.platform.java.configuration</module>
+ <module>../../bundles/org.eclipse.upr.platform.java.profiles</module>
+ <module>../../bundles/org.eclipse.upr.platform.java.profiles.papyrus</module>
+ <module>../../bundles/org.eclipse.upr.platform.java.resources</module>
+ <module>../../bundles/org.eclipse.upr.platform.java.ui</module>
+ <module>../../bundles/org.eclipse.upr.platform.trace</module>
+ <module>../../features/org.eclipse.upr.platform.jump</module>
+ <module>../../features/org.eclipse.upr.platform.jump.profiles</module>
+ <module>../../features/org.eclipse.upr.platform.jump.profiles.papyrus</module>
+ <module>../../tests/org.eclipse.upr.platform.java.cm2up.test</module>
+ <module>../../tests/org.eclipse.upr.platform.java.profiles.papyrus.test</module>
+ <module>../../tests/org.eclipse.upr.platform.java.profiles.test</module>
+ <module>../org.eclipse.upr.platform.jump</module>
+ </modules>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>attach-source</id>
+ <goals>
+ <goal>plugin-source</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-source-feature-plugin</artifactId>
+ <version>${tycho-extras-version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-plugin</artifactId>
+ <version>${tycho-version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-repository-plugin</artifactId>
+ <version>${tycho-version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-maven-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <version>${tycho-version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ <version>${tycho-version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-pack200a-plugin</artifactId>
+ <version>${tycho-extras-version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.cbi.maven.plugins</groupId>
+ <artifactId>eclipse-jarsigner-plugin</artifactId>
+ <version>${jarsigner-version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-pack200b-plugin</artifactId>
+ <version>${tycho-extras-version}</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-maven-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <extensions>true</extensions>
+ <configuration>
+ <!-- recommended: use p2-based target platform resolver -->
+ <resolver>p2</resolver>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-packaging-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-buildtimestamp-jgit</artifactId>
+ <version>${tycho-extras-version}</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <timestampProvider>jgit</timestampProvider>
+ <jgit.ignore>
+ pom.xml
+ </jgit.ignore>
+ <format>yyyyMMdd-HHmm'-incubation'</format>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <baselineRepositories>
+ <repository>
+ <url>${baseline-repository}</url>
+ </repository>
+ </baselineRepositories>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <!-- recommended: use p2-based target platform resolver -->
+ <resolver>p2</resolver>
+ <pomDependencies>consider</pomDependencies>
+ <environments>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86</arch>
+ </environment>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86_64</arch>
+ </environment>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86</arch>
+ </environment>
+ <environment>
+ <os>macosx</os>
+ <ws>cocoa</ws>
+ <arch>x86_64</arch>
+ </environment>
+ <environment>
+ <os>macosx</os>
+ <ws>cocoa</ws>
+ <arch>x86</arch>
+ </environment>
+ </environments>
+ </configuration>
+ </plugin>
+
+ </plugins>
+ </build>
+
+ <!-- Needed for signing the plugins on the build server -->
+ <profiles>
+ <profile>
+ <id>build-server</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-pack200a-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>pack200-normalize</id>
+ <goals>
+ <goal>normalize</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.cbi.maven.plugins</groupId>
+ <artifactId>eclipse-jarsigner-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>sign</id>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-pack200b-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>pack200-pack</id>
+ <goals>
+ <goal>pack</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>attach-p2-metadata</id>
+ <phase>package</phase>
+ <goals>
+ <goal>p2-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <defaultP2Metadata>false</defaultP2Metadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+</project>
diff --git a/proprietary/build/org.eclipse.upr.platform.jump/.project b/proprietary/build/org.eclipse.upr.platform.jump/.project
new file mode 100644
index 0000000..a18c188
--- /dev/null
+++ b/proprietary/build/org.eclipse.upr.platform.jump/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.upr.platform.jump</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.UpdateSiteBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.UpdateSiteNature</nature>
+ </natures>
+</projectDescription>
diff --git a/proprietary/build/org.eclipse.upr.platform.jump/about.html b/proprietary/build/org.eclipse.upr.platform.jump/about.html
new file mode 100644
index 0000000..6f6b96c
--- /dev/null
+++ b/proprietary/build/org.eclipse.upr.platform.jump/about.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>February 24, 2005</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/proprietary/build/org.eclipse.upr.platform.jump/category.xml b/proprietary/build/org.eclipse.upr.platform.jump/category.xml
new file mode 100644
index 0000000..830701e
--- /dev/null
+++ b/proprietary/build/org.eclipse.upr.platform.jump/category.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+ <feature url="features/org.eclipse.upr.platform.jump.profiles_0.9.0.qualifier.jar" id="org.eclipse.upr.platform.jump.profiles" version="0.9.0.qualifier">
+ <category name="profiles-java-plaftorm"/>
+ </feature>
+ <feature url="features/org.eclipse.upr.platform.jump.profiles.papyrus_0.9.0.qualifier.jar" id="org.eclipse.upr.platform.jump.profiles.papyrus" version="0.9.0.qualifier">
+ <category name="profiles-java-platform-papyrus"/>
+ </feature>
+ <feature url="features/org.eclipse.upr.platform.jump.generator_0.9.0.qualifier.jar" id="org.eclipse.upr.platform.jump.generator" version="0.9.0.qualifier">
+ <category name="profiles-java-platform-generator"/>
+ </feature>
+ <category-def name="profiles-java-plaftorm" label="UML Profiles for Java platform"/>
+ <category-def name="profiles-java-platform-papyrus" label="UML Profiles for Java platform - Papyrus extension"/>
+ <category-def name="profiles-java-platform-generator" label="UML Profile generator for Java platform"/>
+</site>
diff --git a/proprietary/build/org.eclipse.upr.platform.jump/pom.xml b/proprietary/build/org.eclipse.upr.platform.jump/pom.xml
new file mode 100644
index 0000000..00a157e
--- /dev/null
+++ b/proprietary/build/org.eclipse.upr.platform.jump/pom.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 TU Wien.
+ 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:
+ Alexander Bergmayr (TU Wien) - initial API and implementation
+
+ Initially developed in the context of ARTIST EU project www.artist-project.eu
+-->
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.jump.build</artifactId>
+ <relativePath>../org.eclipse.upr.platform.jump.build/pom.xml</relativePath>
+ <version>0.9.0</version>
+ </parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.jump</artifactId>
+ <name>Eclipse UML Profiles Repository - JUMP</name>
+ <version>0.9.0</version>
+ <packaging>eclipse-repository</packaging>
+
+ <!-- rename update site zip to contain "incubation" qualifier -->
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-repository-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <finalName>${project.artifactId}-${project.version}-incubation</finalName>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.classpath b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.classpath
new file mode 100644
index 0000000..098194c
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.gitignore b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.project b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.project
new file mode 100644
index 0000000..2ae20ce
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.upr.platform.java.cm2up</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>
+ <buildCommand>
+ <name>org.eclipse.m2m.atl.adt.builder.atlBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2m.atl.adt.builder.atlNature</nature>
+ </natures>
+</projectDescription>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.settings/org.eclipse.jdt.core.prefs b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/META-INF/MANIFEST.MF b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..def71d9
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.upr.platform.java.cm2up;singleton:=true
+Bundle-Version: 0.9.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7,
+ JavaSE-1.8
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.uml2.uml,
+ org.eclipse.m2m.atl.engine.emfvm,
+ org.eclipse.gmt.modisco.java,
+ org.eclipse.uml2.uml.resources,
+ org.eclipse.upr.platform.trace;bundle-version="0.9.0",
+ org.apache.commons.lang;bundle-version="2.6.0",
+ org.eclipse.upr.platform.java.configuration;bundle-version="0.9.0"
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.upr.platform.java.cm2up,
+ org.eclipse.upr.platform.java.cm2up.util
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/about.html b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/about.html
new file mode 100644
index 0000000..6f6b96c
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/about.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>February 24, 2005</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/build.properties b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/build.properties
new file mode 100644
index 0000000..4939696
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/build.properties
@@ -0,0 +1,17 @@
+###############################################################################
+# Copyright (c) 2015 TU Wien.
+# 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:
+# Alexander Bergmayr (TU Wien) - initial API and implementation
+#
+# Initially developed in the context of ARTIST EU project www.artist-project.eu
+###############################################################################
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.properties
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/plugin.properties b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/plugin.properties
new file mode 100644
index 0000000..7daf651
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/plugin.properties
@@ -0,0 +1,17 @@
+# <copyright>
+# Copyright (c) 2015 TU Wien.
+# 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:
+# Alexander Bergmayr (TU Wien) - initial API and implementation
+#
+# Initially developed in the context of ARTIST EU project www.artist-project.eu
+# </copyright>
+#
+# $Id$
+
+pluginName = Java Code Model to UML Profile translator (Incubation)
+providerName = Eclipse UPR
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/pom.xml b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/pom.xml
new file mode 100644
index 0000000..5fe974d
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/pom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 TU Wien.
+ 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:
+ Alexander Bergmayr (TU Wien) - initial API and implementation
+
+ Initially developed in the context of ARTIST EU project www.artist-project.eu
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.jump.build</artifactId>
+ <relativePath>../../build/org.eclipse.upr.platform.jump.build/pom.xml</relativePath>
+ <version>0.9.0</version>
+ </parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.java.cm2up</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/.gitignore b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/.gitignore
new file mode 100644
index 0000000..e65a70e
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/.gitignore
@@ -0,0 +1,3 @@
+/CodeModel2UMLProfile.asm
+/javaLibrary.asm
+/profileLibrary.asm
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfile.atl b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfile.atl
new file mode 100644
index 0000000..eacc8c7
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfile.atl
@@ -0,0 +1,1205 @@
+--/*******************************************************************************
+-- * Copyright (c) 2015 Vienna University of Technology.
+-- * 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:
+-- * Alexander Bergmayr (TU Wien) - initial API and implementation
+-- * Manuel Wimmer (TU Wien) - initial API and implementation
+-- *
+-- * Initially developed in the context of ARTIST EU project www.artist-project.eu
+-- *******************************************************************************/
+
+-- @nsURI UMLMM=http://www.eclipse.org/uml2/4.0.0/UML
+-- @path JMM=http://www.eclipse.org/MoDisco/Java/0.2.incubation/java
+-- @path TMM=pathmap://METAMODEL/Trace.ecore
+-- @path CFGMM=/eu.artist.migration.mdt.jump.cm2up/metamodel/jump-configuration.ecore
+
+-- Discovers UML Profiles from Java application code, frameworks and libraries.
+
+module CodeModel2UMLProfile;-- creates UP the UML Profile and TM the Trace Model
+-- from CM the Code Model discovered from a Java application / library
+-- JP a Java-based UML Profile that provides Stereotypes for the parameterized types
+ -- and proxies
+-- JPT the Java Primitive Types library provided by the UML implementation
+-- MC the UML meta-classes in terms of a UML model
+-- UPT the UML Primitive Types library provided by the UML implementation
+create UP: UMLMM, TM: TMM from CM: JMM, JP: UMLMM, JPT: UMLMM, MC: UMLMM, UPT: UMLMM,
+ EPT: UMLMM, CFG : CFGMM;
+
+-- TODO: default value of Strings - default values need to be generally revised
+-- TODO: Code-generator: ID annotation nachziehen!
+
+
+-- helpers for Java-based processing
+uses javaLibrary;
+-- helpers for Stereotype application
+uses profileLibrary;
+
+helper def: getAnnotationTypeMemberDeclarations:
+ Sequence(JMM!AnnotationTypeMemberDeclaration) =
+ JMM!AnnotationTypeMemberDeclaration.allInstancesFrom('CM');
+
+helper def: repeatingStereotypesCfg:
+ OclAny =
+ CFGMM!ProfileConfigurationParameter.allInstancesFrom('CFG') -> first().repeatingStereotypes;
+
+helper def: getRepeatableAnnotations:
+ Sequence(JMM!Annotation) =
+ JMM!Annotation.allInstancesFrom('CM') -> select(e | e.type.type.name = 'Repeatable');
+
+-- check if the annotation type is repeatable
+helper context JMM!AnnotationTypeDeclaration def : isRepeatable : Boolean =
+ self.annotations -> exists(e | e.type.type.name = 'Repeatable');
+
+-- check if the annotation type is a container annotation
+helper context JMM!AnnotationTypeDeclaration def : isContainerAnnotation : Boolean =
+ thisModule.getRepeatableAnnotations -> collect(e | e.values) -> flatten() -> exists(e | e.value.type.type = self);
+
+helper context JMM!AnnotationTypeDeclaration def : requiresContainerAnnotation : Boolean =
+ -- thisModule.repeatingStereotypesCfg = 'native' -> we don't need a container stereotype
+ thisModule.repeatingStereotypesCfg = #composition or thisModule.repeatingStereotypesCfg = #emulation;
+
+helper def: getStereotypes: Sequence(UMLMM!Stereotype) =
+ UMLMM!Stereotype.allInstancesFrom('JP');
+
+helper def: profile: UMLMM!Profile =
+ OclUndefined;
+
+helper def: stereotype: UMLMM!Stereotype =
+ OclUndefined;
+
+helper def: proxyPackage: UMLMM!Package =
+ OclUndefined;
+
+helper def: trace: TMM!Trace =
+ OclUndefined;
+
+-- ensure that the trace model is generated
+entrypoint rule createTrace() {
+ to
+ tr: TMM!Trace (
+ )
+ do {
+ thisModule.trace <- tr;
+ }
+}
+
+-- init package for proxy elements
+lazy rule initProxyPackage {
+ from
+ s1: JMM!Type
+ to
+ t1: UMLMM!Package (
+ name <- 'proxy'
+ )
+ do {
+ thisModule.profile.packagedElement <- t1;
+ thisModule.proxyPackage <- t1;
+
+ t1.applyProfile(UMLMM!Profile.allInstancesFrom('JP').first());
+ }
+}
+
+-- create the profile
+rule Model2Profile {
+ from
+ s1: JMM!Model
+ to
+ t1: UMLMM!Profile (
+ -- packageImport <- Sequence{jpt, mc, upt},
+ packageImport <- Sequence{mc,
+ upt},
+ metamodelReference <- mc,
+ name <- s1.name,
+ packagedElement <- s1.ownedElements -> select(e | not e.proxy and e.
+ isAnnotationTypeContainer)
+ ),
+ -- java primitive types
+-- jpt : UMLMM!PackageImport(
+-- importedPackage <- UMLMM!Model.allInstancesFrom('JPT').first()
+-- ),
+ -- uml meta-classes
+ mc: UMLMM!PackageImport (
+ importedPackage <- UMLMM!Model.allInstancesFrom('MC').first()
+ ),
+ -- uml primitive types
+ upt: UMLMM!PackageImport (
+ importedPackage <- UMLMM!Model.allInstancesFrom('UPT').first()
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'Model2Profile',
+ targetElements <- Sequence{t1}
+ )
+ do {
+ -- global access to the profile
+ thisModule.profile <- t1;
+ -- apply the profile for java generics / proxies
+ t1.applyProfile(UMLMM!Profile.allInstancesFrom('JP').first());
+ thisModule.stereotype <- UMLMM!Stereotype.allInstancesFrom('JP') -> any(e | e.name = 'JProfile');
+ t1.applyStereotype(thisModule.stereotype);
+
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+rule Package2Package {
+ from
+ s1: JMM!Package (
+ not s1.proxy and s1.isAnnotationTypeContainer
+ )
+ to
+ t1: UMLMM!Package (
+ name <- s1.name,
+ packagedElement <- s1.ownedPackages -> select(e | not e.proxy and
+ e.isAnnotationTypeContainer) --,
+ -- instead of selecting all required elements here let's do it in the
+ -- corresponding rules
+ -- of ClassDeclaration, EnumDeclaration, InterfaceDeclaration,
+ -- AnnotationTypeDeclaration
+-- packagedElement <- s1.ownedElements
+
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'Package2Package',
+ targetElements <- Sequence{t1}
+ )
+ do {
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+-- but only enumerations that are required for the profile
+rule EnumDeclaration2Enumeration {
+ from
+ s1: JMM!EnumDeclaration (
+ s1.isEnumerationRelevant
+ )
+ to
+ t1: UMLMM!Enumeration (
+ name <- if (s1.refImmediateComposite().oclIsTypeOf(JMM!Package)) then
+ s1.name
+ else
+ s1.name.concat('From').concat(s1.refImmediateComposite().name)
+ endif,
+ ownedLiteral <- s1.enumConstants -> select(e | not e.proxy or e.
+ refImmediateComposite().isEnumerationRelevant),
+ -- TODO: new CHECK !!
+ ownedAttribute <- s1.bodyDeclarations -> select(e | e.
+ oclIsTypeOf(JMM!FieldDeclaration)),
+ -- with 'not e.proxy' we exclude the 'valueOf' method generated by the java
+ -- compiler
+ ownedOperation <- s1.bodyDeclarations -> select(e | e.
+ oclIsTypeOf(JMM!MethodDeclaration) and not e.proxy)
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'EnumDeclaration2Enumeration',
+ targetElements <- Sequence{t1}
+ )
+ do {
+ -- if the required class declaration is a proxy then the proxy stereotype is
+ -- applied
+ if(s1.proxy = true) {
+ if(thisModule.proxyPackage.oclIsUndefined()) {
+ thisModule -> initProxyPackage(s1);
+ }
+ thisModule.proxyPackage.packagedElement <- t1;
+
+ -- apply the proxy stereotype
+ thisModule.stereotype <- thisModule.getStereotypes -> select(e | e.name =
+ 'JProxyType').first();
+ t1.applyStereotype(thisModule.stereotype);
+
+ -- set the namepace of the proxy element if available
+ if(s1.refImmediateComposite().oclIsTypeOf(JMM!Package)) {
+ t1.setValue(thisModule.stereotype, 'namespace', s1.
+ refImmediateComposite().getFullyQualifiedPackageName);
+ }
+ else {
+ t1.setValue(thisModule.stereotype, 'namespace', 'NOT_AVAILABLE');
+ }
+ }
+
+ -- elements are contained either by packages or classifiers (nested elements)
+ else {
+ if(not s1.package.oclIsUndefined()) {
+ thisModule.resolveTemp(s1.refImmediateComposite(), 't1').packagedElement
+ <- t1;
+ }
+ else {
+ -- so let's get the package of the owner and put the stereotype there
+ -- ... however
+ -- there is a problem when we generate code !!!!
+ thisModule.resolveTemp(s1.refImmediateComposite().getJavaPackage(), 't1').
+ packagedElement <- t1;
+ }
+ }
+
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+rule FieldDeclaration2Property {
+ from
+ s1: JMM!FieldDeclaration (
+ not s1.proxy and s1.refImmediateComposite().oclIsTypeOf(JMM!EnumDeclaration)
+ and s1.refImmediateComposite().isEnumerationRelevant
+ )
+ to
+ t1: UMLMM!Property (
+ -- TODO: fragments is 0..* - check the exact behaviour!
+ name <- s1.fragments.first().name,
+ type <- s1.type.getType(),
+ isStatic <- s1.modifier.static
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'FieldDeclaration2Property',
+ targetElements <- Sequence{t1}
+ )
+ do {
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+rule MethodDeclaration2Operation {
+ from
+ s1: JMM!MethodDeclaration (
+ not s1.proxy and s1.refImmediateComposite().oclIsTypeOf(JMM!EnumDeclaration)
+ and s1.refImmediateComposite().isEnumerationRelevant
+ )
+ to
+ t1: UMLMM!Operation (
+ name <- s1.name,
+ ownedParameter <- s1.parameters -> collect(e | thisModule.createParameter(e))
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'MethodDeclaration2Operation',
+ targetElements <- Sequence{t1}
+ )
+ do {
+ -- thisModule.applyStereotypes(s1, t1);
+
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+lazy rule createParameter {
+ from
+ s1: JMM!SingleVariableDeclaration
+ to
+ t1: UMLMM!Parameter (
+ name <- s1.name,
+ type <- s1.type.getType(),
+ direction <- #"in"
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'SingleVariableDeclaration2Paramter',
+ targetElements <- Sequence{t1}
+ )
+ do {
+
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+rule EnumConstantDeclaration2EnumerationLiteral {
+ from
+ s1: JMM!EnumConstantDeclaration (
+ s1.refImmediateComposite().isEnumerationRelevant
+ )
+ to
+ t1: UMLMM!EnumerationLiteral (
+ name <- s1.name
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'EnumConstantDeclaration2EnumerationLiteral',
+ targetElements <- Sequence{t1}
+ )
+ do {
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+-- but only classes that are required for the profile. Such classes can only be
+-- bounded type parameters of java.lang.class
+rule ClassDeclaration2Class {
+ from
+ -- since java.lang.Class is mapped to UML class, we need to exclude it here as
+ -- well
+ s1: JMM!ClassDeclaration (
+ (s1.refImmediateComposite().getFullyQualifiedPackageName.concat('.').
+ concat(s1.name) <> 'java.lang.Class') and (thisModule.
+ getAnnotationTypeMemberDeclarations -> select(e | not e.type.
+ oclIsUndefined()) -> select(e | e.type.type.
+ oclIsTypeOf(JMM!ParameterizedType)) -> exists(f | f.type.type.
+ typeArguments -> exists(g | g.type = s1)))
+ )
+ to
+ t1: UMLMM!Class (
+ name <- if (s1.refImmediateComposite().oclIsTypeOf(JMM!Package)) then
+ s1.name
+ else
+ s1.name.concat('From').concat(s1.refImmediateComposite().name)
+ endif
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'ClassDeclaration2Class',
+ targetElements <- Sequence{t1}
+ )
+ do {
+ -- if the required class declaration is a proxy then the proxy stereotype is
+ -- applied
+ if(s1.proxy = true) {
+ if(thisModule.proxyPackage.oclIsUndefined()) {
+ thisModule -> initProxyPackage(s1);
+ }
+ thisModule.proxyPackage.packagedElement <- t1;
+
+ -- apply the proxy stereotype
+ thisModule.stereotype <- UMLMM!Stereotype.allInstancesFrom('JP') ->
+ select(e | e.name = 'JProxyType').first();
+ t1.applyStereotype(thisModule.stereotype);
+
+ -- set the namepace of the proxy element if available
+ if(s1.refImmediateComposite().oclIsTypeOf(JMM!Package)) {
+ t1.setValue(thisModule.stereotype, 'namespace', s1.
+ refImmediateComposite().getFullyQualifiedPackageName);
+ }
+ else {
+ t1.setValue(thisModule.stereotype, 'namespace', 'NOT_AVAILABLE');
+ }
+ }
+
+ -- nested classifiers are contained by classifiers rather than packages ;)
+ else {
+ if(thisModule.resolveTemp(s1.refImmediateComposite(), 't1').
+ oclIsTypeOf(UMLMM!Package)) {
+ thisModule.resolveTemp(s1.refImmediateComposite(), 't1').packagedElement
+ <- t1;
+ }
+ else {
+ -- so let's get the package of the owner and put the stereotype there
+ -- ... however
+ -- there is a problem when we generate code !!!!
+ thisModule.resolveTemp(s1.refImmediateComposite().getJavaPackage(), 't1').
+ packagedElement <- t1;
+ }
+ }
+
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+-- but only interfaces that are required for the profile. Such classes can only be
+-- bounded type parameters of java.lang.class
+rule InterfaceDeclaration2Interface {
+ from
+ s1: JMM!InterfaceDeclaration (
+ thisModule.getAnnotationTypeMemberDeclarations -> select(e | not e.type.
+ oclIsUndefined()) -> select(e | e.type.type.
+ oclIsTypeOf(JMM!ParameterizedType)) -> exists(f | f.type.type.
+ typeArguments -> exists(g | g.type = s1))
+ )
+ to
+ t1: UMLMM!Interface (
+ name <- if (s1.refImmediateComposite().oclIsTypeOf(JMM!Package)) then
+ s1.name
+ else
+ s1.name.concat('From').concat(s1.refImmediateComposite().name)
+ endif
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'InterfaceDeclaration2Interface',
+ targetElements <- Sequence{t1}
+ )
+ do {
+ -- if the required class declaration is a proxy then the proxy stereotype is
+ -- applied
+ if(s1.proxy = true) {
+ if(thisModule.proxyPackage.oclIsUndefined()) {
+ thisModule.initProxyPackage(s1);
+ }
+ thisModule.proxyPackage.packagedElement <- t1;
+
+ -- apply the proxy stereotype
+ thisModule.stereotype <- UMLMM!Stereotype.allInstancesFrom('JP') -> select(e
+ | e.name = 'JProxyType').first();
+ t1.applyStereotype(thisModule.stereotype);
+
+ -- set the namepace of the proxy element if available
+ if(s1.refImmediateComposite().oclIsTypeOf(JMM!Package)) {
+ t1.setValue(thisModule.stereotype, 'namespace', s1.
+ refImmediateComposite().getFullyQualifiedPackageName);
+ }
+ else {
+ t1.setValue(thisModule.stereotype, 'namespace', 'NOT_AVAILABLE');
+ }
+ }
+
+ -- nested classifiers are contained by classifiers rather than packages ;)
+ else {
+ if(thisModule.resolveTemp(s1.refImmediateComposite(), 't1').
+ oclIsTypeOf(UMLMM!Package)) {
+ thisModule.resolveTemp(s1.refImmediateComposite(), 't1').packagedElement
+ <- t1;
+ }
+ else {
+ -- so let's get the package of the owner and put the stereotype there
+ -- ... however
+ -- there is a problem when we generate code !!!!
+ thisModule.resolveTemp(s1.refImmediateComposite().getJavaPackage(), 't1').
+ packagedElement <- t1;
+ }
+ }
+
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+rule AnnotationTypeDeclaration2Stereotype {
+ from
+ -- only those AnnotationTypeDeclarations that are not proxies or return value of
+ -- a AnnotationTypeMemberDeclaration
+ s1: JMM!AnnotationTypeDeclaration (
+ -- isn't a proxy
+ not s1.proxy
+
+ -- is a container stereotype required
+ and ((s1.isContainerAnnotation and s1.requiresContainerAnnotation) or not s1.isContainerAnnotation)
+
+ -- TODO: document this case
+ or thisModule.getAnnotationTypeMemberDeclarations -> select(e | not e.type.oclIsUndefined()) ->
+ select(e | e.type.type.oclIsTypeOf(JMM!ParameterizedType)) -> exists(f | f.type.type.typeArguments ->
+ exists(g | g.type = s1))
+
+ -- we do have a proxy element that has been resolved. This happens if a
+ -- missing library has been added to the build path. If this
+ -- library is not added then an UnresolvedTypeDeclaration
+ -- is discovered by MoDisco.
+ or (s1.proxy and s1.isRelevantForAnnotationTypes)
+ )
+ to
+ t1: UMLMM!Stereotype (
+ name <- if (s1.refImmediateComposite().oclIsTypeOf(JMM!Package)) then
+ s1.name
+ else
+ s1.name.concat('From').concat(s1.refImmediateComposite().name)
+ endif,
+ -- can be set to public as no other visibility modifier is allowed for
+ -- annotation types
+ visibility <- #public,
+ -- should not be done since then the stereotype cannot be instantiated (Java
+ -- Feature or Bug ;) )
+ -- isAbstract <- if s1.modifier.inheritance.toString() = 'abstract' then true
+ -- else false endif,
+
+ -- TODO : According to JLS, an annotation type declaration can also contain
+ -- constant declarations
+ -- class declarations etc. ... even annotation type declarations -> inner
+ -- annotations
+ -- this means bodyDeclarations may also be of type JMM!FieldDeclaration
+
+ -- in findbugs haben wir den Fall einer ClassDeclaration innerhabl eienr
+ -- AnnotationTypeDeclaration,
+ -- see: edu.umd.cs.findbugs.internalAnnotations.SlashedClassName
+ ownedAttribute <- s1.bodyDeclarations -> select(e | e.
+ oclIsTypeOf(JMM!AnnotationTypeMemberDeclaration))
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'AnnotationTypeDeclaration2Stereotype',
+ targetElements <- Sequence{t1}
+ )
+ do {
+ -- if the required class declaration is a proxy then the proxy stereotype is
+ -- applied
+ -- and the stereotype is added to a dedicated proxy package
+ if(s1.proxy) {
+ if(thisModule.proxyPackage.oclIsUndefined()) {
+ thisModule.initProxyPackage(s1);
+ }
+ thisModule.proxyPackage.packagedElement <- t1;
+
+ -- apply the proxy stereotype
+ thisModule.stereotype <- UMLMM!Stereotype.allInstancesFrom('JP') -> select(e
+ | e.name = 'JProxyType').first();
+ t1.applyStereotype(thisModule.stereotype);
+
+ -- set the namepace of the proxy element if available
+ if(s1.refImmediateComposite().oclIsTypeOf(JMM!Package)) {
+ t1.setValue(thisModule.stereotype, 'namespace', s1.
+ refImmediateComposite().getFullyQualifiedPackageName);
+ }
+ else {
+ t1.setValue(thisModule.stereotype, 'namespace', 'NOT_AVAILABLE');
+ }
+ }
+
+ -- TODO: nested classifiers are contained by classifiers rather than packages ;)
+ -- ... however nested
+ -- stereotypes are not actuall supported
+ else {
+ if(thisModule.resolveTemp(s1.refImmediateComposite(), 't1').
+ oclIsTypeOf(UMLMM!Package)) {
+ thisModule.resolveTemp(s1.refImmediateComposite(), 't1').packagedElement
+ <- t1;
+ }
+ else {
+ -- so let's get the package of the owner and put the stereotype there
+ -- ... however
+ -- there is a problem when we generate code !!!!
+ thisModule.resolveTemp(s1.refImmediateComposite().getJavaPackage(), 't1').
+ packagedElement <- t1;
+ }
+ }
+
+ -- if the target annotation is not set at all then we have to trigger a lazy rule
+ -- that produces extensions to
+ -- all possible candidates
+ if(not s1.proxy and not (s1.annotations -> exists(a | a.type.type.name =
+ 'Target'))) {
+ for(javaElementType in thisModule.umlTarget.getKeys()) {
+ for(umlElementType in thisModule.umlTarget.get(javaElementType)) {
+ thisModule.createExtension(s1, t1, umlElementType, javaElementType);
+ }
+ }
+ }
+
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+rule createExtension(annotationType: JMM!AnnotationTypeDeclaration, stereotype:
+ UMLMM!Stereotype,
+ metaClass: UMLMM!Element, elementType: String) {
+ to
+ -- the extension relationship
+ t1: UMLMM!Extension (
+ name <- 'extension_'.concat(stereotype.name).concat('_').concat(metaClass.
+ name),
+ memberEnd <- Sequence{t2, t3},
+ ownedEnd <- t3
+ ),
+ -- the properties of the relationship (end points)
+ t2: UMLMM!Property (
+ name <- 'base_'.concat(metaClass.name),
+ type <- metaClass,
+ -- we set the lower bound to 0 because if the stereotype extends
+ -- several metaclasses then we would get validation errors with
+ -- a lower bound 1
+ lower <- 0,
+ upper <- 1
+ ),
+ t3: UMLMM!ExtensionEnd (
+ name <- 'extension_'.concat(metaClass.name),
+ aggregation <- #composite,
+ type <- stereotype,
+ lower <- 0,
+ upper <- if(annotationType.isRepeatable) then (0-1) else 1 endif
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'createExtension',
+ targetElements <- Sequence{t1,
+ t2,
+ t3}
+ )
+ do {
+ -- refers to the ownedAttribute of the stereotype
+ stereotype.ownedAttribute <- t2;
+
+ -- refers to the profile that contains the stereotype
+ stereotype.refImmediateComposite().packagedElement <- t1;
+
+ -- if we create an extension of Type then we need a constraint as
+ -- UML:Type is more general then Java:Type
+
+ if(elementType = 'TYPE') {
+ thisModule.createTypeConstraint(stereotype);
+ }
+
+ else if(elementType = 'CONSTRUCTOR') {
+ thisModule.createConstructorConstraint(stereotype);
+ }
+
+ else if(elementType = 'METHOD') {
+ thisModule.createMethodConstraint(stereotype);
+ }
+
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{annotationType});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+rule SingleVariableAccessMultiValued2Extension {
+ from
+ s1: JMM!SingleVariableAccess (
+ s1.isMultiValuedAnnotationTarget
+ )
+ using {
+ s2: JMM!AnnotationTypeDeclaration = s1.refImmediateComposite().
+ refImmediateComposite().refImmediateComposite().refImmediateComposite();
+ }
+ to
+ -- the extension relationship
+ t1: UMLMM!Extension (
+ name <- 'extension_'.concat(thisModule.resolveTemp(s2, 't1').name).
+ concat('_').concat(thisModule.umlTarget.get(s1.variable.name).first().name),
+ memberEnd <- Sequence{t2,
+ t3},
+ ownedEnd <- t3
+ ),
+ -- the properties of the relationship (end points)
+ t2: UMLMM!Property (
+ name <- 'base_'.concat(thisModule.umlTarget.get(s1.variable.name).first().
+ name),
+ type <- thisModule.umlTarget.get(s1.variable.name).first(),
+ lower <- 0,
+ upper <- 1
+ ),
+ t3: UMLMM!ExtensionEnd (
+ name <- 'extension_'.concat(thisModule.umlTarget.get(s1.variable.name).
+ first().name),
+ aggregation <- #composite,
+ type <- thisModule.resolveTemp(s2, 't1')
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'SingleVariableAccessMultiValued2Extension',
+ targetElements <- Sequence{t1,
+ t2,
+ t3}
+ )
+ do {
+ -- refers to the ownedAttribute of the stereotype
+ thisModule.resolveTemp(s2, 't1').ownedAttribute <- t2;
+
+ -- refers to the profile that contains the stereotype
+ thisModule.resolveTemp(s2.getPackage(), 't1').packagedElement <- t1;
+
+ -- if the target is of type FIELD, we do have to create an extension for
+ -- EnumDeclaration as well;
+ -- if we use Associatons, we may have to add another extension
+ if(s1.variable.name = 'FIELD') {
+ thisModule.createExtension(s2, thisModule.resolveTemp(s2, 't1'), thisModule.
+ umlTarget.get(s1.variable.name).at(2), s1.variable.name);
+ }
+
+ -- if the target is of type METHOD, we do have to create an extension for
+ -- Property as well as methods in annotationtypedeclrations are translated
+ -- to property
+ if(s1.variable.name = 'METHOD') {
+ thisModule.createExtension(s2, thisModule.resolveTemp(s2, 't1'), thisModule.
+ umlTarget.get(s1.variable.name).at(2), s1.variable.name);
+ }
+
+ -- in case of TYPE we do have to create the type constraint
+ if(s1.variable.name = 'TYPE') {
+ thisModule.createTypeConstraint(thisModule.resolveTemp(s2, 't1'));
+ }
+
+ -- in case of CONSTRUCTOR we do have to create the type constraint
+ else if(s1.variable.name = 'CONSTRUCTOR') {
+ thisModule.createConstructorConstraint(thisModule.resolveTemp(s2, 't1'));
+ }
+
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+rule SingleVariableAccessSingleValued2Extension {
+ from
+ s1: JMM!SingleVariableAccess (
+ s1.isSingleValuedAnnotationTarget
+ )
+ using {
+ s2: JMM!AnnotationTypeDeclaration = s1.refImmediateComposite().
+ refImmediateComposite().refImmediateComposite();
+ }
+ to
+ -- the extension relationship
+ t1: UMLMM!Extension (
+ name <- 'extension_'.concat(thisModule.resolveTemp(s2, 't1').name).
+ concat('_').concat(thisModule.umlTarget.get(s1.variable.name).first().name),
+ memberEnd <- Sequence{t2,
+ t3},
+ ownedEnd <- t3
+ ),
+ -- the properties of the relationship (end points)
+ t2: UMLMM!Property (
+ name <- 'base_'.concat(thisModule.umlTarget.get(s1.variable.name).first().
+ name),
+ type <- thisModule.umlTarget.get(s1.variable.name).first(),
+ lower <- 0,
+ upper <- 1
+ ),
+ t3: UMLMM!ExtensionEnd (
+ name <- 'extension_'.concat(thisModule.umlTarget.get(s1.variable.name).
+ first().name),
+ aggregation <- #composite,
+ type <- thisModule.resolveTemp(s2, 't1')
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'SingleVariableAccessSingleValued2Extension',
+ targetElements <- Sequence{t1,
+ t2,
+ t3}
+ )
+ do {
+ -- refers to the ownedAttribute of the stereotype
+ thisModule.resolveTemp(s2, 't1').ownedAttribute <- t2;
+
+ -- refers to the profile that contains the stereotype
+ thisModule.resolveTemp(s2.getPackage(), 't1').packagedElement <- t1;
+
+ -- if the target is of type FIELD, we do have to create an extension for
+ -- EnumDeclaration as well;
+ -- if we use Associatons, we may have to add another extension
+ if(s1.variable.name = 'FIELD') {
+ thisModule.createExtension(s2, thisModule.resolveTemp(s2, 't1'), thisModule.
+ umlTarget.get(s1.variable.name).at(2), s1.variable.name);
+ }
+
+ -- if the target is of type METHOD, we do have to create an extension for
+ -- Property as well as methods in annotationtypedeclrations are translated
+ -- to property
+ if(s1.variable.name = 'METHOD') {
+ thisModule.createExtension(s2, thisModule.resolveTemp(s2, 't1'), thisModule.
+ umlTarget.get(s1.variable.name).at(2), s1.variable.name);
+ }
+
+ -- in case of TYPE we do have to create the type constraint
+ if(s1.variable.name = 'TYPE') {
+ thisModule.createTypeConstraint(thisModule.resolveTemp(s2, 't1'));
+ }
+
+ -- in case of CONSTRUCTOR we do have to create the type constraint
+ else if(s1.variable.name = 'CONSTRUCTOR') {
+ thisModule.createConstructorConstraint(thisModule.resolveTemp(s2, 't1'));
+ }
+
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+rule AnnotationTypeMemberDeclaration2Property {
+ from
+ s1: JMM!AnnotationTypeMemberDeclaration (
+ -- we need to exclude unresolved annotation type member declarations
+ if(s1.oclIsTypeOf(JMM!AnnotationTypeMemberDeclaration) and not s1.proxy) then
+
+ -- is a container stereotype required
+ ((s1.refImmediateComposite().isContainerAnnotation and s1.refImmediateComposite().requiresContainerAnnotation)
+ or not s1.refImmediateComposite().isContainerAnnotation)
+
+ or s1.refImmediateComposite().isRelevantForAnnotationTypes
+
+ else false
+ endif
+ )
+ to
+ t1: UMLMM!Property (
+ name <- s1.name,
+ -- can be set to public as no other visibility modifier is allowed for
+ -- annotation types
+ visibility <- #public,
+ -- the problem here is that we may have proxy member declaratios with no
+ -- further type information
+ type <- if (s1.type <> OclUndefined) then
+ s1.type.getType()
+ else
+ UMLMM!PrimitiveType.allInstancesFrom('EPT') -> select(e | e.name =
+ 'EJavaObject').first()
+ endif,
+ -- is done in post processing ;)
+ -- default <- if s1.default <> OclUndefined and
+ -- s1.default.oclIsTypeOf(JMM!NumberLiteral) then
+ -- s1.default.tokenValue else OclUndefined endif,
+ -- TODO: provide example for an undefined type
+ lower <- if s1.default <> OclUndefined then
+ 0
+ else
+ if s1.type <> OclUndefined then
+ if s1.type.type.oclIsTypeOf(JMM!ArrayType) then
+ 0
+ else
+ 1
+ endif
+ else
+ 1
+ endif
+ endif,
+ upper <- if s1.type <> OclUndefined then
+ if s1.type.type.oclIsTypeOf(JMM!ArrayType) then
+ -1
+ else
+ 1
+ endif
+ else
+ 1
+ endif,
+ -- if stereotypes are composed by other stereotypes
+ aggregation <- if s1.type <> OclUndefined
+ -- if the annotation member is of type Class then aggregation needs to be set to #none
+ then if(s1.type.isComplexType() and not s1.type.getType().oclIsTypeOf(UMLMM!Class)) then #composite else #none
+ endif
+ else #none
+ endif
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'AnnotationTypeMemberDeclaration2Property',
+ targetElements <- Sequence{t1}
+ )
+ do {
+
+ -- TODO : Here we should also consider the discussion about OCL constraints for
+ -- the allowed types as specified by the binding Class<T>
+ -- same as above: the problem here is that we may have proxy member declaratios
+ -- with no further type information
+ if(s1.type <> OclUndefined) {
+ if (s1.type.type.oclIsTypeOf(JMM!ParameterizedType)) {
+ thisModule.stereotype <- thisModule.getStereotypes -> any(e | e.name =
+ 'JGenericType');
+ t1.applyStereotype(thisModule.stereotype);
+
+ t1.setValue(thisModule.stereotype, 'type', 'upperBounded');
+
+ -- set the type of the 'binding' ... unbounded (default), upperbounded,
+ -- lowerbounded, bounded;
+ if (s1.type.type.typeArguments.first().type.
+ oclIsTypeOf(JMM!WildCardType)) {
+
+ -- if the type parameterized type is unresolved then create a proxy
+ -- element
+ -- design decision: it seems to be rather hard to express this part
+ -- declaratively ;(
+
+ if(not s1.type.type.typeArguments.first().type.bound.
+ oclIsUndefined()) {
+ if(s1.type.type.typeArguments.first().type.bound.type.
+ oclIsTypeOf(JMM!UnresolvedTypeDeclaration)) {
+
+ -- s1.refImmediateComposite().name.debug();
+ -- s1.name.debug();
+ thisModule.UnresolvedTypeDeclaration2Type(s1.type.type.
+ typeArguments.first().type.bound.type);
+ }
+ }
+
+ -- upperBounded case
+ if (s1.type.type.typeArguments.first().type.name.startsWith('?' + ''
+ + ' extends')) {
+ thisModule.stereotype <- thisModule.getStereotypes -> any(e | e.
+ name = 'JGenericType');
+ t1.setValue(thisModule.stereotype, 'type', 'upperBounded');
+
+ --t1.setValue(thisModule.stereotype, 'type', 'upperBounded');
+ --t1.setValue(thisModule.stereotype, 'parameter',
+ -- thisModule.resolveTemp(s1.type.type.typeArguments.first().type.bound.typ
+ -- e
+ -- ,
+ -- 't1').debug());
+ }
+ -- lowerBounded case
+ else if (s1.type.type.typeArguments.first().type.name.toString().
+ startsWith('? super')) {
+ t1.setValue(thisModule.stereotype, 'type', 'lowerBounded');
+ -- t1.setValue(thisModule.stereotype, 'parameter',
+ -- thisModule.resolveTemp(s1.type.type.typeArguments.first().type.bound.typ
+ -- e
+ -- ,
+ -- 't1').debug());
+ }
+ }
+
+ -- bounded case
+ else if (not s1.type.type.typeArguments.first().type.oclIsUndefined()) {
+
+ -- s1.name.debug();
+ t1.setValue(thisModule.stereotype, 'type', 'bounded');
+ t1.setValue(thisModule.stereotype, 'parameter', thisModule.
+ resolveTemp(s1.type.type.typeArguments.first().type,
+ 't1'));
+ }
+ }
+
+ if (s1.type.isComplexType()) {
+ thisModule.AnnotationTypeMemberDeclaration2Association(s1);
+ }
+ }
+
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+-- if we have UML properties with a complex type then we should create an UML association
+lazy rule AnnotationTypeMemberDeclaration2Association {
+ from
+ s1: JMM!AnnotationTypeMemberDeclaration
+ to
+ t1: UMLMM!Association (
+ name <- if (not s1.type.getType().name.oclIsUndefined()) then
+ s1.name.concat('_').concat(s1.refImmediateComposite().name).concat('_').concat(s1.type.getType().name)
+ else
+ s1.name.concat('_').concat(s1.refImmediateComposite().name).concat('_').concat(s1.type.type.name)
+ endif,
+ memberEnd <- s1,
+ memberEnd <- t2
+ ),
+ t2: UMLMM!Property (
+ -- the idea is to use the name of the Java field plus the classifier the
+ -- association points to
+ name <- s1.name.concat('_').concat(s1.refImmediateComposite().name),
+ -- can be set to public as no other visibility modifier is allowed for
+ -- annotation types
+ visibility <- #public,
+ -- TODO: Think about the multiplicity
+ lower <- 0,
+ upper <- 1,
+ type <- s1.refImmediateComposite()
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'AnnotationTypeMemberDeclaration2Association',
+ targetElements <- Sequence{t1}
+ )
+ do {
+ thisModule.resolveTemp(s1.refImmediateComposite().getPackage(), 't1').
+ packagedElement <- t1;
+
+ -- case java.lang.Class / java.lang.Class[]: we do not want to change the
+ -- meta-class UML Class
+ -- so the produced property is contained by the association
+ if( (s1.type.type.oclIsTypeOf(JMM!ParameterizedType)) or
+ (s1.type.type.refImmediateComposite().getFullyQualifiedPackageName.toString().concat('.').concat(s1.type.type.name).toString()
+ = 'java.lang.Class') or ( -- in case the Array is parameterized the name
+ -- string also contains '<...>'
+ s1.type.type.name.toString().startsWith('java.lang.Class') and s1.type.
+ type.name.toString().endsWith('[]')) ) {
+
+ t1.ownedEnd <- t2;
+ }
+ -- we follow the standard procedure and put the produced property into the
+ -- associated element
+ else {
+ if(s1.type.type.oclIsTypeOf(JMM!ArrayType)) {
+
+ if(s1.type.type.elementType.type.
+ oclIsTypeOf(JMM!UnresolvedTypeDeclaration)) {
+ t1.ownedEnd <- t2;
+ }
+
+
+ thisModule.resolveTemp(s1.type.type.elementType.type, 't1').
+ ownedAttribute <- t2;
+ }
+ else {
+ thisModule.resolveTemp(s1.type.type, 't1').ownedAttribute <- t2;
+ }
+ }
+
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+
+ }
+}
+
+-- Refers to Types that cannot be resolved. This happens if a library references elements
+-- of another library for which we do not have access to the source. Then, we get only the
+-- type information and the type access but not further information.
+-- The idea is to transform those UnresolvedTypes that are used in the declaration of
+-- of annotations, i.e., AnnotationTypeMemberDeclarations. This seems to be essential
+-- to declare the AnnotationTypeMemberDeclaration.
+rule UnresolvedTypeDeclaration2Type {
+ from
+ s1: JMM!UnresolvedTypeDeclaration (
+ s1.usagesInTypeAccess -> exists(e | e.refImmediateComposite().
+ oclIsTypeOf(JMM!AnnotationTypeMemberDeclaration)) or
+ -- ArrayTypes need to be handled differently
+ s1.usagesInTypeAccess -> collect(e | e.refImmediateComposite()) ->
+ select(e | e.oclIsTypeOf(JMM!ArrayType)) -> exists(e | e.usagesInTypeAccess ->
+ exists(f | f.refImmediateComposite().oclIsTypeOf(JMM!AnnotationTypeMemberDeclaration)))
+ )
+ to
+ t1: UMLMM!Class (
+ name <- s1.name
+ ),
+ -- trace information
+ tl: TMM!TraceLink (
+ ruleName <- 'UnresolvedTypeDeclaration2Type',
+ targetElements <- Sequence{t1}
+ )
+ do {
+ if(thisModule.proxyPackage.oclIsUndefined()) {
+ thisModule -> initProxyPackage(s1);
+ }
+ thisModule.proxyPackage.packagedElement <- t1;
+
+ -- apply the proxy stereotype
+ thisModule.stereotype <- UMLMM!Stereotype.allInstancesFrom('JP') ->
+ select(e | e.name = 'JProxyType').first();
+ t1.applyStereotype(thisModule.stereotype);
+
+ -- trace information
+ tl.refSetValue('sourceElements', Sequence{s1});
+ thisModule.trace.traceLinks <- tl;
+ }
+}
+
+-- we do need a constraint for the Type extension as only Class, Interface, Enumeration
+-- and Stereotype
+-- should be targets for the produced Stereotype
+rule createTypeConstraint(stereotype: UMLMM!Stereotype) {
+ to
+ t1: UMLMM!Constraint (
+ name <- 'typeConstraint',
+ constrainedElement <- stereotype,
+ context <- stereotype,
+ specification <- t2
+ ),
+ t2: UMLMM!OpaqueExpression (
+ name <- 'typeConstraintExpression',
+ -- the type constraint
+-- body <- 'self.base_Type.oclIsUndefined() or
+-- (self.base_Type.oclIsTypeOf(uml::Class) or
+-- self.base_Type.oclIsTypeOf(uml::Interface) or
+-- self.base_Type.oclIsTypeOf(uml::Enumeration) or
+-- self.base_Type.oclIsTypeOf(uml::Stereotype))',
+ body <- 'not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,
+ uml::Class, uml::Enumeration, uml::Interface}
+ -> includes(self.base_Type.oclType())',
+ -- the language we use to express the constraint
+ language <- 'OCL'
+ )
+}
+
+-- furthermore, we do need a constraint for the Operation extension if the Java element
+-- type Constructor
+-- is used
+rule createConstructorConstraint(stereotype: UMLMM!Stereotype) {
+ to
+ t1: UMLMM!Constraint (
+ name <- 'constructorConstraint',
+ constrainedElement <- stereotype,
+ context <- stereotype,
+ specification <- t2
+ ),
+ t2: UMLMM!OpaqueExpression (
+ name <- 'constructorConstraintExpression',
+ -- the type constraint
+ -- body <- 'self.base_Operation.oclIsUndefined() or
+ -- self.base_Operation.name =
+ -- self.base_Operation.oclContainer().oclAsType(uml::Classifier).name'
+ -- ,
+ body <- 'not self.base_Operation.oclIsUndefined() implies
+ self.base_Operation.name =
+ self.base_Operation.oclContainer().oclAsType(uml::Classifier).name',
+ -- the language we use to express the constraint
+ language <- 'OCL'
+ )
+}
+
+-- since we translation methods of annotationtypedeclarations to properties, we do have
+-- to take care
+-- that such properties can be stereotyped if ElementType.Method is set
+rule createMethodConstraint(stereotype: UMLMM!Stereotype) {
+ to
+ t1: UMLMM!Constraint (
+ name <- 'methodConstraint',
+ constrainedElement <- stereotype,
+ context <- stereotype,
+ specification <- t2
+ ),
+ t2: UMLMM!OpaqueExpression (
+ name <- 'methodConstraintExpression',
+ -- the type constraint
+-- body <- 'self.base_Property.oclIsUndefined() or
+-- self.base_Property.oclContainer().oclIsTypeOf(uml::Stereotype)',
+ body <- 'not self.base_Property.oclIsUndefined() implies
+ self.base_Property.oclContainer().oclIsTypeOf(uml::Stereotype)',
+ -- the language we use to express the constraint
+ language <- 'OCL'
+ )
+}
+
+-- currently we do not use UML's support for templates and template binding!
+--rule ParameterizedType2Class {
+-- from
+-- s1 : JMM!ParameterizedType
+-- to
+-- t1 : UMLMM!Class (
+-- name <- s1.name,
+-- templateBinding <- s1.typeArguments
+-- )
+--}
+--
+--rule TypeAccessOfParameterizedType2TemplateBinding {
+-- from
+-- s1 : JMM!TypeAccess(
+-- if s1.refImmediateComposite().oclIsTypeOf(JMM!ParameterizedType)
+-- then s1.refImmediateComposite().typeArguments -> exists(e | e = s1)
+-- else false endif)
+-- to
+-- t1 : UMLMM!TemplateBinding (
+-- signature <-
+ -- s1.refImmediateComposite().getParameterizedClassFromJavaLibrary().ownedTemplateSignatur
+ -- e
+ -- ,
+ --
+-- parameterSubstitution <- t2
+-- ),
+--
+-- t2 : UMLMM!TemplateParameterSubstitution (
+-- -- TODO : the assumption here is that we have only one parameter
+-- formal <-
+ -- s1.refImmediateComposite().getParameterizedClassFromJavaLibrary().ownedTemplateSignature.ownedParameter.first(
+ -- )
+ -- ,
+ --
+-- actual <- if s1.type.oclIsTypeOf(JMM!AnnotationTypeDeclaration) then
+ -- s1.type else s1.getActualParameterFromModelLibrary() endif
+-- -- TODO : in RSA the property ownedActual is set as well ... but then the
+--- define step of UML2 plugin breaks!
+-- )
+--}
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfile.java b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfile.java
new file mode 100644
index 0000000..595059f
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfile.java
@@ -0,0 +1,359 @@
+/*******************************************************************************
+ * Copyright (c) 2010, 2012 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.upr.platform.java.cm2up;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Map.Entry;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
+import org.eclipse.m2m.atl.common.ATLExecutionException;
+import org.eclipse.m2m.atl.core.ATLCoreException;
+import org.eclipse.m2m.atl.core.IExtractor;
+import org.eclipse.m2m.atl.core.IInjector;
+import org.eclipse.m2m.atl.core.IModel;
+import org.eclipse.m2m.atl.core.IReferenceModel;
+import org.eclipse.m2m.atl.core.ModelFactory;
+import org.eclipse.m2m.atl.core.emf.EMFExtractor;
+import org.eclipse.m2m.atl.core.emf.EMFInjector;
+import org.eclipse.m2m.atl.core.emf.EMFModelFactory;
+import org.eclipse.m2m.atl.core.launch.ILauncher;
+import org.eclipse.m2m.atl.engine.emfvm.launch.EMFVMLauncher;
+
+/**
+ * Entry point of the 'CodeModel2UMLProfile' transformation module.
+ */
+public class CodeModel2UMLProfile {
+
+ /**
+ * The property file. Stores module list, the metamodel and library locations.
+ * @generated
+ */
+ private Properties properties;
+
+ /**
+ * The CM model.
+ * @generated
+ */
+ protected IModel cmModel;
+
+ /**
+ * The JP model.
+ * @generated
+ */
+ protected IModel jpModel;
+
+ /**
+ * The JPT model.
+ * @generated
+ */
+ protected IModel jptModel;
+
+ /**
+ * The MC model.
+ * @generated
+ */
+ protected IModel mcModel;
+
+ /**
+ * The UPT model.
+ * @generated
+ */
+ protected IModel uptModel;
+
+ /**
+ * The EPT model.
+ * @generated
+ */
+ protected IModel eptModel;
+
+ /**
+ * The CFG model.
+ * @generated
+ */
+ protected IModel cfgModel;
+
+ /**
+ * The UP model.
+ * @generated
+ */
+ protected IModel upModel;
+
+ /**
+ * The TM model.
+ * @generated
+ */
+ protected IModel tmModel;
+
+ /**
+ * The main method.
+ *
+ * @param args
+ * are the arguments
+ * @generated
+ */
+ public static void main(String[] args) {
+ try {
+ if (args.length < 9) {
+ System.out.println("Arguments not valid : {CM_model_path, JP_model_path, JPT_model_path, MC_model_path, UPT_model_path, EPT_model_path, CFG_model_path, UP_model_path, TM_model_path}.");
+ } else {
+ CodeModel2UMLProfile runner = new CodeModel2UMLProfile();
+ runner.loadModels(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
+ runner.doCodeModel2UMLProfile(new NullProgressMonitor());
+ runner.saveModels(args[7], args[8]);
+ }
+ } catch (ATLCoreException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (ATLExecutionException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Constructor.
+ *
+ * @generated
+ */
+ public CodeModel2UMLProfile() throws IOException {
+ properties = new Properties();
+ properties.load(getFileURL("CodeModel2UMLProfile.properties").openStream());
+ EPackage.Registry.INSTANCE.put(getMetamodelUri("UMLMM"), org.eclipse.uml2.uml.UMLPackage.eINSTANCE);
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
+ }
+
+ /**
+ * Load the input and input/output models, initialize output models.
+ *
+ * @param cmModelPath
+ * the CM model path
+ * @param jpModelPath
+ * the JP model path
+ * @param jptModelPath
+ * the JPT model path
+ * @param mcModelPath
+ * the MC model path
+ * @param uptModelPath
+ * the UPT model path
+ * @param eptModelPath
+ * the EPT model path
+ * @param cfgModelPath
+ * the CFG model path
+ * @throws ATLCoreException
+ * if a problem occurs while loading models
+ *
+ * @generated
+ */
+ public void loadModels(String cmModelPath, String jpModelPath, String jptModelPath, String mcModelPath, String uptModelPath, String eptModelPath, String cfgModelPath) throws ATLCoreException {
+ ModelFactory factory = new EMFModelFactory();
+ IInjector injector = new EMFInjector();
+ IReferenceModel umlmmMetamodel = factory.newReferenceModel();
+ injector.inject(umlmmMetamodel, getMetamodelUri("UMLMM"));
+ IReferenceModel cfgmmMetamodel = factory.newReferenceModel();
+ injector.inject(cfgmmMetamodel, getMetamodelUri("CFGMM"));
+ IReferenceModel tmmMetamodel = factory.newReferenceModel();
+ injector.inject(tmmMetamodel, getMetamodelUri("TMM"));
+ IReferenceModel jmmMetamodel = factory.newReferenceModel();
+ injector.inject(jmmMetamodel, getMetamodelUri("JMM"));
+ this.cmModel = factory.newModel(jmmMetamodel);
+ injector.inject(cmModel, cmModelPath);
+ this.jpModel = factory.newModel(umlmmMetamodel);
+ injector.inject(jpModel, jpModelPath);
+ this.jptModel = factory.newModel(umlmmMetamodel);
+ injector.inject(jptModel, jptModelPath);
+ this.mcModel = factory.newModel(umlmmMetamodel);
+ injector.inject(mcModel, mcModelPath);
+ this.uptModel = factory.newModel(umlmmMetamodel);
+ injector.inject(uptModel, uptModelPath);
+ this.eptModel = factory.newModel(umlmmMetamodel);
+ injector.inject(eptModel, eptModelPath);
+ this.cfgModel = factory.newModel(cfgmmMetamodel);
+ injector.inject(cfgModel, cfgModelPath);
+ this.upModel = factory.newModel(umlmmMetamodel);
+ this.tmModel = factory.newModel(tmmMetamodel);
+ }
+
+ /**
+ * Save the output and input/output models.
+ *
+ * @param upModelPath
+ * the UP model path
+ * @param tmModelPath
+ * the TM model path
+ * @throws ATLCoreException
+ * if a problem occurs while saving models
+ *
+ * @generated
+ */
+ public void saveModels(String upModelPath, String tmModelPath) throws ATLCoreException {
+ IExtractor extractor = new EMFExtractor();
+ extractor.extract(upModel, upModelPath);
+ extractor.extract(tmModel, tmModelPath);
+ }
+
+ /**
+ * Transform the models.
+ *
+ * @param monitor
+ * the progress monitor
+ * @throws ATLCoreException
+ * if an error occurs during models handling
+ * @throws IOException
+ * if a module cannot be read
+ * @throws ATLExecutionException
+ * if an error occurs during the execution
+ *
+ * @generated
+ */
+ public Object doCodeModel2UMLProfile(IProgressMonitor monitor) throws ATLCoreException, IOException, ATLExecutionException {
+ ILauncher launcher = new EMFVMLauncher();
+ Map<String, Object> launcherOptions = getOptions();
+ launcher.initialize(launcherOptions);
+ launcher.addInModel(cmModel, "CM", "JMM");
+ launcher.addInModel(jpModel, "JP", "UMLMM");
+ launcher.addInModel(jptModel, "JPT", "UMLMM");
+ launcher.addInModel(mcModel, "MC", "UMLMM");
+ launcher.addInModel(uptModel, "UPT", "UMLMM");
+ launcher.addInModel(eptModel, "EPT", "UMLMM");
+ launcher.addInModel(cfgModel, "CFG", "CFGMM");
+ launcher.addOutModel(upModel, "UP", "UMLMM");
+ launcher.addOutModel(tmModel, "TM", "TMM");
+ launcher.addLibrary("javaLibrary", getLibraryAsStream("javaLibrary"));
+ launcher.addLibrary("profileLibrary", getLibraryAsStream("profileLibrary"));
+ return launcher.launch("run", monitor, launcherOptions, (Object[]) getModulesList());
+ }
+
+ /**
+ * Returns an Array of the module input streams, parameterized by the
+ * property file.
+ *
+ * @return an Array of the module input streams
+ * @throws IOException
+ * if a module cannot be read
+ *
+ * @generated
+ */
+ protected InputStream[] getModulesList() throws IOException {
+ InputStream[] modules = null;
+ String modulesList = properties.getProperty("CodeModel2UMLProfile.modules");
+ if (modulesList != null) {
+ String[] moduleNames = modulesList.split(",");
+ modules = new InputStream[moduleNames.length];
+ for (int i = 0; i < moduleNames.length; i++) {
+ String asmModulePath = new Path(moduleNames[i].trim()).removeFileExtension().addFileExtension("asm").toString();
+ modules[i] = getFileURL(asmModulePath).openStream();
+ }
+ }
+ return modules;
+ }
+
+ /**
+ * Returns the URI of the given metamodel, parameterized from the property file.
+ *
+ * @param metamodelName
+ * the metamodel name
+ * @return the metamodel URI
+ *
+ * @generated
+ */
+ protected String getMetamodelUri(String metamodelName) {
+ return properties.getProperty("CodeModel2UMLProfile.metamodels." + metamodelName);
+ }
+
+ /**
+ * Returns the file name of the given library, parameterized from the property file.
+ *
+ * @param libraryName
+ * the library name
+ * @return the library file name
+ *
+ * @generated
+ */
+ protected InputStream getLibraryAsStream(String libraryName) throws IOException {
+ return getFileURL(properties.getProperty("CodeModel2UMLProfile.libraries." + libraryName)).openStream();
+ }
+
+ /**
+ * Returns the options map, parameterized from the property file.
+ *
+ * @return the options map
+ *
+ * @generated
+ */
+ protected Map<String, Object> getOptions() {
+ Map<String, Object> options = new HashMap<String, Object>();
+ for (Entry<Object, Object> entry : properties.entrySet()) {
+ if (entry.getKey().toString().startsWith("CodeModel2UMLProfile.options.")) {
+ options.put(entry.getKey().toString().replaceFirst("CodeModel2UMLProfile.options.", ""),
+ entry.getValue().toString());
+ }
+ }
+ return options;
+ }
+
+ /**
+ * Finds the file in the plug-in. Returns the file URL.
+ *
+ * @param fileName
+ * the file name
+ * @return the file URL
+ * @throws IOException
+ * if the file doesn't exist
+ *
+ * @generated
+ */
+ protected static URL getFileURL(String fileName) throws IOException {
+ final URL fileURL;
+ if (isEclipseRunning()) {
+ URL resourceURL = CodeModel2UMLProfile.class.getResource(fileName);
+ if (resourceURL != null) {
+ fileURL = FileLocator.toFileURL(resourceURL);
+ } else {
+ fileURL = null;
+ }
+ } else {
+ fileURL = CodeModel2UMLProfile.class.getResource(fileName);
+ }
+ if (fileURL == null) {
+ throw new IOException("'" + fileName + "' not found");
+ } else {
+ return fileURL;
+ }
+ }
+
+ /**
+ * Tests if eclipse is running.
+ *
+ * @return <code>true</code> if eclipse is running
+ *
+ * @generated
+ */
+ public static boolean isEclipseRunning() {
+ try {
+ return Platform.isRunning();
+ } catch (Throwable exception) {
+ // Assume that we aren't running.
+ }
+ return false;
+ }
+}
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfile.properties b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfile.properties
new file mode 100644
index 0000000..381fa65
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfile.properties
@@ -0,0 +1,24 @@
+# ==============================================================================
+# CodeModel2UMLProfile properties
+# ==============================================================================
+
+# ATL modules: if several, by order of superimposition (the latter ones overrides the former ones)
+CodeModel2UMLProfile.modules = CodeModel2UMLProfile.atl
+
+# Metamodels paths or nsUris
+CodeModel2UMLProfile.metamodels.UMLMM = http://www.eclipse.org/uml2/3.0.0/UML
+CodeModel2UMLProfile.metamodels.CFGMM = http://org.eclipse.upr.platform.java.configuration/0.9
+CodeModel2UMLProfile.metamodels.TMM = http://org.eclipse.upr.platform.trace/0.9
+CodeModel2UMLProfile.metamodels.JMM = http://www.eclipse.org/MoDisco/Java/0.2.incubation/java
+
+# Libraries paths
+CodeModel2UMLProfile.libraries.javaLibrary = javaLibrary.asm
+CodeModel2UMLProfile.libraries.profileLibrary = profileLibrary.asm
+
+# ATL Launching options
+CodeModel2UMLProfile.options.supportUML2Stereotypes = true
+CodeModel2UMLProfile.options.OPTION_CONTENT_TYPE = false
+CodeModel2UMLProfile.options.step = false
+CodeModel2UMLProfile.options.allowInterModelReferences = true
+CodeModel2UMLProfile.options.printExecutionTime = true
+
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfilePostProcessor.java b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfilePostProcessor.java
new file mode 100644
index 0000000..0577d74
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/CodeModel2UMLProfilePostProcessor.java
@@ -0,0 +1,394 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Vienna University of Technology.
+ * 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:
+ * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation
+ *
+ * Initially developed in the context of ARTIST EU project www.artist-project.eu
+ *******************************************************************************/
+package org.eclipse.upr.platform.java.cm2up;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmt.modisco.java.AbstractTypeDeclaration;
+import org.eclipse.gmt.modisco.java.Annotation;
+import org.eclipse.gmt.modisco.java.AnnotationTypeDeclaration;
+import org.eclipse.gmt.modisco.java.AnnotationTypeMemberDeclaration;
+import org.eclipse.gmt.modisco.java.ArrayInitializer;
+import org.eclipse.gmt.modisco.java.BooleanLiteral;
+import org.eclipse.gmt.modisco.java.CharacterLiteral;
+import org.eclipse.gmt.modisco.java.Expression;
+import org.eclipse.gmt.modisco.java.NumberLiteral;
+import org.eclipse.gmt.modisco.java.PrefixExpression;
+import org.eclipse.gmt.modisco.java.SingleVariableAccess;
+import org.eclipse.gmt.modisco.java.StringLiteral;
+import org.eclipse.gmt.modisco.java.TypeDeclaration;
+import org.eclipse.gmt.modisco.java.TypeLiteral;
+import org.eclipse.gmt.modisco.java.emf.JavaPackage;
+import org.eclipse.m2m.atl.core.IModel;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.upr.platform.trace.Trace;
+import org.eclipse.upr.platform.trace.TraceLink;
+import org.eclipse.upr.platform.trace.TracePackage;
+
+/**
+ * @author Alexander Bergmayr
+ *
+ */
+public class CodeModel2UMLProfilePostProcessor {
+
+ /**
+ *
+ */
+ private static Map<EObject, TraceLink> profileModel2CodeModeltraceMap = new HashMap<EObject, TraceLink>();
+
+ /**
+ *
+ */
+ private static Map<EObject, EObject> codeModel2ProfileModeltraceMap = new HashMap<EObject, EObject>();
+
+ /**
+ *
+ * @param codeModel
+ * @param profileModel
+ * @param traceModel
+ */
+ public static void runPostProcessing(IModel codeModel, IModel profileModel,
+ IModel traceModel) {
+ // init the trace map
+ initProfileModel2CodeModelTraceMap(traceModel);
+ initCodeModel2ProfileModelTraceMap(traceModel);
+
+ // set default values
+ setDefaultValues();
+
+ // helper collection to find property duplicates
+ Collection<String> properties = new ArrayList<String>();
+
+ // helper collection that stores the elements to destroy
+ Collection<Element> umlRemovals = new ArrayList<Element>();
+ Set<TraceLink> traceRemovals = new HashSet<TraceLink>();
+
+ // check the stereotypes for duplicates -> Property, Association,
+ // Operation
+ Set<? extends Object> stereotypes = profileModel
+ .getElementsByType(UMLPackage.eINSTANCE.getStereotype());
+
+ for (Object obj : stereotypes) {
+ Stereotype stereotype = (Stereotype) obj;
+
+ // TODO: maybe work with validators here !!
+ for (Property property : stereotype.getAllAttributes()) {
+ if (properties.contains(property.getName())) {
+
+ // the extension member ends of the Extension
+ for (Property extensionEnd : property.getAssociation()
+ .getMemberEnds()) {
+ umlRemovals.add(extensionEnd);
+
+ // if we remove an Operation extension, we should remove
+ // the constructor
+ // constraint as well
+ if (property.getType().getName().equalsIgnoreCase("Operation")) {
+ umlRemovals.add(stereotype.getOwnedRule("constructorConstraint"));
+ }
+
+ // if we remove a Property extension, we should remove
+ // the method
+ // constraint as well
+ if (property.getType().getName().equalsIgnoreCase("Property")) {
+ umlRemovals.add(stereotype.getOwnedRule("methodConstraint"));
+ }
+
+ traceRemovals.add(profileModel2CodeModeltraceMap.get(extensionEnd));
+ }
+
+ // the Extension
+ umlRemovals.add(property.getAssociation());
+ traceRemovals.add(profileModel2CodeModeltraceMap.get(property
+ .getAssociation()));
+
+ // TODO: we need to remove constraints regarding operations
+ // as well!
+ } else {
+ properties.add(property.getName());
+ }
+ }
+
+ // clear the collection of properties for the next stereotype
+ properties.clear();
+ }
+
+ // remove the trace links
+ for (TraceLink traceLink : traceRemovals) {
+ Trace trace = (Trace) traceLink.eContainer();
+ trace.getTraceLinks().remove(traceLink);
+ }
+
+ // remove the uml elements
+ for (Element element : umlRemovals) {
+ element.destroy();
+ }
+ }
+
+ private static void setDefaultValues() {
+ for (EObject eObj : codeModel2ProfileModeltraceMap.keySet()) {
+ if (eObj instanceof AnnotationTypeMemberDeclaration) {
+ AnnotationTypeMemberDeclaration member = (AnnotationTypeMemberDeclaration) eObj;
+
+ if (member.getDefault() != null) {
+ Object value = getValueFromExpression(member.getDefault());
+
+ if (value != null) {
+ EObject umlElement = codeModel2ProfileModeltraceMap.get(member);
+
+ if (umlElement != null) {
+ Property umlProperty = (Property) umlElement;
+
+ // TODO: We need to properly deal with "empty" values, e.g., {}
+ if(!(value.toString().equalsIgnoreCase("[]") ||
+ value.toString().equalsIgnoreCase("\"\""))) {
+
+ if(!isNumericPrimitiveType(umlProperty.getType()) ||
+ (isNumericPrimitiveType(umlProperty.getType()) && StringUtils.isNumeric(value.toString()))) {
+
+
+ if(umlProperty.getType() instanceof Enumeration && umlProperty.isMultivalued()) {
+ // remove brackets
+ value = value.toString().substring(1, value.toString().length() -1);
+ }
+ umlProperty.setDefault(value.toString());
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ private static boolean isNumericPrimitiveType(Type type) {
+ boolean isNumeric = false;
+
+ if(type instanceof PrimitiveType) {
+ PrimitiveType primType = (PrimitiveType) type;
+
+ if(primType.getName().equalsIgnoreCase("long") || primType.getName().equalsIgnoreCase("int") ||
+ primType.getName().equalsIgnoreCase("double") || primType.getName().equalsIgnoreCase("float")) {
+ isNumeric = true;
+ }
+ }
+
+ return isNumeric;
+ }
+
+ /**
+ *
+ *
+ * @param umlElement
+ * @param valueExpression
+ * @return the UML value for a given Java expression.
+ */
+ private static Object getValueFromExpression(
+ /* Element umlElement, */Expression valueExpression) {
+ // TODO: their might still be cases that are not yet covered.
+ Object value = null;
+
+ // multi-valued expression
+ if (valueExpression.eClass().getClassifierID() == JavaPackage.ARRAY_INITIALIZER) {
+ ArrayInitializer arrayInitializer = (ArrayInitializer) valueExpression;
+ List<Object> values = new ArrayList<Object>();
+
+ for (Expression expression : arrayInitializer.getExpressions()) {
+
+ if (expression.eClass().getClassifierID() == JavaPackage.ANNOTATION) {
+ Annotation javaAnnotation = (Annotation) expression;
+
+ AnnotationTypeDeclaration annotationType = (AnnotationTypeDeclaration) javaAnnotation
+ .getType().getType();
+ value = annotationType.getName();
+ // Stereotype umlStereotype =
+ // this.getElementFromProfile(annotationType,
+ // Stereotype.class);
+ // if(umlStereotype != null && umlElement != null) {
+ //
+ // EClass stereotypeDefinition =
+ // this.getStereotypeDefinition(umlElement, umlStereotype);
+ // if(stereotypeDefinition != null) {
+ // EObject stereotypeInstance =
+ // EcoreUtil.create(stereotypeDefinition);
+ // this.setValues(javaAnnotation, umlElement,
+ // stereotypeInstance);
+ // values.add(stereotypeInstance);
+ //
+ // // stats
+ // this.reportStereotypeApplication(umlStereotype);
+ // notRecognizedAnnotationCounter--;
+ // }
+ // }
+ // else {
+ // System.out.println("... null value");
+ // }
+ }
+
+ if (expression.eClass().getClassifierID() == JavaPackage.SINGLE_VARIABLE_ACCESS) {
+ values
+ .add(getValueFromSingleVariableAccess((SingleVariableAccess) expression));
+ }
+
+ }
+ return values;
+ }
+
+ // EnumerationLiteral
+ else if (valueExpression.eClass().getClassifierID() == JavaPackage.SINGLE_VARIABLE_ACCESS) {
+ // SingleVariableAccess singleVariableAccess =
+ // (SingleVariableAccess) valueExpression;
+ value = getValueFromSingleVariableAccess((SingleVariableAccess) valueExpression);
+ }
+
+ else if (valueExpression.eClass().getClassifierID() == JavaPackage.TYPE_LITERAL) {
+ TypeLiteral typeLiteral = (TypeLiteral) valueExpression;
+
+ if (typeLiteral.getType().getType() instanceof TypeDeclaration) {
+ TypeDeclaration type = (TypeDeclaration) typeLiteral.getType()
+ .getType();
+ value = type.getName();
+ }
+
+ else if (typeLiteral.getType().getType() instanceof AnnotationTypeDeclaration) {
+ AnnotationTypeDeclaration annotationType = (AnnotationTypeDeclaration) typeLiteral
+ .getType().getType();
+ value = annotationType.getName();
+ } else if (typeLiteral.getType().getType().eClass().getClassifierID() == JavaPackage.PRIMITIVE_TYPE_VOID) {
+ value = "void.class";
+ }
+ }
+
+ else if (valueExpression.eClass().getClassifierID() == JavaPackage.ANNOTATION) {
+ Annotation javaAnnotation = (Annotation) valueExpression;
+
+ AbstractTypeDeclaration annotationType = (AbstractTypeDeclaration) javaAnnotation
+ .getType().getType();
+ value = annotationType.getName();
+ }
+
+ else if (valueExpression.eClass().getClassifierID() == JavaPackage.PREFIX_EXPRESSION) {
+ PrefixExpression prefix = (PrefixExpression) valueExpression;
+ value = prefix.getOperator().toString()
+ .concat(getValueFromExpression(prefix.getOperand()).toString());
+
+ }
+
+ // primitive literal
+ else {
+ if (valueExpression.eClass().getClassifierID() == JavaPackage.STRING_LITERAL) {
+ value = ((StringLiteral) valueExpression).getEscapedValue();
+ } else if (valueExpression.eClass().getClassifierID() == JavaPackage.CHARACTER_LITERAL) {
+ value = ((CharacterLiteral) valueExpression).getEscapedValue();
+ } else if (valueExpression.eClass().getClassifierID() == JavaPackage.BOOLEAN_LITERAL) {
+ value = ((BooleanLiteral) valueExpression).isValue();
+ } else if (valueExpression.eClass().getClassifierID() == JavaPackage.NUMBER_LITERAL) {
+ value = ((NumberLiteral) valueExpression).getTokenValue();
+ }
+ }
+
+ return value;
+ }
+
+ private static Object getValueFromSingleVariableAccess(
+ SingleVariableAccess valueExpression) {
+ if(valueExpression != null && valueExpression.getVariable() != null) {
+ return valueExpression.getVariable().getName();
+ }
+ else return "";
+
+ // Object value = null;
+ // // if the variable isn't a proxy, we should find it in the trace
+ // if(!valueExpression.getVariable().isProxy()) {
+ // //
+ // if(valueExpression.getVariable().eClass().getClassifierID() ==
+ // JavaPackage.VARIABLE_DECLARATION_FRAGMENT) {
+ // if(valueExpression.getVariable().getInitializer() != null) {
+ // value = getValueFromExpression(/*null,*/
+ // valueExpression.getVariable().getInitializer());
+ // }
+ // else {
+ // value = valueExpression.getVariable().getName();
+ // }
+ // }
+ //
+ // // else try to find the value in the trace map
+ // Object umlValue =
+ // codeModel2ProfileModeltraceMap.get(valueExpression.getVariable());
+ // value = umlValue;
+ // }
+ // else {
+ // // let's have a look in the profile
+ // // Element umlValue =
+ // this.getElementFromProfile(valueExpression.getVariable(),
+ // Element.class);
+ // // value = umlValue;
+ // value = valueExpression.getVariable().getName();
+ // }
+ //
+ // return value;
+ }
+
+ private static void initProfileModel2CodeModelTraceMap(IModel traceModel) {
+ // Trace t = (Trace) traceModel.getContents().get(0);
+ Set<? extends Object> traceLinks = traceModel
+ .getElementsByType(TracePackage.eINSTANCE.getTraceLink());
+ for (Object obj : traceLinks) {
+ TraceLink traceLink = (TraceLink) obj;
+
+ for (EObject eObj : traceLink.getTargetElements()) {
+ if (profileModel2CodeModeltraceMap.containsKey(eObj))
+ System.out.println("override!");
+ profileModel2CodeModeltraceMap.put(eObj, traceLink);
+ }
+ }
+ }
+
+ private static void initCodeModel2ProfileModelTraceMap(IModel traceModel) {
+ Set<? extends Object> traceLinks = traceModel
+ .getElementsByType(TracePackage.eINSTANCE.getTraceLink());
+ for (Object obj : traceLinks) {
+ TraceLink tl = (TraceLink) obj;
+
+ if (codeModel2ProfileModeltraceMap.containsKey(tl.getSourceElements()
+ .get(0))
+ && tl.getSourceElements().get(0).eClass().getClassifierID() == JavaPackage.ANNOTATION_TYPE_DECLARATION) {
+
+ if (tl.getTargetElements().get(0) instanceof Stereotype) {
+ codeModel2ProfileModeltraceMap.put(tl.getSourceElements().get(0), tl
+ .getTargetElements().get(0));
+ }
+ } else {
+ // TODO: we have to extend the trace map as we may get a list of
+ // targets in the future
+ codeModel2ProfileModeltraceMap.put(tl.getSourceElements().get(0), tl
+ .getTargetElements().get(0));
+ }
+ }
+ }
+
+}
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/ResourceBasedCodeModel2UMLProfile.java b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/ResourceBasedCodeModel2UMLProfile.java
new file mode 100644
index 0000000..72c5417
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/ResourceBasedCodeModel2UMLProfile.java
@@ -0,0 +1,257 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Vienna University of Technology.
+ * 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:
+ * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation
+ *
+ * Initially developed in the context of ARTIST EU project www.artist-project.eu
+ *******************************************************************************/
+package org.eclipse.upr.platform.java.cm2up;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.m2m.atl.common.ATLExecutionException;
+import org.eclipse.m2m.atl.core.ATLCoreException;
+import org.eclipse.m2m.atl.core.IExtractor;
+import org.eclipse.m2m.atl.core.IInjector;
+import org.eclipse.m2m.atl.core.IModel;
+import org.eclipse.m2m.atl.core.IReferenceModel;
+import org.eclipse.m2m.atl.core.ModelFactory;
+import org.eclipse.m2m.atl.core.emf.EMFExtractor;
+import org.eclipse.m2m.atl.core.emf.EMFInjector;
+import org.eclipse.m2m.atl.core.emf.EMFModel;
+import org.eclipse.m2m.atl.core.emf.EMFModelFactory;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.resources.util.UMLResourcesUtil;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.uml2.uml.util.UMLUtil.UML2EcoreConverter;
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage;
+import org.eclipse.upr.platform.trace.TracePackage;
+
+/**
+ * @author Alexander Bergmayr
+ *
+ */
+public class ResourceBasedCodeModel2UMLProfile extends CodeModel2UMLProfile {
+
+ /**
+ *
+ */
+ private String umlProfilePath;
+
+ /**
+ *
+ */
+ private String traceModelPath;
+
+ /**
+ *
+ * @throws IOException
+ */
+ public ResourceBasedCodeModel2UMLProfile() throws IOException {
+ super();
+ // the Java metamodel needs to be registered because we directly inject
+ // a java resource produced by Modisco (Dynamic API vs. Metamodel API)
+ EPackage.Registry.INSTANCE.put(getMetamodelUri("JMM"), org.eclipse.gmt.modisco.java.emf.JavaPackage.eINSTANCE);
+ EPackage.Registry.INSTANCE.put(getMetamodelUri("TMM"), TracePackage.eINSTANCE);
+ EPackage.Registry.INSTANCE.put(getMetamodelUri("CFGMM"), JConfigurationPackage.eINSTANCE);
+ }
+
+ /**
+ * Loads the models required for the transformation. The <i>Code Model</i> is already
+ * a <code>Resource</code>, which means we can directly inject it.
+ *
+ * @param cmModelResource the <i>Code Model</i> of the Java application.
+ * @param jpModelPath the Java profile that contains UML steretypes for
+ * generic types and meta annotations.
+ * @param jptModelPath the UML model library for Java primitive types.
+ * @param mcModelPath the UML meta classes
+ * @param uptModelPath the UML model library for UML primitive types.
+ * @throws ATLCoreException
+ */
+ public void loadModels(Resource cmModelResource, Resource cfgModelResource, String jpModelPath, String jptModelPath, String mcModelPath,
+ String uptModelPath, String eptModelPath) throws ATLCoreException {
+ ModelFactory factory = new EMFModelFactory();
+
+
+ // metamodels
+ ResourceSet resourceSet = ((EMFModelFactory) factory).getResourceSet();
+ UMLResourcesUtil.init(resourceSet);
+
+ IInjector injector = new EMFInjector();
+ IReferenceModel jmmMetamodel = factory.newReferenceModel();
+ injector.inject(jmmMetamodel, getMetamodelUri("JMM"));
+ IReferenceModel umlmmMetamodel = factory.newReferenceModel();
+ injector.inject(umlmmMetamodel, getMetamodelUri("UMLMM"));
+ IReferenceModel tmmMetamodel = factory.newReferenceModel();
+ injector.inject(tmmMetamodel, getMetamodelUri("TMM"));
+ IReferenceModel cfgMetamodel = factory.newReferenceModel();
+ injector.inject(cfgMetamodel, getMetamodelUri("CFGMM"));
+
+ // in models
+ this.cmModel = factory.newModel(jmmMetamodel);
+ ((EMFInjector) injector).inject(cmModel, cmModelResource);
+ this.cfgModel = factory.newModel(cfgMetamodel);
+ ((EMFInjector) injector).inject(cfgModel, cfgModelResource);
+ this.jpModel = factory.newModel(umlmmMetamodel);
+ injector.inject(jpModel, jpModelPath);
+ this.jptModel = factory.newModel(umlmmMetamodel);
+ injector.inject(jptModel, jptModelPath);
+ this.mcModel = factory.newModel(umlmmMetamodel);
+ injector.inject(mcModel, mcModelPath);
+ this.uptModel = factory.newModel(umlmmMetamodel);
+ injector.inject(uptModel, uptModelPath);
+ this.eptModel = factory.newModel(umlmmMetamodel);
+ injector.inject(eptModel, eptModelPath);
+
+ // out models
+ this.upModel = factory.newModel(umlmmMetamodel);
+ this.tmModel = factory.newModel(tmmMetamodel);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.artist.migration.mdt.umlprofilediscovery.codemodel2umlprofile.files.CodeModel2UMLProfile#saveModels(java.lang.String, java.lang.String)
+ */
+ @Override
+ public void saveModels(String upModelPath, String tmModelPath)
+ throws ATLCoreException {
+ // create the output models
+ super.saveModels(upModelPath, tmModelPath);
+ }
+
+ /**
+ *
+ * @throws ATLCoreException
+ */
+ public void saveModels() throws ATLCoreException {
+ saveModels(getUmlProfilePath(), getTraceModelPath());
+ }
+
+ /**
+ *
+ * @param upModelPath
+ * @throws ATLCoreException
+ */
+ public void saveUMLProfileModel(String upModelPath)
+ throws ATLCoreException {
+ IExtractor extractor = new EMFExtractor();
+ extractor.extract(upModel, upModelPath);
+
+ // add the profile to the local uml profile store
+ // UMLProfileStoreManager.INSTANCE.addProfile(((EMFModel) upModel).getResource());
+ }
+
+ /**
+ *
+ * @throws ATLCoreException
+ */
+ public void saveUMLProfileModel()
+ throws ATLCoreException {
+ IExtractor extractor = new EMFExtractor();
+ extractor.extract(upModel, getUmlProfilePath());
+ }
+
+ /**
+ *
+ * @param tmModelPath
+ * @throws ATLCoreException
+ */
+ public void saveTraceModel(String tmModelPath)
+ throws ATLCoreException {
+ IExtractor extractor = new EMFExtractor();
+ extractor.extract(tmModel, tmModelPath);
+ }
+
+ /**
+ *
+ * @throws ATLCoreException
+ */
+ public void saveTraceModel()
+ throws ATLCoreException {
+ IExtractor extractor = new EMFExtractor();
+ extractor.extract(tmModel, getTraceModelPath());
+ }
+
+ /* (non-Javadoc)
+ * @see eu.artist.migration.mdt.umlprofilediscovery.codemodel2umlprofile.files.CodeModel2UMLProfile#doCodeModel2UMLProfile(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ public Object doCodeModel2UMLProfile(IProgressMonitor monitor)
+ throws ATLCoreException, IOException, ATLExecutionException {
+ Object result = super.doCodeModel2UMLProfile(monitor);
+
+ // create URIs for the generated models
+ URI umlProfileURI = URI.createURI(umlProfilePath);
+ URI traceModelURI = URI.createURI(traceModelPath);
+
+ // set URIs
+ ((EMFModel) upModel).getResource().setURI(umlProfileURI);
+ ((EMFModel) tmModel).getResource().setURI(traceModelURI);
+
+ // do post processing
+ CodeModel2UMLProfilePostProcessor.runPostProcessing(this.cmModel, this.upModel, this.tmModel);
+
+ // define profile
+ Profile profile = (Profile) ((EMFModel) upModel).getResource().getContents().get(0);
+
+ Map<String, String> options = new HashMap<String, String>();
+ options.put(UML2EcoreConverter.OPTION__INVARIANT_CONSTRAINTS, UMLUtil.OPTION__PROCESS);
+ profile.define(options, null, null);
+
+ return result;
+ }
+
+ /**
+ * @return the upModel
+ */
+ public IModel getUpModel() {
+ return this.upModel;
+ }
+
+ /**
+ * @return the tmModel
+ */
+ public IModel getTmModel() {
+ return this.tmModel;
+ }
+
+ /**
+ * @return the umlProfilePath
+ */
+ public String getUmlProfilePath() {
+ return umlProfilePath;
+ }
+
+ /**
+ * @param umlProfilePath the umlProfilePath to set
+ */
+ public void setUmlProfilePath(String umlProfilePath) {
+ this.umlProfilePath = umlProfilePath;
+ }
+
+ /**
+ * @return the traceModelPath
+ */
+ public String getTraceModelPath() {
+ return traceModelPath;
+ }
+
+ /**
+ * @param traceModelPath the traceModelPath to set
+ */
+ public void setTraceModelPath(String traceModelPath) {
+ this.traceModelPath = traceModelPath;
+ }
+
+}
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/javaLibrary.atl b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/javaLibrary.atl
new file mode 100644
index 0000000..29e7a77
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/javaLibrary.atl
@@ -0,0 +1,329 @@
+--/*******************************************************************************
+-- * Copyright (c) 2015 Vienna University of Technology.
+-- * 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:
+-- * Alexander Bergmayr (TU Wien) - initial API and implementation
+-- * Manuel Wimmer (TU Wien) - initial API and implementation
+-- *
+-- * Initially developed in the context of ARTIST EU project www.artist-project.eu
+-- *******************************************************************************/
+
+-- @nsURI UMLMM=http://www.eclipse.org/uml2/3.0.0/UML
+-- @path JMM=pathmap://METAMODEL/java.ecore
+
+library javaLibrary;
+
+helper context JMM!TypeAccess def : getParameterizedType() : UMLMM!Type =
+ -- BUG: TODO : we need to deal with UnresolvedTypeDeclaration!
+-- if(self.oclIsTypeOf(JMM!UnresolvedTypeDeclaration)) then OclUndefined
+-- else
+ thisModule.resolveTemp(self.type, 't1');
+-- endif;
+
+--helper context JMM!TypeAccess def : containedByModelLibrary() : Boolean =
+-- UMLMM!Type.allInstancesFrom('ML') -> exists(e | e.name = self.type.name and e.refImmediateComposite().name = self.type.refImmediateComposite().name);
+
+-- checks if a type is complex
+helper context JMM!TypeAccess def : isComplexType() : Boolean =
+ if(self.isPrimitiveType() or self.type.oclIsTypeOf(JMM!EnumDeclaration)) then false
+ else
+ if(self.type.oclIsTypeOf(JMM!ArrayType)) then not self.type.isArrayWithNonComplexType
+ else
+ true
+ endif
+ endif;
+
+-- ckecks if a type is primitive ...
+helper context JMM!TypeAccess def : isPrimitiveType() : Boolean =
+ -- if we have a kind of PrimitiveType (int, float, bool, etc.)
+ if (self.type.oclIsKindOf(JMM!PrimitiveType)) then true
+ else
+ -- wrapped primitive types (e.g., ClassDeclaration of type String etc.)
+ if ((self.type.name = 'String') or (self.type.name = 'Integer')
+ or (self.type.name = 'Long') or (self.type.name = 'Short')
+ or (self.type.name = 'Float') or (self.type.name = 'Double')
+ or (self.type.name = 'Boolean') or (self.type.name = 'Number')) then true
+ else
+ -- finally, we have the case of Array's with primitive type
+ -- only in case it is an ArrayType, we check the type of the Array
+ if(not self.type.oclIsTypeOf(JMM!ArrayType)) then false
+ else
+ --if (self.type.elementType.isPrimitiveType() or self.type.elementType.type.oclIsTypeOf(JMM!EnumDeclaration)) then true
+ if(self.type.elementType.isPrimitiveType()) then true
+ else
+ false
+ endif
+ endif
+ endif
+ endif;
+
+helper context JMM!TypeAccess def : isParameterizedType : Boolean =
+ self.type.oclIsTypeOf(JMM!ParameterizedType) or self.type.isJavaLangClass();
+
+helper context OclAny def : isJavaLangClass : Boolean =
+ self.refImmediateComposite().getFullyQualifiedPackageName.toString().concat('.').concat(self.name).toString() = 'java.lang.Class' or
+ self.refImmediateComposite().getFullyQualifiedPackageName.toString().concat('.').concat(self.name).toString() = 'java.lang.Class[]';
+
+helper context JMM!ArrayType def : isArrayWithNonComplexType : Boolean =
+ if (self.elementType.isPrimitiveType() or self.elementType.type.oclIsTypeOf(JMM!EnumDeclaration)) then true
+ else false
+ endif;
+
+-- TODO: here we could also use a Map
+-- returns the type for a given type access; required to determine on the return type of
+-- a method in the annotation type declaration
+helper context JMM!TypeAccess def : getType() : UMLMM!Type =
+ -- PrimitiveType, String
+ if self.isPrimitiveType() then self.type.getTypeFromPrimitiveType
+ else
+ -- Class / Parameterized Class (can only be java.lang.Class)
+ if (self.type.oclIsTypeOf(JMM!ClassDeclaration) or self.type.oclIsTypeOf(JMM!ParameterizedType)) then self.type.getTypeFromTypeDeclaration
+ else
+ -- EnumType
+ if self.type.oclIsTypeOf(JMM!EnumDeclaration) then self.type.getTypeFromEnumDeclaration()
+ else
+ -- AnnotationType
+ if self.type.oclIsTypeOf(JMM!AnnotationTypeDeclaration) then self.type.getTypeFromAnnotationTypeDeclaration()
+ else
+ -- ArrayType
+ if self.type.oclIsTypeOf(JMM!ArrayType) then self.type.getTypeFromArrayType
+
+ -- UnresolvedType
+ else thisModule.resolveTemp(self.type, 't1')
+ endif
+ endif
+ endif
+ endif
+ endif;
+
+-- return for a given Java
+-- we should use here Java Primitive Types ... ????
+helper context JMM!Type def : getTypeFromPrimitiveType : UMLMM!Type =
+ thisModule.javaPrimitiveType.get(self.name.toString());
+
+-- can only be java.lang.Class
+helper context OclAny def : getTypeFromTypeDeclaration : UMLMM!Type =
+ UMLMM!Class.allInstancesFrom('MC') -> any(e | e.name = 'Class');
+
+-- return for a given Java parameterized Class the appropriate UML Class
+helper context JMM!ParameterizedType def : getTypeFromParameterizedType() : UMLMM!Class =
+ UMLMM!Class.allInstancesFrom('MC') -> any(e | e.name = 'Class');
+
+-- return for a given Java Enum Type the appropriate UML instance of this Enum Type
+helper context JMM!EnumDeclaration def : getTypeFromEnumDeclaration() : UMLMM!Enumeration =
+ thisModule.resolveTemp(self, 't1');
+
+-- return for a given Java Annotation Type the appropriate UML instance of this
+helper context JMM!AnnotationTypeDeclaration def : getTypeFromAnnotationTypeDeclaration() : UMLMM!Stereotype =
+ thisModule.resolveTemp(self, 't1');
+
+-- return for a given Java Annotation Type the appropriate UML instance of this
+helper context JMM!UnresolvedTypeDeclaration def : getTypeFromUnresolvedTypeDeclaration() : UMLMM!Class =
+ thisModule.resolveTemp(self, 't1');
+
+-- return for a given Java ArrayType the appropriate UML Type ... here deal only with
+-- complex types and enumerations
+helper context JMM!ArrayType def : getTypeFromArrayType : UMLMM!Type =
+ if(self.elementType.type.oclIsTypeOf(JMM!ClassDeclaration) or
+ self.elementType.type.oclIsTypeOf(JMM!InterfaceDeclaration)) then
+ self.elementType.type.getTypeFromTypeDeclaration
+ else
+ if(self.elementType.type.oclIsTypeOf(JMM!ParameterizedType)) then
+ self.elementType.type.getTypeFromParameterizedType()
+ else
+ if(self.elementType.type.oclIsTypeOf(JMM!EnumDeclaration)) then
+ self.elementType.type.getTypeFromEnumDeclaration()
+ else
+ if(self.elementType.type.oclIsTypeOf(JMM!AnnotationTypeDeclaration)) then
+ self.elementType.type.getTypeFromAnnotationTypeDeclaration()
+ else
+ if(self.elementType.type.oclIsTypeOf(JMM!UnresolvedTypeDeclaration)) then
+ self.elementType.type.getTypeFromUnresolvedTypeDeclaration()
+ else
+ -- TODO: check ... but should actually not happen ;)
+ OclUndefined
+ endif
+ endif
+ endif
+ endif
+ endif;
+
+-- decide if a class or interface is required for the annotation type declaration
+--helper context JMM!Type def : isRequiredForAnnotationTypes : Boolean =
+-- if (JMM!AnnotationTypeMemberDeclaration.allInstances() ->
+-- select(e | e.type.type.oclIsTypeOf(JMM!ParameterizedType)) -> exists(f | f.type.type.typeArguments -> exists(g | g.type.name = s1.name)) or
+--
+--
+-- )
+
+-- get fully qualified package name of a java type
+helper context OclAny def : getFullyQualifiedPackageName : String =
+ if(self.refImmediateComposite().oclIsTypeOf(JMM!Package)) then
+ self.refImmediateComposite().getFullyQualifiedPackageName.concat('.').concat(self.name)
+ else
+ self.name
+ endif;
+
+-- get Java package
+helper context OclAny def : getJavaPackage() : JMM!Package =
+ if(not self.package.oclIsUndefined()) then
+ self.package
+ else
+ self.refImmediateComposite().getPackage()
+ endif;
+
+-- get the package of a PackageableElement
+helper context UMLMM!PackageableElement def : getPackage() : UMLMM!Package =
+ if(self.refImmediateComposite().oclIsTypeOf(UMLMM!Package)) then
+ self.refImmediateComposite()
+ else
+ self.refImmediateComposite().getPackage()
+ endif;
+
+-- only those code elements that are relevant element types / return values of annotation type declarations
+helper context OclAny def : isRelevantForAnnotationTypes : Boolean =
+ -- maybe the name matching here can be dangerous ...
+ if(self.oclIsKindOf(JMM!Type)) then
+ if ((self.oclIsTypeOf(JMM!AnnotationTypeDeclaration) and self.proxy = false)) or
+
+ (thisModule.getAnnotationTypeMemberDeclarations -> select(e | not e.type.oclIsUndefined())
+ -> exists(e | e.type.type = self) or
+
+ (thisModule.getAnnotationTypeMemberDeclarations -> select(e | not e.type.oclIsUndefined())
+ -> select(e | e.type.type.oclIsTypeOf(JMM!ArrayType)))
+ -> exists(e | e.type.type.elementType.type = self) or
+
+ self.hasInnerAnnotationTypeDeclaration()
+
+ ) then true
+ else false endif
+ else false
+ endif;
+
+-- we want to have only packages that serve as container for annotation type declarations
+helper context JMM!Package def : isAnnotationTypeContainer : Boolean =
+ if self.ownedElements -> exists(e | e.isRelevantForAnnotationTypes) or
+ self.ownedPackages -> exists(e | e.isAnnotationTypeContainer) then true
+ else false
+ endif;
+
+helper context JMM!Type def : hasInnerAnnotationTypeDeclaration() : Boolean =
+ if(self.bodyDeclarations -> exists(e | e.oclIsTypeOf(JMM!AnnotationTypeDeclaration)) or
+ self.bodyDeclarations -> select(e | e.oclIsKindOf(JMM!Type)) -> exists(f | f.hasInnerAnnotationTypeDeclaration())
+ ) then true
+ else false
+ endif;
+
+helper context OclAny def : isEnumerationRelevant : Boolean =
+ -- must be an EnumerationType
+ if(not self.oclIsTypeOf(JMM!EnumDeclaration)) then false
+ else
+
+ -- the Enumeration is the type of an AnnotationTypeMemberDeclaration
+ thisModule.getAnnotationTypeMemberDeclarations -> select(e | not e.type.oclIsUndefined()) ->
+ exists(e | e.type.type = self) or
+
+ -- the Enumeration is the element type of an Array which is the type of an AnnotationTypeMemberDeclaration
+ thisModule.getAnnotationTypeMemberDeclarations -> select(e | not e.type.oclIsUndefined()) ->
+ select(e | e.type.type.oclIsTypeOf(JMM!ArrayType)) ->
+ exists(f | f.type.type.elementType.type = self) or
+
+ -- the Enumeration is the parameter of java.lang.Class which is the type of an AnnotationTypeMemberDeclaration
+ thisModule.getAnnotationTypeMemberDeclarations -> select(e | not e.type.oclIsUndefined()) ->
+ select(e | e.type.type.oclIsTypeOf(JMM!ParameterizedType)) ->
+ exists(f | f.type.type.typeArguments -> exists(g | g.type = self))
+
+ endif;
+
+-- required because the structure of the model differs depending on multi-valued vs. single-valued SingleVariableAccess elements
+helper context JMM!SingleVariableAccess def : isMultiValuedAnnotationTarget : Boolean =
+ if self.refImmediateComposite().refImmediateComposite().refImmediateComposite().oclIsTypeOf(JMM!Annotation) then
+ self.refImmediateComposite().refImmediateComposite().refImmediateComposite().type.type.name = 'Target'
+ else false
+ endif;
+
+-- required because the structure of the model differs depending on multi-valued vs. single-valued SingleVariableAccess elements
+helper context JMM!SingleVariableAccess def : isSingleValuedAnnotationTarget : Boolean =
+ if self.refImmediateComposite().refImmediateComposite().oclIsTypeOf(JMM!Annotation) then
+ self.refImmediateComposite().refImmediateComposite().type.type.name = 'Target'
+ else false
+ endif;
+
+-- mapping between java element type targets and UML targets, i.e., the extended UML element
+helper def : umlTarget : Map(String, Sequence(UMLMM!Element)) =
+ Map{
+ ('ANNOTATION_TYPE', Sequence{UMLMM!Type.allInstances() -> select(e | e.name = 'Stereotype').first()}),
+ -- TODO: add constraint
+ ('CONSTRUCTOR', Sequence{UMLMM!Type.allInstances() -> select(e | e.name = 'Operation').first()}),
+ -- maybe we could think also to annotate the association on a model level ... however
+ -- for this prototype we do not consider associations at all .. so it is sufficient to
+ -- have here Property only.
+ ('FIELD', Sequence{UMLMM!Type.allInstances() -> select(e | e.name = 'Property').first(),
+ UMLMM!Type.allInstances() -> select(e | e.name = 'EnumerationLiteral').first()--,
+-- UMLMM!Type.allInstances() -> select(e | e.name = 'Association').first()
+ }),
+ ('LOCAL_VARIABLE', Sequence{UMLMM!Type.allInstances() -> select(e | e.name = 'Property').first()--,
+ -- UMLMM!Type.allInstances() -> select(e | e.name = 'Association').first()
+ }),
+ ('METHOD', Sequence{UMLMM!Type.allInstances() -> select(e | e.name = 'Operation').first(),
+ UMLMM!Type.allInstances() -> select(e | e.name = 'Property').first()
+ }),
+ ('PACKAGE', Sequence{UMLMM!Type.allInstances() -> select(e | e.name = 'Package').first()}),
+ ('PARAMETER', Sequence{UMLMM!Type.allInstances() -> select(e | e.name = 'Parameter').first()}),
+ -- adaptation required ... Java Type --> Class, Interface, AnnotationType, Enumeration
+ -- TODO: add constraint!!
+ -- Idea: less explicit stereotypes in the profile
+ ('TYPE', Sequence{UMLMM!Type.allInstances() -> select(e | e.name = 'Type').first()})};
+
+-- ensure the use of java primitive types
+helper def : javaPrimitiveType : Map(String, UMLMM!Element) = Map{('boolean', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'boolean').first()),
+ ('byte', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'byte').first()),
+ ('char', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'char').first()),
+ ('double', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'double').first()),
+ ('float', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'float').first()),
+ ('int', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'int').first()),
+ ('integer', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'int').first()),
+ ('long', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'long').first()),
+ ('short', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'short').first()),
+ -- first letter is capital
+ ('Boolean', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'boolean').first()),
+ ('Byte', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'byte').first()),
+ ('Char', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'char').first()),
+ ('Double', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'double').first()),
+ ('Float', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'float').first()),
+ ('Int', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'int').first()),
+ ('Integer', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'int').first()),
+ ('Long', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'long').first()),
+ ('Short', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'short').first()),
+ -- TODO: maybe we should have here also a Java STRING
+ ('String', UMLMM!Type.allInstancesFrom('UPT') -> select(e | e.name = 'String').first()),
+ -- the array version ...
+ ('boolean[]', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'boolean').first()),
+ ('byte[]', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'byte').first()),
+ ('char[]', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'char').first()),
+ ('double[]', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'double').first()),
+ ('float[]', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'float').first()),
+ ('int[]', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'int').first()),
+ ('long[]', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'long').first()),
+ ('short[]', UMLMM!Type.allInstancesFrom('JPT') -> select(e | e.name = 'short').first()),
+ -- TODO: maybe we should have here also a Java STRING
+ ('java.lang.String[]', UMLMM!Type.allInstancesFrom('UPT') -> select(e | e.name = 'String').first())};
+
+-- get package even though types are declared inside types
+helper context JMM!AbstractTypeDeclaration def : getPackage() : JMM!Package =
+ if(not self.package.oclIsUndefined()) then self.package
+ -- assumption: the type is declared inside another type
+ else self.refImmediateComposite().getPackage()
+ endif;
+
+
+
+
+
+
+
+
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/profileLibrary.atl b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/profileLibrary.atl
new file mode 100644
index 0000000..563101e
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/profileLibrary.atl
@@ -0,0 +1,51 @@
+--/*******************************************************************************
+-- * Copyright (c) 2015 Vienna University of Technology.
+-- * 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:
+-- * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation
+-- * Manuel Wimmer (Vienna University of Technology) - initial API and implementation
+-- *
+-- * Initially developed in the context of ARTIST EU project www.artist-project.eu
+-- *******************************************************************************/
+
+-- @nsURI UMLMM=http://www.eclipse.org/uml2/3.0.0/UML
+
+library profileLibrary;
+
+helper context UMLMM!Element def: setTaggedValue(stereotype : OclAny, propertyName : String, newValue : OclAny ) : OclAny =
+if (not newValue.oclIsUndefined())
+ then
+ if (not thisModule.isMultiValued(newValue)) -- if single-valued
+ then
+ if (not thisModule.isComplexType(propertyName))
+ then
+ -- CASE 1: single-valued && simple
+ self.setValue(stereotype, propertyName, newValue)
+ else
+ -- CASE 2: single-valued && complex
+ self.setValue(stereotype, propertyName, thisModule.resolveTemp(newValue, 'y').getStereotypeApplications().asSequence().first())
+ endif
+ else -- if multi-valued
+ if (not thisModule.isComplexType(propertyName))
+ then
+ -- CASE 3: multi-valued && simple
+ self.setValue(stereotype, propertyName, newValue)
+ else
+ -- CASE 4: multi-valued && complex
+ self.setValue(stereotype, propertyName, newValue -> collect(c | thisModule.resolveTemp(c, 'y').getStereotypeApplications().asSequence().first()))
+ endif
+ endif
+ else OclUndefined
+endif;
+
+helper def : isMultiValued(attr : OclAny) : Boolean =
+ attr.oclIsKindOf(Collection(OclAny))
+;
+
+helper def : isComplexType(taggedValueName : String) : Boolean =
+ UMLMM!Property.allInstances() -> any(e|e.name = taggedValueName).type.oclIsTypeOf(UMLMM!Stereotype)
+;
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/util/CodeModel2UMLProfileUtil.java b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/util/CodeModel2UMLProfileUtil.java
new file mode 100644
index 0000000..a9ee82d
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.cm2up/src/org/eclipse/upr/platform/java/cm2up/util/CodeModel2UMLProfileUtil.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Vienna University of Technology.
+ * 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:
+ * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation
+ *
+ * Initially developed in the context of ARTIST EU project www.artist-project.eu
+ *******************************************************************************/
+
+package org.eclipse.upr.platform.java.cm2up.util;
+
+public class CodeModel2UMLProfileUtil {
+
+ /** default input for the UML profile discovery transformation */
+ public static final String JP_Model_Path = "pathmap://JAVA_PROFILE/javaProfile.uml";
+ public static final String JPT_Model_Path = "pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml";
+ public static final String MC_Model_Path = "pathmap://UML_METAMODELS/UML.metamodel.uml";
+ public static final String UPT_Model_Path = "pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml";
+ public static final String EPT_Model_Path = "pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml";
+ public static final String UML_PROFILE_PATH_SEGMENT = "_profile.profile.uml";
+ public static final String TRACE_PATH_SEGMENT = "_profile.trace.xmi";
+
+}
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.classpath b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.classpath
new file mode 100644
index 0000000..098194c
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.gitignore b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.project b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.project
new file mode 100644
index 0000000..ea264ca
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.upr.platform.java.code2cm</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.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.settings/org.eclipse.jdt.core.prefs b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/META-INF/MANIFEST.MF b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..99de73b
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.upr.platform.java.code2cm;singleton:=true
+Bundle-Version: 0.9.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7,
+ JavaSE-1.8
+Require-Bundle: org.eclipse.emf.ecore;bundle-version="2.10.2",
+ org.eclipse.core.resources,
+ org.eclipse.modisco.java.discoverer;bundle-version="0.12.2",
+ org.eclipse.core.runtime;bundle-version="3.10.0",
+ org.eclipse.jdt.core;bundle-version="3.10.0",
+ org.eclipse.modisco.infra.discovery.core;bundle-version="0.12.2"
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.upr.platform.java.code2cm,
+ org.eclipse.upr.platform.java.code2cm.impl
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/about.html b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/about.html
new file mode 100644
index 0000000..6f6b96c
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/about.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>February 24, 2005</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/build.properties b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/build.properties
new file mode 100644
index 0000000..4939696
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/build.properties
@@ -0,0 +1,17 @@
+###############################################################################
+# Copyright (c) 2015 TU Wien.
+# 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:
+# Alexander Bergmayr (TU Wien) - initial API and implementation
+#
+# Initially developed in the context of ARTIST EU project www.artist-project.eu
+###############################################################################
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.properties
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/plugin.properties b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/plugin.properties
new file mode 100644
index 0000000..2264a2d
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/plugin.properties
@@ -0,0 +1,17 @@
+# <copyright>
+# Copyright (c) 2015 TU Wien.
+# 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:
+# Alexander Bergmayr (TU Wien) - initial API and implementation
+#
+# Initially developed in the context of ARTIST EU project www.artist-project.eu
+# </copyright>
+#
+# $Id$
+
+pluginName = Java Code to Code Model translator (Incubation)
+providerName = Eclipse UPR
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/pom.xml b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/pom.xml
new file mode 100644
index 0000000..9adc21a
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/pom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 TU Wien.
+ 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:
+ Alexander Bergmayr (TU Wien) - initial API and implementation
+
+ Initially developed in the context of ARTIST EU project www.artist-project.eu
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.jump.build</artifactId>
+ <relativePath>../../build/org.eclipse.upr.platform.jump.build/pom.xml</relativePath>
+ <version>0.9.0</version>
+ </parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.java.code2cm</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/src/org/eclipse/upr/platform/java/code2cm/JavaDiscoverer.java b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/src/org/eclipse/upr/platform/java/code2cm/JavaDiscoverer.java
new file mode 100644
index 0000000..0043fee
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/src/org/eclipse/upr/platform/java/code2cm/JavaDiscoverer.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Vienna University of Technology.
+ * 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:
+ * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation
+ *
+ * Initially developed in the context of ARTIST EU project www.artist-project.eu
+ *******************************************************************************/
+package org.eclipse.upr.platform.java.code2cm;
+
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.modisco.infra.discovery.core.exception.DiscoveryException;
+
+
+/**
+ * @author Alexander Bergmayr
+ *
+ */
+public interface JavaDiscoverer {
+
+ /**
+ * The singleton instance of the discoverer.
+ */
+ JavaDiscoverer INSTANCE = org.eclipse.upr.platform.java.code2cm.impl.JavaDiscovererImpl.init();
+
+ /**
+ *
+ * @param projectName for which a code model is generated.
+ * @param workspace where the projects that are discovered are located.
+ * @return the code model of the Java code.
+ * @throws JavaModelException
+ * @throws DiscoveryException
+ * @throws CoreException
+ */
+ Resource runDiscovery(String projectName, IWorkspace workspace) throws JavaModelException, DiscoveryException, CoreException;
+
+ /**
+ *
+ * @param project
+ * @return
+ * @throws DiscoveryException
+ */
+ Resource runDiscovery(IJavaProject project) throws JavaModelException, DiscoveryException;
+
+}
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/src/org/eclipse/upr/platform/java/code2cm/impl/JavaDiscovererImpl.java b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/src/org/eclipse/upr/platform/java/code2cm/impl/JavaDiscovererImpl.java
new file mode 100644
index 0000000..c62bfc4
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.code2cm/src/org/eclipse/upr/platform/java/code2cm/impl/JavaDiscovererImpl.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Vienna University of Technology.
+ * 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:
+ * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation
+ *
+ * Initially developed in the context of ARTIST EU project www.artist-project.eu
+ *******************************************************************************/
+package org.eclipse.upr.platform.java.code2cm.impl;
+
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.modisco.infra.discovery.core.exception.DiscoveryException;
+import org.eclipse.modisco.java.discoverer.DiscoverJavaModelFromJavaProject;
+import org.eclipse.upr.platform.java.code2cm.JavaDiscoverer;
+
+/**
+ * @author Alexander Bergmayr
+ *
+ */
+public class JavaDiscovererImpl implements JavaDiscoverer {
+
+ /**
+ *
+ */
+ private static boolean IS_INTIALIZED = false;
+
+ /**
+ *
+ */
+ private JavaDiscovererImpl() { }
+
+ /**
+ *
+ * @return the {@link JavaDiscoverer}
+ */
+ public static JavaDiscoverer init() {
+ if(!IS_INTIALIZED) {
+ IS_INTIALIZED = true;
+ return new JavaDiscovererImpl();
+ }
+ return JavaDiscoverer.INSTANCE;
+ }
+
+ /** (non-Javadoc)
+ * @see org.eclipse.upr.platform.java.code2cm.JavaDiscoverer#runDiscovery(java.lang.String)
+ */
+ @Override
+ public Resource runDiscovery(String projectName, IWorkspace workspace) throws DiscoveryException, CoreException {
+ IJavaProject javaProject = getJavaProject(projectName, workspace);
+ return runDiscovery(javaProject);
+ }
+
+ /** (non-Javadoc)
+ * @see org.eclipse.upr.platform.java.code2cm.JavaDiscoverer#runDiscovery(org.eclipse.jdt.core.IJavaProject)
+ */
+ @Override
+ public Resource runDiscovery(IJavaProject project) throws JavaModelException, DiscoveryException {
+ project.open(new NullProgressMonitor());
+ DiscoverJavaModelFromJavaProject javaDiscoverer = new DiscoverJavaModelFromJavaProject();
+ javaDiscoverer.setDeepAnalysis(false);
+ javaDiscoverer.setSerializeTarget(false);
+ javaDiscoverer.discoverElement(project, new NullProgressMonitor());
+ Resource javaResource = javaDiscoverer.getTargetModel();
+ return javaResource;
+ }
+
+ private IJavaProject getJavaProject(String projectName, IWorkspace workspace) {
+ IWorkspaceRoot myWorkspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
+ return (IJavaProject) myWorkspaceRoot.getProject(projectName);
+ }
+
+}
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.classpath b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.classpath
new file mode 100644
index 0000000..098194c
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.project b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.project
new file mode 100644
index 0000000..4e8fcda
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.upr.platform.java.configuration</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.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.settings/org.eclipse.jdt.core.prefs b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/META-INF/MANIFEST.MF b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..4bb0704
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.upr.platform.java.configuration;singleton:=true
+Bundle-Version: 0.9.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7,
+ JavaSE-1.8
+Export-Package: org.eclipse.upr.platform.java.jumpcfg,
+ org.eclipse.upr.platform.java.jumpcfg.impl,
+ org.eclipse.upr.platform.java.jumpcfg.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi
+Bundle-ActivationPolicy: lazy
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/about.html b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/about.html
new file mode 100644
index 0000000..6f6b96c
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/about.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>February 24, 2005</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/bin/.gitignore b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/bin/.gitignore
new file mode 100644
index 0000000..cf1db2e
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/bin/.gitignore
@@ -0,0 +1 @@
+/org/
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/build.properties b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/build.properties
new file mode 100644
index 0000000..33e8c06
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/build.properties
@@ -0,0 +1,22 @@
+###############################################################################
+# Copyright (c) 2015 TU Wien.
+# 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:
+# Alexander Bergmayr (TU Wien) - initial API and implementation
+#
+# Initially developed in the context of ARTIST EU project www.artist-project.eu
+###############################################################################
+#
+
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ model/,\
+ plugin.properties
+src.includes = model/,\
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.ecore b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.ecore
new file mode 100644
index 0000000..8e5ee12
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.ecore
@@ -0,0 +1,18 @@
+<?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="jumpcfg" nsURI="http://org.eclipse.upr.platform.java.configuration/0.9"
+ nsPrefix="jcfg">
+ <eClassifiers xsi:type="ecore:EClass" name="Configuration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="configurationParameters"
+ upperBound="-1" eType="#//ConfigurationParameter" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConfigurationParameter"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ProfileConfigurationParameter" eSuperTypes="#//ConfigurationParameter">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="repeatingStereotypes" eType="#//RepeatingStereotypesSolution"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="RepeatingStereotypesSolution">
+ <eLiterals name="composition"/>
+ <eLiterals name="emulation" value="1"/>
+ <eLiterals name="native" value="2"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.genmodel b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.genmodel
new file mode 100644
index 0000000..3991784
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.genmodel
@@ -0,0 +1,23 @@
+<?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.upr.platform.java.configuration/src"
+ modelPluginID="org.eclipse.upr.platform.java.configuration" modelName="JumpCfg"
+ rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="7.0" copyrightFields="false" operationReflection="true" importOrganizing="true">
+ <foreignModel>JumpCfg.ecore</foreignModel>
+ <genPackages prefix="JConfiguration" basePackage="org.eclipse.upr.platform.java"
+ disposableProviderFactory="true" ecorePackage="JumpCfg.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="JumpCfg.ecore#//RepeatingStereotypesSolution">
+ <genEnumLiterals ecoreEnumLiteral="JumpCfg.ecore#//RepeatingStereotypesSolution/composition"/>
+ <genEnumLiterals ecoreEnumLiteral="JumpCfg.ecore#//RepeatingStereotypesSolution/emulation"/>
+ <genEnumLiterals ecoreEnumLiteral="JumpCfg.ecore#//RepeatingStereotypesSolution/native"/>
+ </genEnums>
+ <genClasses ecoreClass="JumpCfg.ecore#//Configuration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference JumpCfg.ecore#//Configuration/configurationParameters"/>
+ </genClasses>
+ <genClasses ecoreClass="JumpCfg.ecore#//ConfigurationParameter"/>
+ <genClasses ecoreClass="JumpCfg.ecore#//ProfileConfigurationParameter">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute JumpCfg.ecore#//ProfileConfigurationParameter/repeatingStereotypes"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.properties b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.properties
new file mode 100644
index 0000000..72b58b8
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.properties
@@ -0,0 +1,17 @@
+# <copyright>
+# Copyright (c) 2015 TU Wien.
+# 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:
+# Alexander Bergmayr (TU Wien) - initial API and implementation
+#
+# Initially developed in the context of ARTIST EU project www.artist-project.eu
+# </copyright>
+#
+# $Id$
+
+pluginName = JumpCfg Model (Incubation)
+providerName = Eclipse UPR
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.xml b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.xml
new file mode 100644
index 0000000..617d254
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated JumpCfg -->
+ <package
+ uri="http://org.eclipse.upr.platform.java.configuration/0.9"
+ class="org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage"
+ genModel="model/JumpCfg.genmodel"/>
+ </extension>
+
+</plugin>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/pom.xml b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/pom.xml
new file mode 100644
index 0000000..cae9636
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/pom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 TU Wien.
+ 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:
+ Alexander Bergmayr (TU Wien) - initial API and implementation
+
+ Initially developed in the context of ARTIST EU project www.artist-project.eu
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.jump.build</artifactId>
+ <relativePath>../../build/org.eclipse.upr.platform.jump.build/pom.xml</relativePath>
+ <version>0.9.0</version>
+ </parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.java.configuration</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/Configuration.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/Configuration.java
new file mode 100644
index 0000000..b87bda2
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/Configuration.java
@@ -0,0 +1,42 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.upr.platform.java.jumpcfg.Configuration#getConfigurationParameters <em>Configuration Parameters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage#getConfiguration()
+ * @model
+ * @generated
+ */
+public interface Configuration extends EObject {
+ /**
+ * Returns the value of the '<em><b>Configuration Parameters</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configuration Parameters</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>Configuration Parameters</em>' containment reference list.
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage#getConfiguration_ConfigurationParameters()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ConfigurationParameter> getConfigurationParameters();
+
+} // Configuration
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ConfigurationParameter.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ConfigurationParameter.java
new file mode 100644
index 0000000..5486815
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ConfigurationParameter.java
@@ -0,0 +1,18 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Configuration Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage#getConfigurationParameter()
+ * @model
+ * @generated
+ */
+public interface ConfigurationParameter extends EObject {
+} // ConfigurationParameter
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationFactory.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationFactory.java
new file mode 100644
index 0000000..ced11d4
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationFactory.java
@@ -0,0 +1,60 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg;
+
+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.upr.platform.java.jumpcfg.JConfigurationPackage
+ * @generated
+ */
+public interface JConfigurationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ JConfigurationFactory eINSTANCE = org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Configuration</em>'.
+ * @generated
+ */
+ Configuration createConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Configuration Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Configuration Parameter</em>'.
+ * @generated
+ */
+ ConfigurationParameter createConfigurationParameter();
+
+ /**
+ * Returns a new object of class '<em>Profile Configuration Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Profile Configuration Parameter</em>'.
+ * @generated
+ */
+ ProfileConfigurationParameter createProfileConfigurationParameter();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ JConfigurationPackage getJConfigurationPackage();
+
+} //JConfigurationFactory
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationPackage.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationPackage.java
new file mode 100644
index 0000000..78d4d18
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationPackage.java
@@ -0,0 +1,316 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+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 operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface JConfigurationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "jumpcfg";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://org.eclipse.upr.platform.java.configuration/0.9";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "jcfg";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ JConfigurationPackage eINSTANCE = org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationImpl <em>Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationImpl
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getConfiguration()
+ * @generated
+ */
+ int CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Configuration Parameters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION__CONFIGURATION_PARAMETERS = 0;
+
+ /**
+ * The number of structural features of the '<em>Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationParameterImpl <em>Configuration Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationParameterImpl
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getConfigurationParameter()
+ * @generated
+ */
+ int CONFIGURATION_PARAMETER = 1;
+
+ /**
+ * The number of structural features of the '<em>Configuration Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_PARAMETER_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Configuration Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_PARAMETER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.upr.platform.java.jumpcfg.impl.ProfileConfigurationParameterImpl <em>Profile Configuration Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.ProfileConfigurationParameterImpl
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getProfileConfigurationParameter()
+ * @generated
+ */
+ int PROFILE_CONFIGURATION_PARAMETER = 2;
+
+ /**
+ * The feature id for the '<em><b>Repeating Stereotypes</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES = CONFIGURATION_PARAMETER_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Profile Configuration Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE_CONFIGURATION_PARAMETER_FEATURE_COUNT = CONFIGURATION_PARAMETER_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Profile Configuration Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE_CONFIGURATION_PARAMETER_OPERATION_COUNT = CONFIGURATION_PARAMETER_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution <em>Repeating Stereotypes Solution</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getRepeatingStereotypesSolution()
+ * @generated
+ */
+ int REPEATING_STEREOTYPES_SOLUTION = 3;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.upr.platform.java.jumpcfg.Configuration <em>Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Configuration</em>'.
+ * @see org.eclipse.upr.platform.java.jumpcfg.Configuration
+ * @generated
+ */
+ EClass getConfiguration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.upr.platform.java.jumpcfg.Configuration#getConfigurationParameters <em>Configuration Parameters</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Configuration Parameters</em>'.
+ * @see org.eclipse.upr.platform.java.jumpcfg.Configuration#getConfigurationParameters()
+ * @see #getConfiguration()
+ * @generated
+ */
+ EReference getConfiguration_ConfigurationParameters();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter <em>Configuration Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Configuration Parameter</em>'.
+ * @see org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter
+ * @generated
+ */
+ EClass getConfigurationParameter();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter <em>Profile Configuration Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Profile Configuration Parameter</em>'.
+ * @see org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter
+ * @generated
+ */
+ EClass getProfileConfigurationParameter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter#getRepeatingStereotypes <em>Repeating Stereotypes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Repeating Stereotypes</em>'.
+ * @see org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter#getRepeatingStereotypes()
+ * @see #getProfileConfigurationParameter()
+ * @generated
+ */
+ EAttribute getProfileConfigurationParameter_RepeatingStereotypes();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution <em>Repeating Stereotypes Solution</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Repeating Stereotypes Solution</em>'.
+ * @see org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution
+ * @generated
+ */
+ EEnum getRepeatingStereotypesSolution();
+
+ /**
+ * 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
+ */
+ JConfigurationFactory getJConfigurationFactory();
+
+ /**
+ * <!-- 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 operation 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 '{@link org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationImpl <em>Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationImpl
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getConfiguration()
+ * @generated
+ */
+ EClass CONFIGURATION = eINSTANCE.getConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Configuration Parameters</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURATION__CONFIGURATION_PARAMETERS = eINSTANCE.getConfiguration_ConfigurationParameters();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationParameterImpl <em>Configuration Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationParameterImpl
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getConfigurationParameter()
+ * @generated
+ */
+ EClass CONFIGURATION_PARAMETER = eINSTANCE.getConfigurationParameter();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.upr.platform.java.jumpcfg.impl.ProfileConfigurationParameterImpl <em>Profile Configuration Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.ProfileConfigurationParameterImpl
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getProfileConfigurationParameter()
+ * @generated
+ */
+ EClass PROFILE_CONFIGURATION_PARAMETER = eINSTANCE.getProfileConfigurationParameter();
+
+ /**
+ * The meta object literal for the '<em><b>Repeating Stereotypes</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES = eINSTANCE.getProfileConfigurationParameter_RepeatingStereotypes();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution <em>Repeating Stereotypes Solution</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getRepeatingStereotypesSolution()
+ * @generated
+ */
+ EEnum REPEATING_STEREOTYPES_SOLUTION = eINSTANCE.getRepeatingStereotypesSolution();
+
+ }
+
+} //JConfigurationPackage
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ProfileConfigurationParameter.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ProfileConfigurationParameter.java
new file mode 100644
index 0000000..d7f9c84
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ProfileConfigurationParameter.java
@@ -0,0 +1,52 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Profile Configuration Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter#getRepeatingStereotypes <em>Repeating Stereotypes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage#getProfileConfigurationParameter()
+ * @model
+ * @generated
+ */
+public interface ProfileConfigurationParameter extends ConfigurationParameter {
+ /**
+ * Returns the value of the '<em><b>Repeating Stereotypes</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Repeating Stereotypes</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Repeating Stereotypes</em>' attribute.
+ * @see org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution
+ * @see #setRepeatingStereotypes(RepeatingStereotypesSolution)
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage#getProfileConfigurationParameter_RepeatingStereotypes()
+ * @model
+ * @generated
+ */
+ RepeatingStereotypesSolution getRepeatingStereotypes();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter#getRepeatingStereotypes <em>Repeating Stereotypes</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Repeating Stereotypes</em>' attribute.
+ * @see org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution
+ * @see #getRepeatingStereotypes()
+ * @generated
+ */
+ void setRepeatingStereotypes(RepeatingStereotypesSolution value);
+
+} // ProfileConfigurationParameter
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/RepeatingStereotypesSolution.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/RepeatingStereotypesSolution.java
new file mode 100644
index 0000000..6568f7b
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/RepeatingStereotypesSolution.java
@@ -0,0 +1,235 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Repeating Stereotypes Solution</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage#getRepeatingStereotypesSolution()
+ * @model
+ * @generated
+ */
+public enum RepeatingStereotypesSolution implements Enumerator {
+ /**
+ * The '<em><b>Composition</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #COMPOSITION_VALUE
+ * @generated
+ * @ordered
+ */
+ COMPOSITION(0, "composition", "composition"),
+
+ /**
+ * The '<em><b>Emulation</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EMULATION_VALUE
+ * @generated
+ * @ordered
+ */
+ EMULATION(1, "emulation", "emulation"),
+
+ /**
+ * The '<em><b>Native</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NATIVE_VALUE
+ * @generated
+ * @ordered
+ */
+ NATIVE(2, "native", "native");
+
+ /**
+ * The '<em><b>Composition</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Composition</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #COMPOSITION
+ * @model name="composition"
+ * @generated
+ * @ordered
+ */
+ public static final int COMPOSITION_VALUE = 0;
+
+ /**
+ * The '<em><b>Emulation</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Emulation</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EMULATION
+ * @model name="emulation"
+ * @generated
+ * @ordered
+ */
+ public static final int EMULATION_VALUE = 1;
+
+ /**
+ * The '<em><b>Native</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Native</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NATIVE
+ * @model name="native"
+ * @generated
+ * @ordered
+ */
+ public static final int NATIVE_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Repeating Stereotypes Solution</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final RepeatingStereotypesSolution[] VALUES_ARRAY =
+ new RepeatingStereotypesSolution[] {
+ COMPOSITION,
+ EMULATION,
+ NATIVE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Repeating Stereotypes Solution</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<RepeatingStereotypesSolution> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Repeating Stereotypes Solution</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static RepeatingStereotypesSolution get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ RepeatingStereotypesSolution result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Repeating Stereotypes Solution</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static RepeatingStereotypesSolution getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ RepeatingStereotypesSolution result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Repeating Stereotypes Solution</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static RepeatingStereotypesSolution get(int value) {
+ switch (value) {
+ case COMPOSITION_VALUE: return COMPOSITION;
+ case EMULATION_VALUE: return EMULATION;
+ case NATIVE_VALUE: return NATIVE;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private RepeatingStereotypesSolution(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //RepeatingStereotypesSolution
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationImpl.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationImpl.java
new file mode 100644
index 0000000..c057651
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationImpl.java
@@ -0,0 +1,152 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.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.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.upr.platform.java.jumpcfg.Configuration;
+import org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter;
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationImpl#getConfigurationParameters <em>Configuration Parameters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConfigurationImpl extends MinimalEObjectImpl.Container implements Configuration {
+ /**
+ * The cached value of the '{@link #getConfigurationParameters() <em>Configuration Parameters</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConfigurationParameters()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConfigurationParameter> configurationParameters;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return JConfigurationPackage.Literals.CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConfigurationParameter> getConfigurationParameters() {
+ if (configurationParameters == null) {
+ configurationParameters = new EObjectContainmentEList<ConfigurationParameter>(ConfigurationParameter.class, this, JConfigurationPackage.CONFIGURATION__CONFIGURATION_PARAMETERS);
+ }
+ return configurationParameters;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case JConfigurationPackage.CONFIGURATION__CONFIGURATION_PARAMETERS:
+ return ((InternalEList<?>)getConfigurationParameters()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case JConfigurationPackage.CONFIGURATION__CONFIGURATION_PARAMETERS:
+ return getConfigurationParameters();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case JConfigurationPackage.CONFIGURATION__CONFIGURATION_PARAMETERS:
+ getConfigurationParameters().clear();
+ getConfigurationParameters().addAll((Collection<? extends ConfigurationParameter>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case JConfigurationPackage.CONFIGURATION__CONFIGURATION_PARAMETERS:
+ getConfigurationParameters().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case JConfigurationPackage.CONFIGURATION__CONFIGURATION_PARAMETERS:
+ return configurationParameters != null && !configurationParameters.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConfigurationImpl
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationParameterImpl.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationParameterImpl.java
new file mode 100644
index 0000000..515b09e
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationParameterImpl.java
@@ -0,0 +1,41 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter;
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Configuration Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ConfigurationParameterImpl extends MinimalEObjectImpl.Container implements ConfigurationParameter {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return JConfigurationPackage.Literals.CONFIGURATION_PARAMETER;
+ }
+
+} //ConfigurationParameterImpl
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationFactoryImpl.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationFactoryImpl.java
new file mode 100644
index 0000000..dd2cc7c
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationFactoryImpl.java
@@ -0,0 +1,168 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.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.upr.platform.java.jumpcfg.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class JConfigurationFactoryImpl extends EFactoryImpl implements JConfigurationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static JConfigurationFactory init() {
+ try {
+ JConfigurationFactory theJConfigurationFactory = (JConfigurationFactory)EPackage.Registry.INSTANCE.getEFactory(JConfigurationPackage.eNS_URI);
+ if (theJConfigurationFactory != null) {
+ return theJConfigurationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new JConfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JConfigurationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case JConfigurationPackage.CONFIGURATION: return createConfiguration();
+ case JConfigurationPackage.CONFIGURATION_PARAMETER: return createConfigurationParameter();
+ case JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER: return createProfileConfigurationParameter();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case JConfigurationPackage.REPEATING_STEREOTYPES_SOLUTION:
+ return createRepeatingStereotypesSolutionFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case JConfigurationPackage.REPEATING_STEREOTYPES_SOLUTION:
+ return convertRepeatingStereotypesSolutionToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Configuration createConfiguration() {
+ ConfigurationImpl configuration = new ConfigurationImpl();
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationParameter createConfigurationParameter() {
+ ConfigurationParameterImpl configurationParameter = new ConfigurationParameterImpl();
+ return configurationParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProfileConfigurationParameter createProfileConfigurationParameter() {
+ ProfileConfigurationParameterImpl profileConfigurationParameter = new ProfileConfigurationParameterImpl();
+ return profileConfigurationParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RepeatingStereotypesSolution createRepeatingStereotypesSolutionFromString(EDataType eDataType, String initialValue) {
+ RepeatingStereotypesSolution result = RepeatingStereotypesSolution.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertRepeatingStereotypesSolutionToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JConfigurationPackage getJConfigurationPackage() {
+ return (JConfigurationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static JConfigurationPackage getPackage() {
+ return JConfigurationPackage.eINSTANCE;
+ }
+
+} //JConfigurationFactoryImpl
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationPackageImpl.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationPackageImpl.java
new file mode 100644
index 0000000..bb91c18
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationPackageImpl.java
@@ -0,0 +1,259 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.upr.platform.java.jumpcfg.Configuration;
+import org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter;
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationFactory;
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage;
+import org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter;
+import org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class JConfigurationPackageImpl extends EPackageImpl implements JConfigurationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass configurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass configurationParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass profileConfigurationParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum repeatingStereotypesSolutionEEnum = 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.upr.platform.java.jumpcfg.JConfigurationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private JConfigurationPackageImpl() {
+ super(eNS_URI, JConfigurationFactory.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 JConfigurationPackage#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 JConfigurationPackage init() {
+ if (isInited) return (JConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(JConfigurationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ JConfigurationPackageImpl theJConfigurationPackage = (JConfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof JConfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new JConfigurationPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theJConfigurationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theJConfigurationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theJConfigurationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(JConfigurationPackage.eNS_URI, theJConfigurationPackage);
+ return theJConfigurationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConfiguration() {
+ return configurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfiguration_ConfigurationParameters() {
+ return (EReference)configurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConfigurationParameter() {
+ return configurationParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProfileConfigurationParameter() {
+ return profileConfigurationParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProfileConfigurationParameter_RepeatingStereotypes() {
+ return (EAttribute)profileConfigurationParameterEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getRepeatingStereotypesSolution() {
+ return repeatingStereotypesSolutionEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JConfigurationFactory getJConfigurationFactory() {
+ return (JConfigurationFactory)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
+ configurationEClass = createEClass(CONFIGURATION);
+ createEReference(configurationEClass, CONFIGURATION__CONFIGURATION_PARAMETERS);
+
+ configurationParameterEClass = createEClass(CONFIGURATION_PARAMETER);
+
+ profileConfigurationParameterEClass = createEClass(PROFILE_CONFIGURATION_PARAMETER);
+ createEAttribute(profileConfigurationParameterEClass, PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES);
+
+ // Create enums
+ repeatingStereotypesSolutionEEnum = createEEnum(REPEATING_STEREOTYPES_SOLUTION);
+ }
+
+ /**
+ * <!-- 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);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ profileConfigurationParameterEClass.getESuperTypes().add(this.getConfigurationParameter());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(configurationEClass, Configuration.class, "Configuration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConfiguration_ConfigurationParameters(), this.getConfigurationParameter(), null, "configurationParameters", null, 0, -1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(configurationParameterEClass, ConfigurationParameter.class, "ConfigurationParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(profileConfigurationParameterEClass, ProfileConfigurationParameter.class, "ProfileConfigurationParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getProfileConfigurationParameter_RepeatingStereotypes(), this.getRepeatingStereotypesSolution(), "repeatingStereotypes", null, 0, 1, ProfileConfigurationParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(repeatingStereotypesSolutionEEnum, RepeatingStereotypesSolution.class, "RepeatingStereotypesSolution");
+ addEEnumLiteral(repeatingStereotypesSolutionEEnum, RepeatingStereotypesSolution.COMPOSITION);
+ addEEnumLiteral(repeatingStereotypesSolutionEEnum, RepeatingStereotypesSolution.EMULATION);
+ addEEnumLiteral(repeatingStereotypesSolutionEEnum, RepeatingStereotypesSolution.NATIVE);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //JConfigurationPackageImpl
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ProfileConfigurationParameterImpl.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ProfileConfigurationParameterImpl.java
new file mode 100644
index 0000000..678144d
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ProfileConfigurationParameterImpl.java
@@ -0,0 +1,163 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage;
+import org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter;
+import org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Profile Configuration Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.upr.platform.java.jumpcfg.impl.ProfileConfigurationParameterImpl#getRepeatingStereotypes <em>Repeating Stereotypes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProfileConfigurationParameterImpl extends ConfigurationParameterImpl implements ProfileConfigurationParameter {
+ /**
+ * The default value of the '{@link #getRepeatingStereotypes() <em>Repeating Stereotypes</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepeatingStereotypes()
+ * @generated
+ * @ordered
+ */
+ protected static final RepeatingStereotypesSolution REPEATING_STEREOTYPES_EDEFAULT = RepeatingStereotypesSolution.COMPOSITION;
+
+ /**
+ * The cached value of the '{@link #getRepeatingStereotypes() <em>Repeating Stereotypes</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepeatingStereotypes()
+ * @generated
+ * @ordered
+ */
+ protected RepeatingStereotypesSolution repeatingStereotypes = REPEATING_STEREOTYPES_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProfileConfigurationParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return JConfigurationPackage.Literals.PROFILE_CONFIGURATION_PARAMETER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RepeatingStereotypesSolution getRepeatingStereotypes() {
+ return repeatingStereotypes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRepeatingStereotypes(RepeatingStereotypesSolution newRepeatingStereotypes) {
+ RepeatingStereotypesSolution oldRepeatingStereotypes = repeatingStereotypes;
+ repeatingStereotypes = newRepeatingStereotypes == null ? REPEATING_STEREOTYPES_EDEFAULT : newRepeatingStereotypes;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES, oldRepeatingStereotypes, repeatingStereotypes));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES:
+ return getRepeatingStereotypes();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES:
+ setRepeatingStereotypes((RepeatingStereotypesSolution)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES:
+ setRepeatingStereotypes(REPEATING_STEREOTYPES_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES:
+ return repeatingStereotypes != REPEATING_STEREOTYPES_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (repeatingStereotypes: ");
+ result.append(repeatingStereotypes);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ProfileConfigurationParameterImpl
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationAdapterFactory.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationAdapterFactory.java
new file mode 100644
index 0000000..ed3fbf9
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationAdapterFactory.java
@@ -0,0 +1,156 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.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.upr.platform.java.jumpcfg.*;
+
+/**
+ * <!-- 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.upr.platform.java.jumpcfg.JConfigurationPackage
+ * @generated
+ */
+public class JConfigurationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static JConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JConfigurationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = JConfigurationPackage.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
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected JConfigurationSwitch<Adapter> modelSwitch =
+ new JConfigurationSwitch<Adapter>() {
+ @Override
+ public Adapter caseConfiguration(Configuration object) {
+ return createConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseConfigurationParameter(ConfigurationParameter object) {
+ return createConfigurationParameterAdapter();
+ }
+ @Override
+ public Adapter caseProfileConfigurationParameter(ProfileConfigurationParameter object) {
+ return createProfileConfigurationParameterAdapter();
+ }
+ @Override
+ public Adapter 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
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.upr.platform.java.jumpcfg.Configuration <em>Configuration</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.upr.platform.java.jumpcfg.Configuration
+ * @generated
+ */
+ public Adapter createConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter <em>Configuration Parameter</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.upr.platform.java.jumpcfg.ConfigurationParameter
+ * @generated
+ */
+ public Adapter createConfigurationParameterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter <em>Profile Configuration Parameter</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.upr.platform.java.jumpcfg.ProfileConfigurationParameter
+ * @generated
+ */
+ public Adapter createProfileConfigurationParameterAdapter() {
+ 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;
+ }
+
+} //JConfigurationAdapterFactory
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationSwitch.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationSwitch.java
new file mode 100644
index 0000000..74b88ff
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationSwitch.java
@@ -0,0 +1,153 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.upr.platform.java.jumpcfg.*;
+
+/**
+ * <!-- 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.upr.platform.java.jumpcfg.JConfigurationPackage
+ * @generated
+ */
+public class JConfigurationSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static JConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JConfigurationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = JConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * 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
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case JConfigurationPackage.CONFIGURATION: {
+ Configuration configuration = (Configuration)theEObject;
+ T result = caseConfiguration(configuration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case JConfigurationPackage.CONFIGURATION_PARAMETER: {
+ ConfigurationParameter configurationParameter = (ConfigurationParameter)theEObject;
+ T result = caseConfigurationParameter(configurationParameter);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER: {
+ ProfileConfigurationParameter profileConfigurationParameter = (ProfileConfigurationParameter)theEObject;
+ T result = caseProfileConfigurationParameter(profileConfigurationParameter);
+ if (result == null) result = caseConfigurationParameter(profileConfigurationParameter);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Configuration</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 interpreting the object as an instance of '<em>Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfiguration(Configuration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Configuration Parameter</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 interpreting the object as an instance of '<em>Configuration Parameter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfigurationParameter(ConfigurationParameter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Profile Configuration Parameter</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 interpreting the object as an instance of '<em>Profile Configuration Parameter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProfileConfigurationParameter(ProfileConfigurationParameter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting 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 interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //JConfigurationSwitch
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationUtil.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationUtil.java
new file mode 100644
index 0000000..1d85948
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationUtil.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Vienna University of Technology.
+ * 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:
+ * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation
+ *
+ * Initially developed in the context of ARTIST EU project www.artist-project.eu
+ *******************************************************************************/
+
+package org.eclipse.upr.platform.java.jumpcfg.util;
+
+import java.io.File;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.upr.platform.java.jumpcfg.Configuration;
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationFactory;
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage;
+import org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter;
+import org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution;
+
+public class JConfigurationUtil {
+
+ private static Resource DEFAULT_CONFIGURATION = null;
+
+ /**
+ * Produces a default configuration.
+ *
+ * @return Jump configuration
+ */
+ public static Resource getDefaultConfiguration() {
+ if(DEFAULT_CONFIGURATION == null) {
+ DEFAULT_CONFIGURATION = createDefaultConfiguration();
+ }
+ return DEFAULT_CONFIGURATION;
+ }
+
+ private static Resource createDefaultConfiguration() {
+ ResourceSet resourceSet = new ResourceSetImpl();
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
+ .put(JConfigurationPackage.eNS_PREFIX, new XMIResourceFactoryImpl());
+ URI uri = URI.createFileURI(new File("./jump-default.jcfg").getAbsolutePath());
+ Resource resource = resourceSet.createResource(uri);
+ Configuration configuration = JConfigurationFactory.eINSTANCE.createConfiguration();
+ ProfileConfigurationParameter parameter = JConfigurationFactory.eINSTANCE.createProfileConfigurationParameter();
+ parameter.setRepeatingStereotypes(RepeatingStereotypesSolution.COMPOSITION);
+ configuration.getConfigurationParameters().add(parameter);
+ resource.getContents().add(configuration);
+ return resource;
+ }
+
+}
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/.project b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/.project
new file mode 100644
index 0000000..3b0998d
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.upr.platform.java.profiles.papyrus</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <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.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/META-INF/MANIFEST.MF b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..3fe887e
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.upr.platform.java.profiles.papyrus;singleton:=true
+Bundle-Version: 0.9.0.qualifier
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.papyrus.uml.extensionpoints;bundle-version="1.0.2",
+ org.eclipse.upr.platform.java.profiles;bundle-version="0.9.0"
+Bundle-ActivationPolicy: lazy
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/about.html b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/about.html
new file mode 100644
index 0000000..6f6b96c
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/about.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>February 24, 2005</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/build.properties b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/build.properties
new file mode 100644
index 0000000..1217771
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/build.properties
@@ -0,0 +1,15 @@
+###############################################################################
+# Copyright (c) 2015 TU Wien.
+# 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:
+# Alexander Bergmayr (TU Wien) - initial API and implementation
+#
+# Initially developed in the context of ARTIST EU project www.artist-project.eu
+###############################################################################
+bin.includes = META-INF/,\
+ plugin.xml,\
+ plugin.properties
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/plugin.properties b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/plugin.properties
new file mode 100644
index 0000000..62bd39b
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/plugin.properties
@@ -0,0 +1,17 @@
+# <copyright>
+# Copyright (c) 2015 TU Wien.
+# 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:
+# Alexander Bergmayr (TU Wien) - initial API and implementation
+#
+# Initially developed in the context of ARTIST EU project www.artist-project.eu
+# </copyright>
+#
+# $Id$
+
+pluginName = UML profiles based on Java libraries for Papyrus (Incubation)
+providerName = Eclipse UPR
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/plugin.xml b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/plugin.xml
new file mode 100644
index 0000000..ac92cce
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/plugin.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="EclipseLink"
+ path="pathmap://PROFILES_JAVA_PLATFORM/eclipselink_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="EJB3.0"
+ path="pathmap://PROFILES_JAVA_PLATFORM/ejb3.0_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="EJB3.2"
+ path="pathmap://PROFILES_JAVA_PLATFORM/ejb3.2_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="FindBugs"
+ path="pathmap://PROFILES_JAVA_PLATFORM/findBugs_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Hibernate-Core"
+ path="pathmap://PROFILES_JAVA_PLATFORM/hibernate-core_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Jackson"
+ path="pathmap://PROFILES_JAVA_PLATFORM/jackson-annotations_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Javax-Annotations"
+ path="pathmap://PROFILES_JAVA_PLATFORM/javax.annotations_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Javax-CDI"
+ path="pathmap://PROFILES_JAVA_PLATFORM/javax.cdi_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Javax-Inject"
+ path="pathmap://PROFILES_JAVA_PLATFORM/javax.inject_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Javax-Interceptor"
+ path="pathmap://PROFILES_JAVA_PLATFORM/javax.interceptor_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Javax-Validation"
+ path="pathmap://PROFILES_JAVA_PLATFORM/javax.validation_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Javax-WS"
+ path="pathmap://PROFILES_JAVA_PLATFORM/javax.ws_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Jaxb"
+ path="pathmap://PROFILES_JAVA_PLATFORM/jaxb_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Jaxrs"
+ path="pathmap://PROFILES_JAVA_PLATFORM/jaxrs_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="JBoss-Arquillian"
+ path="pathmap://PROFILES_JAVA_PLATFORM/jboss-arquillian_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Java7-Annotations"
+ path="pathmap://PROFILES_JAVA_PLATFORM/jdk7_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="JPA2"
+ path="pathmap://PROFILES_JAVA_PLATFORM/jpa2_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="JUnit"
+ path="pathmap://PROFILES_JAVA_PLATFORM/junit_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Objectify"
+ path="pathmap://PROFILES_JAVA_PLATFORM/objectify_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Spring-Bundle"
+ path="pathmap://PROFILES_JAVA_PLATFORM/spring-bundle_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ name="Struts-Bundle"
+ path="pathmap://PROFILES_JAVA_PLATFORM/struts-bundle_profile.profile.uml"
+ provider="Eclipse UPR">
+ </profile>
+ </extension>
+</plugin>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/pom.xml b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/pom.xml
new file mode 100644
index 0000000..9665e03
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles.papyrus/pom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 TU Wien.
+ 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:
+ Alexander Bergmayr (TU Wien) - initial API and implementation
+
+ Initially developed in the context of ARTIST EU project www.artist-project.eu
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.jump.build</artifactId>
+ <relativePath>../../build/org.eclipse.upr.platform.jump.build/pom.xml</relativePath>
+ <version>0.9.0</version>
+ </parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.java.profiles.papyrus</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles/.project b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/.project
new file mode 100644
index 0000000..7a683c4
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.upr.platform.java.profiles</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <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.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles/META-INF/MANIFEST.MF b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..890475f
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.upr.platform.java.profiles;singleton:=true
+Bundle-Version: 0.9.0.qualifier
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.emf.ecore;bundle-version="2.10.2",
+ org.eclipse.uml2.uml;bundle-version="5.0.2"
+Bundle-ActivationPolicy: lazy
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles/about.html b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/about.html
new file mode 100644
index 0000000..6f6b96c
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/about.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>February 24, 2005</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles/build.properties b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/build.properties
new file mode 100644
index 0000000..73450c4
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/build.properties
@@ -0,0 +1,17 @@
+###############################################################################
+# Copyright (c) 2015 TU Wien.
+# 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:
+# Alexander Bergmayr (TU Wien) - initial API and implementation
+#
+# Initially developed in the context of ARTIST EU project www.artist-project.eu
+###############################################################################
+bin.includes = META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ profiles/
+src.includes = profiles/
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles/plugin.properties b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/plugin.properties
new file mode 100644
index 0000000..e5bc463
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/plugin.properties
@@ -0,0 +1,17 @@
+# <copyright>
+# Copyright (c) 2015 TU Wien.
+# 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:
+# Alexander Bergmayr (TU Wien) - initial API and implementation
+#
+# Initially developed in the context of ARTIST EU project www.artist-project.eu
+# </copyright>
+#
+# $Id$
+
+pluginName = UML profiles based on Java libraries (Incubation)
+providerName = Eclipse UPR
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles/plugin.xml b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/plugin.xml
new file mode 100644
index 0000000..7026f6b
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/plugin.xml
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+<!-- Ecore URI mapping -->
+ <extension point="org.eclipse.emf.ecore.uri_mapping">
+ <mapping
+ target="platform:/plugin/org.eclipse.upr.platform.java.profiles/profiles/"
+ source="pathmap://PROFILES_JAVA_PLATFORM/">
+ </mapping>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/eclipselink_profile.profile.uml#_bxId0Bt1EeWb19NaJQmczQ"
+ uri="http:///schemas/EclipseLink/_bwp8sBt1EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/ejb3.0_profile.profile.uml#_cWyvoBt1EeWb19NaJQmczQ"
+ uri="http:///schemas/ejb30/_cWvFQBt1EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/ejb3.2_profile.profile.uml#_c7UZABt1EeWb19NaJQmczQ"
+ uri="http:///schemas/ejb32/_c7NrUBt1EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/findBugs_profile.profile.uml#__KyvgBt0EeWb19NaJQmczQ"
+ uri="http:///schemas/findBugs/__KplkBt0EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/hibernate-core_profile.profile.uml#_lQrTsBtwEeWZE8BV_IWn7Q"
+ uri="http:///schemas/hibernatecore/_lQUHUBtwEeWZE8BV_IWn7Q/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/jackson-annotations_profile.profile.uml#_tkYLQLAwEeSts9jnR_oQsA"
+ uri="http:///schemas/jacksonannotations/_tkL-ALAwEeSts9jnR_oQsA/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/javax.annotation_profile.profile.uml#_xb_AsBt1EeWb19NaJQmczQ"
+ uri="http:///schemas/javaxannotation/_xb5hIBt1EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/javax.cdi_profile.profile.uml#_AVirYBt1EeWb19NaJQmczQ"
+ uri="http:///schemas/javaxcdi/_AVckwBt1EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/javax.inject_profile.profile.uml#_AgiacBt1EeWb19NaJQmczQ"
+ uri="http:///schemas/javaxinject/_AgglQBt1EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/javax.interceptor_profile.profile.uml#_ArNZYBt1EeWb19NaJQmczQ"
+ uri="http:///schemas/javaxinterceptor/_ArMLQBt1EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/javax.validation_profile.profile.uml#_8SP1EBt0EeWb19NaJQmczQ"
+ uri="http:///schemas/javaxvalidation/_8SEO4Bt0EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/javax.ws_profile.profile.uml#_w31x0Bt1EeWb19NaJQmczQ"
+ uri="http:///schemas/javaxws/_w3yHcBt1EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/jaxb_profile.profile.uml#_4tacYBt0EeWb19NaJQmczQ"
+ uri="http:///schemas/jaxb/_4tU80Bt0EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/jaxrs_profile.profile.uml#_fJUBoLFpEeSdiqgHDHPw8A"
+ uri="http:///schemas/jaxrs/_oZrcQOg8EeSj2uQUDGM5Yw/1">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/jboss-arquillian_profile.profile.uml#_8dA6oBt0EeWb19NaJQmczQ"
+ uri="http:///schemas/jbossarquillian/_8c_FcBt0EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/jdk7_profile.profile.uml#_3-h9IBt0EeWb19NaJQmczQ"
+ uri="http:///schemas/jdk7/_3-fg4Bt0EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/jpa2_profile.profile.uml#_4dAo4Bt0EeWb19NaJQmczQ"
+ uri="http:///schemas/jpa2/_4co1cBt0EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/junit_profile.profile.uml#_1KlO0Bt0EeWb19NaJQmczQ"
+ uri="http:///schemas/junit/_1Ka2wBt0EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/objectify_profile.profile.uml#_5HDEYBt0EeWb19NaJQmczQ"
+ uri="http:///schemas/objectify/_5G_aABt0EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/spring-bundle_profile.profile.uml#_8BHo0Bt0EeWb19NaJQmczQ"
+ uri="http:///schemas/springbundle/_8AogoBt0EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.dynamic_package">
+ <profile
+ location="pathmap://PROFILES_JAVA_PLATFORM/struts-bundle_profile.profile.uml#_AGoFoBt1EeWb19NaJQmczQ"
+ uri="http:///schemas/strutsbundlenolibrary/_AGTVgBt1EeWb19NaJQmczQ/0">
+ </profile>
+ </extension>
+
+</plugin>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles/pom.xml b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/pom.xml
new file mode 100644
index 0000000..1f31d0b
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/pom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 TU Wien.
+ 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:
+ Alexander Bergmayr (TU Wien) - initial API and implementation
+
+ Initially developed in the context of ARTIST EU project www.artist-project.eu
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.jump.build</artifactId>
+ <relativePath>../../build/org.eclipse.upr.platform.jump.build/pom.xml</relativePath>
+ <version>0.9.0</version>
+ </parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.java.profiles</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/eclipselink_profile.profile.uml b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/eclipselink_profile.profile.uml
new file mode 100644
index 0000000..0db780a
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.profiles/profiles/eclipselink_profile.profile.uml
@@ -0,0 +1,10200 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:javaProfile="http:///schemas/javaProfile/_wCZm0N0oEeSfefuUt0TgMw/3" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http:///schemas/javaProfile/_wCZm0N0oEeSfefuUt0TgMw/3 pathmap://JAVA_PROFILE/javaProfile.uml#_wCcqIN0oEeSfefuUt0TgMw">
+ <uml:Profile xmi:id="_bxId0Bt1EeWb19NaJQmczQ" name="EclipseLink" metamodelReference="_bxLjnxt1EeWb19NaJQmczQ">
+ <eAnnotations xmi:id="_bxId0Rt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_bxId0ht1EeWb19NaJQmczQ" name="EclipseLink" nsURI="http:///schemas/EclipseLink/_bwp8sBt1EeWb19NaJQmczQ/0" nsPrefix="EclipseLink">
+ <eSubpackages xmi:id="_bxId0xt1EeWb19NaJQmczQ" name="org" nsURI="http:///EclipseLink/org.ecore" nsPrefix="EclipseLink.org">
+ <eAnnotations xmi:id="_bxId1Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_bxLjoRt1EeWb19NaJQmczQ"/>
+ <eSubpackages xmi:id="_bxId1Rt1EeWb19NaJQmczQ" name="eclipse" nsURI="http:///EclipseLink/org/eclipse.ecore" nsPrefix="EclipseLink.org.eclipse">
+ <eAnnotations xmi:id="_bxId1ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_bxLjoht1EeWb19NaJQmczQ"/>
+ <eSubpackages xmi:id="_bxId1xt1EeWb19NaJQmczQ" name="persistence" nsURI="http:///EclipseLink/org/eclipse/persistence.ecore" nsPrefix="EclipseLink.org.eclipse.persistence">
+ <eAnnotations xmi:id="_bxId2Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_bxLjoxt1EeWb19NaJQmczQ"/>
+ <eSubpackages xmi:id="_bxId2Rt1EeWb19NaJQmczQ" name="annotations" nsURI="http:///EclipseLink/org/eclipse/persistence/annotations.ecore" nsPrefix="EclipseLink.org.eclipse.persistence.annotations">
+ <eAnnotations xmi:id="_bxId2ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_bxLjpBt1EeWb19NaJQmczQ"/>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxId2xt1EeWb19NaJQmczQ" name="OrderCorrectionType">
+ <eAnnotations xmi:id="_bxId3Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLjpRt1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxId3Rt1EeWb19NaJQmczQ" name="READ"/>
+ <eLiterals xmi:id="_bxId3ht1EeWb19NaJQmczQ" name="READ_WRITE" value="1"/>
+ <eLiterals xmi:id="_bxId3xt1EeWb19NaJQmczQ" name="EXCEPTION" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxId4Bt1EeWb19NaJQmczQ" name="JoinFetchType">
+ <eAnnotations xmi:id="_bxId4Rt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLjqRt1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxId4ht1EeWb19NaJQmczQ" name="INNER"/>
+ <eLiterals xmi:id="_bxId4xt1EeWb19NaJQmczQ" name="OUTER" value="1"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxId5Bt1EeWb19NaJQmczQ" name="Direction">
+ <eAnnotations xmi:id="_bxId5Rt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLjrBt1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxId5ht1EeWb19NaJQmczQ" name="IN"/>
+ <eLiterals xmi:id="_bxId5xt1EeWb19NaJQmczQ" name="OUT" value="1"/>
+ <eLiterals xmi:id="_bxId6Bt1EeWb19NaJQmczQ" name="IN_OUT" value="2"/>
+ <eLiterals xmi:id="_bxId6Rt1EeWb19NaJQmczQ" name="OUT_CURSOR" value="3"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxId6ht1EeWb19NaJQmczQ" name="OptimisticLockingType">
+ <eAnnotations xmi:id="_bxId6xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLjsRt1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxId7Bt1EeWb19NaJQmczQ" name="ALL_COLUMNS"/>
+ <eLiterals xmi:id="_bxId7Rt1EeWb19NaJQmczQ" name="CHANGED_COLUMNS" value="1"/>
+ <eLiterals xmi:id="_bxId7ht1EeWb19NaJQmczQ" name="SELECTED_COLUMNS" value="2"/>
+ <eLiterals xmi:id="_bxId7xt1EeWb19NaJQmczQ" name="VERSION_COLUMN" value="3"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxId8Bt1EeWb19NaJQmczQ" name="CacheKeyType">
+ <eAnnotations xmi:id="_bxId8Rt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLjtht1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxId8ht1EeWb19NaJQmczQ" name="ID_VALUE"/>
+ <eLiterals xmi:id="_bxId8xt1EeWb19NaJQmczQ" name="CACHE_ID" value="1"/>
+ <eLiterals xmi:id="_bxId9Bt1EeWb19NaJQmczQ" name="AUTO" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxId9Rt1EeWb19NaJQmczQ" name="CacheType">
+ <eAnnotations xmi:id="_bxId9ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLjuht1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxId9xt1EeWb19NaJQmczQ" name="FULL"/>
+ <eLiterals xmi:id="_bxId-Bt1EeWb19NaJQmczQ" name="WEAK" value="1"/>
+ <eLiterals xmi:id="_bxId-Rt1EeWb19NaJQmczQ" name="SOFT" value="2"/>
+ <eLiterals xmi:id="_bxId-ht1EeWb19NaJQmczQ" name="SOFT_WEAK" value="3"/>
+ <eLiterals xmi:id="_bxId-xt1EeWb19NaJQmczQ" name="HARD_WEAK" value="4"/>
+ <eLiterals xmi:id="_bxId_Bt1EeWb19NaJQmczQ" name="CACHE" value="5"/>
+ <eLiterals xmi:id="_bxId_Rt1EeWb19NaJQmczQ" name="NONE" value="6"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxId_ht1EeWb19NaJQmczQ" name="ChangeTrackingType">
+ <eAnnotations xmi:id="_bxId_xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLjwht1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxIeABt1EeWb19NaJQmczQ" name="ATTRIBUTE"/>
+ <eLiterals xmi:id="_bxIeARt1EeWb19NaJQmczQ" name="OBJECT" value="1"/>
+ <eLiterals xmi:id="_bxIeAht1EeWb19NaJQmczQ" name="DEFERRED" value="2"/>
+ <eLiterals xmi:id="_bxIeAxt1EeWb19NaJQmczQ" name="AUTO" value="3"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxIeBBt1EeWb19NaJQmczQ" name="CacheCoordinationType">
+ <eAnnotations xmi:id="_bxIeBRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLjxxt1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxIeBht1EeWb19NaJQmczQ" name="SEND_OBJECT_CHANGES"/>
+ <eLiterals xmi:id="_bxIeBxt1EeWb19NaJQmczQ" name="INVALIDATE_CHANGED_OBJECTS" value="1"/>
+ <eLiterals xmi:id="_bxIeCBt1EeWb19NaJQmczQ" name="SEND_NEW_OBJECTS_WITH_CHANGES" value="2"/>
+ <eLiterals xmi:id="_bxIeCRt1EeWb19NaJQmczQ" name="NONE" value="3"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxIeCht1EeWb19NaJQmczQ" name="BatchFetchType">
+ <eAnnotations xmi:id="_bxIeCxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLjzBt1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxIeDBt1EeWb19NaJQmczQ" name="JOIN"/>
+ <eLiterals xmi:id="_bxIeDRt1EeWb19NaJQmczQ" name="EXISTS" value="1"/>
+ <eLiterals xmi:id="_bxIeDht1EeWb19NaJQmczQ" name="IN" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxIeDxt1EeWb19NaJQmczQ" name="MultitenantType">
+ <eAnnotations xmi:id="_bxIeEBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLj0Bt1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxIeERt1EeWb19NaJQmczQ" name="SINGLE_TABLE"/>
+ <eLiterals xmi:id="_bxIeEht1EeWb19NaJQmczQ" name="VPD" value="1"/>
+ <eLiterals xmi:id="_bxIeExt1EeWb19NaJQmczQ" name="TABLE_PER_TENANT" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxIeFBt1EeWb19NaJQmczQ" name="ExistenceType">
+ <eAnnotations xmi:id="_bxIeFRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLj1Bt1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxIeFht1EeWb19NaJQmczQ" name="CHECK_CACHE"/>
+ <eLiterals xmi:id="_bxIeFxt1EeWb19NaJQmczQ" name="CHECK_DATABASE" value="1"/>
+ <eLiterals xmi:id="_bxIeGBt1EeWb19NaJQmczQ" name="ASSUME_EXISTENCE" value="2"/>
+ <eLiterals xmi:id="_bxIeGRt1EeWb19NaJQmczQ" name="ASSUME_NON_EXISTENCE" value="3"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxIeGht1EeWb19NaJQmczQ" name="TenantTableDiscriminatorType">
+ <eAnnotations xmi:id="_bxIeGxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLj2Rt1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxIeHBt1EeWb19NaJQmczQ" name="SCHEMA"/>
+ <eLiterals xmi:id="_bxIeHRt1EeWb19NaJQmczQ" name="SUFFIX" value="1"/>
+ <eLiterals xmi:id="_bxIeHht1EeWb19NaJQmczQ" name="PREFIX" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxIeHxt1EeWb19NaJQmczQ" name="Converter">
+ <eAnnotations xmi:id="_bxIeIBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLj3Rt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxIeIRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxIeIht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIeIxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxIeJRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxIeJht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIeJxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxIeKRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxIeKht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIeKxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxIeLBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxIeLRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxIeLht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIeLxt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeMRt1EeWb19NaJQmczQ" name="converterClass" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeMxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeNRt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeNxt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeORt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeOxt1EeWb19NaJQmczQ" name="value_Converters" ordered="false" eType="_bxIePRt1EeWb19NaJQmczQ" eOpposite="_bxIeVRt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxIePRt1EeWb19NaJQmczQ" name="Converters">
+ <eAnnotations xmi:id="_bxIePht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMxuBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxIePxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxIeQBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIeQRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxIeQxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxIeRBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIeRRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxIeRxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxIeSBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIeSRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxIeSht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxIeSxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxIeTBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeTRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeTxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeURt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeUxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeVRt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxIeHxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxIeOxt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxIeVxt1EeWb19NaJQmczQ" name="TimeOfDay">
+ <eAnnotations xmi:id="_bxIeWBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLj9Rt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIeWRt1EeWb19NaJQmczQ" name="hour" ordered="false" defaultValueLiteral="0">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIeWxt1EeWb19NaJQmczQ" name="minute" ordered="false" defaultValueLiteral="0">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIeXRt1EeWb19NaJQmczQ" name="second" ordered="false" defaultValueLiteral="0">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIeXxt1EeWb19NaJQmczQ" name="millisecond" ordered="false" defaultValueLiteral="0">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIeYRt1EeWb19NaJQmczQ" name="specified" ordered="false" defaultValueLiteral="true">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeYxt1EeWb19NaJQmczQ" name="expiryTimeOfDay_Cache" ordered="false" eType="_bxIeZRt1EeWb19NaJQmczQ" eOpposite="_bxIeixt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxIeZRt1EeWb19NaJQmczQ" name="Cache">
+ <eAnnotations xmi:id="_bxIeZht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMIyxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxIeZxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxIeaBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIeaRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxIeaxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxIebBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIebRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxIebxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxIecBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIecRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxIecht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxIecxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxIedBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIedRt1EeWb19NaJQmczQ" name="type" ordered="false" eType="_bxId9Rt1EeWb19NaJQmczQ" defaultValueLiteral="SOFT_WEAK"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIedxt1EeWb19NaJQmczQ" name="size" ordered="false" defaultValueLiteral="100">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIeeRt1EeWb19NaJQmczQ" name="shared" ordered="false" defaultValueLiteral="true">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIeext1EeWb19NaJQmczQ" name="isolation" ordered="false" eType="_bxK7GBt1EeWb19NaJQmczQ" defaultValueLiteral="SHARED"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIefRt1EeWb19NaJQmczQ" name="expiry" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIefxt1EeWb19NaJQmczQ" name="alwaysRefresh" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIegRt1EeWb19NaJQmczQ" name="refreshOnlyIfNewer" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIegxt1EeWb19NaJQmczQ" name="disableHits" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIehRt1EeWb19NaJQmczQ" name="coordinationType" ordered="false" eType="_bxIeBBt1EeWb19NaJQmczQ" defaultValueLiteral="SEND_OBJECT_CHANGES"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIehxt1EeWb19NaJQmczQ" name="databaseChangeNotificationType" ordered="false" eType="_bxLjnBt1EeWb19NaJQmczQ" defaultValueLiteral="INVALIDATE"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeiRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeixt1EeWb19NaJQmczQ" name="expiryTimeOfDay" ordered="false" eType="_bxIeVxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxIeYxt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxIejRt1EeWb19NaJQmczQ" name="Transformation">
+ <eAnnotations xmi:id="_bxIejht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMIPRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIejxt1EeWb19NaJQmczQ" name="optional" ordered="false" defaultValueLiteral="true">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIekRt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIekxt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIelRt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIelxt1EeWb19NaJQmczQ" name="fetch" ordered="false" eType="_bxLjWht1EeWb19NaJQmczQ" eOpposite="_bxLjXBt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxIemRt1EeWb19NaJQmczQ" name="BasicMap">
+ <eAnnotations xmi:id="_bxIemht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMIhht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIemxt1EeWb19NaJQmczQ" name="keyColumn" ordered="false" eType="_bxLjZBt1EeWb19NaJQmczQ" eOpposite="_bxLjeBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIenRt1EeWb19NaJQmczQ" name="valueColumn" ordered="false" eType="_bxLjZBt1EeWb19NaJQmczQ" eOpposite="_bxLjaBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIenxt1EeWb19NaJQmczQ" name="keyConverter" ordered="false" eType="_bxJFOBt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJFRBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeoRt1EeWb19NaJQmczQ" name="valueConverter" ordered="false" eType="_bxJFOBt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJFQht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeoxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIepRt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIepxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIeqRt1EeWb19NaJQmczQ" name="fetch" ordered="false" eType="_bxLjWht1EeWb19NaJQmczQ" eOpposite="_bxLjXht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxIeqxt1EeWb19NaJQmczQ" name="OptimisticLocking">
+ <eAnnotations xmi:id="_bxIerBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMITht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxIerRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxIerht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIerxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxIesRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxIesht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIesxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxIetRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxIetht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIetxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxIeuBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxIeuRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxIeuht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIeuxt1EeWb19NaJQmczQ" name="type" ordered="false" eType="_bxId6ht1EeWb19NaJQmczQ" defaultValueLiteral="VERSION_COLUMN"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIevRt1EeWb19NaJQmczQ" name="cascade" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIevxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIewRt1EeWb19NaJQmczQ" name="selectedColumns" ordered="false" upperBound="-1" eType="_bxLjZBt1EeWb19NaJQmczQ" eOpposite="_bxLjZht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxIewxt1EeWb19NaJQmczQ" name="ValuePartitioning">
+ <eAnnotations xmi:id="_bxIexBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMJIRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxIexRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxIexht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIexxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxIeyRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxIeyht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIeyxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxIezRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxIezht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIezxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxIe0Bt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxIe0Rt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxIe0ht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIe0xt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIe1Rt1EeWb19NaJQmczQ" name="partitions" ordered="false" upperBound="-1" eType="_bxIe5xt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxIfAxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIe1xt1EeWb19NaJQmczQ" name="partitionValueType" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIe2Rt1EeWb19NaJQmczQ" name="defaultConnectionPool" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIe2xt1EeWb19NaJQmczQ" name="unionUnpartitionableQueries" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIe3Rt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIe3xt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIe4Rt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIe4xt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIe5Rt1EeWb19NaJQmczQ" name="partitionColumn" ordered="false" lowerBound="1" eType="_bxLjZBt1EeWb19NaJQmczQ" eOpposite="_bxLjaht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxIe5xt1EeWb19NaJQmczQ" name="ValuePartition">
+ <eAnnotations xmi:id="_bxIe6Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMwAxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxIe6Rt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxIe6ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIe6xt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxIe7Rt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxIe7ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIe7xt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxIe8Rt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxIe8ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIe8xt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxIe9Bt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxIe9Rt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxIe9ht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIe9xt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIe-Rt1EeWb19NaJQmczQ" name="connectionPool" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIe-xt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIe_Rt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIe_xt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfARt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfAxt1EeWb19NaJQmczQ" name="partitions_ValuePartitioning" ordered="false" eType="_bxIewxt1EeWb19NaJQmczQ" eOpposite="_bxIe1Rt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxIfBRt1EeWb19NaJQmczQ" name="HashPartitioning">
+ <eAnnotations xmi:id="_bxIfBht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMJnBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxIfBxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxIfCBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIfCRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxIfCxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxIfDBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIfDRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxIfDxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxIfEBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIfERt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxIfEht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxIfExt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxIfFBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIfFRt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIfFxt1EeWb19NaJQmczQ" name="connectionPools" ordered="false" upperBound="-1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIfGRt1EeWb19NaJQmczQ" name="unionUnpartitionableQueries" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfGxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfHRt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfHxt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfIRt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfIxt1EeWb19NaJQmczQ" name="partitionColumn" ordered="false" lowerBound="1" eType="_bxLjZBt1EeWb19NaJQmczQ" eOpposite="_bxLjbBt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxIfJRt1EeWb19NaJQmczQ" name="RangePartitioning">
+ <eAnnotations xmi:id="_bxIfJht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMKNBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxIfJxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxIfKBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIfKRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxIfKxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxIfLBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIfLRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxIfLxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxIfMBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIfMRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxIfMht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxIfMxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxIfNBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIfNRt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfNxt1EeWb19NaJQmczQ" name="partitions" ordered="false" upperBound="-1" eType="_bxIfRxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJE4ht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfORt1EeWb19NaJQmczQ" name="partitionValueType" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIfOxt1EeWb19NaJQmczQ" name="unionUnpartitionableQueries" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfPRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfPxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfQRt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfQxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfRRt1EeWb19NaJQmczQ" name="partitionColumn" ordered="false" lowerBound="1" eType="_bxLjZBt1EeWb19NaJQmczQ" eOpposite="_bxLjbht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxIfRxt1EeWb19NaJQmczQ" name="RangePartition">
+ <eAnnotations xmi:id="_bxIfSBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMwcxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxIfSRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxIfSht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIfSxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxIfTRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxIfTht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIfTxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxIfURt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxIfUht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxIfUxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxIfVBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxIfVRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxIfVht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIfVxt1EeWb19NaJQmczQ" name="startValue" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIfWRt1EeWb19NaJQmczQ" name="endValue" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxIfWxt1EeWb19NaJQmczQ" name="connectionPool" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfXRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfXxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxIfYRt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJE4Bt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJE4ht1EeWb19NaJQmczQ" name="partitions_RangePartitioning" ordered="false" eType="_bxIfJRt1EeWb19NaJQmczQ" eOpposite="_bxIfNxt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJE5Bt1EeWb19NaJQmczQ" name="SerializedObject">
+ <eAnnotations xmi:id="_bxJE5Rt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMKVBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJE5ht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJE5xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJE6Bt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJE6ht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJE6xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJE7Bt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJE7ht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJE7xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJE8Bt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJE8Rt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJE8ht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJE8xt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJE9Bt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJE9ht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJE-Bt1EeWb19NaJQmczQ" name="column" ordered="false" eType="_bxLjZBt1EeWb19NaJQmczQ" eOpposite="_bxLjcBt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJE-ht1EeWb19NaJQmczQ" name="BasicCollection">
+ <eAnnotations xmi:id="_bxJE-xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMwJBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJE_Bt1EeWb19NaJQmczQ" name="fetch" ordered="false" eType="_bxLjWht1EeWb19NaJQmczQ" eOpposite="_bxLjYBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJE_ht1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFABt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFAht1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFBBt1EeWb19NaJQmczQ" name="valueColumn" ordered="false" eType="_bxLjZBt1EeWb19NaJQmczQ" eOpposite="_bxLjcht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJFBht1EeWb19NaJQmczQ" name="WriteTransformer">
+ <eAnnotations xmi:id="_bxJFBxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMx1Bt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFCBt1EeWb19NaJQmczQ" name="transformerClass" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFCht1EeWb19NaJQmczQ" name="method" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFDBt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFDht1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFEBt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFEht1EeWb19NaJQmczQ" name="value_WriteTransformers" ordered="false" eType="_bxJFFht1EeWb19NaJQmczQ" eOpposite="_bxJFHht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFFBt1EeWb19NaJQmczQ" name="column" ordered="false" eType="_bxLjZBt1EeWb19NaJQmczQ" eOpposite="_bxLjdBt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJFFht1EeWb19NaJQmczQ" name="WriteTransformers">
+ <eAnnotations xmi:id="_bxJFFxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMKkBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFGBt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFGht1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFHBt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFHht1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxJFBht1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJFEht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJFIBt1EeWb19NaJQmczQ" name="PrimaryKey">
+ <eAnnotations xmi:id="_bxJFIRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMyDBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJFIht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJFIxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJFJBt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJFJht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJFJxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJFKBt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJFKht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJFKxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJFLBt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJFLRt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJFLht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJFLxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFMBt1EeWb19NaJQmczQ" name="validation" ordered="false" eType="_bxLjVxt1EeWb19NaJQmczQ" defaultValueLiteral="ZERO"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFMht1EeWb19NaJQmczQ" name="cacheKeyType" ordered="false" eType="_bxId8Bt1EeWb19NaJQmczQ" defaultValueLiteral="AUTO"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFNBt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFNht1EeWb19NaJQmczQ" name="columns" ordered="false" upperBound="-1" eType="_bxLjZBt1EeWb19NaJQmczQ" eOpposite="_bxLjdht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJFOBt1EeWb19NaJQmczQ" name="Convert">
+ <eAnnotations xmi:id="_bxJFORt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMxMxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFOht1EeWb19NaJQmczQ" name="value" ordered="false" defaultValueLiteral="&quot;none&quot;">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFPBt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFPht1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFQBt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFQht1EeWb19NaJQmczQ" name="valueConverter_BasicMap" ordered="false" eType="_bxIemRt1EeWb19NaJQmczQ" eOpposite="_bxIeoRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFRBt1EeWb19NaJQmczQ" name="keyConverter_BasicMap" ordered="false" eType="_bxIemRt1EeWb19NaJQmczQ" eOpposite="_bxIenxt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJFRht1EeWb19NaJQmczQ" name="VariableOneToOne">
+ <eAnnotations xmi:id="_bxJFRxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMvhxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFSBt1EeWb19NaJQmczQ" name="targetInterface" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFSht1EeWb19NaJQmczQ" name="cascade" ordered="false" upperBound="-1" eType="_bxLjeht1EeWb19NaJQmczQ" eOpposite="_bxLjfBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFTBt1EeWb19NaJQmczQ" name="optional" ordered="false" defaultValueLiteral="true">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFTht1EeWb19NaJQmczQ" name="orphanRemoval" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFUBt1EeWb19NaJQmczQ" name="discriminatorColumn" ordered="false" eType="_bxLjfht1EeWb19NaJQmczQ" eOpposite="_bxLjgBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFUht1EeWb19NaJQmczQ" name="discriminatorClasses" ordered="false" upperBound="-1" eType="_bxJFXBt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJFYht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFVBt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFVht1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFWBt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFWht1EeWb19NaJQmczQ" name="fetch" ordered="false" eType="_bxLjWht1EeWb19NaJQmczQ" eOpposite="_bxLjYht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJFXBt1EeWb19NaJQmczQ" name="DiscriminatorClass">
+ <eAnnotations xmi:id="_bxJFXRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMySRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFXht1EeWb19NaJQmczQ" name="discriminator" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFYBt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFYht1EeWb19NaJQmczQ" name="discriminatorClasses_VariableOneToOne" ordered="false" eType="_bxJFRht1EeWb19NaJQmczQ" eOpposite="_bxJFUht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJFZBt1EeWb19NaJQmczQ" name="TenantDiscriminatorColumn">
+ <eAnnotations xmi:id="_bxJFZRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMJRBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJFZht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJFZxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJFaBt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJFaht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJFaxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJFbBt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJFbht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJFbxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJFcBt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJFcRt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJFcht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJFcxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFdBt1EeWb19NaJQmczQ" name="name" ordered="false" defaultValueLiteral="&quot;TENANT_ID&quot;">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFdht1EeWb19NaJQmczQ" name="contextProperty" ordered="false" defaultValueLiteral="&quot;eclipselink.tenant-id&quot;">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFeBt1EeWb19NaJQmczQ" name="columnDefinition" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFeht1EeWb19NaJQmczQ" name="length" ordered="false" defaultValueLiteral="31">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFfBt1EeWb19NaJQmczQ" name="table" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFfht1EeWb19NaJQmczQ" name="primaryKey" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFgBt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFght1EeWb19NaJQmczQ" name="value_TenantDiscriminatorColumns" ordered="false" eType="_bxJFhht1EeWb19NaJQmczQ" eOpposite="_bxJFmBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFhBt1EeWb19NaJQmczQ" name="discriminatorType" ordered="false" eType="_bxLjght1EeWb19NaJQmczQ" eOpposite="_bxLjhBt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJFhht1EeWb19NaJQmczQ" name="TenantDiscriminatorColumns">
+ <eAnnotations xmi:id="_bxJFhxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMxIRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJFiBt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJFiRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJFiht1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJFjBt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJFjRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJFjht1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJFkBt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJFkRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJFkht1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJFkxt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJFlBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJFlRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFlht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFmBt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxJFZBt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJFght1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJFmht1EeWb19NaJQmczQ" name="NamedStoredFunctionQuery">
+ <eAnnotations xmi:id="_bxJFmxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMJuBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJFnBt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJFnRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJFnht1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJFoBt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJFoRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJFoht1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJFpBt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJFpRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJFpht1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJFpxt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJFqBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJFqRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFqht1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFrBt1EeWb19NaJQmczQ" name="resultSetMapping" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFrht1EeWb19NaJQmczQ" name="functionName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFsBt1EeWb19NaJQmczQ" name="callByIndex" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFsht1EeWb19NaJQmczQ" name="parameters" ordered="false" upperBound="-1" eType="_bxJFvBt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJF0ht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFtBt1EeWb19NaJQmczQ" name="returnParameter" ordered="false" lowerBound="1" eType="_bxJFvBt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJFzht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFtht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFuBt1EeWb19NaJQmczQ" name="value_NamedStoredFunctionQueries" ordered="false" eType="_bxJGEht1EeWb19NaJQmczQ" eOpposite="_bxJGJBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFuht1EeWb19NaJQmczQ" name="hints" ordered="false" upperBound="-1" eType="_bxLjhht1EeWb19NaJQmczQ" eOpposite="_bxLjiBt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJFvBt1EeWb19NaJQmczQ" name="StoredProcedureParameter">
+ <eAnnotations xmi:id="_bxJFvRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMyUxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFvht1EeWb19NaJQmczQ" name="direction" ordered="false" eType="_bxId5Bt1EeWb19NaJQmczQ" defaultValueLiteral="IN"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFwBt1EeWb19NaJQmczQ" name="mode" ordered="false" eType="_bxLjkBt1EeWb19NaJQmczQ" eOpposite="_bxLjkht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFwht1EeWb19NaJQmczQ" name="name" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFxBt1EeWb19NaJQmczQ" name="queryParameter" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFxht1EeWb19NaJQmczQ" name="optional" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFyBt1EeWb19NaJQmczQ" name="type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFyht1EeWb19NaJQmczQ" name="jdbcType" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJFzBt1EeWb19NaJQmczQ" name="jdbcTypeName" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJFzht1EeWb19NaJQmczQ" name="returnParameter_NamedStoredFunctionQuery" ordered="false" eType="_bxJFmht1EeWb19NaJQmczQ" eOpposite="_bxJFtBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJF0Bt1EeWb19NaJQmczQ" name="parameters_NamedStoredProcedureQuery" ordered="false" eType="_bxJF1Bt1EeWb19NaJQmczQ" eOpposite="_bxJF_Bt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJF0ht1EeWb19NaJQmczQ" name="parameters_NamedStoredFunctionQuery" ordered="false" eType="_bxJFmht1EeWb19NaJQmczQ" eOpposite="_bxJFsht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJF1Bt1EeWb19NaJQmczQ" name="NamedStoredProcedureQuery">
+ <eAnnotations xmi:id="_bxJF1Rt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMJ8ht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJF1ht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJF1xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJF2Bt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJF2ht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJF2xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJF3Bt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJF3ht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJF3xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJF4Bt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJF4Rt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJF4ht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJF4xt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJF5Bt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJF5ht1EeWb19NaJQmczQ" name="hints" ordered="false" upperBound="-1" eType="_bxLjhht1EeWb19NaJQmczQ" eOpposite="_bxLjiht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJF6Bt1EeWb19NaJQmczQ" name="resultClass" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJF6ht1EeWb19NaJQmczQ" name="resultClasses" ordered="false" upperBound="-1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJF7Bt1EeWb19NaJQmczQ" name="resultSetMapping" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJF7ht1EeWb19NaJQmczQ" name="resultSetMappings" ordered="false" upperBound="-1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJF8Bt1EeWb19NaJQmczQ" name="procedureName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJF8ht1EeWb19NaJQmczQ" name="returnsResultSet" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJF9Bt1EeWb19NaJQmczQ" name="multipleResultSets" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJF9ht1EeWb19NaJQmczQ" name="callByIndex" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJF-Bt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJF-ht1EeWb19NaJQmczQ" name="value_NamedStoredProcedureQueries" ordered="false" eType="_bxJF_ht1EeWb19NaJQmczQ" eOpposite="_bxJGEBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJF_Bt1EeWb19NaJQmczQ" name="parameters" ordered="false" upperBound="-1" eType="_bxJFvBt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJF0Bt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJF_ht1EeWb19NaJQmczQ" name="NamedStoredProcedureQueries">
+ <eAnnotations xmi:id="_bxJF_xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMwGxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJGABt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJGARt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGAht1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJGBBt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJGBRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGBht1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJGCBt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJGCRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGCht1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJGCxt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJGDBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJGDRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGDht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGEBt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxJF1Bt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJF-ht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJGEht1EeWb19NaJQmczQ" name="NamedStoredFunctionQueries">
+ <eAnnotations xmi:id="_bxJGExt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMxKht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJGFBt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJGFRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGFht1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJGGBt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJGGRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGGht1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJGHBt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJGHRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGHht1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJGHxt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJGIBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJGIRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGIht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGJBt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxJFmht1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJFuBt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJGJht1EeWb19NaJQmczQ" name="CollectionTable">
+ <eAnnotations xmi:id="_bxJGJxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMxZxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJGKBt1EeWb19NaJQmczQ" name="name" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJGKht1EeWb19NaJQmczQ" name="catalog" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJGLBt1EeWb19NaJQmczQ" name="schema" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGLht1EeWb19NaJQmczQ" name="uniqueConstraints" ordered="false" upperBound="-1" eType="_bxLjmBt1EeWb19NaJQmczQ" eOpposite="_bxLjmht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGMBt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGMht1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGNBt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGNht1EeWb19NaJQmczQ" name="primaryKeyJoinColumns" ordered="false" upperBound="-1" eType="_bxLjlBt1EeWb19NaJQmczQ" eOpposite="_bxLjlht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJGOBt1EeWb19NaJQmczQ" name="Multitenant">
+ <eAnnotations xmi:id="_bxJGORt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxLkDRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJGOht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJGOxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGPBt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJGPht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJGPxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGQBt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJGQht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJGQxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGRBt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJGRRt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJGRht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJGRxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJGSBt1EeWb19NaJQmczQ" name="value" ordered="false" eType="_bxIeDxt1EeWb19NaJQmczQ" defaultValueLiteral="SINGLE_TABLE"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJGSht1EeWb19NaJQmczQ" name="includeCriteria" ordered="false" defaultValueLiteral="true">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGTBt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJGTht1EeWb19NaJQmczQ" name="Properties">
+ <eAnnotations xmi:id="_bxJGTxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMIXxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJGUBt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJGURt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGUht1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJGVBt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJGVRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGVht1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJGWBt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJGWRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGWht1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJGWxt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJGXBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJGXRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGXht1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxJGaBt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJGhht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGYBt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGYht1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGZBt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGZht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJGaBt1EeWb19NaJQmczQ" name="Property">
+ <eAnnotations xmi:id="_bxJGaRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMxjht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJGaht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJGaxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGbBt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJGbht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJGbxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGcBt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJGcht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJGcxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGdBt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJGdRt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJGdht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJGdxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJGeBt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJGeht1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGfBt1EeWb19NaJQmczQ" name="valueType" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGfht1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGgBt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGght1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGhBt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGhht1EeWb19NaJQmczQ" name="value_Properties" ordered="false" eType="_bxJGTht1EeWb19NaJQmczQ" eOpposite="_bxJGXht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJGiBt1EeWb19NaJQmczQ" name="ReplicationPartitioning">
+ <eAnnotations xmi:id="_bxJGiRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMIcRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJGiht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJGixt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGjBt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJGjht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJGjxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGkBt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJGkht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJGkxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGlBt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJGlRt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJGlht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJGlxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJGmBt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJGmht1EeWb19NaJQmczQ" name="connectionPools" ordered="false" upperBound="-1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGnBt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGnht1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGoBt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGoht1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJGpBt1EeWb19NaJQmczQ" name="UuidGenerator">
+ <eAnnotations xmi:id="_bxJGpRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMIoxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJGpht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJGpxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGqBt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJGqht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJGqxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGrBt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJGrht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJGrxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGsBt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJGsRt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJGsht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJGsxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJGtBt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGtht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGuBt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGuht1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGvBt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJGvht1EeWb19NaJQmczQ" name="CompositeMember">
+ <eAnnotations xmi:id="_bxJGvxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMItRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJGwBt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGwht1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGxBt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJGxht1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJGyBt1EeWb19NaJQmczQ" name="Customizer">
+ <eAnnotations xmi:id="_bxJGyRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMIwht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJGyht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJGyxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJGzBt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJGzht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJGzxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJG0Bt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJG0ht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJG0xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJG1Bt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJG1Rt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJG1ht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJG1xt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJG2Bt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJG2ht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJG3Bt1EeWb19NaJQmczQ" name="Index">
+ <eAnnotations xmi:id="_bxJG3Rt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMI_Bt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJG3ht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJG3xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJG4Bt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJG4ht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJG4xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJG5Bt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJG5ht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJG5xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJG6Bt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJG6Rt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJG6ht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJG6xt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJG7Bt1EeWb19NaJQmczQ" name="name" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJG7ht1EeWb19NaJQmczQ" name="schema" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJG8Bt1EeWb19NaJQmczQ" name="catalog" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJG8ht1EeWb19NaJQmczQ" name="table" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJG9Bt1EeWb19NaJQmczQ" name="unique" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJG9ht1EeWb19NaJQmczQ" name="columnNames" ordered="false" upperBound="-1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJG-Bt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJG-ht1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJG_Bt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJG_ht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJHABt1EeWb19NaJQmczQ" name="value_Indexes" ordered="false" eType="_bxJHAht1EeWb19NaJQmczQ" eOpposite="_bxJHGht1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJHAht1EeWb19NaJQmczQ" name="Indexes">
+ <eAnnotations xmi:id="_bxJHAxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMKfht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJHBBt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJHBRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJHBht1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJHCBt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJHCRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJHCht1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJHDBt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJHDRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJHDht1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJHDxt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJHEBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJHERt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJHEht1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJHFBt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJHFht1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJHGBt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJHGht1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxJG3Bt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJHABt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJHHBt1EeWb19NaJQmczQ" name="FetchGroups">
+ <eAnnotations xmi:id="_bxJHHRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMJZht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJHHht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJHHxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJHIBt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJr8Rt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJr8ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJr8xt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJr9Rt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJr9ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJr9xt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJr-Bt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJr-Rt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJr-ht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJr-xt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxJr_xt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJsFxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJr_Rt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJr_xt1EeWb19NaJQmczQ" name="FetchGroup">
+ <eAnnotations xmi:id="_bxJsABt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMwyRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJsARt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJsAht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsAxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJsBRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJsBht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsBxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJsCRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJsCht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsCxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJsDBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJsDRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJsDht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJsDxt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJsERt1EeWb19NaJQmczQ" name="load" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsExt1EeWb19NaJQmczQ" name="attributes" ordered="false" upperBound="-1" eType="_bxJsGRt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJsHRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsFRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsFxt1EeWb19NaJQmczQ" name="value_FetchGroups" ordered="false" eType="_bxJHHBt1EeWb19NaJQmczQ" eOpposite="_bxJr-xt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJsGRt1EeWb19NaJQmczQ" name="FetchAttribute">
+ <eAnnotations xmi:id="_bxJsGht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMxEBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJsGxt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsHRt1EeWb19NaJQmczQ" name="attributes_FetchGroup" ordered="false" eType="_bxJr_xt1EeWb19NaJQmczQ" eOpposite="_bxJsExt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJsHxt1EeWb19NaJQmczQ" name="Partitioning">
+ <eAnnotations xmi:id="_bxJsIBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMJbxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJsIRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJsIht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsIxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJsJRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJsJht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsJxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJsKRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJsKht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsKxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJsLBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJsLRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJsLht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJsLxt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsMRt1EeWb19NaJQmczQ" name="partitioningClass" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsMxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsNRt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsNxt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsORt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJsOxt1EeWb19NaJQmczQ" name="Mutable">
+ <eAnnotations xmi:id="_bxJsPBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMJhBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJsPRt1EeWb19NaJQmczQ" name="value" ordered="false" defaultValueLiteral="true">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsPxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsQRt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsQxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJsRRt1EeWb19NaJQmczQ" name="Noncacheable">
+ <eAnnotations xmi:id="_bxJsRht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMJkht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsRxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsSRt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsSxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJsTRt1EeWb19NaJQmczQ" name="ConversionValue">
+ <eAnnotations xmi:id="_bxJsTht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMJ1xt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJsTxt1EeWb19NaJQmczQ" name="dataValue" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJsURt1EeWb19NaJQmczQ" name="objectValue" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsUxt1EeWb19NaJQmczQ" name="conversionValues_ObjectTypeConverter" ordered="false" eType="_bxJsVRt1EeWb19NaJQmczQ" eOpposite="_bxJsdxt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJsVRt1EeWb19NaJQmczQ" name="ObjectTypeConverter">
+ <eAnnotations xmi:id="_bxJsVht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMw7Rt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJsVxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJsWBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsWRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJsWxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJsXBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsXRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJsXxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJsYBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsYRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJsYht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJsYxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJsZBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJsZRt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsZxt1EeWb19NaJQmczQ" name="dataType" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsaRt1EeWb19NaJQmczQ" name="objectType" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJsaxt1EeWb19NaJQmczQ" name="defaultObjectValue" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsbRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsbxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJscRt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJscxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsdRt1EeWb19NaJQmczQ" name="value_ObjectTypeConverters" ordered="false" eType="_bxJseRt1EeWb19NaJQmczQ" eOpposite="_bxJskRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsdxt1EeWb19NaJQmczQ" name="conversionValues" ordered="false" upperBound="-1" eType="_bxJsTRt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJsUxt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJseRt1EeWb19NaJQmczQ" name="ObjectTypeConverters">
+ <eAnnotations xmi:id="_bxJseht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMvvRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJsext1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJsfBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsfRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJsfxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJsgBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsgRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJsgxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJshBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJshRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJshht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJshxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJsiBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsiRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsixt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsjRt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsjxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJskRt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxJsVRt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJsdRt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJskxt1EeWb19NaJQmczQ" name="Array">
+ <eAnnotations xmi:id="_bxJslBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMJ4Rt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJslRt1EeWb19NaJQmczQ" name="targetClass" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJslxt1EeWb19NaJQmczQ" name="databaseType" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsmRt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsmxt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsnRt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJsnxt1EeWb19NaJQmczQ" name="VirtualAccessMethods">
+ <eAnnotations xmi:id="_bxJsoBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMKIBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJsoRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJsoht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsoxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJspRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJspht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJspxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJsqRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJsqht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsqxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJsrBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJsrRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJsrht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJsrxt1EeWb19NaJQmczQ" name="get" ordered="false" defaultValueLiteral="&quot;get&quot;">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJssRt1EeWb19NaJQmczQ" name="set" ordered="false" defaultValueLiteral="&quot;set&quot;">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJssxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJstRt1EeWb19NaJQmczQ" name="ExcludeDefaultMappings">
+ <eAnnotations xmi:id="_bxJstht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMKLht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJstxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJsuBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsuRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJsuxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJsvBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsvRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJsvxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJswBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJswRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJswht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJswxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJsxBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJsxRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJsxxt1EeWb19NaJQmczQ" name="TypeConverter">
+ <eAnnotations xmi:id="_bxJsyBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMKYRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJsyRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJsyht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJsyxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJszRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJszht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJszxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJs0Rt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJs0ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJs0xt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJs1Bt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJs1Rt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJs1ht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJs1xt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJs2Rt1EeWb19NaJQmczQ" name="dataType" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJs2xt1EeWb19NaJQmczQ" name="objectType" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJs3Rt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJs3xt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJs4Rt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJs4xt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJs5Rt1EeWb19NaJQmczQ" name="value_TypeConverters" ordered="false" eType="_bxJs5xt1EeWb19NaJQmczQ" eOpposite="_bxJs_xt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJs5xt1EeWb19NaJQmczQ" name="TypeConverters">
+ <eAnnotations xmi:id="_bxJs6Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMwUxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJs6Rt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJs6ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJs6xt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJs7Rt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJs7ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJs7xt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJs8Rt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJs8ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJs8xt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJs9Bt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJs9Rt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJs9ht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJs9xt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJs-Rt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJs-xt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJs_Rt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJs_xt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxJsxxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxJs5Rt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJtARt1EeWb19NaJQmczQ" name="ChangeTracking">
+ <eAnnotations xmi:id="_bxJtAht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMKnRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJtAxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJtBBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJtBRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJtBxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJtCBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJtCRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJtCxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJtDBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJtDRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJtDht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJtDxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJtEBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxJtERt1EeWb19NaJQmczQ" name="value" ordered="false" eType="_bxId_ht1EeWb19NaJQmczQ" defaultValueLiteral="AUTO"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJtExt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxJtFRt1EeWb19NaJQmczQ" name="CacheInterceptor">
+ <eAnnotations xmi:id="_bxJtFht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMvQBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxJtFxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxJtGBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJtGRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxJtGxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxJtHBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJtHRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxJtHxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxJtIBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxJtIRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxJtIht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxJtIxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxJtJBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJtJRt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxJtJxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKTARt1EeWb19NaJQmczQ" name="InstantiationCopyPolicy">
+ <eAnnotations xmi:id="_bxKTAht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMvSRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxKTAxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxKTBBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTBRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxKTBxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxKTCBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTCRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxKTCxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxKTDBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTDRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxKTDht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxKTDxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxKTEBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTERt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKTExt1EeWb19NaJQmczQ" name="StructConverters">
+ <eAnnotations xmi:id="_bxKTFBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMvTxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxKTFRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxKTFht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTFxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxKTGRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxKTGht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTGxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxKTHRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxKTHht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTHxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxKTIBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxKTIRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxKTIht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTIxt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxKTLRt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxKTSRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTJRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTJxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTKRt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTKxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKTLRt1EeWb19NaJQmczQ" name="StructConverter">
+ <eAnnotations xmi:id="_bxKTLht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMwOxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxKTLxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxKTMBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTMRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxKTMxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxKTNBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTNRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxKTNxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxKTOBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTORt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxKTOht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxKTOxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxKTPBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxKTPRt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxKTPxt1EeWb19NaJQmczQ" name="converter" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTQRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTQxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTRRt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTRxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTSRt1EeWb19NaJQmczQ" name="value_StructConverters" ordered="false" eType="_bxKTExt1EeWb19NaJQmczQ" eOpposite="_bxKTIxt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKTSxt1EeWb19NaJQmczQ" name="OrderCorrection">
+ <eAnnotations xmi:id="_bxKTTBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMvYRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxKTTRt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1" eType="_bxId2xt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTTxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTURt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTUxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKTVRt1EeWb19NaJQmczQ" name="CacheIndex">
+ <eAnnotations xmi:id="_bxKTVht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMvbht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxKTVxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxKTWBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTWRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxKTWxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxKTXBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTXRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxKTXxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxKTYBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTYRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxKTYht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxKTYxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxKTZBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxKTZRt1EeWb19NaJQmczQ" name="columnNames" ordered="false" upperBound="-1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxKTZxt1EeWb19NaJQmczQ" name="updateable" ordered="false" defaultValueLiteral="true">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTaRt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTaxt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTbRt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTbxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTcRt1EeWb19NaJQmczQ" name="value_CacheIndexes" ordered="false" eType="_bxKTcxt1EeWb19NaJQmczQ" eOpposite="_bxKThRt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKTcxt1EeWb19NaJQmczQ" name="CacheIndexes">
+ <eAnnotations xmi:id="_bxKTdBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMvzxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxKTdRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxKTdht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTdxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxKTeRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxKTeht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKText1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxKTfRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxKTfht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTfxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxKTgBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxKTgRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxKTght1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTgxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKThRt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxKTVRt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxKTcRt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKThxt1EeWb19NaJQmczQ" name="PrivateOwned">
+ <eAnnotations xmi:id="_bxKTiBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMvqht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTiRt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTixt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTjRt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKTjxt1EeWb19NaJQmczQ" name="ClassExtractor">
+ <eAnnotations xmi:id="_bxKTkBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMvtBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxKTkRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxKTkht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTkxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxKTlRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxKTlht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTlxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxKTmRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxKTmht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTmxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxKTnBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxKTnRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxKTnht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTnxt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKToRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKToxt1EeWb19NaJQmczQ" name="Struct">
+ <eAnnotations xmi:id="_bxKTpBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMv2Bt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxKTpRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxKTpht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTpxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxKTqRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxKTqht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTqxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxKTrRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxKTrht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTrxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxKTsBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxKTsRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxKTsht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxKTsxt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxKTtRt1EeWb19NaJQmczQ" name="fields" ordered="false" upperBound="-1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTtxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKTuRt1EeWb19NaJQmczQ" name="PinnedPartitioning">
+ <eAnnotations xmi:id="_bxKTuht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMv5Bt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxKTuxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxKTvBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTvRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxKTvxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxKTwBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTwRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxKTwxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxKTxBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKTxRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxKTxht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxKTxxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxKTyBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxKTyRt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxKTyxt1EeWb19NaJQmczQ" name="connectionPool" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTzRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKTzxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKT0Rt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKT0xt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKT1Rt1EeWb19NaJQmczQ" name="Structure">
+ <eAnnotations xmi:id="_bxKT1ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMv-Rt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKT1xt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKT2Rt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKT2xt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKT3Rt1EeWb19NaJQmczQ" name="ReadOnly">
+ <eAnnotations xmi:id="_bxKT3ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMwNRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxKT3xt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxKT4Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKT4Rt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxKT4xt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxKT5Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKT5Rt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxKT5xt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxKT6Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKT6Rt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxKT6ht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxKT6xt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxKT7Bt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKT7Rt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKT7xt1EeWb19NaJQmczQ" name="JoinFetch">
+ <eAnnotations xmi:id="_bxKT8Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMwZRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxKT8Rt1EeWb19NaJQmczQ" name="value" ordered="false" eType="_bxId4Bt1EeWb19NaJQmczQ" defaultValueLiteral="INNER"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKT8xt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKT9Rt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKT9xt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKT-Rt1EeWb19NaJQmczQ" name="CopyPolicy">
+ <eAnnotations xmi:id="_bxKT-ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMwjht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxKT-xt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxKT_Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKT_Rt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxKT_xt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxKUABt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKUARt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxKUAxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxKUBBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKUBRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxKUBht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxKUBxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxKUCBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKUCRt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKUCxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxKUDRt1EeWb19NaJQmczQ" name="RoundRobinPartitioning">
+ <eAnnotations xmi:id="_bxKUDht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMwlxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxKUDxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxKUEBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKUERt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxKUExt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxKUFBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKUFRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxKUFxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxKUGBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxKUGRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxKUGht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxKUGxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxKUHBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxKUHRt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxKUHxt1EeWb19NaJQmczQ" name="connectionPools" ordered="false" upperBound="-1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxKUIRt1EeWb19NaJQmczQ" name="replicateWrites" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxKUIxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6EBt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6Eht1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6FBt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK6Fht1EeWb19NaJQmczQ" name="UnionPartitioning">
+ <eAnnotations xmi:id="_bxK6Fxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMwsBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK6GBt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK6GRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6Ght1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK6HBt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK6HRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6Hht1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK6IBt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK6IRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6Iht1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK6Ixt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK6JBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK6JRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK6Jht1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK6KBt1EeWb19NaJQmczQ" name="connectionPools" ordered="false" upperBound="-1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK6Kht1EeWb19NaJQmczQ" name="replicateWrites" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6LBt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6Lht1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6MBt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6Mht1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK6NBt1EeWb19NaJQmczQ" name="ReadTransformer">
+ <eAnnotations xmi:id="_bxK6NRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMw3Bt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6Nht1EeWb19NaJQmczQ" name="transformerClass" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK6OBt1EeWb19NaJQmczQ" name="method" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6Oht1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6PBt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6Pht1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK6QBt1EeWb19NaJQmczQ" name="ReturnUpdate">
+ <eAnnotations xmi:id="_bxK6QRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMxFxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6Qht1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6RBt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6Rht1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK6SBt1EeWb19NaJQmczQ" name="Partitioned">
+ <eAnnotations xmi:id="_bxK6SRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMxRxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK6Sht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK6Sxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6TBt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK6Tht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK6Txt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6UBt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK6Uht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK6Uxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6VBt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK6VRt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK6Vht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK6Vxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK6WBt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6Wht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6XBt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6Xht1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6YBt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK6Yht1EeWb19NaJQmczQ" name="MapKeyConvert">
+ <eAnnotations xmi:id="_bxK6Yxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMxWRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK6ZBt1EeWb19NaJQmczQ" name="value" ordered="false" defaultValueLiteral="&quot;none&quot;">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6Zht1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6aBt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6aht1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK6bBt1EeWb19NaJQmczQ" name="ReturnInsert">
+ <eAnnotations xmi:id="_bxK6bRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMxgBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK6bht1EeWb19NaJQmczQ" name="returnOnly" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6cBt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6cht1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6dBt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK6dht1EeWb19NaJQmczQ" name="TenantTableDiscriminator">
+ <eAnnotations xmi:id="_bxK6dxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMxqht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK6eBt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK6eRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6eht1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK6fBt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK6fRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6fht1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK6gBt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK6gRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6ght1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK6gxt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK6hBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK6hRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK6hht1EeWb19NaJQmczQ" name="contextProperty" ordered="false" defaultValueLiteral="">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK6iBt1EeWb19NaJQmczQ" name="type" ordered="false" eType="_bxIeGht1EeWb19NaJQmczQ" defaultValueLiteral="SUFFIX"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6iht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK6jBt1EeWb19NaJQmczQ" name="ExistenceChecking">
+ <eAnnotations xmi:id="_bxK6jRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMxyht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK6jht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK6jxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6kBt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK6kht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK6kxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6lBt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK6lht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK6lxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6mBt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK6mRt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK6mht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK6mxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK6nBt1EeWb19NaJQmczQ" name="value" ordered="false" eType="_bxIeFBt1EeWb19NaJQmczQ" defaultValueLiteral="CHECK_CACHE"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6nht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK6oBt1EeWb19NaJQmczQ" name="BatchFetch">
+ <eAnnotations xmi:id="_bxK6oRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMx7Bt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK6oht1EeWb19NaJQmczQ" name="value" ordered="false" eType="_bxIeCht1EeWb19NaJQmczQ" defaultValueLiteral="JOIN"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK6pBt1EeWb19NaJQmczQ" name="size" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6pht1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6qBt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6qht1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK6rBt1EeWb19NaJQmczQ" name="CascadeOnDelete">
+ <eAnnotations xmi:id="_bxK6rRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMx_Rt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK6rht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK6rxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6sBt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK6sht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK6sxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6tBt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK6tht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK6txt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6uBt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK6uRt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK6uht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK6uxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6vBt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6vht1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6wBt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6wht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK6xBt1EeWb19NaJQmczQ" name="DeleteAll">
+ <eAnnotations xmi:id="_bxK6xRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMyHRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6xht1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6yBt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6yht1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK6zBt1EeWb19NaJQmczQ" name="QueryRedirectors">
+ <eAnnotations xmi:id="_bxK6zRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMyJxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK6zht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK6zxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK60Bt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK60ht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK60xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK61Bt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK61ht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK61xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK62Bt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK62Rt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK62ht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK62xt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK63Bt1EeWb19NaJQmczQ" name="allQueries" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK63ht1EeWb19NaJQmczQ" name="readAll" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK64Bt1EeWb19NaJQmczQ" name="readObject" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK64ht1EeWb19NaJQmczQ" name="report" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK65Bt1EeWb19NaJQmczQ" name="update" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK65ht1EeWb19NaJQmczQ" name="insert" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK66Bt1EeWb19NaJQmczQ" name="delete" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK66ht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK67Bt1EeWb19NaJQmczQ" name="AdditionalCriteria">
+ <eAnnotations xmi:id="_bxK67Rt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMyeBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK67ht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK67xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK68Bt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK68ht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK68xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK69Bt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK69ht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK69xt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK6-Bt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK6-Rt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK6-ht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK6-xt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK6_Bt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK6_ht1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK7ABt1EeWb19NaJQmczQ" name="CloneCopyPolicy">
+ <eAnnotations xmi:id="_bxK7ARt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxMygRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK7Aht1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK7Axt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7BBt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK7Bht1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK7Bxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7CBt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK7Cht1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK7Cxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7DBt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK7DRt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK7Dht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK7Dxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7EBt1EeWb19NaJQmczQ" name="method" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7Eht1EeWb19NaJQmczQ" name="workingCopyMethod" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7FBt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages xmi:id="_bxK7Fht1EeWb19NaJQmczQ" name="config" nsURI="http:///EclipseLink/org/eclipse/persistence/config.ecore" nsPrefix="EclipseLink.org.eclipse.persistence.config">
+ <eAnnotations xmi:id="_bxK7Fxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_bxN9tBt1EeWb19NaJQmczQ"/>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxK7GBt1EeWb19NaJQmczQ" name="CacheIsolationType">
+ <eAnnotations xmi:id="_bxK7GRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN9tRt1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxK7Ght1EeWb19NaJQmczQ" name="SHARED"/>
+ <eLiterals xmi:id="_bxK7Gxt1EeWb19NaJQmczQ" name="PROTECTED" value="1"/>
+ <eLiterals xmi:id="_bxK7HBt1EeWb19NaJQmczQ" name="ISOLATED" value="2"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages xmi:id="_bxK7HRt1EeWb19NaJQmczQ" name="platform" nsURI="http:///EclipseLink/org/eclipse/persistence/platform.ecore" nsPrefix="EclipseLink.org.eclipse.persistence.platform">
+ <eAnnotations xmi:id="_bxK7Hht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_bxOlsBt1EeWb19NaJQmczQ"/>
+ <eSubpackages xmi:id="_bxK7Hxt1EeWb19NaJQmczQ" name="database" nsURI="http:///EclipseLink/org/eclipse/persistence/platform/database.ecore" nsPrefix="EclipseLink.org.eclipse.persistence.platform.database">
+ <eAnnotations xmi:id="_bxK7IBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_bxOlsRt1EeWb19NaJQmczQ"/>
+ <eSubpackages xmi:id="_bxK7IRt1EeWb19NaJQmczQ" name="oracle" nsURI="http:///EclipseLink/org/eclipse/persistence/platform/database/oracle.ecore" nsPrefix="EclipseLink.org.eclipse.persistence.platform.database.oracle">
+ <eAnnotations xmi:id="_bxK7Iht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_bxOlsht1EeWb19NaJQmczQ"/>
+ <eSubpackages xmi:id="_bxK7Ixt1EeWb19NaJQmczQ" name="annotations" nsURI="http:///EclipseLink/org/eclipse/persistence/platform/database/oracle/annotations.ecore" nsPrefix="EclipseLink.org.eclipse.persistence.platform.database.oracle.annotations">
+ <eAnnotations xmi:id="_bxK7JBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_bxOlsxt1EeWb19NaJQmczQ"/>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK7JRt1EeWb19NaJQmczQ" name="PLSQLTable">
+ <eAnnotations xmi:id="_bxK7Jht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxOltBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK7Jxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK7KBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7KRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK7Kxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK7LBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7LRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK7Lxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK7MBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7MRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK7Mht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK7Mxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK7NBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7NRt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7Nxt1EeWb19NaJQmczQ" name="compatibleType" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7ORt1EeWb19NaJQmczQ" name="nestedType" ordered="false" defaultValueLiteral="&quot;VARCHAR_TYPE&quot;">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7Oxt1EeWb19NaJQmczQ" name="javaType" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7PRt1EeWb19NaJQmczQ" name="isNestedTable" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7Pxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7QRt1EeWb19NaJQmczQ" name="value_PLSQLTables" ordered="false" eType="_bxK7Qxt1EeWb19NaJQmczQ" eOpposite="_bxK7VRt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK7Qxt1EeWb19NaJQmczQ" name="PLSQLTables">
+ <eAnnotations xmi:id="_bxK7RBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxPLyht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK7RRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK7Rht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7Rxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK7SRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK7Sht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7Sxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK7TRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK7Tht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7Txt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK7UBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK7URt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK7Uht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7Uxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7VRt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxK7JRt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxK7QRt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK7Vxt1EeWb19NaJQmczQ" name="PLSQLRecord">
+ <eAnnotations xmi:id="_bxK7WBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxOlzxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK7WRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK7Wht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7Wxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK7XRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK7Xht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7Xxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK7YRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK7Yht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7Yxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK7ZBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK7ZRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK7Zht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7Zxt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7aRt1EeWb19NaJQmczQ" name="compatibleType" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7axt1EeWb19NaJQmczQ" name="javaType" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7bRt1EeWb19NaJQmczQ" name="fields" ordered="false" upperBound="-1" eType="_bxK7cxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxK7jRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7bxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7cRt1EeWb19NaJQmczQ" name="value_PLSQLRecords" ordered="false" eType="_bxK78Rt1EeWb19NaJQmczQ" eOpposite="_bxK8Axt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK7cxt1EeWb19NaJQmczQ" name="PLSQLParameter">
+ <eAnnotations xmi:id="_bxK7dBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxOmJxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7dRt1EeWb19NaJQmczQ" name="direction" ordered="false" eType="_bxId5Bt1EeWb19NaJQmczQ" defaultValueLiteral="IN"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7dxt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7eRt1EeWb19NaJQmczQ" name="queryParameter" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7ext1EeWb19NaJQmczQ" name="optional" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7fRt1EeWb19NaJQmczQ" name="databaseType" ordered="false" defaultValueLiteral="&quot;VARCHAR_TYPE&quot;">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7fxt1EeWb19NaJQmczQ" name="length" ordered="false" defaultValueLiteral="255">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7gRt1EeWb19NaJQmczQ" name="scale" ordered="false" defaultValueLiteral="0">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7gxt1EeWb19NaJQmczQ" name="precision" ordered="false" defaultValueLiteral="0">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7hRt1EeWb19NaJQmczQ" name="parameters_NamedPLSQLStoredProcedureQuery" ordered="false" eType="_bxK8Rxt1EeWb19NaJQmczQ" eOpposite="_bxK8Vxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7hxt1EeWb19NaJQmczQ" name="fields_OracleObject" ordered="false" eType="_bxK7jxt1EeWb19NaJQmczQ" eOpposite="_bxK7pxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7iRt1EeWb19NaJQmczQ" name="parameters_NamedPLSQLStoredFunctionQuery" ordered="false" eType="_bxK7vRt1EeWb19NaJQmczQ" eOpposite="_bxK72xt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7ixt1EeWb19NaJQmczQ" name="returnParameter_NamedPLSQLStoredFunctionQuery" ordered="false" eType="_bxK7vRt1EeWb19NaJQmczQ" eOpposite="_bxK71Rt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7jRt1EeWb19NaJQmczQ" name="fields_PLSQLRecord" ordered="false" eType="_bxK7Vxt1EeWb19NaJQmczQ" eOpposite="_bxK7bRt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK7jxt1EeWb19NaJQmczQ" name="OracleObject">
+ <eAnnotations xmi:id="_bxK7kBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxPLiht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK7kRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK7kht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7kxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK7lRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK7lht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7lxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK7mRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK7mht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7mxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK7nBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK7nRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK7nht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7nxt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7oRt1EeWb19NaJQmczQ" name="javaType" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7oxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7pRt1EeWb19NaJQmczQ" name="value_OracleObjects" ordered="false" eType="_bxK7qRt1EeWb19NaJQmczQ" eOpposite="_bxK7uxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7pxt1EeWb19NaJQmczQ" name="fields" ordered="false" upperBound="-1" eType="_bxK7cxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxK7hxt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK7qRt1EeWb19NaJQmczQ" name="OracleObjects">
+ <eAnnotations xmi:id="_bxK7qht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxPLnRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK7qxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK7rBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7rRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK7rxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK7sBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7sRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK7sxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK7tBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7tRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK7tht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK7txt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK7uBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7uRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7uxt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxK7jxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxK7pRt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK7vRt1EeWb19NaJQmczQ" name="NamedPLSQLStoredFunctionQuery">
+ <eAnnotations xmi:id="_bxK7vht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxPLrxt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK7vxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK7wBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7wRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK7wxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK7xBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7xRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK7xxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK7yBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7yRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK7yht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK7yxt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK7zBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK7zRt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK7zxt1EeWb19NaJQmczQ" name="hints" ordered="false" upperBound="-1" eType="_bxLjhht1EeWb19NaJQmczQ" eOpposite="_bxLjjht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK70Rt1EeWb19NaJQmczQ" name="resultSetMapping" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK70xt1EeWb19NaJQmczQ" name="functionName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK71Rt1EeWb19NaJQmczQ" name="returnParameter" ordered="false" lowerBound="1" eType="_bxK7cxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxK7ixt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK71xt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK72Rt1EeWb19NaJQmczQ" name="value_NamedPLSQLStoredFunctionQueries" ordered="false" eType="_bxK73Rt1EeWb19NaJQmczQ" eOpposite="_bxK77xt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK72xt1EeWb19NaJQmczQ" name="parameters" ordered="false" upperBound="-1" eType="_bxK7cxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxK7iRt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK73Rt1EeWb19NaJQmczQ" name="NamedPLSQLStoredFunctionQueries">
+ <eAnnotations xmi:id="_bxK73ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxPLgRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK73xt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK74Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK74Rt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK74xt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK75Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK75Rt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK75xt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK76Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK76Rt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK76ht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK76xt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK77Bt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK77Rt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK77xt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxK7vRt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxK72Rt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK78Rt1EeWb19NaJQmczQ" name="PLSQLRecords">
+ <eAnnotations xmi:id="_bxK78ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxOl5Rt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK78xt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK79Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK79Rt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK79xt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK7-Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7-Rt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK7-xt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK7_Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK7_Rt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK7_ht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK7_xt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK8ABt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8ARt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8Axt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxK7Vxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxK7cRt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK8BRt1EeWb19NaJQmczQ" name="OracleArray">
+ <eAnnotations xmi:id="_bxK8Bht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxOl7ht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK8Bxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK8CBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK8CRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK8Cxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK8DBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK8DRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK8Dxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK8EBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK8ERt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK8Eht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK8Ext1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK8FBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK8FRt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK8Fxt1EeWb19NaJQmczQ" name="nestedType" ordered="false" defaultValueLiteral="&quot;VARCHAR_TYPE&quot;">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8GRt1EeWb19NaJQmczQ" name="javaType" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8Gxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8HRt1EeWb19NaJQmczQ" name="value_OracleArrays" ordered="false" eType="_bxK8Hxt1EeWb19NaJQmczQ" eOpposite="_bxK8MRt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK8Hxt1EeWb19NaJQmczQ" name="OracleArrays">
+ <eAnnotations xmi:id="_bxK8IBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxPLpht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK8IRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK8Iht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK8Ixt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK8JRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK8Jht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK8Jxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK8KRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK8Kht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK8Kxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK8LBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK8LRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK8Lht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8Lxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8MRt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxK8BRt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxK8HRt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK8Mxt1EeWb19NaJQmczQ" name="NamedPLSQLStoredProcedureQueries">
+ <eAnnotations xmi:id="_bxK8NBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxOmHht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK8NRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK8Nht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK8Nxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK8ORt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK8Oht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK8Oxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK8PRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK8Pht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK8Pxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK8QBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK8QRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK8Qht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8Qxt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxK8Rxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxK8WRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8RRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxK8Rxt1EeWb19NaJQmczQ" name="NamedPLSQLStoredProcedureQuery">
+ <eAnnotations xmi:id="_bxK8SBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxOmAht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxK8SRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxK8Sht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK8Sxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxK8TRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxK8Tht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK8Txt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxK8URt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxK8Uht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxK8Uxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxK8VBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxK8VRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxK8Vht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8Vxt1EeWb19NaJQmczQ" name="parameters" ordered="false" upperBound="-1" eType="_bxK7cxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxK7hRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8WRt1EeWb19NaJQmczQ" name="value_NamedPLSQLStoredProcedureQueries" ordered="false" eType="_bxK8Mxt1EeWb19NaJQmczQ" eOpposite="_bxK8Qxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK8Wxt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8XRt1EeWb19NaJQmczQ" name="resultClass" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK8Xxt1EeWb19NaJQmczQ" name="resultSetMapping" ordered="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxK8YRt1EeWb19NaJQmczQ" name="procedureName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8Yxt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxK8ZRt1EeWb19NaJQmczQ" name="hints" ordered="false" upperBound="-1" eType="_bxLjhht1EeWb19NaJQmczQ" eOpposite="_bxLjjBt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ </eSubpackages>
+ </eSubpackages>
+ </eSubpackages>
+ </eSubpackages>
+ <eSubpackages xmi:id="_bxLhIBt1EeWb19NaJQmczQ" name="oxm" nsURI="http:///EclipseLink/org/eclipse/persistence/oxm.ecore" nsPrefix="EclipseLink.org.eclipse.persistence.oxm">
+ <eAnnotations xmi:id="_bxLhIRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_bxN9uRt1EeWb19NaJQmczQ"/>
+ <eSubpackages xmi:id="_bxLhIht1EeWb19NaJQmczQ" name="annotations" nsURI="http:///EclipseLink/org/eclipse/persistence/oxm/annotations.ecore" nsPrefix="EclipseLink.org.eclipse.persistence.oxm.annotations">
+ <eAnnotations xmi:id="_bxLhIxt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_bxN9uht1EeWb19NaJQmczQ"/>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxLhJBt1EeWb19NaJQmczQ" name="XmlMarshalNullRepresentation">
+ <eAnnotations xmi:id="_bxLhJRt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN9uxt1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxLhJht1EeWb19NaJQmczQ" name="XSI_NIL"/>
+ <eLiterals xmi:id="_bxLhJxt1EeWb19NaJQmczQ" name="ABSENT_NODE" value="1"/>
+ <eLiterals xmi:id="_bxLhKBt1EeWb19NaJQmczQ" name="EMPTY_NODE" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_bxLhKRt1EeWb19NaJQmczQ" name="XmlVirtualAccessMethodsSchema">
+ <eAnnotations xmi:id="_bxLhKht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN9wht1EeWb19NaJQmczQ"/>
+ <eLiterals xmi:id="_bxLhKxt1EeWb19NaJQmczQ" name="NODES"/>
+ <eLiterals xmi:id="_bxLhLBt1EeWb19NaJQmczQ" name="ANY" value="1"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLhLRt1EeWb19NaJQmczQ" name="XmlNullPolicy">
+ <eAnnotations xmi:id="_bxLhLht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN9yBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLhLxt1EeWb19NaJQmczQ" name="xsiNilRepresentsNull" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLhMRt1EeWb19NaJQmczQ" name="emptyNodeRepresentsNull" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLhMxt1EeWb19NaJQmczQ" name="isSetPerformedForAbsentNode" ordered="false" defaultValueLiteral="true">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLhNRt1EeWb19NaJQmczQ" name="nullRepresentationForXml" ordered="false" eType="_bxLhJBt1EeWb19NaJQmczQ" defaultValueLiteral="ABSENT_NODE"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhNxt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhORt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhOxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLhPRt1EeWb19NaJQmczQ" name="XmlCDATA">
+ <eAnnotations xmi:id="_bxLhPht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN94ht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhPxt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhQRt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhQxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLhRRt1EeWb19NaJQmczQ" name="XmlWriteOnly">
+ <eAnnotations xmi:id="_bxLhRht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN97Bt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhRxt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhSRt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhSxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLhTRt1EeWb19NaJQmczQ" name="XmlIsSetNullPolicy">
+ <eAnnotations xmi:id="_bxLhTht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN99ht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLhTxt1EeWb19NaJQmczQ" name="xsiNilRepresentsNull" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLhURt1EeWb19NaJQmczQ" name="emptyNodeRepresentsNull" ordered="false" defaultValueLiteral="false">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLhUxt1EeWb19NaJQmczQ" name="nullRepresentationForXml" ordered="false" eType="_bxLhJBt1EeWb19NaJQmczQ" defaultValueLiteral="ABSENT_NODE"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLhVRt1EeWb19NaJQmczQ" name="isSetMethodName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhVxt1EeWb19NaJQmczQ" name="isSetParameters" ordered="false" upperBound="-1" eType="_bxLhXxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxLhjxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhWRt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhWxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhXRt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLhXxt1EeWb19NaJQmczQ" name="XmlParameter">
+ <eAnnotations xmi:id="_bxLhYBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN-yRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxLhYRt1EeWb19NaJQmczQ" name="methodConstraint">
+ <eAnnotations xmi:id="_bxLhYht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLhYxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Property.oclIsUndefined() implies&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; self.base_Property.oclContainer().oclIsTypeOf(uml::Stereotype)"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxLhZRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxLhZht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLhZxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxLhaRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxLhaht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLhaxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxLhbBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxLhbRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxLhbht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations xmi:id="_bxLhbxt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxLhcBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLhcRt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxLhcxt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxLhdBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLhdRt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxLhdxt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxLheBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLheRt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxLheht1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxLhext1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxLhfBt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLhfRt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhfxt1EeWb19NaJQmczQ" name="type" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhgRt1EeWb19NaJQmczQ" name="base_Stereotype" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhgxt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhhRt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhhxt1EeWb19NaJQmczQ" name="base_Package" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhiRt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhixt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhjRt1EeWb19NaJQmczQ" name="base_Parameter" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhjxt1EeWb19NaJQmczQ" name="isSetParameters_XmlIsSetNullPolicy" ordered="false" eType="_bxLhTRt1EeWb19NaJQmczQ" eOpposite="_bxLhVxt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLhkRt1EeWb19NaJQmczQ" name="XmlElementsJoinNodes">
+ <eAnnotations xmi:id="_bxLhkht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN-Eht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhkxt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxLhmxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxLhpRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhlRt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhlxt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhmRt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLhmxt1EeWb19NaJQmczQ" name="XmlJoinNodes">
+ <eAnnotations xmi:id="_bxLhnBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN-uRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhnRt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxLhpxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxLhsxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhnxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhoRt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhoxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhpRt1EeWb19NaJQmczQ" name="value_XmlElementsJoinNodes" ordered="false" eType="_bxLhkRt1EeWb19NaJQmczQ" eOpposite="_bxLhkxt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLhpxt1EeWb19NaJQmczQ" name="XmlJoinNode">
+ <eAnnotations xmi:id="_bxLhqBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN-KRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLhqRt1EeWb19NaJQmczQ" name="xmlPath" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLhqxt1EeWb19NaJQmczQ" name="referencedXmlPath" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhrRt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhrxt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhsRt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhsxt1EeWb19NaJQmczQ" name="value_XmlJoinNodes" ordered="false" eType="_bxLhmxt1EeWb19NaJQmczQ" eOpposite="_bxLhnRt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLhtRt1EeWb19NaJQmczQ" name="XmlKey">
+ <eAnnotations xmi:id="_bxLhtht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN-Hxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhtxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhuRt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhuxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLhvRt1EeWb19NaJQmczQ" name="XmlPaths">
+ <eAnnotations xmi:id="_bxLhvht1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN-PBt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhvxt1EeWb19NaJQmczQ" name="value" ordered="false" upperBound="-1" eType="_bxLhxxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxLh0Rt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhwRt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhwxt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhxRt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLhxxt1EeWb19NaJQmczQ" name="XmlPath">
+ <eAnnotations xmi:id="_bxLhyBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN_kht1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLhyRt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhyxt1EeWb19NaJQmczQ" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhzRt1EeWb19NaJQmczQ" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLhzxt1EeWb19NaJQmczQ" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLh0Rt1EeWb19NaJQmczQ" name="value_XmlPaths" ordered="false" eType="_bxLhvRt1EeWb19NaJQmczQ" eOpposite="_bxLhvxt1EeWb19NaJQmczQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLh0xt1EeWb19NaJQmczQ" name="XmlDiscriminatorNode">
+ <eAnnotations xmi:id="_bxLh1Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN-SRt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxLh1Rt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxLh1ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLh1xt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxLh2Rt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxLh2ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLh2xt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxLh3Rt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxLh3ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLh3xt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxLh4Bt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxLh4Rt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxLh4ht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLh4xt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLh5Rt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLh5xt1EeWb19NaJQmczQ" name="XmlVirtualAccessMethods">
+ <eAnnotations xmi:id="_bxLh6Bt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN-Uht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxLh6Rt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxLh6ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLh6xt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxLh7Rt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxLh7ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLh7xt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxLh8Rt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxLh8ht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLh8xt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxLh9Bt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxLh9Rt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxLh9ht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLh9xt1EeWb19NaJQmczQ" name="getMethod" ordered="false" defaultValueLiteral="&quot;get&quot;">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLh-Rt1EeWb19NaJQmczQ" name="setMethod" ordered="false" defaultValueLiteral="&quot;set&quot;">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLh-xt1EeWb19NaJQmczQ" name="schema" ordered="false" eType="_bxLhKRt1EeWb19NaJQmczQ" defaultValueLiteral="NODES"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLh_Rt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLh_xt1EeWb19NaJQmczQ" name="XmlNamedSubgraph">
+ <eAnnotations xmi:id="_bxLiABt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxN-ZBt1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxLiARt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxLiAht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLiAxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxLiBRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxLiBht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLiBxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxLiCRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxLiCht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLiCxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxLiDBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxLiDRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxLiDht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLiDxt1EeWb19NaJQmczQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLiERt1EeWb19NaJQmczQ" name="type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLiExt1EeWb19NaJQmczQ" name="attributeNodes" ordered="false" upperBound="-1" eType="_bxLiGxt1EeWb19NaJQmczQ" containment="true" eOpposite="_bxLiMxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLiFRt1EeWb19NaJQmczQ" name="subgraphs_XmlNamedObjectGraph" ordered="false" eType="_bxLiNRt1EeWb19NaJQmczQ" eOpposite="_bxLiRxt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLiFxt1EeWb19NaJQmczQ" name="subclassSubgraphs_XmlNamedObjectGraph" ordered="false" eType="_bxLiNRt1EeWb19NaJQmczQ" eOpposite="_bxLiSRt1EeWb19NaJQmczQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_bxLiGRt1EeWb19NaJQmczQ" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_bxLiGxt1EeWb19NaJQmczQ" name="XmlNamedAttributeNode">
+ <eAnnotations xmi:id="_bxLiHBt1EeWb19NaJQmczQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_bxOkkht1EeWb19NaJQmczQ"/>
+ <eOperations xmi:id="_bxLiHRt1EeWb19NaJQmczQ" name="typeConstraint">
+ <eAnnotations xmi:id="_bxLiHht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLiHxt1EeWb19NaJQmczQ" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_bxLiIRt1EeWb19NaJQmczQ" name="diagnostics">
+ <eAnnotations xmi:id="_bxLiIht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLiIxt1EeWb19NaJQmczQ" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_bxLiJRt1EeWb19NaJQmczQ" name="context">
+ <eAnnotations xmi:id="_bxLiJht1EeWb19NaJQmczQ" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_bxLiJxt1EeWb19NaJQmczQ" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_bxLiKBt1EeWb19NaJQmczQ">
+ <eTypeArguments xmi:id="_bxLiKRt1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_bxLiKht1EeWb19NaJQmczQ">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_bxLiKxt1EeWb19NaJQmczQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" hr