diff options
author | Martin Taal | 2011-11-01 18:12:35 +0000 |
---|---|---|
committer | Martin Taal | 2011-11-01 18:12:35 +0000 |
commit | 97842a213a338601aa158b3d9f995f464bb25681 (patch) | |
tree | 5b9a657ccdce9960b252f3bc8dcc09a2626bd711 /hibernate/org.eclipse.emf.teneo.hibernate.mapper | |
parent | 709ec105b89258b5e6b27e57cb3deb177529c54c (diff) | |
download | org.eclipse.emf.teneo-97842a213a338601aa158b3d9f995f464bb25681.tar.gz org.eclipse.emf.teneo-97842a213a338601aa158b3d9f995f464bb25681.tar.xz org.eclipse.emf.teneo-97842a213a338601aa158b3d9f995f464bb25681.zip |
New structure
Diffstat (limited to 'hibernate/org.eclipse.emf.teneo.hibernate.mapper')
195 files changed, 42078 insertions, 0 deletions
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.classpath b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.classpath new file mode 100755 index 000000000..64c5e31b7 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.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/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.cvsignore b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.cvsignore new file mode 100755 index 000000000..7ce3b4d3f --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.cvsignore @@ -0,0 +1,2 @@ +bin* +*.jar diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.project b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.project new file mode 100755 index 000000000..f89868e94 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.project @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.emf.teneo.hibernate.mapper</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + <arguments> + </arguments> + </buildCommand> + <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.wst.validation.validationbuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> + <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> + </natures> +</projectDescription> diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.cvsignore b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.cvsignore new file mode 100755 index 000000000..2d013705a --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.cvsignore @@ -0,0 +1,2 @@ +org.eclipse.wst.common.component +org.eclipse.wst.common.project.facet.core.xml diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.jsdtscope b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.jsdtscope new file mode 100644 index 000000000..0e4b119ca --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.jsdtscope @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="output" path=""/> +</classpath> diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.core.prefs b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.core.prefs new file mode 100755 index 000000000..05d22a303 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +#Mon Feb 08 06:55:22 CET 2010 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.ui.prefs b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.ui.prefs new file mode 100755 index 000000000..7e986800d --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +#Sat Nov 25 21:46:00 CET 2006 +eclipse.preferences.version=1 +internal.default.compliance=default diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jst.common.project.facet.core.prefs b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jst.common.project.facet.core.prefs new file mode 100755 index 000000000..cbff5f2bd --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jst.common.project.facet.core.prefs @@ -0,0 +1,3 @@ +#Wed Feb 07 12:33:50 CET 2007 +classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:jdk1.5.0_06/owners=jst.java\:5.0 +eclipse.preferences.version=1 diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.common.project.facet.core.xml b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 000000000..88ceb05cc --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> +<faceted-project> +</faceted-project> diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.container b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 000000000..3bd5d0a48 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.name b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 000000000..05bd71b6e --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/META-INF/MANIFEST.MF b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/META-INF/MANIFEST.MF new file mode 100755 index 000000000..b5d6ac7a4 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/META-INF/MANIFEST.MF @@ -0,0 +1,25 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %Plugin.name +Bundle-SymbolicName: org.eclipse.emf.teneo.hibernate.mapper;singleton:=true +Bundle-Version: 1.2.0.qualifier +Bundle-Localization: plugin +Eclipse-BuddyPolicy: dependent +Bundle-Vendor: %Plugin.providerName +Export-Package: org.eclipse.emf.teneo.hibernate.annotations;version="1.1.2", + org.eclipse.emf.teneo.hibernate.cdo;version="1.1.2", + org.eclipse.emf.teneo.hibernate.hbannotation;version="1.1.2", + org.eclipse.emf.teneo.hibernate.hbannotation.impl;version="1.1.2", + org.eclipse.emf.teneo.hibernate.hbannotation.util;version="1.1.2", + org.eclipse.emf.teneo.hibernate.hbannotation.validation;version="1.1.2", + org.eclipse.emf.teneo.hibernate.hbmodel;version="1.1.2", + org.eclipse.emf.teneo.hibernate.hbmodel.impl;version="1.1.2", + org.eclipse.emf.teneo.hibernate.hbmodel.util;version="1.1.2", + org.eclipse.emf.teneo.hibernate.hbmodel.validation;version="1.1.2", + org.eclipse.emf.teneo.hibernate.mapper;version="1.1.2", + org.eclipse.emf.teneo.hibernate.mapper.classic;version="1.1.2" +Require-Bundle: org.eclipse.emf.teneo;bundle-version="[1.0.0,2.0.0)", + org.eclipse.emf.teneo.annotations;bundle-version="[1.0.0,2.0.0)", + org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)" +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Import-Package: org.apache.commons.logging;version="[1.0.0,2.0.0)" diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.html b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.html new file mode 100755 index 000000000..5a279453c --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.html @@ -0,0 +1,24 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + + +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head><body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007, 2008</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body></html>
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.ini b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.ini new file mode 100755 index 000000000..1d17e5539 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.ini @@ -0,0 +1,17 @@ +# about.ini +# contains information about a feature +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# "%key" are externalized strings defined in about.properties +# This file does not need to be translated. + +# Property "aboutText" contains blurb for "About" dialog (translated) +aboutText=%featureText + +# Property "featureImage" contains path to feature image (32x32) +featureImage=modeling32.png + +# Property "appName" contains name of the application (translated) +appName=%featureName + +# Property "welcomePage" contains path to welcome page (special XML-based format) +#welcomePage=$nl$/welcome.xml diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.properties b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.properties new file mode 100755 index 000000000..71baa9f3c --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.properties @@ -0,0 +1,46 @@ +#/** +# * <copyright> +# * +# * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others +# * All rights reserved. This program and the accompanying materials +# * are made available under the terms of the Eclipse Public License v1.0 +# * which accompanies this distribution, and is available at +# * http://www.eclipse.org/legal/epl-v10.html +# * +# * Contributors: +# * Martin Taal - Initial API and implementation +# * +# * </copyright> +# * +# * $Id: about.properties,v 1.4 2009/02/24 12:05:26 mtaal Exp $ +# */ + +# NLS_MESSAGEFORMAT_VAR + +# ============================================================================== +# Do not change the properties between this line and the last line containing: +# %%% END OF TRANSLATED PROPERTIES %%% +# Instead, either redefine an existing property, or create a new property, +# append it to the end of the file, and change the code to use the new name. +# ============================================================================== + +# about.properties +# contains externalized strings for about.ini +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# fill-ins are supplied by about.mappings +# This file should be translated. + +featureName=Eclipse Modeling Framework Technology Object Relational Persistence + +featureText=Eclipse Modeling Framework Technology Object Relational Persistence \n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +(c) Copyright Springsite BV (The Netherlands) and others. 2006 - 2009. All rights reserved.\n\ +\n\ +Visit http://www.eclipse.org/emft + +# ============================================================================== +# %%% END OF TRANSLATED PROPERTIES %%% +# The above properties have been shipped for translation. +# ============================================================================== diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/build.properties b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/build.properties new file mode 100755 index 000000000..7c919daa7 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/build.properties @@ -0,0 +1,28 @@ + +# <copyright> +# </copyright> +# +# $Id: build.properties,v 1.11 2011/02/21 04:42:49 mtaal Exp $ + +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties,\ + about.html,\ + about.ini,\ + about.properties,\ + copyright.txt,\ + epl-v10.html,\ + license.html,\ + modeling32.png +jars.compile.order = . +source.. = src/ +output.. = bin/ +src.includes = about.html,\ + about.ini,\ + about.properties,\ + copyright.txt,\ + epl-v10.html,\ + license.html,\ + modeling32.png diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/copyright.txt b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/copyright.txt new file mode 100755 index 000000000..537e4f8c1 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/copyright.txt @@ -0,0 +1,9 @@ +Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Martin Taal + Davide Marchignoli diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/epl-v10.html b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/epl-v10.html new file mode 100755 index 000000000..d7b88e941 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/epl-v10.html @@ -0,0 +1,319 @@ +<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> +<meta name="ProgId" content="Word.Document"> +<meta name="Generator" content="Microsoft Word 9"> +<meta name="Originator" content="Microsoft Word 9"> +<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml> + <o:DocumentProperties> + <o:Revision>2</o:Revision> + <o:TotalTime>3</o:TotalTime> + <o:Created>2004-03-05T23:03:00Z</o:Created> + <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved> + <o:Pages>4</o:Pages> + <o:Words>1626</o:Words> + <o:Characters>9270</o:Characters> + <o:Lines>77</o:Lines> + <o:Paragraphs>18</o:Paragraphs> + <o:CharactersWithSpaces>11384</o:CharactersWithSpaces> + <o:Version>9.4402</o:Version> + </o:DocumentProperties> +</xml><![endif]--><!--[if gte mso 9]><xml> + <w:WordDocument> + <w:TrackRevisions/> + </w:WordDocument> +</xml><![endif]--> + + +<style> +<!-- + /* Font Definitions */ +@font-face + {font-family:Tahoma; + panose-1:2 11 6 4 3 5 4 4 2 4; + mso-font-charset:0; + mso-generic-font-family:swiss; + mso-font-pitch:variable; + mso-font-signature:553679495 -2147483648 8 0 66047 0;} + /* Style Definitions */ +p.MsoNormal, li.MsoNormal, div.MsoNormal + {mso-style-parent:""; + margin:0in; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + font-family:"Times New Roman"; + mso-fareast-font-family:"Times New Roman";} +p + {margin-right:0in; + mso-margin-top-alt:auto; + mso-margin-bottom-alt:auto; + margin-left:0in; + mso-pagination:widow-orphan; + font-size:12.0pt; + font-family:"Times New Roman"; + mso-fareast-font-family:"Times New Roman";} +p.BalloonText, li.BalloonText, div.BalloonText + {mso-style-name:"Balloon Text"; + margin:0in; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:8.0pt; + font-family:Tahoma; + mso-fareast-font-family:"Times New Roman";} +@page Section1 + {size:8.5in 11.0in; + margin:1.0in 1.25in 1.0in 1.25in; + mso-header-margin:.5in; + mso-footer-margin:.5in; + mso-paper-source:0;} +div.Section1 + {page:Section1;} +--> +</style></head> + +<body style="" lang="EN-US"> + +<div class="Section1"> + +<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b> +</p> + +<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.</span> </p> + +<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p> + +<p><span style="font-size: 10pt;">"Contribution" means:</span> </p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and<br clear="left"> +b) in the case of each subsequent Contributor:</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i) +changes to the Program, and</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii) +additions to the Program;</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program. </span></p> + +<p><span style="font-size: 10pt;">"Contributor" means any person or +entity that distributes the Program.</span> </p> + +<p><span style="font-size: 10pt;">"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program. </span></p> + +<p><span style="font-size: 10pt;">"Program" means the Contributions +distributed in accordance with this Agreement.</span> </p> + +<p><span style="font-size: 10pt;">"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.</span> </p> + +<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder. </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement. </span></p> + +<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p> + +<p><span style="font-size: 10pt;">A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that:</span> +</p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +it complies with the terms and conditions of this Agreement; and</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) +its license agreement:</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose; </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits; </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.<span style="color: blue;"> </span></span></p> + +<p><span style="font-size: 10pt;">When the Program is made available in source +code form:</span> </p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +it must be made available under this Agreement; and </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a +copy of this Agreement must be included with each copy of the Program. </span></p> + +<p><span style="font-size: 10pt;">Contributors may not remove or alter any +copyright notices contained within the Program. </span></p> + +<p><span style="font-size: 10pt;">Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution. </span></p> + +<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p> + +<p><span style="font-size: 10pt;">Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.</span> </p> + +<p><span style="font-size: 10pt;">For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.</span> </p> + +<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p> + +<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations. </span></p> + +<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p> + +<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.</span> </p> + +<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p> + +<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.</span> </p> + +<p><span style="font-size: 10pt;">If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed. </span></p> + +<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive. </span></p> + +<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.</span> </p> + +<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.</span> </p> + +<p class="MsoNormal"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></p> + +</div> + +</body></html>
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/license.html b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/license.html new file mode 100755 index 000000000..d7b88e941 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/license.html @@ -0,0 +1,319 @@ +<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> +<meta name="ProgId" content="Word.Document"> +<meta name="Generator" content="Microsoft Word 9"> +<meta name="Originator" content="Microsoft Word 9"> +<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml> + <o:DocumentProperties> + <o:Revision>2</o:Revision> + <o:TotalTime>3</o:TotalTime> + <o:Created>2004-03-05T23:03:00Z</o:Created> + <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved> + <o:Pages>4</o:Pages> + <o:Words>1626</o:Words> + <o:Characters>9270</o:Characters> + <o:Lines>77</o:Lines> + <o:Paragraphs>18</o:Paragraphs> + <o:CharactersWithSpaces>11384</o:CharactersWithSpaces> + <o:Version>9.4402</o:Version> + </o:DocumentProperties> +</xml><![endif]--><!--[if gte mso 9]><xml> + <w:WordDocument> + <w:TrackRevisions/> + </w:WordDocument> +</xml><![endif]--> + + +<style> +<!-- + /* Font Definitions */ +@font-face + {font-family:Tahoma; + panose-1:2 11 6 4 3 5 4 4 2 4; + mso-font-charset:0; + mso-generic-font-family:swiss; + mso-font-pitch:variable; + mso-font-signature:553679495 -2147483648 8 0 66047 0;} + /* Style Definitions */ +p.MsoNormal, li.MsoNormal, div.MsoNormal + {mso-style-parent:""; + margin:0in; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + font-family:"Times New Roman"; + mso-fareast-font-family:"Times New Roman";} +p + {margin-right:0in; + mso-margin-top-alt:auto; + mso-margin-bottom-alt:auto; + margin-left:0in; + mso-pagination:widow-orphan; + font-size:12.0pt; + font-family:"Times New Roman"; + mso-fareast-font-family:"Times New Roman";} +p.BalloonText, li.BalloonText, div.BalloonText + {mso-style-name:"Balloon Text"; + margin:0in; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:8.0pt; + font-family:Tahoma; + mso-fareast-font-family:"Times New Roman";} +@page Section1 + {size:8.5in 11.0in; + margin:1.0in 1.25in 1.0in 1.25in; + mso-header-margin:.5in; + mso-footer-margin:.5in; + mso-paper-source:0;} +div.Section1 + {page:Section1;} +--> +</style></head> + +<body style="" lang="EN-US"> + +<div class="Section1"> + +<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b> +</p> + +<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.</span> </p> + +<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p> + +<p><span style="font-size: 10pt;">"Contribution" means:</span> </p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and<br clear="left"> +b) in the case of each subsequent Contributor:</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i) +changes to the Program, and</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii) +additions to the Program;</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program. </span></p> + +<p><span style="font-size: 10pt;">"Contributor" means any person or +entity that distributes the Program.</span> </p> + +<p><span style="font-size: 10pt;">"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program. </span></p> + +<p><span style="font-size: 10pt;">"Program" means the Contributions +distributed in accordance with this Agreement.</span> </p> + +<p><span style="font-size: 10pt;">"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.</span> </p> + +<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder. </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement. </span></p> + +<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p> + +<p><span style="font-size: 10pt;">A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that:</span> +</p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +it complies with the terms and conditions of this Agreement; and</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) +its license agreement:</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose; </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits; </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.<span style="color: blue;"> </span></span></p> + +<p><span style="font-size: 10pt;">When the Program is made available in source +code form:</span> </p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +it must be made available under this Agreement; and </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a +copy of this Agreement must be included with each copy of the Program. </span></p> + +<p><span style="font-size: 10pt;">Contributors may not remove or alter any +copyright notices contained within the Program. </span></p> + +<p><span style="font-size: 10pt;">Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution. </span></p> + +<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p> + +<p><span style="font-size: 10pt;">Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.</span> </p> + +<p><span style="font-size: 10pt;">For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.</span> </p> + +<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p> + +<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations. </span></p> + +<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p> + +<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.</span> </p> + +<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p> + +<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.</span> </p> + +<p><span style="font-size: 10pt;">If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed. </span></p> + +<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive. </span></p> + +<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.</span> </p> + +<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.</span> </p> + +<p class="MsoNormal"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></p> + +</div> + +</body></html>
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.ecore b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.ecore new file mode 100755 index 000000000..f217eb931 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.ecore @@ -0,0 +1,322 @@ +<?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="hbannotation" + nsURI="http://www.eclipse.org/emf/teneo/2006/HbAnnotation" nsPrefix="org.eclipse.emf.teneo.hibernate"> + <eAnnotations source="teneo.mapping.source"> + <details key="1" value="http://hibernate.elver.org/"/> + </eAnnotations> + <eClassifiers xsi:type="ecore:EClass" name="HbAnnotation" abstract="true" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//PAnnotation"> + <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> + <details key="constraints" value="CompatibleEModelElementType AnnotationIsSupported"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Cascade" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" upperBound="-1" + eType="#//HbCascadeType"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="CollectionOfElements" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetElement" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="fetch" eType="ecore:EEnum ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//FetchType" + defaultValueLiteral="LAZY"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="HbMapKey" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="columns" ordered="false" + upperBound="-1" eType="ecore:EClass ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//Column" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Collection"> + <details key="name" value="Parameters"/> + <details key="packageNS" value="http://www.eclipse.org/emf/teneo/2006/HbAnnotation"/> + </eAnnotations> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + <details key="1" value="EClass"/> + <details key="2" value="EPackage"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Type" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" + eType="#//Parameter"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Where" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="clause" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="IdBag" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="generator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + defaultValueLiteral="increment"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + defaultValueLiteral="long"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="table" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="GenericGenerator" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + <details key="1" value="EClass"/> + <details key="2" value="EPackage"/> + </eAnnotations> + <eAnnotations source="http://annotation.elver.org/internal/Collection"> + <details key="name" value="GenericGenerators"/> + <details key="packageNS" value="http://www.eclipse.org/emf/teneo/2006/HbAnnotation"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="strategy" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" + eType="#//Parameter"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="CacheConcurrencyStrategy"> + <eLiterals name="NONE" literal="NONE"/> + <eLiterals name="READ_ONLY" value="1" literal="READ_ONLY"/> + <eLiterals name="NONSTRICT_READ_WRITE" value="2" literal="NONSTRICT_READ_WRITE"/> + <eLiterals name="READ_WRITE" value="3" literal="READ_WRITE"/> + <eLiterals name="TRANSACTIONAL" value="4" literal="TRANSACTIONAL"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Cache" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EReference"/> + <details key="1" value="EClass"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="usage" eType="#//CacheConcurrencyStrategy"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="region" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="include" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="TypeDef" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + <details key="1" value="EClass"/> + <details key="2" value="EPackage"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" + eType="#//Parameter"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeClass" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="HbFetchType"> + <eLiterals name="JOIN" literal="JOIN"/> + <eLiterals name="SELECT" value="1" literal="SELECT"/> + <eLiterals name="SUBSELECT" value="2" literal="SUBSELECT"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Fetch" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//HbFetchType"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="OnDeleteAction"> + <eLiterals name="NO_ACTION" literal="NO_ACTION"/> + <eLiterals name="CASCADE" value="1" literal="CASCADE"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OnDelete" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="action" eType="#//OnDeleteAction"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Proxy" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EClass"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="proxyClass" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="lazy" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" + defaultValueLiteral="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Index" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="GenerationTime"> + <eLiterals name="NEVER"/> + <eLiterals name="INSERT" value="1"/> + <eLiterals name="ALWAYS" value="2"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Generated" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EAttribute"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//GenerationTime"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedQuery" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EClass"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="query" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Filter" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EClass"/> + <details key="1" value="EReference"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="condition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ParamDef" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EClass"/> + <details key="1" value="EReference"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="FilterDef" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EClass"/> + <details key="1" value="EReference"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultCondition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" + eType="#//ParamDef"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="DiscriminatorFormula" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="teneo/internal/Target"> + <details key="0" value="EClass"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NaturalId" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="mutable" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="MapKeyManyToMany" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EReference"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="joinColumns" ordered="false" + upperBound="-1" eType="ecore:EClass ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//JoinColumn" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetEntity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ForceDiscriminator" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="teneo/internal/Target"> + <details key="0" value="EClass"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Immutable" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="teneo/internal/Target"> + <details key="0" value="EClass"/> + <details key="1" value="EReference"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Formula" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="teneo/internal/Target"> + <details key="0" value="EAttribute"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="NotFoundAction"> + <eLiterals name="EXCEPTION" literal="EXCEPTION"/> + <eLiterals name="IGNORE" value="1" literal="IGNORE"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NotFound" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EReference"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="action" lowerBound="1" + eType="#//NotFoundAction"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="HbEntity" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="dynamicInsert" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="dynamicUpdate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="selectBeforeUpdate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="mutable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" + defaultValueLiteral="true"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="persister" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="optimisticLock" eType="#//OptimisticLockType" + defaultValueLiteral="VERSION"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="polymorphism" eType="#//PolymorphismType" + defaultValueLiteral="IMPLICIT"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="OptimisticLockType"> + <eLiterals name="ALL" literal="ALL"/> + <eLiterals name="DIRTY" value="1" literal="DIRTY"/> + <eLiterals name="NONE" value="2" literal="NONE"/> + <eLiterals name="VERSION" value="3" literal="VERSION"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="PolymorphismType"> + <eLiterals name="IMPLICIT" literal="IMPLICIT"/> + <eLiterals name="EXPLICIT" value="1" literal="EXPLICIT"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="HbCascadeType"> + <eLiterals name="ALL"/> + <eLiterals name="PERSIST" value="1"/> + <eLiterals name="MERGE" value="2"/> + <eLiterals name="REMOVE" value="3"/> + <eLiterals name="REFRESH" value="4"/> + <eLiterals name="DELETE" value="5" literal="DELETE"/> + <eLiterals name="SAVE_UPDATE" value="6" literal="SAVE_UPDATE"/> + <eLiterals name="REPLICATE" value="7" literal="REPLICATE"/> + <eLiterals name="DELETE_ORPHAN" value="8" literal="DELETE_ORPHAN"/> + <eLiterals name="LOCK" value="9"/> + <eLiterals name="EVICT" value="10"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="BatchSize" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="teneo/internal/Target"> + <details key="0" value="EClass"/> + <details key="1" value="EReference"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Any" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="metaDef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="metaColumn" eType="ecore:EClass ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//Column" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="fetch" eType="ecore:EEnum ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//FetchType" + defaultValueLiteral="EAGER"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" + defaultValueLiteral="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="MetaValue" eSuperTypes="#//HbAnnotation"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetEntity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="AnyMetaDef" eSuperTypes="#//HbAnnotation"> + <eAnnotations source="http://annotation.elver.org/internal/Target"> + <details key="0" value="EStructuralFeature"/> + <details key="1" value="EClass"/> + <details key="2" value="EPackage"/> + </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="metaType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + defaultValueLiteral="string"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="idType" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="string"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="metaValues" upperBound="-1" + eType="#//MetaValue" containment="true"/> + </eClassifiers> +</ecore:EPackage> diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.genmodel b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.genmodel new file mode 100755 index 000000000..e58b55197 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.genmodel @@ -0,0 +1,246 @@ +<?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.emf.teneo.hibernate.mapper/src" + modelPluginID="org.eclipse.emf.teneo.hibernate.mapper" modelName="Hbannotation" + importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false" + usedGenPackages="../../org.eclipse.emf.teneo.annotations/model/pannotation.genmodel#//pamodel ../../org.eclipse.emf.teneo.annotations/model/pannotation.genmodel#//pannotation"> + <foreignModel>hbannotation.ecore</foreignModel> + <foreignModel>hbmodel.ecore</foreignModel> + <genPackages prefix="Hbannotation" basePackage="org.eclipse.emf.teneo.hibernate" + disposableProviderFactory="true" ecorePackage="hbannotation.ecore#/"> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//CacheConcurrencyStrategy"> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//CacheConcurrencyStrategy/NONE"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//CacheConcurrencyStrategy/READ_ONLY"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//CacheConcurrencyStrategy/NONSTRICT_READ_WRITE"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//CacheConcurrencyStrategy/READ_WRITE"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//CacheConcurrencyStrategy/TRANSACTIONAL"/> + </genEnums> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//HbFetchType"> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbFetchType/JOIN"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbFetchType/SELECT"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbFetchType/SUBSELECT"/> + </genEnums> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//OnDeleteAction"> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//OnDeleteAction/NO_ACTION"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//OnDeleteAction/CASCADE"/> + </genEnums> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//GenerationTime"> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//GenerationTime/NEVER"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//GenerationTime/INSERT"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//GenerationTime/ALWAYS"/> + </genEnums> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//NotFoundAction"> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//NotFoundAction/EXCEPTION"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//NotFoundAction/IGNORE"/> + </genEnums> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//OptimisticLockType"> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//OptimisticLockType/ALL"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//OptimisticLockType/DIRTY"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//OptimisticLockType/NONE"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//OptimisticLockType/VERSION"/> + </genEnums> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//PolymorphismType"> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//PolymorphismType/IMPLICIT"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//PolymorphismType/EXPLICIT"/> + </genEnums> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//HbCascadeType"> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/ALL"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/PERSIST"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/MERGE"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/REMOVE"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/REFRESH"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/DELETE"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/SAVE_UPDATE"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/REPLICATE"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/DELETE_ORPHAN"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/LOCK"/> + <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/EVICT"/> + </genEnums> + <genClasses image="false" ecoreClass="hbannotation.ecore#//HbAnnotation"/> + <genClasses ecoreClass="hbannotation.ecore#//Cascade"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Cascade/value"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//CollectionOfElements"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//CollectionOfElements/targetElement"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//CollectionOfElements/fetch"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//HbMapKey"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbannotation.ecore#//HbMapKey/columns"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//Parameter"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Parameter/name"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Parameter/value"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//Type"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Type/type"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbannotation.ecore#//Type/parameters"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//Where"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Where/clause"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//IdBag"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//IdBag/generator"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//IdBag/type"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//IdBag/table"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//GenericGenerator"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//GenericGenerator/name"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//GenericGenerator/strategy"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbannotation.ecore#//GenericGenerator/parameters"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//Cache"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Cache/usage"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Cache/region"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Cache/include"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//TypeDef"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//TypeDef/name"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbannotation.ecore#//TypeDef/parameters"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//TypeDef/typeClass"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//Fetch"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Fetch/value"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//OnDelete"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//OnDelete/action"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//Proxy"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Proxy/proxyClass"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Proxy/lazy"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//Index"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Index/name"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//Generated"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Generated/value"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//NamedQuery"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//NamedQuery/name"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//NamedQuery/query"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//Filter"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Filter/name"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Filter/condition"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//ParamDef"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//ParamDef/name"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//ParamDef/type"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//FilterDef"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//FilterDef/name"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//FilterDef/defaultCondition"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbannotation.ecore#//FilterDef/parameters"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//DiscriminatorFormula"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//DiscriminatorFormula/value"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//NaturalId"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//NaturalId/mutable"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//MapKeyManyToMany"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbannotation.ecore#//MapKeyManyToMany/joinColumns"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//MapKeyManyToMany/targetEntity"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//ForceDiscriminator"/> + <genClasses ecoreClass="hbannotation.ecore#//Immutable"/> + <genClasses ecoreClass="hbannotation.ecore#//Formula"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Formula/value"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//NotFound"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//NotFound/action"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//HbEntity"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/dynamicInsert"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/dynamicUpdate"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/selectBeforeUpdate"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/mutable"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/persister"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/optimisticLock"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/polymorphism"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//BatchSize"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//BatchSize/size"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//Any"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Any/metaDef"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbannotation.ecore#//Any/metaColumn"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Any/fetch"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Any/optional"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//MetaValue"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//MetaValue/targetEntity"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//MetaValue/value"/> + </genClasses> + <genClasses ecoreClass="hbannotation.ecore#//AnyMetaDef"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//AnyMetaDef/name"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//AnyMetaDef/metaType"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//AnyMetaDef/idType"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbannotation.ecore#//AnyMetaDef/metaValues"/> + </genClasses> + </genPackages> + <genPackages prefix="Hbmodel" basePackage="org.eclipse.emf.teneo.hibernate" disposableProviderFactory="true" + ecorePackage="hbmodel.ecore#/"> + <genClasses image="false" ecoreClass="hbmodel.ecore#//HbAnnotatedETypeElement"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbWhere"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbCollectionOfElements"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbMapKey"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbColumns"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbCascade"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbIdBag"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbIndex"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/Filter"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/mapKeyManyToMany"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/formula"/> + </genClasses> + <genClasses ecoreClass="hbmodel.ecore#//HbAnnotatedEAttribute"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEAttribute/hbType"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEAttribute/generated"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEAttribute/naturalId"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEAttribute/any"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEAttribute/anyMetaDef"/> + </genClasses> + <genClasses ecoreClass="hbmodel.ecore#//HbAnnotatedEClass"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/hbCache"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/hbOnDelete"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/hbWhere"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/hbProxy"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/hbNamedQuery"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/FilterDef"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/Filter"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/discriminatorFormula"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/forceDiscriminator"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/immutable"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/hbEntity"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/batchSize"/> + </genClasses> + <genClasses image="false" ecoreClass="hbmodel.ecore#//HbAnnotatedEModelElement"/> + <genClasses ecoreClass="hbmodel.ecore#//HbAnnotatedEPackage"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEPackage/hbGenericGenerators"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEPackage/hbTypeDef"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEPackage/hbNamedQuery"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEPackage/FilterDef"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEPackage/anyMetaDef"/> + </genClasses> + <genClasses ecoreClass="hbmodel.ecore#//HbAnnotatedEReference"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/hbCache"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/hbFetch"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/hbOnDelete"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/naturalId"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/immutable"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/notFound"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/hbType"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/batchSize"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/any"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/anyMetaDef"/> + </genClasses> + <genClasses ecoreClass="hbmodel.ecore#//HbAnnotatedEDataType"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEDataType/hbTypeDef"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEDataType/hbWhere"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEDataType/hbColumns"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEDataType/hbIdBag"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEDataType/hbIndex"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEDataType/hbType"/> + </genClasses> + </genPackages> +</genmodel:GenModel> diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbmodel.ecore b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbmodel.ecore new file mode 100755 index 000000000..eca189239 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbmodel.ecore @@ -0,0 +1,113 @@ +<?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="hbmodel" + nsURI="http://www.eclipse.org/emf/teneo/2006/HbModel" nsPrefix="org.eclipse.emf.teneo.hibernate"> + <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedETypeElement" abstract="true" + interface="true" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEStructuralFeature #//HbAnnotatedEModelElement"> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbWhere" eType="ecore:EClass hbannotation.ecore#//Where" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbCollectionOfElements" + eType="ecore:EClass hbannotation.ecore#//CollectionOfElements" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbMapKey" eType="ecore:EClass hbannotation.ecore#//HbMapKey" + containment="true"> + <eAnnotations source="teneo/internal/PersistenceMapping"> + <details key="elementName" value="hb-map-key"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbColumns" upperBound="-1" + eType="ecore:EClass ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//Column" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbCascade" eType="ecore:EClass hbannotation.ecore#//Cascade" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbIdBag" eType="ecore:EClass hbannotation.ecore#//IdBag" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbIndex" eType="ecore:EClass hbannotation.ecore#//Index"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="Filter" upperBound="-1" + eType="ecore:EClass hbannotation.ecore#//Filter"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="mapKeyManyToMany" eType="ecore:EClass hbannotation.ecore#//MapKeyManyToMany" + containment="true"> + <eAnnotations source="teneo/internal/PersistenceMapping"> + <details key="elementName" value="hb-map-key"/> + </eAnnotations> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="formula" eType="ecore:EClass hbannotation.ecore#//Formula"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedEAttribute" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEAttribute #//HbAnnotatedETypeElement"> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbType" eType="ecore:EClass hbannotation.ecore#//Type" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="generated" eType="ecore:EClass hbannotation.ecore#//Generated" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="naturalId" eType="ecore:EClass hbannotation.ecore#//NaturalId" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="any" eType="ecore:EClass hbannotation.ecore#//Any"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="anyMetaDef" eType="ecore:EClass hbannotation.ecore#//AnyMetaDef"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedEClass" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEClass"> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbCache" eType="ecore:EClass hbannotation.ecore#//Cache" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbOnDelete" eType="ecore:EClass hbannotation.ecore#//OnDelete"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbWhere" eType="ecore:EClass hbannotation.ecore#//Where" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbProxy" eType="ecore:EClass hbannotation.ecore#//Proxy"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbNamedQuery" upperBound="-1" + eType="ecore:EClass hbannotation.ecore#//NamedQuery"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="FilterDef" upperBound="-1" + eType="ecore:EClass hbannotation.ecore#//FilterDef"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="Filter" upperBound="-1" + eType="ecore:EClass hbannotation.ecore#//Filter"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="discriminatorFormula" eType="ecore:EClass hbannotation.ecore#//DiscriminatorFormula" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="forceDiscriminator" eType="ecore:EClass hbannotation.ecore#//ForceDiscriminator" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="immutable" eType="ecore:EClass hbannotation.ecore#//Immutable" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbEntity" eType="ecore:EClass hbannotation.ecore#//HbEntity"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="batchSize" eType="ecore:EClass hbannotation.ecore#//BatchSize"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedEModelElement" abstract="true" + interface="true" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEModelElement"/> + <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedEPackage" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEPackage"> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbGenericGenerators" upperBound="-1" + eType="ecore:EClass hbannotation.ecore#//GenericGenerator" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbTypeDef" upperBound="-1" + eType="ecore:EClass hbannotation.ecore#//TypeDef" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbNamedQuery" upperBound="-1" + eType="ecore:EClass hbannotation.ecore#//NamedQuery"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="FilterDef" upperBound="-1" + eType="ecore:EClass hbannotation.ecore#//FilterDef"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="anyMetaDef" upperBound="-1" + eType="ecore:EClass hbannotation.ecore#//AnyMetaDef"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedEReference" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEReference #//HbAnnotatedETypeElement"> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbCache" eType="ecore:EClass hbannotation.ecore#//Cache" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbFetch" eType="ecore:EClass hbannotation.ecore#//Fetch"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbOnDelete" eType="ecore:EClass hbannotation.ecore#//OnDelete"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="naturalId" eType="ecore:EClass hbannotation.ecore#//NaturalId" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="immutable" eType="ecore:EClass hbannotation.ecore#//Immutable" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="notFound" eType="ecore:EClass hbannotation.ecore#//NotFound" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbType" eType="ecore:EClass hbannotation.ecore#//Type" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="batchSize" eType="ecore:EClass hbannotation.ecore#//BatchSize"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="any" eType="ecore:EClass hbannotation.ecore#//Any"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="anyMetaDef" eType="ecore:EClass hbannotation.ecore#//AnyMetaDef"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedEDataType" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEDataType #//HbAnnotatedEModelElement"> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbTypeDef" eType="ecore:EClass hbannotation.ecore#//TypeDef" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbWhere" eType="ecore:EClass hbannotation.ecore#//Where" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbColumns" upperBound="-1" + eType="ecore:EClass ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//Column" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbIdBag" eType="ecore:EClass hbannotation.ecore#//IdBag" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbIndex" eType="ecore:EClass hbannotation.ecore#//Index"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="hbType" eType="ecore:EClass hbannotation.ecore#//Type" + containment="true"/> + </eClassifiers> +</ecore:EPackage> diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/modeling32.png b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/modeling32.png Binary files differnew file mode 100755 index 000000000..6b08de2ad --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/modeling32.png diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.properties b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.properties new file mode 100755 index 000000000..166bda0ca --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.properties @@ -0,0 +1,33 @@ +#/** +# * <copyright> +# * +# * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others +# * All rights reserved. This program and the accompanying materials +# * are made available under the terms of the Eclipse Public License v1.0 +# * which accompanies this distribution, and is available at +# * http://www.eclipse.org/legal/epl-v10.html +# * +# * Contributors: +# * Martin Taal - Initial API and implementation +# * +# * </copyright> +# * +# * $Id: plugin.properties,v 1.12 2010/02/06 20:59:38 mtaal Exp $ +# */ + +# NLS_MESSAGEFORMAT_VAR + +# ============================================================================== +# Do not change the properties between this line and the last line containing: +# %%% END OF TRANSLATED PROPERTIES %%% +# Instead, either redefine an existing property, or create a new property, +# append it to the end of the file, and change the code to use the new name. +# ============================================================================== + +Plugin.name = EMF Teneo Hibernate Mapper +Plugin.providerName = Eclipse Modeling Project + +# ============================================================================== +# %%% END OF TRANSLATED PROPERTIES %%% +# The above properties have been shipped for translation. +# ============================================================================== diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.xml b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.xml new file mode 100755 index 000000000..6d6e94479 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- + <copyright> + </copyright> + + $Id: plugin.xml,v 1.3 2009/09/13 14:45:39 mtaal Exp $ +--> + +<plugin> + + <extension point="org.eclipse.emf.ecore.generated_package"> + <package + uri="http://www.eclipse.org/emf/teneo/2006/HbAnnotation" + class="org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage" + genModel="model/hbannotation.genmodel"/> + </extension> + + <extension point="org.eclipse.emf.ecore.generated_package"> + <package + uri="http://www.eclipse.org/emf/teneo/2006/HbModel" + class="org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage" + genModel="model/hbannotation.genmodel"/> + </extension> + +</plugin> diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationModelBuilder.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationModelBuilder.java new file mode 100755 index 000000000..81ad1dbca --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationModelBuilder.java @@ -0,0 +1,59 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Douglas Bitting + * </copyright> + * + * $Id: HbAnnotationModelBuilder.java,v 1.3 2008/02/28 07:07:43 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.annotations; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EModelElement; +import org.eclipse.emf.ecore.ENamedElement; +import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.teneo.annotations.mapper.BasicPamodelBuilder; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelFactory; + +/** + * This class create the Hibernate-model versions of the various PaAnnotatedE* objects. + */ +public class HbAnnotationModelBuilder extends BasicPamodelBuilder { + + /** Use hb annotation types */ + @Override + protected PAnnotatedEModelElement doCreate(EModelElement eModelElement) throws AssertionError { + final EClass eModelElementEClass = eModelElement.eClass(); + PAnnotatedEModelElement paElement; + switch (eModelElementEClass.getClassifierID()) { + case EcorePackage.EATTRIBUTE: + paElement = HbmodelFactory.eINSTANCE.createHbAnnotatedEAttribute(); + break; + case EcorePackage.EREFERENCE: + paElement = HbmodelFactory.eINSTANCE.createHbAnnotatedEReference(); + break; + case EcorePackage.ECLASS: + paElement = HbmodelFactory.eINSTANCE.createHbAnnotatedEClass(); + break; + case EcorePackage.EPACKAGE: + paElement = HbmodelFactory.eINSTANCE.createHbAnnotatedEPackage(); + break; + case EcorePackage.EENUM: + case EcorePackage.EDATA_TYPE: + paElement = HbmodelFactory.eINSTANCE.createHbAnnotatedEDataType(); + break; + default: + throw new AssertionError("Trying to build HbAnnotatedEModelElement for a " + eModelElementEClass); + } + paElement.setModelElement((ENamedElement) eModelElement); + return paElement; + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationUtil.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationUtil.java new file mode 100755 index 000000000..663483c4c --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationUtil.java @@ -0,0 +1,61 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: HbAnnotationUtil.java,v 1.5 2010/11/24 07:11:48 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.annotations; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.teneo.annotations.mapper.AbstractAnnotator; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationFactory; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference; + +/** + * Some utility methods. + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.5 $ + */ + +public class HbAnnotationUtil { + + // The logger + protected static final Log log = LogFactory.getLog(HbAnnotationUtil.class); + + /** Adds an index */ + public static void setIndex(PAnnotatedEReference aReference, + AbstractAnnotator annotator) { + final String indexName = annotator.getPersistenceOptions() + .getSQLIndexNamePrefix() + + annotator.getEntityName(aReference.getModelEReference() + .getEContainingClass()) + + "_" + + aReference.getModelEReference().getName(); + final HbAnnotatedEReference haReference = (HbAnnotatedEReference) aReference; + if (haReference.getHbIndex() == null) { + final Index index = HbannotationFactory.eINSTANCE.createIndex(); + index.setName(indexName); + haReference.setHbIndex(index); + } else { + final Index index = haReference.getHbIndex(); + if (index.getName() != null && index.getName().length() > 0) { + index.setName(index.getName() + ","); + } + index.setName(index.getName() + indexName); + } + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEAnnotationParserImporter.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEAnnotationParserImporter.java new file mode 100755 index 000000000..54516f7ae --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEAnnotationParserImporter.java @@ -0,0 +1,77 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: HbEAnnotationParserImporter.java,v 1.3 2009/09/22 05:39:07 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.annotations; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.teneo.annotations.parser.EAnnotationParserImporter; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; + +/** + * Overrides the default EAnnotationParserImporter to add a hibernate source + */ +public class HbEAnnotationParserImporter extends EAnnotationParserImporter { + + /** The prefix for hibernate types */ + private static final String HB_PREFIX = "hb:"; + + /** Returns true if the source is a hibernate source or a generic source */ + @Override + protected boolean isValidSource(String source) { + if (source == null) { + return false; + } + return source.startsWith("teneo.hibernate") || super.isValidSource(source); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.emf.teneo.annotations.parser.EClassResolver#getEClass(java.lang.String) + */ + @Override + public EClass getEClass(String name) { + if (name.startsWith(HB_PREFIX)) { + return (EClass) HbannotationPackage.eINSTANCE.getEClassifier(name.substring(HB_PREFIX.length())); + } else { + final EClass eClass = super.getEClass(name); + if (eClass == null) { + return (EClass) HbannotationPackage.eINSTANCE.getEClassifier(name); + } + return eClass; + } + } + + /** Find the efeature */ + @Override + public EStructuralFeature getEStructuralFeature(EClass eClass, String name) { + for (Object name2 : eClass.getEAllStructuralFeatures()) { + final EStructuralFeature ef = (EStructuralFeature) name2; + if (ef.getName().compareToIgnoreCase(name) == 0) { + return ef; + } + } + // not found try with the hb prefix + final String hbName = "hb" + name; + for (Object name2 : eClass.getEAllStructuralFeatures()) { + final EStructuralFeature ef = (EStructuralFeature) name2; + if (ef.getName().compareToIgnoreCase(hbName) == 0) { + return ef; + } + } + throw new IllegalArgumentException("No efeature " + name + " for eclass " + eClass.getName()); + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEClassAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEClassAnnotator.java new file mode 100755 index 000000000..73d1b8c9c --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEClassAnnotator.java @@ -0,0 +1,208 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: HbEClassAnnotator.java,v 1.10 2011/09/01 07:52:50 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.annotations; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.DynamicEObjectImpl; +import org.eclipse.emf.teneo.PersistenceOptions; +import org.eclipse.emf.teneo.annotations.mapper.EClassAnnotator; +import org.eclipse.emf.teneo.annotations.mapper.StoreMappingException; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel; +import org.eclipse.emf.teneo.ecore.EModelResolver; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationFactory; +import org.eclipse.emf.teneo.hibernate.hbannotation.Proxy; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass; + +/** + * Sets the annotation on an eclass. + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.10 $ + */ + +public class HbEClassAnnotator extends EClassAnnotator { + + // The logger + protected static final Log log = LogFactory.getLog(HbEClassAnnotator.class); + + private String defaultCacheStrategy = CacheConcurrencyStrategy.NONE + .getName(); + private boolean optionSetProxy = false; + + /** + * Returns the annotated version of an EClass, Returns false if no efeatures + * of this eclass should be annotated, true if its features can be + * annotated. + */ + @Override + protected boolean annotate(PAnnotatedEClass aClass) { + final boolean res = super.annotate(aClass); + + final HbAnnotatedEClass hbClass = (HbAnnotatedEClass) aClass; + final EClass eclass = aClass.getModelEClass(); + Class<?> concreteClass = EModelResolver.instance().getJavaClass(eclass); + + // automatically add the proxy annotation + if ((optionSetProxy || getPersistenceOptions().isForceLazy()) + && hbClass.getHbProxy() == null) { + // in this case use the DynamicEObjectImpl + if (concreteClass == null) { + concreteClass = DynamicEObjectImpl.class; + } + if (concreteClass != null || getPersistenceOptions().isForceLazy()) { + final Proxy proxy = HbannotationFactory.eINSTANCE.createProxy(); + proxy.setLazy(true); + // interface class is set below. + ((HbAnnotatedEClass) aClass).setHbProxy(proxy); + log.debug("Set proxy to true (" + proxy.getProxyClass() + + ") for eclass " + aClass.getModelEClass().getName()); + } + } + + if (hbClass.getHbProxy() != null && concreteClass != null) { + // todo add check that there is an impl class + aClass.setOnlyMapAsEntity(false); + + // set interfacename if not set + if (!getPersistenceOptions().isForceLazy()) { + final Proxy proxy = hbClass.getHbProxy(); + final Class<?> interfaceClass = EModelResolver.instance() + .getJavaInterfaceClass(eclass); + if (interfaceClass != null) { + proxy.setProxyClass(interfaceClass.getName()); + } else { // set the class itself + proxy.setProxyClass(concreteClass.getName()); + } + } + } + + // now handle the case of defaultCacheStrategy which is different than + // none + boolean hasCache = ((HbAnnotatedEClass) aClass).getHbCache() != null; + + if (aClass.getPaSuperEntity() != null && hasCache) { + log.warn("EClass: " + + aClass.getModelEClass().getName() + + " has a cache strategy defined while it has a superclass, this strategy is ignored."); + return res; + } + + if (!hasCache + && defaultCacheStrategy + .compareToIgnoreCase(CacheConcurrencyStrategy.NONE + .getName()) != 0) { + final CacheConcurrencyStrategy ccs = CacheConcurrencyStrategy + .getByName(defaultCacheStrategy); + if (ccs == null) { + throw new StoreMappingException( + "The default cache strategy: " + + defaultCacheStrategy + + " is not one of the allowed values (uppercase) " + + "as defined in the JPA Hibernate Annotation Extensions."); + } + + log.debug("Setting cache strategy " + defaultCacheStrategy + " on " + + aClass.getModelEClass().getName()); + final Cache cache = HbannotationFactory.eINSTANCE.createCache(); + cache.setUsage(ccs); + ((HbAnnotatedEClass) aClass).setHbCache(cache); + } + return res; + } + + @Override + protected boolean addDiscriminator(PAnnotatedEClass aClass) { + final HbAnnotatedEClass hbClass = (HbAnnotatedEClass) aClass; + + return hbClass.getDiscriminatorFormula() == null + && (hbClass.getImmutable() == null || getPersistenceOptions() + .isDiscriminatorVersionOnImmutableEClass()); + } + + /* + * (non-Javadoc) + * + * @seeorg.eclipse.emf.teneo.annotations.mapper.AbstractAnnotator# + * setPersistenceOptions(org.eclipse.emf.teneo.PersistenceOptions) + */ + @Override + public void setPersistenceOptions(PersistenceOptions persistenceOptions) { + super.setPersistenceOptions(persistenceOptions); + defaultCacheStrategy = persistenceOptions.getDefaultCacheStrategy(); + optionSetProxy = persistenceOptions.isSetProxy(); + } + + /** Set the super entity */ + @Override + protected void setSuperEntity(PAnnotatedEClass aClass) { + assert (aClass.getPaSuperEntity() == null); + + // let the superclass do it + if (aClass.getEntity() != null + && aClass.getEntity().getExtends() != null) { + super.setSuperEntity(aClass); + return; + } + + final EClass eclass = aClass.getModelEClass(); + if (eclass.getESuperTypes().size() == 0) { + aClass.setPaSuperEntity(null); + return; + } + + PAnnotatedEClass superAClass = getPaSuperEntity(aClass, false); + if (superAClass == null) { + superAClass = getPaSuperEntity(aClass, true); + } + aClass.setPaSuperEntity(superAClass); + } + + /** Compute the annotated superclass, ignore interfaces if parameterized */ + private PAnnotatedEClass getPaSuperEntity(PAnnotatedEClass aClass, + boolean allowInterfaces) { + final PAnnotatedModel model = aClass.getPaModel(); + for (EClass superEClass : aClass.getModelEClass().getESuperTypes()) { + final PAnnotatedEClass x = model.getPAnnotated(superEClass); + if (x.getEntity() != null && x.getMappedSuperclass() == null + && (allowInterfaces || !x.getModelEClass().isInterface())) { + return x; + } + } + return null; + } + + /** + * Map Interface EClasses, default false, overridden by hibernate to return + * true + */ + @Override + protected boolean mapInterfaceEClass() { + return true; + } + + /** Map a mapped superclass, this differs for jpox and hibernate */ + @Override + protected boolean mapMappedSuperEClass() { + return true; + } + +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEDataTypeAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEDataTypeAnnotator.java new file mode 100755 index 000000000..aa73555ef --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEDataTypeAnnotator.java @@ -0,0 +1,121 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: HbEDataTypeAnnotator.java,v 1.6 2008/05/27 07:42:29 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.annotations; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.teneo.annotations.mapper.EDataTypeAnnotator; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationFactory; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType; +import org.eclipse.emf.teneo.hibernate.mapper.HbMapperConstants; +import org.eclipse.emf.teneo.util.EcoreDataTypes; + +/** + * Annotates an EDataType + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.6 $ + */ + +public class HbEDataTypeAnnotator extends EDataTypeAnnotator { + + // The logger + protected static final Log log = LogFactory.getLog(HbEDataTypeAnnotator.class); + + /** Annotate it */ + @Override + public void annotate(PAnnotatedEDataType ped) { + final HbAnnotatedEDataType hed = (HbAnnotatedEDataType) ped; + if (hed.getHbTypeDef() != null) { + return; // already there do nothing + } + final String typeClass = getCustomDataType(ped.getModelEDataType()); + if (typeClass == null) { + log.debug("Not creating typedef for edatatype: " + ped.getModelEDataType().getName() + + " because it is natively handled by hibernate"); + return; + } + + // create default typedef + log.debug("Creating default typedef for edatatype " + hed.getModelEDataType().getName()); + final TypeDef typeDef = HbannotationFactory.eINSTANCE.createTypeDef(); + typeDef.setName(hed.getModelEDataType().getEPackage().getName() + "." + ped.getModelEDataType().getName()); + typeDef.setTypeClass(getDefaultUserType()); + // add default parameters + final Parameter paramPackage = HbannotationFactory.eINSTANCE.createParameter(); + paramPackage.setName(HbMapperConstants.EPACKAGE_PARAM); + paramPackage.setValue(hed.getModelEDataType().getEPackage().getNsURI()); + typeDef.getParameters().add(paramPackage); + final Parameter edParam = HbannotationFactory.eINSTANCE.createParameter(); + edParam.setName(HbMapperConstants.EDATATYPE_PARAM); + edParam.setValue(hed.getModelEDataType().getName()); + typeDef.getParameters().add(edParam); + hed.setHbTypeDef(typeDef); + } + + /** + * If the specified classifier represents a custom data type not handled natively by Hibernate, + * get the Java class name of the class used to represent the custom data type. + * + * @param classifier + * non-null classifier to inspect. + * @return Class name of the custom data type or null if the classifier does not represent a + * custom data type that is not already handled by Hibernate. + */ + private String getCustomDataType(EDataType eDataType) { + final String typeClassName = eDataType.getInstanceClassName(); + if (EcoreDataTypes.INSTANCE.isSimpleType(eDataType, getPersistenceOptions())) { + return null; + } else if (EcoreDataTypes.INSTANCE.isEnum(eDataType)) { + return null; + } else if (eDataType.getInstanceClass() == Object.class) { + return null; +// } else if (typeClassName != null && TypeFactory.basic(typeClassName) != null) { +// // If Hibernate natively handles the type then don't bother creating +// // a typedef. +// return null; + } + if (typeClassName != null) { + final Class<?> instanceClass = eDataType.getInstanceClass(); + if (instanceClass != null && instanceClass.isArray()) { + final Class<?> compClass = instanceClass.getComponentType(); + if (EcoreDataTypes.INSTANCE.isPrimitive(compClass)) { + return null; + } + // get rid of the [] at the end +// final String primType = typeClassName.substring(0, typeClassName.length() - 2); + // check if hb supports it + // no dots is primitve +// if (TypeFactory.basic(primType) != null) { +// return null; // if so let hb do it +// } + } + } + + return typeClassName; + } + + /** Return the default user type */ + public String getDefaultUserType() { + return "org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType"; + } + +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEFeatureAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEFeatureAnnotator.java new file mode 100755 index 000000000..98fc47830 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEFeatureAnnotator.java @@ -0,0 +1,35 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: HbEFeatureAnnotator.java,v 1.3 2008/05/27 07:42:29 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.annotations; + +import org.eclipse.emf.teneo.annotations.mapper.EFeatureAnnotator; + +/** + * Overrides the mapVolitileFeature (is true for hibernate). + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.3 $ + */ + +public class HbEFeatureAnnotator extends EFeatureAnnotator { + + /** Map the feature if it is volatile, default is false */ + @Override + protected boolean mapVolitatileFeature() { + return true; + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbManyToOneReferenceAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbManyToOneReferenceAnnotator.java new file mode 100755 index 000000000..0d42da910 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbManyToOneReferenceAnnotator.java @@ -0,0 +1,72 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: HbManyToOneReferenceAnnotator.java,v 1.5 2008/09/21 19:26:04 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.annotations; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.teneo.PersistenceOptions; +import org.eclipse.emf.teneo.annotations.mapper.ManyToOneReferenceAnnotator; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pannotation.FetchType; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass; + +/** + * Annotates an ereference. + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.5 $ + */ + +public class HbManyToOneReferenceAnnotator extends ManyToOneReferenceAnnotator { + + // The logger + protected static final Log log = LogFactory.getLog(HbManyToOneReferenceAnnotator.class); + + private boolean optionSetProxy = false; + + /** Annotate it */ + @Override + public void annotate(PAnnotatedEReference aReference) { + if (getPersistenceOptions().isAddIndexForForeignKey()) { + HbAnnotationUtil.setIndex(aReference, this); + } + super.annotate(aReference); + } + + @Override + protected FetchType getFetch(PAnnotatedEClass aClass) { + if (aClass == null) { + // happens when any type + return FetchType.EAGER; + } + if (optionSetProxy) { + return FetchType.LAZY; + } + if (((HbAnnotatedEClass) aClass).getHbProxy() != null) { + return FetchType.LAZY; + } + return super.getFetch(aClass); + } + + @Override + public void setPersistenceOptions(PersistenceOptions persistenceOptions) { + super.setPersistenceOptions(persistenceOptions); + optionSetProxy = persistenceOptions.isSetProxy(); + } + +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbMappingSchemaGenerator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbMappingSchemaGenerator.java new file mode 100755 index 000000000..4a1b47404 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbMappingSchemaGenerator.java @@ -0,0 +1,91 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Douglas Bitting + * </copyright> + * + * $Id: HbMappingSchemaGenerator.java,v 1.3 2008/03/30 10:01:15 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.annotations; + +import java.io.FileWriter; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.teneo.annotations.StoreAnnotationsException; +import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage; +import org.eclipse.emf.teneo.annotations.xml.PersistenceMappingSchemaGenerator; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage; + +/** + * Generates the xsd for the hibernate mapping. + */ +public class HbMappingSchemaGenerator extends PersistenceMappingSchemaGenerator { + + /** The main method */ + public static void main(String[] args) { + final HbMappingSchemaGenerator pmsg = new HbMappingSchemaGenerator(); + pmsg.setAnnotationEPackages(new EPackage[] { HbannotationPackage.eINSTANCE, PannotationPackage.eINSTANCE }); + pmsg.setModelEPackage(HbmodelPackage.eINSTANCE); + pmsg.setNameSpace("http://www.eclipse.org/emft/teneo"); + try { + final FileWriter fw = new FileWriter("/home/mtaal/mytmp/persistence-mapping-hibernate.xsd"); + fw.write(pmsg.generate()); + fw.close(); + } catch (Exception e) { + throw new StoreAnnotationsException("Exception while generating mapping.xsd", e); + } + } + + /** Return the PAnnotatedEClass */ + @Override + protected EClass getPAnnotatedEPackage() { + return (EClass) getModelEPackage().getEClassifier("HbAnnotatedEPackage"); + } + + /** Return the PAnnotatedEClass */ + @Override + protected EClass getPAnnotatedEClass() { + return (EClass) getModelEPackage().getEClassifier("HbAnnotatedEClass"); + } + + /** Return the PAnnotatedEReference */ + @Override + protected EClass getPAnnotatedEReference() { + return (EClass) getModelEPackage().getEClassifier("HbAnnotatedEReference"); + } + + /** Return the PAnnotatedEAttribute */ + @Override + protected EClass getPAnnotatedEAttribute() { + return (EClass) getModelEPackage().getEClassifier("HbAnnotatedEAttribute"); + } + + /** Return the PAnnotatedEDataType */ + @Override + protected EClass getPAnnotatedEDataType() { + return (EClass) getModelEPackage().getEClassifier("HbAnnotatedEDataType"); + } + + /** get rid of the hb- prefix */ + @Override + protected String convertToXmlName(String name) { + String result = super.convertToXmlName(name); + if (result.compareTo("hb-column") == 0) { + return "columns"; // prevents a specific nameclash + } + if (result.startsWith("hb-") && result.compareTo("hb-map-key") != 0) { + return result.substring(3); + } + return result; + } +}
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyAttributeAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyAttributeAnnotator.java new file mode 100755 index 000000000..09a559a67 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyAttributeAnnotator.java @@ -0,0 +1,99 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: HbOneToManyAttributeAnnotator.java,v 1.5 2008/05/27 07:42:29 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.annotations; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.teneo.annotations.mapper.OneToManyAttributeAnnotator; +import org.eclipse.emf.teneo.annotations.mapper.SingleAttributeAnnotator; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType; + +/** + * Annotates a one-to-many attribute (an eattribute with ismany=true), an example is a list of + * primitives (list of ints). + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.5 $ + */ + +public class HbOneToManyAttributeAnnotator extends OneToManyAttributeAnnotator { + + // The logger + protected static final Log log = LogFactory.getLog(HbOneToManyAttributeAnnotator.class); + + protected SingleAttributeAnnotator singleAttributeAnnotator; + + @Override + protected void initialize() { + super.initialize(); + singleAttributeAnnotator = createAnnotator(SingleAttributeAnnotator.class); + } + + /** Process the features of the eclass */ + @Override + public void annotate(PAnnotatedEAttribute aAttribute) { + boolean isCollectionOfElements = + (aAttribute instanceof HbAnnotatedEAttribute && null != ((HbAnnotatedEAttribute) aAttribute) + .getHbCollectionOfElements()); + + final HbAnnotatedEAttribute hea = (HbAnnotatedEAttribute) aAttribute; + final HbAnnotatedEDataType hed = + (HbAnnotatedEDataType) aAttribute.getPaModel().getPAnnotated( + aAttribute.getModelEAttribute().getEAttributeType()); + if (isCollectionOfElements) { + CollectionOfElements coe = ((HbAnnotatedEAttribute) aAttribute).getHbCollectionOfElements(); + if (coe.getTargetElement() == null) { + coe.setTargetElement(getTargetTypeName(aAttribute)); + } + } else if (hea.getHbType() != null && hea.getOneToMany() == null && !aAttribute.getModelEAttribute().isMany()) { + // assume this to be a single attribute, we can get here when + // the instance is an array or list in that case the user type is + // assumed + // to be able to handle the complete list/collection + singleAttributeAnnotator.annotate(aAttribute); + } else if (hed != null && hed.getHbTypeDef() != null && hea.getOneToMany() == null && + !aAttribute.getModelEAttribute().isMany()) { + // assume this to be a single attribute, we can get here when + // the instance is an array or list in that case the user type is + // assumed + // to be able to handle the complete list/collection + singleAttributeAnnotator.annotate(aAttribute); + } else { + super.annotate(aAttribute); + } + } + +// MT: is now recomputed in the mapping step +// /** Returns the type name of a many attribute */ +// @Override +// protected String getTargetTypeName(PAnnotatedEAttribute aAttribute) { +// final HbAnnotatedEDataType ped = +// (HbAnnotatedEDataType) aAttribute.getPaModel().getPAnnotated( +// aAttribute.getModelEAttribute().getEAttributeType()); +// if (ped != null && ped.getHbTypeDef() != null) { +// return ped.getHbTypeDef().getName(); +// } +// if (((HbAnnotatedEAttribute) aAttribute).getHbType() != null) { +// return ((HbAnnotatedEAttribute) aAttribute).getHbType().getType(); +// } +// return EcoreDataTypes.INSTANCE.getTargetTypeName(aAttribute); +// } + +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyReferenceAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyReferenceAnnotator.java new file mode 100755 index 000000000..addd021e2 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyReferenceAnnotator.java @@ -0,0 +1,167 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: HbOneToManyReferenceAnnotator.java,v 1.6 2011/02/21 04:45:23 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.annotations; + +import java.util.List; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.teneo.PersistenceOptions; +import org.eclipse.emf.teneo.annotations.mapper.OneToManyReferenceAnnotator; +import org.eclipse.emf.teneo.annotations.mapper.StoreMappingException; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pannotation.CascadeType; +import org.eclipse.emf.teneo.annotations.pannotation.OneToMany; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationFactory; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference; + +/** + * Annotates an ereference. + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.6 $ + */ + +public class HbOneToManyReferenceAnnotator extends OneToManyReferenceAnnotator { + + // The logger + protected static final Log log = LogFactory + .getLog(HbOneToManyReferenceAnnotator.class); + private String defaultCacheStrategy = CacheConcurrencyStrategy.NONE + .getName(); + + /** Annotate it */ + @Override + public void annotate(PAnnotatedEReference aReference) { + boolean isCollectionOfElements = (aReference instanceof HbAnnotatedEReference && null != ((HbAnnotatedEReference) aReference) + .getHbCollectionOfElements()); + + HbAnnotatedEReference hbReference = (HbAnnotatedEReference) aReference; + + final OneToMany otm = aReference.getOneToMany(); + final boolean doHbCascade = otm == null || otm.getCascade().isEmpty(); + + // add an idbag annotation + if (getPersistenceOptions().alwaysMapListAsIdBag() + && aReference.getModelEReference().isMany() + && aReference.getOneToMany() == null + && !aReference.getModelEReference().isContainment()) { + hbReference.setHbIdBag(HbannotationFactory.eINSTANCE.createIdBag()); + // add a join table + } + + if (getPersistenceOptions().isAddIndexForForeignKey()) { + HbAnnotationUtil.setIndex(aReference, this); + } + + if (!isCollectionOfElements) { + super.annotate(aReference); + } + + // now handle the case of defaultCacheStrategy which is different than + // none + boolean hasCache = hbReference.getHbCache() != null; + if (!hasCache + && defaultCacheStrategy + .compareToIgnoreCase(CacheConcurrencyStrategy.NONE + .getName()) != 0) { + final CacheConcurrencyStrategy ccs = CacheConcurrencyStrategy + .getByName(defaultCacheStrategy); + if (ccs == null) { + throw new StoreMappingException( + "The default cache strategy: " + + defaultCacheStrategy + + " is not one of the allowed values (uppercase) " + + "as defined in the JPA Hibernate Annotation Extensions."); + } + + log.debug("Setting cache strategy " + defaultCacheStrategy + " on " + + aReference.getModelEReference().getName()); + final Cache cache = HbannotationFactory.eINSTANCE.createCache(); + cache.setUsage(ccs); + hbReference.setHbCache(cache); + } + + if (doHbCascade && hbReference.getHbCascade() == null) { + String option = ""; + if (aReference.getModelEReference().isContainment()) { + if (getPersistenceOptions().isSetCascadeAllOnContainment()) { + option = HbCascadeType.ALL.getName(); + } else { + option = getPersistenceOptions() + .getCascadePolicyForContainment(); + } + // translate a previous default to LOCK, SAVE_UPDAT + if (getPersistenceOptions().isSetCascadePersistOnContainment()) { + option += HbCascadeType.LOCK.getName() + ", " + + HbCascadeType.SAVE_UPDATE.getName(); + } + } else if (getPersistenceOptions() + .isSetCascadePolicyForNonContainment()) { + option = getPersistenceOptions() + .getCascadePolicyForNonContainment(); + // translate a previous default to LOCK, SAVE_UPDAT + if (getPersistenceOptions() + .isSetCascadePersistOnNonContainment()) { + option += HbCascadeType.LOCK.getName() + ", " + + HbCascadeType.SAVE_UPDATE.getName(); + } + } else { + option = HbCascadeType.PERSIST.getName() + ", " + + HbCascadeType.MERGE.getName() + ", " + + HbCascadeType.REFRESH.getName() + ", " + + HbCascadeType.LOCK.getName() + ", " + + HbCascadeType.SAVE_UPDATE.getName(); + } + + final Cascade hbCascade = HbannotationFactory.eINSTANCE + .createCascade(); + for (HbCascadeType hbCascadeValue : HbCascadeType.values()) { + if (option.contains(hbCascadeValue.getName())) { + hbCascade.getValue().add(hbCascadeValue); + } + } + if (hbCascade.getValue().size() > 0) { + hbReference.setHbCascade(hbCascade); + } + } + } + + protected void setCascade(List<CascadeType> cascadeList, + boolean isContainment) { + if (!cascadeList.isEmpty()) { + return; + } + + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.emf.teneo.annotations.mapper.AbstractAnnotator# + * setPersistenceOptions(org.eclipse.emf.teneo.PersistenceOptions) + */ + @Override + public void setPersistenceOptions(PersistenceOptions persistenceOptions) { + super.setPersistenceOptions(persistenceOptions); + defaultCacheStrategy = persistenceOptions.getDefaultCacheStrategy(); + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToOneReferenceAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToOneReferenceAnnotator.java new file mode 100755 index 000000000..5a797ce06 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToOneReferenceAnnotator.java @@ -0,0 +1,72 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: HbOneToOneReferenceAnnotator.java,v 1.5 2008/09/21 19:26:04 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.annotations; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.teneo.PersistenceOptions; +import org.eclipse.emf.teneo.annotations.mapper.OneToOneReferenceAnnotator; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pannotation.FetchType; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass; + +/** + * Annotates an ereference. + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.5 $ + */ + +public class HbOneToOneReferenceAnnotator extends OneToOneReferenceAnnotator { + + // The logger + protected static final Log log = LogFactory.getLog(HbOneToOneReferenceAnnotator.class); + + private boolean optionSetProxy = false; + + /** Annotate it */ + @Override + public void annotate(PAnnotatedEReference aReference) { + if (getPersistenceOptions().isAddIndexForForeignKey()) { + HbAnnotationUtil.setIndex(aReference, this); + } + super.annotate(aReference); + } + + @Override + protected FetchType getFetch(PAnnotatedEClass aClass) { + if (aClass == null) { + // happens when any type + return FetchType.EAGER; + } + if (optionSetProxy) { + return FetchType.LAZY; + } + if (((HbAnnotatedEClass) aClass).getHbProxy() != null) { + return FetchType.LAZY; + } + return super.getFetch(aClass); + } + + @Override + public void setPersistenceOptions(PersistenceOptions persistenceOptions) { + super.setPersistenceOptions(persistenceOptions); + optionSetProxy = persistenceOptions.isSetProxy(); + } + +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbSingleAttributeAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbSingleAttributeAnnotator.java new file mode 100755 index 000000000..18086a4ff --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbSingleAttributeAnnotator.java @@ -0,0 +1,40 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: HbSingleAttributeAnnotator.java,v 1.1 2008/07/12 13:10:34 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.annotations; + +import org.eclipse.emf.teneo.annotations.mapper.SingleAttributeAnnotator; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute; + +/** + * Handles the hibernate formula (don't add columns if there is a formula annotation). + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.1 $ + */ + +public class HbSingleAttributeAnnotator extends SingleAttributeAnnotator { + @Override + protected void addColumnConstraints(PAnnotatedEAttribute aAttribute) { + final HbAnnotatedEAttribute hbAttr = (HbAnnotatedEAttribute) aAttribute; + if (hbAttr.getFormula() != null) { + return; + } + super.addColumnConstraints(aAttribute); + } + +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbUnidirectionalManyToManyAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbUnidirectionalManyToManyAnnotator.java new file mode 100755 index 000000000..07e5d853e --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbUnidirectionalManyToManyAnnotator.java @@ -0,0 +1,49 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: HbUnidirectionalManyToManyAnnotator.java,v 1.3 2008/05/27 07:42:29 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.annotations; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.teneo.annotations.mapper.UnidirectionalManyToManyAnnotator; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; + +/** + * Annotates a one-to-many attribute (an eattribute with ismany=true), an example is a list of + * primitives (list of ints). + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.3 $ + */ + +public class HbUnidirectionalManyToManyAnnotator extends UnidirectionalManyToManyAnnotator { + + // The logger + protected static final Log log = LogFactory.getLog(HbUnidirectionalManyToManyAnnotator.class); + + /* + * (non-Javadoc) + * + * @see org.eclipse.emf.teneo.annotations.mapper.UnidirectionalManyToManyAnnotator#annotate(org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference) + */ + @Override + public void annotate(PAnnotatedEReference reference) { + if (getPersistenceOptions().isAddIndexForForeignKey()) { + HbAnnotationUtil.setIndex(reference, this); + } + annotate(reference); + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbXmlPersistenceMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbXmlPersistenceMapper.java new file mode 100755 index 000000000..e711c056e --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbXmlPersistenceMapper.java @@ -0,0 +1,29 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: HbXmlPersistenceMapper.java,v 1.2 2008/02/28 07:07:43 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.annotations; + +import org.eclipse.emf.teneo.annotations.xml.XmlPersistenceMapper; + +/** + * Overrides the xml persistence mapper for providing an additional prefix. + */ +public class HbXmlPersistenceMapper extends XmlPersistenceMapper { + /** Return the hb prefix */ + @Override + protected String getPrefix() { + return "hb"; + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/persistence-mapping.xsd b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/persistence-mapping.xsd new file mode 100755 index 000000000..1695c2987 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/persistence-mapping.xsd @@ -0,0 +1,776 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsd:schema targetNamespace="http://www.eclipse.org/emft/teneo" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.eclipse.org/emft/teneo"> + <xsd:element name="persistence-mapping" type="PersistenceMapping"/> + <xsd:complexType name="PersistenceMapping"> + <xsd:sequence minOccurs="1" maxOccurs="unbounded"> + <xsd:element name="epackage" type="EPackage"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="EPackage"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="filter-def" type="FilterDef" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="any-meta-def" type="AnyMetaDef" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="generic-generator" type="GenericGenerator" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbGenericGenerators</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="named-query" type="NamedQuery" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="type-def" type="TypeDef" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="sequence-generator" type="SequenceGenerator" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">sequenceGenerators</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="sequence-style-generator" type="SequenceStyleGenerator" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">sequenceStyleGenerators</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="table-generator" type="TableGenerator" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">tableGenerators</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="transient" type="Transient" minOccurs="0"/> + <xsd:element name="eclass" type="EClass"/> + <xsd:element name="edatatype" type="EDataType"/> + </xsd:choice> + <xsd:attribute name="namespace-uri" type="xsd:anyURI" use="required"/> + </xsd:complexType> + <xsd:complexType name="EClass"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="filter" type="Filter" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="filter-def" type="FilterDef" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="association-override" type="AssociationOverride" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">associationOverrides</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="attribute-override" type="AttributeOverride" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="batch-size" type="xsd:int" minOccurs="0"/> + <xsd:element name="discriminator-column" type="DiscriminatorColumn" minOccurs="0"/> + <xsd:element name="discriminator-formula" type="xsd:string" minOccurs="0"/> + <xsd:element name="discriminator-value" type="xsd:string" minOccurs="0"/> + <xsd:element name="eav-mapping" type="EAVMapping" minOccurs="0"/> + <xsd:element name="embeddable" type="Embeddable" minOccurs="0"/> + <xsd:element name="entity" type="Entity" minOccurs="0"/> + <xsd:element name="force-discriminator" type="ForceDiscriminator" minOccurs="0"/> + <xsd:element name="cache" type="Cache" minOccurs="0"/> + <xsd:element name="named-query" type="NamedQuery" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="on-delete" type="OnDeleteAction" minOccurs="0"/> + <xsd:element name="proxy" type="Proxy" minOccurs="0"/> + <xsd:element name="where" type="xsd:string" minOccurs="0"/> + <xsd:element name="id-class" type="xsd:string" minOccurs="0"/> + <xsd:element name="immutable" type="Immutable" minOccurs="0"/> + <xsd:element name="inheritance" type="InheritanceType" minOccurs="0"/> + <xsd:element name="mapped-superclass" type="MappedSuperclass" minOccurs="0"/> + <xsd:element name="no-e-a-v-mapping" type="NoEAVMapping" minOccurs="0"/> + <xsd:element name="primary-key-join-column" type="PrimaryKeyJoinColumn" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">primaryKeyJoinColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="secondary-table" type="SecondaryTable" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">secondaryTables</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="sequence-generator" type="SequenceGenerator" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">sequenceGenerators</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="table" type="Table" minOccurs="0"/> + <xsd:element name="table-generator" type="TableGenerator" minOccurs="0"/> + <xsd:element name="transient" type="Transient" minOccurs="0"/> + <xsd:element name="eattribute" type="EAttribute"/> + <xsd:element name="ereference" type="EReference"/> + <xsd:element name="property" type="Property"/> + <xsd:element name="edatatype" type="EDataType"/> + </xsd:choice> + <xsd:attribute name="name" type="xsd:token" use="required"/> + </xsd:complexType> + <xsd:complexType name="EAttribute"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="filter" type="Filter" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="any" type="Any" minOccurs="0"/> + <xsd:element name="any-meta-def" type="AnyMetaDef" minOccurs="0"/> + <xsd:element name="attribute-override" type="AttributeOverride" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="basic" type="Basic" minOccurs="0"/> + <xsd:element name="column" type="Column" minOccurs="0"/> + <xsd:element name="enumerated" type="EnumType" minOccurs="0"/> + <xsd:element name="foreign-key" type="xsd:string" minOccurs="0"/> + <xsd:element name="formula" type="xsd:string" minOccurs="0"/> + <xsd:element name="generated" type="GenerationTime" minOccurs="0"/> + <xsd:element name="generated-value" type="GeneratedValue" minOccurs="0"/> + <xsd:element name="cascade" type="HbCascadeType" minOccurs="0"/> + <xsd:element name="collection-of-elements" type="CollectionOfElements" minOccurs="0"/> + <xsd:element name="columns" type="Column" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="id-bag" type="IdBag" minOccurs="0"/> + <xsd:element name="index" type="xsd:string" minOccurs="0"/> + <xsd:element name="hb-map-key" type="Column" minOccurs="0"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbMapKey</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="type" type="Type" minOccurs="0"/> + <xsd:element name="where" type="xsd:string" minOccurs="0"/> + <xsd:element name="id" type="Id" minOccurs="0"/> + <xsd:element name="join-column" type="JoinColumn" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="join-table" type="JoinTable" minOccurs="0"/> + <xsd:element name="list-index-column" type="xsd:string" minOccurs="0"/> + <xsd:element name="lob" type="Lob" minOccurs="0"/> + <xsd:element name="natural-id" type="xsd:boolean" minOccurs="0"/> + <xsd:element name="one-to-many" type="OneToMany" minOccurs="0"/> + <xsd:element name="sequence-generator" type="SequenceGenerator" minOccurs="0"/> + <xsd:element name="table-generator" type="TableGenerator" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">tableGenerators</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="temporal" type="TemporalType" minOccurs="0"/> + <xsd:element name="transient" type="Transient" minOccurs="0"/> + <xsd:element name="version" type="Version" minOccurs="0"/> + </xsd:choice> + <xsd:attribute name="name" type="xsd:token" use="required"/> + </xsd:complexType> + <xsd:complexType name="EReference"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="filter" type="Filter" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="any" type="Any" minOccurs="0"/> + <xsd:element name="any-meta-def" type="AnyMetaDef" minOccurs="0"/> + <xsd:element name="association-override" type="AssociationOverride" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">associationOverrides</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="attribute-override" type="AttributeOverride" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="batch-size" type="xsd:int" minOccurs="0"/> + <xsd:element name="column" type="Column" minOccurs="0"/> + <xsd:element name="embedded" type="Embedded" minOccurs="0"/> + <xsd:element name="embedded-id" type="EmbeddedId" minOccurs="0"/> + <xsd:element name="external" type="xsd:string" minOccurs="0"/> + <xsd:element name="foreign-key" type="xsd:string" minOccurs="0"/> + <xsd:element name="formula" type="xsd:string" minOccurs="0"/> + <xsd:element name="cache" type="Cache" minOccurs="0"/> + <xsd:element name="cascade" type="HbCascadeType" minOccurs="0"/> + <xsd:element name="collection-of-elements" type="CollectionOfElements" minOccurs="0"/> + <xsd:element name="columns" type="Column" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="fetch" type="HbFetchType" minOccurs="0"/> + <xsd:element name="id-bag" type="IdBag" minOccurs="0"/> + <xsd:element name="index" type="xsd:string" minOccurs="0"/> + <xsd:element name="hb-map-key" type="Column" minOccurs="0"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbMapKey</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="on-delete" type="OnDeleteAction" minOccurs="0"/> + <xsd:element name="type" type="Type" minOccurs="0"/> + <xsd:element name="where" type="xsd:string" minOccurs="0"/> + <xsd:element name="immutable" type="Immutable" minOccurs="0"/> + <xsd:element name="join-column" type="JoinColumn" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="join-table" type="JoinTable" minOccurs="0"/> + <xsd:element name="list-index-column" type="xsd:string" minOccurs="0"/> + <xsd:element name="many-to-many" type="ManyToMany" minOccurs="0"/> + <xsd:element name="many-to-one" type="ManyToOne" minOccurs="0"/> + <xsd:element name="map-key" type="xsd:string" minOccurs="0"/> + <xsd:element name="natural-id" type="xsd:boolean" minOccurs="0"/> + <xsd:element name="not-found" type="NotFoundAction" minOccurs="0"/> + <xsd:element name="one-to-many" type="OneToMany" minOccurs="0"/> + <xsd:element name="one-to-one" type="OneToOne" minOccurs="0"/> + <xsd:element name="order-by" type="xsd:string" minOccurs="0"/> + <xsd:element name="primary-key-join-column" type="PrimaryKeyJoinColumn" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">primaryKeyJoinColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="sequence-generator" type="SequenceGenerator" minOccurs="0"/> + <xsd:element name="table-generator" type="TableGenerator" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">tableGenerators</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="transient" type="Transient" minOccurs="0"/> + </xsd:choice> + <xsd:attribute name="name" type="xsd:token" use="required"/> + </xsd:complexType> + <xsd:complexType name="Property"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="filter" type="Filter" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="any" type="Any" minOccurs="0"/> + <xsd:element name="any-meta-def" type="AnyMetaDef" minOccurs="0"/> + <xsd:element name="association-override" type="AssociationOverride" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">associationOverrides</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="attribute-override" type="AttributeOverride" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="basic" type="Basic" minOccurs="0"/> + <xsd:element name="batch-size" type="xsd:int" minOccurs="0"/> + <xsd:element name="column" type="Column" minOccurs="0"/> + <xsd:element name="embedded" type="Embedded" minOccurs="0"/> + <xsd:element name="embedded-id" type="EmbeddedId" minOccurs="0"/> + <xsd:element name="enumerated" type="EnumType" minOccurs="0"/> + <xsd:element name="external" type="xsd:string" minOccurs="0"/> + <xsd:element name="foreign-key" type="xsd:string" minOccurs="0"/> + <xsd:element name="formula" type="xsd:string" minOccurs="0"/> + <xsd:element name="generated" type="GenerationTime" minOccurs="0"/> + <xsd:element name="generated-value" type="GeneratedValue" minOccurs="0"/> + <xsd:element name="cache" type="Cache" minOccurs="0"/> + <xsd:element name="cascade" type="HbCascadeType" minOccurs="0"/> + <xsd:element name="collection-of-elements" type="CollectionOfElements" minOccurs="0"/> + <xsd:element name="columns" type="Column" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="fetch" type="HbFetchType" minOccurs="0"/> + <xsd:element name="id-bag" type="IdBag" minOccurs="0"/> + <xsd:element name="index" type="xsd:string" minOccurs="0"/> + <xsd:element name="hb-map-key" type="Column" minOccurs="0"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbMapKey</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="on-delete" type="OnDeleteAction" minOccurs="0"/> + <xsd:element name="type" type="Type" minOccurs="0"/> + <xsd:element name="where" type="xsd:string" minOccurs="0"/> + <xsd:element name="id" type="Id" minOccurs="0"/> + <xsd:element name="immutable" type="Immutable" minOccurs="0"/> + <xsd:element name="join-column" type="JoinColumn" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="join-table" type="JoinTable" minOccurs="0"/> + <xsd:element name="list-index-column" type="xsd:string" minOccurs="0"/> + <xsd:element name="lob" type="Lob" minOccurs="0"/> + <xsd:element name="many-to-many" type="ManyToMany" minOccurs="0"/> + <xsd:element name="many-to-one" type="ManyToOne" minOccurs="0"/> + <xsd:element name="map-key" type="xsd:string" minOccurs="0"/> + <xsd:element name="natural-id" type="xsd:boolean" minOccurs="0"/> + <xsd:element name="not-found" type="NotFoundAction" minOccurs="0"/> + <xsd:element name="one-to-many" type="OneToMany" minOccurs="0"/> + <xsd:element name="one-to-one" type="OneToOne" minOccurs="0"/> + <xsd:element name="order-by" type="xsd:string" minOccurs="0"/> + <xsd:element name="primary-key-join-column" type="PrimaryKeyJoinColumn" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">primaryKeyJoinColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="sequence-generator" type="SequenceGenerator" minOccurs="0"/> + <xsd:element name="table-generator" type="TableGenerator" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">tableGenerators</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="temporal" type="TemporalType" minOccurs="0"/> + <xsd:element name="transient" type="Transient" minOccurs="0"/> + <xsd:element name="version" type="Version" minOccurs="0"/> + </xsd:choice> + <xsd:attribute name="name" type="xsd:token" use="required"/> + </xsd:complexType> + <xsd:complexType name="EDataType"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="basic" type="Basic" minOccurs="0"/> + <xsd:element name="column" type="Column" minOccurs="0"/> + <xsd:element name="enumerated" type="EnumType" minOccurs="0"/> + <xsd:element name="generated-value" type="GeneratedValue" minOccurs="0"/> + <xsd:element name="columns" type="Column" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="id-bag" type="IdBag" minOccurs="0"/> + <xsd:element name="index" type="xsd:string" minOccurs="0"/> + <xsd:element name="type" type="Type" minOccurs="0"/> + <xsd:element name="type-def" type="TypeDef" minOccurs="0"/> + <xsd:element name="where" type="xsd:string" minOccurs="0"/> + <xsd:element name="id" type="Id" minOccurs="0"/> + <xsd:element name="lob" type="Lob" minOccurs="0"/> + <xsd:element name="temporal" type="TemporalType" minOccurs="0"/> + <xsd:element name="transient" type="Transient" minOccurs="0"/> + <xsd:element name="version" type="Version" minOccurs="0"/> + </xsd:choice> + <xsd:attribute name="name" type="xsd:token" use="required"/> + </xsd:complexType> +<xsd:complexType name="Any"> + <xsd:sequence> + <xsd:element name="meta-column" type="Column" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="fetch" type="FetchType" use="optional"/> + <xsd:attribute name="meta-def" type="xsd:string" use="optional"/> + <xsd:attribute name="optional" type="xsd:boolean" use="optional"/> +</xsd:complexType> +<xsd:complexType name="AnyMetaDef"> + <xsd:sequence> + <xsd:element name="meta-value" type="MetaValue" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">metaValues</xsd:appinfo> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id-type" type="xsd:string" use="required"/> + <xsd:attribute name="meta-type" type="xsd:string" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="Cache"> + <xsd:attribute name="include" type="xsd:string" use="optional"/> + <xsd:attribute name="region" type="xsd:string" use="optional"/> + <xsd:attribute name="usage" type="CacheConcurrencyStrategy" use="optional"/> +</xsd:complexType> +<xsd:simpleType name="CacheConcurrencyStrategy"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="NONE"/> + <xsd:enumeration value="READ_ONLY"/> + <xsd:enumeration value="NONSTRICT_READ_WRITE"/> + <xsd:enumeration value="READ_WRITE"/> + <xsd:enumeration value="TRANSACTIONAL"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:complexType name="CollectionOfElements"> + <xsd:attribute name="fetch" type="FetchType" use="optional"/> + <xsd:attribute name="target-element" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="Filter"> + <xsd:attribute name="condition" type="xsd:string" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="required"/> +</xsd:complexType> +<xsd:complexType name="FilterDef"> + <xsd:sequence> + <xsd:element name="parameter" type="ParamDef" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">parameters</xsd:appinfo> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="default-condition" type="xsd:string" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="required"/> +</xsd:complexType> +<xsd:complexType name="ForceDiscriminator"/> +<xsd:simpleType name="GenerationTime"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="NEVER"/> + <xsd:enumeration value="INSERT"/> + <xsd:enumeration value="ALWAYS"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:complexType name="GenericGenerator"> + <xsd:sequence> + <xsd:element name="parameter" type="Parameter" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">parameters</xsd:appinfo> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + <xsd:attribute name="strategy" type="xsd:string" use="required"/> +</xsd:complexType> +<xsd:simpleType name="HbCascadeType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="ALL"/> + <xsd:enumeration value="PERSIST"/> + <xsd:enumeration value="MERGE"/> + <xsd:enumeration value="REMOVE"/> + <xsd:enumeration value="REFRESH"/> + <xsd:enumeration value="DELETE"/> + <xsd:enumeration value="SAVE_UPDATE"/> + <xsd:enumeration value="REPLICATE"/> + <xsd:enumeration value="DELETE_ORPHAN"/> + <xsd:enumeration value="LOCK"/> + <xsd:enumeration value="EVICT"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:complexType name="HbEntity"> + <xsd:attribute name="dynamic-insert" type="xsd:boolean" use="optional"/> + <xsd:attribute name="dynamic-update" type="xsd:boolean" use="optional"/> + <xsd:attribute name="mutable" type="xsd:boolean" use="optional"/> + <xsd:attribute name="optimistic-lock" type="OptimisticLockType" use="optional"/> + <xsd:attribute name="persister" type="xsd:string" use="optional"/> + <xsd:attribute name="polymorphism" type="PolymorphismType" use="optional"/> + <xsd:attribute name="select-before-update" type="xsd:boolean" use="optional"/> +</xsd:complexType> +<xsd:simpleType name="HbFetchType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="JOIN"/> + <xsd:enumeration value="SELECT"/> + <xsd:enumeration value="SUBSELECT"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:complexType name="IdBag"> + <xsd:attribute name="generator" type="xsd:string" use="optional"/> + <xsd:attribute name="table" type="xsd:string" use="optional"/> + <xsd:attribute name="type" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="Immutable"/> +<xsd:complexType name="MapKeyManyToMany"> + <xsd:sequence> + <xsd:element name="join-column" type="JoinColumn" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="target-entity" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="MetaValue"> + <xsd:attribute name="target-entity" type="xsd:string" use="optional"/> + <xsd:attribute name="value" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="NamedQuery"> + <xsd:attribute name="name" type="xsd:string" use="optional"/> + <xsd:attribute name="query" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:simpleType name="NotFoundAction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="EXCEPTION"/> + <xsd:enumeration value="IGNORE"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:simpleType name="OnDeleteAction"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="NO_ACTION"/> + <xsd:enumeration value="CASCADE"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:simpleType name="OptimisticLockType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="ALL"/> + <xsd:enumeration value="DIRTY"/> + <xsd:enumeration value="NONE"/> + <xsd:enumeration value="VERSION"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:complexType name="ParamDef"> + <xsd:attribute name="name" type="xsd:string" use="required"/> + <xsd:attribute name="type" type="xsd:string" use="required"/> +</xsd:complexType> +<xsd:complexType name="Parameter"> + <xsd:attribute name="name" type="xsd:string" use="required"/> + <xsd:attribute name="value" type="xsd:string" use="required"/> +</xsd:complexType> +<xsd:simpleType name="PolymorphismType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="IMPLICIT"/> + <xsd:enumeration value="EXPLICIT"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:complexType name="Proxy"> + <xsd:attribute name="lazy" type="xsd:boolean" use="optional"/> + <xsd:attribute name="proxy-class" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="Type"> + <xsd:sequence> + <xsd:element name="parameter" type="Parameter" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">parameters</xsd:appinfo> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="type" type="xsd:string" use="required"/> +</xsd:complexType> +<xsd:complexType name="TypeDef"> + <xsd:sequence> + <xsd:element name="parameter" type="Parameter" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">parameters</xsd:appinfo> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + <xsd:attribute name="type-class" type="xsd:string" use="required"/> +</xsd:complexType> +<xsd:complexType name="AssociationOverride"> + <xsd:sequence> + <xsd:element name="join-column" type="JoinColumn" minOccurs="1" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> +</xsd:complexType> +<xsd:complexType name="AttributeOverride"> + <xsd:sequence> + <xsd:element name="column" type="Column" minOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> +</xsd:complexType> +<xsd:complexType name="Basic"> + <xsd:attribute name="fetch" type="FetchType" use="optional"/> + <xsd:attribute name="optional" type="xsd:boolean" use="optional"/> +</xsd:complexType> +<xsd:simpleType name="CascadeType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="ALL"/> + <xsd:enumeration value="PERSIST"/> + <xsd:enumeration value="MERGE"/> + <xsd:enumeration value="REMOVE"/> + <xsd:enumeration value="REFRESH"/> + <xsd:enumeration value="NONE"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:complexType name="Column"> + <xsd:attribute name="column-definition" type="xsd:string" use="optional"/> + <xsd:attribute name="index" type="xsd:string" use="optional"/> + <xsd:attribute name="insertable" type="xsd:boolean" use="optional"/> + <xsd:attribute name="length" type="xsd:int" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="optional"/> + <xsd:attribute name="nullable" type="xsd:boolean" use="optional"/> + <xsd:attribute name="precision" type="xsd:int" use="optional"/> + <xsd:attribute name="scale" type="xsd:int" use="optional"/> + <xsd:attribute name="table" type="xsd:string" use="optional"/> + <xsd:attribute name="unique" type="xsd:boolean" use="optional"/> + <xsd:attribute name="unique-key" type="xsd:string" use="optional"/> + <xsd:attribute name="updatable" type="xsd:boolean" use="optional"/> +</xsd:complexType> +<xsd:complexType name="DiscriminatorColumn"> + <xsd:sequence> + <xsd:element name="column" type="Column" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="column-definition" type="xsd:string" use="optional"/> + <xsd:attribute name="discriminator-type" type="DiscriminatorType" use="optional"/> + <xsd:attribute name="length" type="xsd:int" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:simpleType name="DiscriminatorType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="STRING"/> + <xsd:enumeration value="CHAR"/> + <xsd:enumeration value="INTEGER"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:complexType name="EAVMapping"/> +<xsd:complexType name="Embeddable"/> +<xsd:complexType name="Embedded"/> +<xsd:complexType name="EmbeddedId"/> +<xsd:complexType name="Entity"> + <xsd:attribute name="extends" type="xsd:string" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:simpleType name="EnumType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="ORDINAL"/> + <xsd:enumeration value="STRING"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:simpleType name="FetchType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="LAZY"/> + <xsd:enumeration value="EAGER"/> + <xsd:enumeration value="EXTRA"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:complexType name="GeneratedValue"> + <xsd:attribute name="generator" type="xsd:string" use="optional"/> + <xsd:attribute name="strategy" type="GenerationType" use="optional"/> +</xsd:complexType> +<xsd:simpleType name="GenerationType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="TABLE"/> + <xsd:enumeration value="SEQUENCE"/> + <xsd:enumeration value="IDENTITY"/> + <xsd:enumeration value="AUTO"/> + <xsd:enumeration value="SEQUENCESTYLE"/> + <xsd:enumeration value="ASSIGNED"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:complexType name="Id"/> +<xsd:simpleType name="InheritanceType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="SINGLE_TABLE"/> + <xsd:enumeration value="TABLE_PER_CLASS"/> + <xsd:enumeration value="JOINED"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:complexType name="JoinColumn"> + <xsd:attribute name="column-definition" type="xsd:string" use="optional"/> + <xsd:attribute name="insertable" type="xsd:boolean" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="optional"/> + <xsd:attribute name="nullable" type="xsd:boolean" use="optional"/> + <xsd:attribute name="referenced-column-name" type="xsd:string" use="optional"/> + <xsd:attribute name="table" type="xsd:string" use="optional"/> + <xsd:attribute name="unique" type="xsd:boolean" use="optional"/> + <xsd:attribute name="updatable" type="xsd:boolean" use="optional"/> +</xsd:complexType> +<xsd:complexType name="JoinTable"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="inverse-join-column" type="JoinColumn" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">inverseJoinColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="join-column" type="JoinColumn" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="unique-constraint" type="xsd:string" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo> + </xsd:annotation> + </xsd:element> + </xsd:choice> + <xsd:attribute name="catalog" type="xsd:string" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="optional"/> + <xsd:attribute name="schema" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="Lob"/> +<xsd:complexType name="ManyToMany"> + <xsd:sequence> + <xsd:element name="cascade" type="CascadeType" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="cascade" type="CascadeType" use="optional"/> + <xsd:attribute name="fetch" type="FetchType" use="optional"/> + <xsd:attribute name="indexed" type="xsd:boolean" use="optional"/> + <xsd:attribute name="mapped-by" type="xsd:string" use="optional"/> + <xsd:attribute name="target-entity" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="ManyToOne"> + <xsd:sequence> + <xsd:element name="cascade" type="CascadeType" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="cascade" type="CascadeType" use="optional"/> + <xsd:attribute name="fetch" type="FetchType" use="optional"/> + <xsd:attribute name="optional" type="xsd:boolean" use="optional"/> + <xsd:attribute name="target-entity" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="MappedSuperclass"/> +<xsd:complexType name="NoEAVMapping"/> +<xsd:complexType name="OneToMany"> + <xsd:sequence> + <xsd:element name="cascade" type="CascadeType" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="cascade" type="CascadeType" use="optional"/> + <xsd:attribute name="fetch" type="FetchType" use="optional"/> + <xsd:attribute name="indexed" type="xsd:boolean" use="optional"/> + <xsd:attribute name="mapped-by" type="xsd:string" use="optional"/> + <xsd:attribute name="target-entity" type="xsd:string" use="optional"/> + <xsd:attribute name="unique" type="xsd:boolean" use="optional"/> +</xsd:complexType> +<xsd:complexType name="OneToOne"> + <xsd:sequence> + <xsd:element name="cascade" type="CascadeType" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="cascade" type="CascadeType" use="optional"/> + <xsd:attribute name="fetch" type="FetchType" use="optional"/> + <xsd:attribute name="mapped-by" type="xsd:string" use="optional"/> + <xsd:attribute name="optional" type="xsd:boolean" use="optional"/> + <xsd:attribute name="target-entity" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:simpleType name="OptimizerType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="NONE"/> + <xsd:enumeration value="HILO"/> + <xsd:enumeration value="POOLED"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:complexType name="PrimaryKeyJoinColumn"> + <xsd:attribute name="column-definition" type="xsd:string" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="optional"/> + <xsd:attribute name="referenced-column-name" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="SecondaryTable"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="pk-join-column" type="PrimaryKeyJoinColumn" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">pkJoinColumns</xsd:appinfo> + </xsd:annotation> + </xsd:element> + <xsd:element name="unique-constraint" type="xsd:string" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo> + </xsd:annotation> + </xsd:element> + </xsd:choice> + <xsd:attribute name="catalog" type="xsd:string" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="required"/> + <xsd:attribute name="schema" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="SequenceGenerator"> + <xsd:attribute name="allocation-size" type="xsd:int" use="optional"/> + <xsd:attribute name="initial-value" type="xsd:int" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="required"/> + <xsd:attribute name="sequence-name" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="SequenceStyleGenerator"> + <xsd:attribute name="increment-size" type="xsd:int" use="optional"/> + <xsd:attribute name="initial-value" type="xsd:int" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="required"/> + <xsd:attribute name="optimizer" type="OptimizerType" use="optional"/> + <xsd:attribute name="sequence-name" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="Table"> + <xsd:sequence> + <xsd:element name="unique-constraint" type="xsd:string" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="catalog" type="xsd:string" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="optional"/> + <xsd:attribute name="schema" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:complexType name="TableGenerator"> + <xsd:sequence> + <xsd:element name="unique-constraint" type="xsd:string" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="allocation-size" type="xsd:int" use="optional"/> + <xsd:attribute name="catalog" type="xsd:string" use="optional"/> + <xsd:attribute name="initial-value" type="xsd:int" use="optional"/> + <xsd:attribute name="name" type="xsd:string" use="required"/> + <xsd:attribute name="pk-column-name" type="xsd:string" use="optional"/> + <xsd:attribute name="pk-column-value" type="xsd:string" use="optional"/> + <xsd:attribute name="schema" type="xsd:string" use="optional"/> + <xsd:attribute name="table" type="xsd:string" use="optional"/> + <xsd:attribute name="value-column-name" type="xsd:string" use="optional"/> +</xsd:complexType> +<xsd:simpleType name="TemporalType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="DATE"/> + <xsd:enumeration value="TIME"/> + <xsd:enumeration value="TIMESTAMP"/> + </xsd:restriction> +</xsd:simpleType> +<xsd:complexType name="Transient"/> +<xsd:complexType name="Version"/> +</xsd:schema>
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOEntityMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOEntityMapper.java new file mode 100755 index 000000000..c89473053 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOEntityMapper.java @@ -0,0 +1,70 @@ +/*************************************************************************** + * Copyright (c) 2004 - 2008 Springsite B.V. and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal - initial API and implementation + **************************************************************************/ +package org.eclipse.emf.teneo.hibernate.cdo; + +import java.util.List; + +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.hibernate.mapper.EntityMapper; +import org.eclipse.emf.teneo.simpledom.Element; + +/** + * Adds mapping for econtainer and eresource. + * + * @author <a href="mtaal@elver.org">Martin Taal</a> + */ +public class CDOEntityMapper extends EntityMapper { + + private PAnnotatedEClass currentEntity = null; + private boolean addedExtraMappings = false; + + @Override + public void processEntity(PAnnotatedEClass entity) { + // not the nicest solution + currentEntity = entity; + try { + addedExtraMappings = false; + super.processEntity(entity); + } finally { + currentEntity = null; + } + } + + // add container and resource mappings + @Override + protected void processFeatures(List<PAnnotatedEStructuralFeature> features) { + super.processFeatures(features); + + if (!addedExtraMappings && currentEntity.getPaSuperEntity() == null) { + final Element entityElement = getHbmContext().getCurrent(); + final Element resourceElement = entityElement.addElement("property"); + resourceElement.addAttribute("name", "resourceID"); + resourceElement.addElement("column").addAttribute("name", "resID_Entity"); + resourceElement.addElement("column").addAttribute("name", "resID_ID"); + resourceElement.addElement("column").addAttribute("name", "resID_class"); + resourceElement + .addAttribute("type", "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOIDUserType"); + final Element containerElement = entityElement.addElement("property"); + containerElement.addAttribute("name", "containerID"); + containerElement.addElement("column").addAttribute("name", "contID_Entity"); + containerElement.addElement("column").addAttribute("name", "contID_ID"); + containerElement.addElement("column").addAttribute("name", "contID_class"); + containerElement.addAttribute("type", + "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOIDUserType"); + final Element containingFeatureElement = entityElement.addElement("property"); + containingFeatureElement.addAttribute("name", "containingFeatureID"); + containingFeatureElement.addAttribute("column", "contFeatureID"); + containingFeatureElement.addAttribute("type", "int"); + addedExtraMappings = true; + } + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOHelper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOHelper.java new file mode 100755 index 000000000..c295db16b --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOHelper.java @@ -0,0 +1,73 @@ +/*************************************************************************** + * Copyright (c) 2004 - 2008 Springsite B.V. and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal - initial API and implementation + **************************************************************************/ +package org.eclipse.emf.teneo.hibernate.cdo; + +import java.util.Properties; + +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.teneo.PersistenceOptions; +import org.eclipse.emf.teneo.extension.ExtensionManager; +import org.eclipse.emf.teneo.extension.ExtensionManagerFactory; +import org.eclipse.emf.teneo.extension.ExtensionUtil; +import org.eclipse.emf.teneo.hibernate.mapper.MappingContext; +import org.eclipse.emf.teneo.hibernate.mapper.MappingUtil; + +/** + * Offers convenience methods for generating a cdo enabled hibernate mapping. + * + * @author <a href="mtaal@elver.org">Martin Taal</a> + * @deprecated use org.eclipse.emf.cdo.server.hibernate.teneo.CDOHelper + */ +public class CDOHelper { + + public static final String GENERATE_FOR_CDO = "generate_for_cdo"; + + private static CDOHelper instance = new CDOHelper(); + + /** + * @return the instance + */ + public static CDOHelper getInstance() { + return instance; + } + + /** + * @param instance + * the instance to set + */ + public static void setInstance(CDOHelper instance) { + CDOHelper.instance = instance; + } + + public void registerCDOExtensions(ExtensionManager extensionManager) { + MappingUtil.registerHbExtensions(extensionManager); + extensionManager.registerExtension(ExtensionUtil.createExtension(MappingContext.class, CDOMappingContext.class, + false)); + } + + /** + * Separate utility method, generates a hibernate mapping for a set of epackages and options. The hibernate.hbm.xml + * is returned as a string. The mapping is not registered or used in any other way by Elver. + */ + public String generateMapping(EPackage[] epackages, Properties props) { + return generateMapping(epackages, props, ExtensionManagerFactory.getInstance().create()); + } + + /** + * Separate utility method, generates a hibernate mapping for a set of epackages and options. The hibernate.hbm.xml + * is returned as a string. The mapping is not registered or used in any other way by Elver. + */ + public String generateMapping(EPackage[] epackages, Properties props, ExtensionManager extensionManager) { + props.put(PersistenceOptions.ALSO_MAP_AS_CLASS, "false"); + CDOHelper.getInstance().registerCDOExtensions(extensionManager); + return MappingUtil.generateMapping(epackages, props, extensionManager); + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOMappingContext.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOMappingContext.java new file mode 100755 index 000000000..15959d834 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOMappingContext.java @@ -0,0 +1,108 @@ +/*************************************************************************** + * Copyright (c) 2004 - 2008 Springsite B.V. and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal - initial API and implementation + **************************************************************************/ +package org.eclipse.emf.teneo.hibernate.cdo; + +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.extension.ExtensionManager; +import org.eclipse.emf.teneo.hibernate.mapper.EntityMapper; +import org.eclipse.emf.teneo.hibernate.mapper.MappingContext; +import org.eclipse.emf.teneo.simpledom.Element; + +/** + * Mapping context for CDO. It provides cdo classes as propertyhandler etc. + * + * @author <a href="mtaal@elver.org">Martin Taal</a> + */ +public class CDOMappingContext extends MappingContext { + + /** Add a tuplizer element or not */ + @Override + public void addTuplizerElement(Element entityElement, PAnnotatedEClass aclass) { + Element tuplizerElement = + new Element("tuplizer").addAttribute("entity-mode", "dynamic-map").addAttribute("class", + "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"); + entityElement.add(0, tuplizerElement); + tuplizerElement = + new Element("tuplizer").addAttribute("entity-mode", "pojo").addAttribute("class", + "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"); + entityElement.add(0, tuplizerElement); + } + + public void setExtensionManager(ExtensionManager extensionManager) { + super.setExtensionManager(extensionManager); + extensionManager.registerExtension(EntityMapper.class.getName(), CDOEntityMapper.class.getName()); + } + + @Override + public String getComponentPropertyHandlerName() { + return super.getComponentPropertyHandlerName(); + } + + @Override + public String getIdPropertyHandlerName() { + return null; + } + + @Override + public String getPropertyHandlerName() { + return super.getPropertyHandlerName(); + } + + @Override + public String getVersionPropertyHandlerName() { + return null; + } + + @Override + public String getEnumUserType() { + return "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOENumStringType"; + } + + @Override + public String getEnumIntegerUserType() { + return "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOENumIntegerType"; + } + + @Override + public String getSyntheticIdPropertyHandlerName() { + return "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOSyntheticIdPropertyHandler"; + } + + @Override + public String getSyntheticVersionPropertyHandlerName() { + return "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOSyntheticVersionPropertyHandler"; + } + + @Override + public String getDynamicEnumUserType() { + return "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOENumStringType"; + } + + @Override + public String getDynamicEnumIntegerUserType() { + return "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOENumIntegerType"; + } + + @Override + public String getDefaultUserType() { + return super.getDefaultUserType(); + } + + @Override + public String getXSDDateUserType() { + return super.getXSDDateUserType(); + } + + @Override + public String getXSDDateTimeUserType() { + return super.getXSDDateTimeUserType(); + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Any.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Any.java new file mode 100644 index 000000000..dd603eb20 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Any.java @@ -0,0 +1,141 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Any.java,v 1.1 2009/06/27 09:19:10 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.annotations.pannotation.FetchType; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Any</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaDef <em>Meta Def</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaColumn <em>Meta Column</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getFetch <em>Fetch</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#isOptional <em>Optional</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAny() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface Any extends HbAnnotation { + /** + * Returns the value of the '<em><b>Meta Def</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Meta Def</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Meta Def</em>' attribute. + * @see #setMetaDef(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAny_MetaDef() + * @model + * @generated + */ + String getMetaDef(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaDef <em>Meta Def</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Meta Def</em>' attribute. + * @see #getMetaDef() + * @generated + */ + void setMetaDef(String value); + + /** + * Returns the value of the '<em><b>Meta Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Meta Column</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Meta Column</em>' containment reference. + * @see #setMetaColumn(Column) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAny_MetaColumn() + * @model containment="true" + * @generated + */ + Column getMetaColumn(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaColumn <em>Meta Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Meta Column</em>' containment reference. + * @see #getMetaColumn() + * @generated + */ + void setMetaColumn(Column value); + + /** + * Returns the value of the '<em><b>Fetch</b></em>' attribute. + * The default value is <code>"EAGER"</code>. + * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.FetchType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Fetch</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Fetch</em>' attribute. + * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType + * @see #setFetch(FetchType) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAny_Fetch() + * @model default="EAGER" + * @generated + */ + FetchType getFetch(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getFetch <em>Fetch</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Fetch</em>' attribute. + * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType + * @see #getFetch() + * @generated + */ + void setFetch(FetchType value); + + /** + * Returns the value of the '<em><b>Optional</b></em>' attribute. + * The default value is <code>"true"</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Optional</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Optional</em>' attribute. + * @see #setOptional(boolean) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAny_Optional() + * @model default="true" + * @generated + */ + boolean isOptional(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#isOptional <em>Optional</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Optional</em>' attribute. + * @see #isOptional() + * @generated + */ + void setOptional(boolean value); + +} // Any diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/AnyMetaDef.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/AnyMetaDef.java new file mode 100644 index 000000000..2b5f25ee3 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/AnyMetaDef.java @@ -0,0 +1,127 @@ +/** + * <copyright> + * </copyright> + * + * $Id: AnyMetaDef.java,v 1.2 2009/06/28 02:05:07 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.common.util.EList; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Any Meta Def</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaType <em>Meta Type</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getIdType <em>Id Type</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaValues <em>Meta Values</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAnyMetaDef() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature' 1='EClass' 2='EPackage'" + * @generated + */ +public interface AnyMetaDef extends HbAnnotation { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAnyMetaDef_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Meta Type</b></em>' attribute. + * The default value is <code>"string"</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Meta Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Meta Type</em>' attribute. + * @see #setMetaType(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAnyMetaDef_MetaType() + * @model default="string" + * @generated + */ + String getMetaType(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaType <em>Meta Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Meta Type</em>' attribute. + * @see #getMetaType() + * @generated + */ + void setMetaType(String value); + + /** + * Returns the value of the '<em><b>Id Type</b></em>' attribute. + * The default value is <code>"string"</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Id Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Id Type</em>' attribute. + * @see #setIdType(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAnyMetaDef_IdType() + * @model default="string" required="true" + * @generated + */ + String getIdType(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getIdType <em>Id Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Id Type</em>' attribute. + * @see #getIdType() + * @generated + */ + void setIdType(String value); + + /** + * Returns the value of the '<em><b>Meta Values</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Meta Values</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>Meta Values</em>' containment reference list. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAnyMetaDef_MetaValues() + * @model containment="true" + * @generated + */ + EList<MetaValue> getMetaValues(); + +} // AnyMetaDef diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/BatchSize.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/BatchSize.java new file mode 100644 index 000000000..e9446c4e5 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/BatchSize.java @@ -0,0 +1,53 @@ +/** + * <copyright> + * </copyright> + * + * $Id: BatchSize.java,v 1.1 2009/03/15 15:08:01 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Batch Size</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize#getSize <em>Size</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getBatchSize() + * @model annotation="teneo/internal/Target 0='EClass' 1='EReference'" + * @generated + */ +public interface BatchSize extends HbAnnotation { + /** + * Returns the value of the '<em><b>Size</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Size</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Size</em>' attribute. + * @see #setSize(int) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getBatchSize_Size() + * @model required="true" + * @generated + */ + int getSize(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize#getSize <em>Size</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Size</em>' attribute. + * @see #getSize() + * @generated + */ + void setSize(int value); + +} // BatchSize diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cache.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cache.java new file mode 100755 index 000000000..c8049bed7 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cache.java @@ -0,0 +1,104 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Cache.java,v 1.5 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Cache</b></em>'. <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getUsage <em>Usage</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getRegion <em>Region</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getInclude <em>Include</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCache() + * @model annotation="http://annotation.elver.org/internal/Target 0='EReference' 1='EClass'" + * @generated + */ +public interface Cache extends HbAnnotation { + /** + * Returns the value of the '<em><b>Usage</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Usage</em>' attribute isn't clear, there really should be more of a description + * here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Usage</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy + * @see #setUsage(CacheConcurrencyStrategy) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCache_Usage() + * @model + * @generated + */ + CacheConcurrencyStrategy getUsage(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getUsage <em>Usage</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Usage</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy + * @see #getUsage() + * @generated + */ + void setUsage(CacheConcurrencyStrategy value); + + /** + * Returns the value of the '<em><b>Region</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Region</em>' attribute isn't clear, there really should be more of a description + * here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Region</em>' attribute. + * @see #setRegion(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCache_Region() + * @model + * @generated + */ + String getRegion(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getRegion <em>Region</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Region</em>' attribute. + * @see #getRegion() + * @generated + */ + void setRegion(String value); + + /** + * Returns the value of the '<em><b>Include</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Include</em>' attribute isn't clear, there really should be more of a description + * here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Include</em>' attribute. + * @see #setInclude(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCache_Include() + * @model + * @generated + */ + String getInclude(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getInclude <em>Include</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Include</em>' attribute. + * @see #getInclude() + * @generated + */ + void setInclude(String value); + +} // Cache diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CacheConcurrencyStrategy.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CacheConcurrencyStrategy.java new file mode 100755 index 000000000..17919b12f --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CacheConcurrencyStrategy.java @@ -0,0 +1,274 @@ +/** + * <copyright> + * </copyright> + * + * $Id: CacheConcurrencyStrategy.java,v 1.7 2010/02/04 11:03:37 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +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>Cache Concurrency Strategy</b></em>', + * and utility methods for working with them. <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCacheConcurrencyStrategy() + * @model + * @generated + */ +public enum CacheConcurrencyStrategy implements Enumerator { + /** + * The '<em><b>NONE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #NONE_VALUE + * @generated + * @ordered + */ + NONE(0, "NONE", "NONE"), /** + * The '<em><b>READ ONLY</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #READ_ONLY_VALUE + * @generated + * @ordered + */ + READ_ONLY(1, "READ_ONLY", "READ_ONLY"), /** + * The '<em><b>NONSTRICT READ WRITE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #NONSTRICT_READ_WRITE_VALUE + * @generated + * @ordered + */ + NONSTRICT_READ_WRITE(2, "NONSTRICT_READ_WRITE", "NONSTRICT_READ_WRITE"), /** + * The '<em><b>READ WRITE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #READ_WRITE_VALUE + * @generated + * @ordered + */ + READ_WRITE(3, "READ_WRITE", "READ_WRITE"), /** + * The '<em><b>TRANSACTIONAL</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #TRANSACTIONAL_VALUE + * @generated + * @ordered + */ + TRANSACTIONAL(4, "TRANSACTIONAL", "TRANSACTIONAL"); + +/** + * The '<em><b>NONE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>NONE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #NONE + * @model + * @generated + * @ordered + */ + public static final int NONE_VALUE = 0; +/** + * The '<em><b>READ ONLY</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>READ ONLY</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #READ_ONLY + * @model + * @generated + * @ordered + */ + public static final int READ_ONLY_VALUE = 1; +/** + * The '<em><b>NONSTRICT READ WRITE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>NONSTRICT READ WRITE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #NONSTRICT_READ_WRITE + * @model + * @generated + * @ordered + */ + public static final int NONSTRICT_READ_WRITE_VALUE = 2; +/** + * The '<em><b>READ WRITE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>READ WRITE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #READ_WRITE + * @model + * @generated + * @ordered + */ + public static final int READ_WRITE_VALUE = 3; +/** + * The '<em><b>TRANSACTIONAL</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>TRANSACTIONAL</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #TRANSACTIONAL + * @model + * @generated + * @ordered + */ + public static final int TRANSACTIONAL_VALUE = 4; +/** + * An array of all the '<em><b>Cache Concurrency Strategy</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final CacheConcurrencyStrategy[] VALUES_ARRAY = + new CacheConcurrencyStrategy[] { + NONE, + READ_ONLY, + NONSTRICT_READ_WRITE, + READ_WRITE, + TRANSACTIONAL, + }; +/** + * A public read-only list of all the '<em><b>Cache Concurrency Strategy</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<CacheConcurrencyStrategy> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + +/** + * Returns the '<em><b>Cache Concurrency Strategy</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static CacheConcurrencyStrategy get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + CacheConcurrencyStrategy result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + +/** + * Returns the '<em><b>Cache Concurrency Strategy</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static CacheConcurrencyStrategy getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + CacheConcurrencyStrategy result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + +/** + * Returns the '<em><b>Cache Concurrency Strategy</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static CacheConcurrencyStrategy get(int value) { + switch (value) { + case NONE_VALUE: return NONE; + case READ_ONLY_VALUE: return READ_ONLY; + case NONSTRICT_READ_WRITE_VALUE: return NONSTRICT_READ_WRITE; + case READ_WRITE_VALUE: return READ_WRITE; + case TRANSACTIONAL_VALUE: return TRANSACTIONAL; + } + 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 CacheConcurrencyStrategy(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; + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cascade.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cascade.java new file mode 100755 index 000000000..bc76acc02 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cascade.java @@ -0,0 +1,46 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Cascade.java,v 1.8 2009/03/07 21:15:20 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.common.util.EList; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Cascade</b></em>'. <!-- + * end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cascade#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCascade() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface Cascade extends HbAnnotation { + /** + * Returns the value of the '<em><b>Value</b></em>' attribute list. The list contents are of + * type {@link org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType}. The literals are + * from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType}. <!-- + * begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute list isn't clear, there really should be + * more of a description here... + * </p> + * <!-- end-user-doc --> + * + * @return the value of the '<em>Value</em>' attribute list. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCascade_Value() + * @model + * @generated + */ + EList<HbCascadeType> getValue(); + +} // Cascade diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CollectionOfElements.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CollectionOfElements.java new file mode 100755 index 000000000..a1cfb0676 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CollectionOfElements.java @@ -0,0 +1,82 @@ +/** + * <copyright> + * </copyright> + * + * $Id: CollectionOfElements.java,v 1.5 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.teneo.annotations.pannotation.FetchType; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Collection Of Elements</b></em>'. <!-- + * end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getTargetElement <em>Target Element</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getFetch <em>Fetch</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCollectionOfElements() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface CollectionOfElements extends HbAnnotation { + /** + * Returns the value of the '<em><b>Target Element</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Target Element</em>' attribute isn't clear, there really should be more of a + * description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Target Element</em>' attribute. + * @see #setTargetElement(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCollectionOfElements_TargetElement() + * @model + * @generated + */ + String getTargetElement(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getTargetElement <em>Target Element</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Target Element</em>' attribute. + * @see #getTargetElement() + * @generated + */ + void setTargetElement(String value); + + /** + * Returns the value of the '<em><b>Fetch</b></em>' attribute. The default value is <code>"LAZY"</code>. The + * literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.FetchType}. <!-- + * begin-user-doc --> + * <p> + * If the meaning of the '<em>Fetch</em>' attribute isn't clear, there really should be more of a description + * here... + * </p> + * <!-- end-user-doc --> + * + * @return the value of the '<em>Fetch</em>' attribute. + * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType + * @see #setFetch(FetchType) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotationPackage#getCollectionOfElements_Fetch() + * @model default="LAZY" + * @generated + */ + FetchType getFetch(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getFetch <em>Fetch</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Fetch</em>' attribute. + * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType + * @see #getFetch() + * @generated + */ + void setFetch(FetchType value); + +} // CollectionOfElements diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Columns.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Columns.java new file mode 100755 index 000000000..851bf611b --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Columns.java @@ -0,0 +1,25 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Columns.java,v 1.4 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Columns</b></em>'. <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Columns#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotationPackage#getColumns() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface Columns extends HbAnnotation { +} // Columns diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/DiscriminatorFormula.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/DiscriminatorFormula.java new file mode 100755 index 000000000..a92910688 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/DiscriminatorFormula.java @@ -0,0 +1,53 @@ +/** + * <copyright> + * </copyright> + * + * $Id: DiscriminatorFormula.java,v 1.1 2008/06/10 08:24:59 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Discriminator Formula</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getDiscriminatorFormula() + * @model annotation="teneo/internal/Target 0='EClass'" + * @generated + */ +public interface DiscriminatorFormula extends HbAnnotation { + /** + * Returns the value of the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' attribute. + * @see #setValue(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getDiscriminatorFormula_Value() + * @model + * @generated + */ + String getValue(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula#getValue <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Value</em>' attribute. + * @see #getValue() + * @generated + */ + void setValue(String value); + +} // DiscriminatorFormula diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Fetch.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Fetch.java new file mode 100755 index 000000000..7cd02aba7 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Fetch.java @@ -0,0 +1,56 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Fetch.java,v 1.4 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Fetch</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Fetch#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFetch() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface Fetch extends HbAnnotation { + /** + * Returns the value of the '<em><b>Value</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType + * @see #setValue(HbFetchType) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFetch_Value() + * @model + * @generated + */ + HbFetchType getValue(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Fetch#getValue <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Value</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType + * @see #getValue() + * @generated + */ + void setValue(HbFetchType value); + +} // Fetch
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filter.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filter.java new file mode 100755 index 000000000..2dcb141e7 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filter.java @@ -0,0 +1,80 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Filter.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Filter</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getCondition <em>Condition</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilter() + * @model annotation="http://annotation.elver.org/internal/Target 0='EClass' 1='EReference'" + * @generated + */ +public interface Filter extends HbAnnotation { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilter_Name() + * @model required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Condition</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Condition</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Condition</em>' attribute. + * @see #setCondition(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilter_Condition() + * @model + * @generated + */ + String getCondition(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getCondition <em>Condition</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Condition</em>' attribute. + * @see #getCondition() + * @generated + */ + void setCondition(String value); + +} // Filter diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDef.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDef.java new file mode 100755 index 000000000..4b290ae1f --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDef.java @@ -0,0 +1,98 @@ +/** + * <copyright> + * </copyright> + * + * $Id: FilterDef.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.common.util.EList; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Filter Def</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getDefaultCondition <em>Default Condition</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getParameters <em>Parameters</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilterDef() + * @model annotation="http://annotation.elver.org/internal/Target 0='EClass' 1='EReference'" + * @generated + */ +public interface FilterDef extends HbAnnotation { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilterDef_Name() + * @model required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Default Condition</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Default Condition</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Default Condition</em>' attribute. + * @see #setDefaultCondition(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilterDef_DefaultCondition() + * @model + * @generated + */ + String getDefaultCondition(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getDefaultCondition <em>Default Condition</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Default Condition</em>' attribute. + * @see #getDefaultCondition() + * @generated + */ + void setDefaultCondition(String value); + + /** + * Returns the value of the '<em><b>Parameters</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Parameters</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Parameters</em>' reference list. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilterDef_Parameters() + * @model + * @generated + */ + EList<ParamDef> getParameters(); + +} // FilterDef diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDefs.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDefs.java new file mode 100755 index 000000000..bcce44229 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDefs.java @@ -0,0 +1,44 @@ +/** + * <copyright> + * </copyright> + * + * $Id: FilterDefs.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.common.util.EList; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Filter Defs</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDefs#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilterDefs() + * @model annotation="http://annotation.elver.org/internal/Target 0='EClass' 1='EReference'" + * @generated + */ +public interface FilterDefs extends HbAnnotation { + /** + * Returns the value of the '<em><b>Value</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' reference list. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilterDefs_Value() + * @model required="true" + * @generated + */ + EList<ParamDef> getValue(); + +} // FilterDefs diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filters.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filters.java new file mode 100755 index 000000000..7d430b158 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filters.java @@ -0,0 +1,44 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Filters.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.common.util.EList; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Filters</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filters#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilters() + * @model annotation="http://annotation.elver.org/internal/Target 0='EClass' 1='EReference'" + * @generated + */ +public interface Filters extends HbAnnotation { + /** + * Returns the value of the '<em><b>Value</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' reference list. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilters_Value() + * @model required="true" + * @generated + */ + EList<Filter> getValue(); + +} // Filters diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ForceDiscriminator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ForceDiscriminator.java new file mode 100755 index 000000000..0bc75bce6 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ForceDiscriminator.java @@ -0,0 +1,21 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ForceDiscriminator.java,v 1.1 2008/07/12 13:10:34 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Force Discriminator</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getForceDiscriminator() + * @model annotation="teneo/internal/Target 0='EClass'" + * @generated + */ +public interface ForceDiscriminator extends HbAnnotation { +} // ForceDiscriminator diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Formula.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Formula.java new file mode 100755 index 000000000..d05761a91 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Formula.java @@ -0,0 +1,53 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Formula.java,v 1.1 2008/07/12 13:10:33 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Formula</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Formula#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFormula() + * @model annotation="teneo/internal/Target 0='EAttribute'" + * @generated + */ +public interface Formula extends HbAnnotation { + /** + * Returns the value of the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' attribute. + * @see #setValue(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFormula_Value() + * @model + * @generated + */ + String getValue(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Formula#getValue <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Value</em>' attribute. + * @see #getValue() + * @generated + */ + void setValue(String value); + +} // Formula diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Generated.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Generated.java new file mode 100755 index 000000000..1d6da8175 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Generated.java @@ -0,0 +1,56 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Generated.java,v 1.1 2007/07/11 17:35:11 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Generated</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Generated#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenerated() + * @model annotation="http://annotation.elver.org/internal/Target 0='EAttribute'" + * @generated + */ +public interface Generated extends HbAnnotation { + /** + * Returns the value of the '<em><b>Value</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime + * @see #setValue(GenerationTime) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenerated_Value() + * @model + * @generated + */ + GenerationTime getValue(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Generated#getValue <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Value</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime + * @see #getValue() + * @generated + */ + void setValue(GenerationTime value); + +} // Generated diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenerationTime.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenerationTime.java new file mode 100755 index 000000000..570e45fc3 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenerationTime.java @@ -0,0 +1,239 @@ +/** + * <copyright> + * </copyright> + * + * $Id: GenerationTime.java,v 1.1 2007/07/11 17:35:11 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +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>Generation Time</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenerationTime() + * @model + * @generated + */ +public enum GenerationTime implements Enumerator { + /** + * The '<em><b>NEVER</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #NEVER_VALUE + * @generated + * @ordered + */ + NEVER(0, "NEVER", "NEVER"), + + /** + * The '<em><b>INSERT</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #INSERT_VALUE + * @generated + * @ordered + */ + INSERT(1, "INSERT", "INSERT"), + + /** + * The '<em><b>ALWAYS</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #ALWAYS_VALUE + * @generated + * @ordered + */ + ALWAYS(2, "ALWAYS", "ALWAYS"); + + /** + * The '<em><b>NEVER</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>NEVER</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #NEVER + * @model + * @generated + * @ordered + */ + public static final int NEVER_VALUE = 0; + + /** + * The '<em><b>INSERT</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>INSERT</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #INSERT + * @model + * @generated + * @ordered + */ + public static final int INSERT_VALUE = 1; + + /** + * The '<em><b>ALWAYS</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>ALWAYS</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #ALWAYS + * @model + * @generated + * @ordered + */ + public static final int ALWAYS_VALUE = 2; + + /** + * An array of all the '<em><b>Generation Time</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final GenerationTime[] VALUES_ARRAY = + new GenerationTime[] { + NEVER, + INSERT, + ALWAYS, + }; + + /** + * A public read-only list of all the '<em><b>Generation Time</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<GenerationTime> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Generation Time</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static GenerationTime get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + GenerationTime result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Generation Time</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static GenerationTime getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + GenerationTime result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Generation Time</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static GenerationTime get(int value) { + switch (value) { + case NEVER_VALUE: return NEVER; + case INSERT_VALUE: return INSERT; + case ALWAYS_VALUE: return ALWAYS; + } + 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 GenerationTime(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; + } + +} //GenerationTime diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenericGenerator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenericGenerator.java new file mode 100755 index 000000000..be013faf0 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenericGenerator.java @@ -0,0 +1,96 @@ +/** + * <copyright> + * </copyright> + * + * $Id: GenericGenerator.java,v 1.6 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.common.util.EList; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Generic Generator</b></em>'. <!-- + * end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getStrategy <em>Strategy</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getParameters <em>Parameters</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenericGenerator() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature' 1='EClass' 2='EPackage'" + * annotation="http://annotation.elver.org/internal/Collection name='GenericGenerators' packageNS='http://www.eclipse.org/emf/teneo/2006/HbAnnotation'" + * @generated + */ +public interface GenericGenerator extends HbAnnotation { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description + * here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenericGenerator_Name() + * @model required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Strategy</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Strategy</em>' attribute isn't clear, there really should be more of a description + * here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Strategy</em>' attribute. + * @see #setStrategy(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenericGenerator_Strategy() + * @model required="true" + * @generated + */ + String getStrategy(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getStrategy <em>Strategy</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Strategy</em>' attribute. + * @see #getStrategy() + * @generated + */ + void setStrategy(String value); + + /** + * Returns the value of the '<em><b>Parameters</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Parameters</em>' reference list isn't clear, there really should be more of a + * description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Parameters</em>' reference list. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenericGenerator_Parameters() + * @model + * @generated + */ + EList<Parameter> getParameters(); + +} // GenericGenerator diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbAnnotation.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbAnnotation.java new file mode 100755 index 000000000..99ded43c4 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbAnnotation.java @@ -0,0 +1,23 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotation.java,v 1.5 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Hb Annotation</b></em>'. <!-- end-user-doc + * --> + * + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotationPackage#getHbAnnotation() + * @model interface="true" abstract="true" annotation="http://www.eclipse.org/emf/2002/Ecore + * constraints='CompatibleEModelElementType AnnotationIsSupported'" + * @generated + */ +public interface HbAnnotation extends PAnnotation { + +} // HbAnnotation diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbCascadeType.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbCascadeType.java new file mode 100755 index 000000000..526b10ee9 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbCascadeType.java @@ -0,0 +1,455 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbCascadeType.java,v 1.1 2008/09/01 12:45:17 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +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>Hb Cascade Type</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbCascadeType() + * @model + * @generated + */ +public enum HbCascadeType implements Enumerator { + /** + * The '<em><b>ALL</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #ALL_VALUE + * @generated + * @ordered + */ + ALL(0, "ALL", "ALL"), + + /** + * The '<em><b>PERSIST</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #PERSIST_VALUE + * @generated + * @ordered + */ + PERSIST(1, "PERSIST", "PERSIST"), + + /** + * The '<em><b>MERGE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #MERGE_VALUE + * @generated + * @ordered + */ + MERGE(2, "MERGE", "MERGE"), + + /** + * The '<em><b>REMOVE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #REMOVE_VALUE + * @generated + * @ordered + */ + REMOVE(3, "REMOVE", "REMOVE"), + + /** + * The '<em><b>REFRESH</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #REFRESH_VALUE + * @generated + * @ordered + */ + REFRESH(4, "REFRESH", "REFRESH"), + + /** + * The '<em><b>DELETE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #DELETE_VALUE + * @generated + * @ordered + */ + DELETE(5, "DELETE", "DELETE"), + + /** + * The '<em><b>SAVE UPDATE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #SAVE_UPDATE_VALUE + * @generated + * @ordered + */ + SAVE_UPDATE(6, "SAVE_UPDATE", "SAVE_UPDATE"), + + /** + * The '<em><b>REPLICATE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #REPLICATE_VALUE + * @generated + * @ordered + */ + REPLICATE(7, "REPLICATE", "REPLICATE"), + + /** + * The '<em><b>DELETE ORPHAN</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #DELETE_ORPHAN_VALUE + * @generated + * @ordered + */ + DELETE_ORPHAN(8, "DELETE_ORPHAN", "DELETE_ORPHAN"), + + /** + * The '<em><b>LOCK</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #LOCK_VALUE + * @generated + * @ordered + */ + LOCK(9, "LOCK", "LOCK"), + + /** + * The '<em><b>EVICT</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #EVICT_VALUE + * @generated + * @ordered + */ + EVICT(10, "EVICT", "EVICT"); + + /** + * The '<em><b>ALL</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>ALL</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #ALL + * @model + * @generated + * @ordered + */ + public static final int ALL_VALUE = 0; + + /** + * The '<em><b>PERSIST</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>PERSIST</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #PERSIST + * @model + * @generated + * @ordered + */ + public static final int PERSIST_VALUE = 1; + + /** + * The '<em><b>MERGE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>MERGE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #MERGE + * @model + * @generated + * @ordered + */ + public static final int MERGE_VALUE = 2; + + /** + * The '<em><b>REMOVE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>REMOVE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #REMOVE + * @model + * @generated + * @ordered + */ + public static final int REMOVE_VALUE = 3; + + /** + * The '<em><b>REFRESH</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>REFRESH</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #REFRESH + * @model + * @generated + * @ordered + */ + public static final int REFRESH_VALUE = 4; + + /** + * The '<em><b>DELETE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>DELETE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #DELETE + * @model + * @generated + * @ordered + */ + public static final int DELETE_VALUE = 5; + + /** + * The '<em><b>SAVE UPDATE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>SAVE UPDATE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #SAVE_UPDATE + * @model + * @generated + * @ordered + */ + public static final int SAVE_UPDATE_VALUE = 6; + + /** + * The '<em><b>REPLICATE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>REPLICATE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #REPLICATE + * @model + * @generated + * @ordered + */ + public static final int REPLICATE_VALUE = 7; + + /** + * The '<em><b>DELETE ORPHAN</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>DELETE ORPHAN</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #DELETE_ORPHAN + * @model + * @generated + * @ordered + */ + public static final int DELETE_ORPHAN_VALUE = 8; + + /** + * The '<em><b>LOCK</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>LOCK</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #LOCK + * @model + * @generated + * @ordered + */ + public static final int LOCK_VALUE = 9; + + /** + * The '<em><b>EVICT</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>EVICT</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #EVICT + * @model + * @generated + * @ordered + */ + public static final int EVICT_VALUE = 10; + + /** + * An array of all the '<em><b>Hb Cascade Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final HbCascadeType[] VALUES_ARRAY = + new HbCascadeType[] { + ALL, + PERSIST, + MERGE, + REMOVE, + REFRESH, + DELETE, + SAVE_UPDATE, + REPLICATE, + DELETE_ORPHAN, + LOCK, + EVICT, + }; + + /** + * A public read-only list of all the '<em><b>Hb Cascade Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<HbCascadeType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Hb Cascade Type</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static HbCascadeType get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + HbCascadeType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Hb Cascade Type</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static HbCascadeType getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + HbCascadeType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Hb Cascade Type</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static HbCascadeType get(int value) { + switch (value) { + case ALL_VALUE: return ALL; + case PERSIST_VALUE: return PERSIST; + case MERGE_VALUE: return MERGE; + case REMOVE_VALUE: return REMOVE; + case REFRESH_VALUE: return REFRESH; + case DELETE_VALUE: return DELETE; + case SAVE_UPDATE_VALUE: return SAVE_UPDATE; + case REPLICATE_VALUE: return REPLICATE; + case DELETE_ORPHAN_VALUE: return DELETE_ORPHAN; + case LOCK_VALUE: return LOCK; + case EVICT_VALUE: return EVICT; + } + 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 HbCascadeType(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; + } + +} //HbCascadeType diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbEntity.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbEntity.java new file mode 100755 index 000000000..37425a438 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbEntity.java @@ -0,0 +1,224 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbEntity.java,v 1.1 2008/08/26 21:19:08 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Hb Entity</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicInsert <em>Dynamic Insert</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicUpdate <em>Dynamic Update</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isSelectBeforeUpdate <em>Select Before Update</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isMutable <em>Mutable</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPersister <em>Persister</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getOptimisticLock <em>Optimistic Lock</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPolymorphism <em>Polymorphism</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface HbEntity extends HbAnnotation { + /** + * Returns the value of the '<em><b>Dynamic Insert</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Dynamic Insert</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Dynamic Insert</em>' attribute. + * @see #setDynamicInsert(boolean) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_DynamicInsert() + * @model + * @generated + */ + boolean isDynamicInsert(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicInsert <em>Dynamic Insert</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Dynamic Insert</em>' attribute. + * @see #isDynamicInsert() + * @generated + */ + void setDynamicInsert(boolean value); + + /** + * Returns the value of the '<em><b>Dynamic Update</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Dynamic Update</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Dynamic Update</em>' attribute. + * @see #setDynamicUpdate(boolean) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_DynamicUpdate() + * @model + * @generated + */ + boolean isDynamicUpdate(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicUpdate <em>Dynamic Update</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Dynamic Update</em>' attribute. + * @see #isDynamicUpdate() + * @generated + */ + void setDynamicUpdate(boolean value); + + /** + * Returns the value of the '<em><b>Select Before Update</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Select Before Update</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Select Before Update</em>' attribute. + * @see #setSelectBeforeUpdate(boolean) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_SelectBeforeUpdate() + * @model + * @generated + */ + boolean isSelectBeforeUpdate(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isSelectBeforeUpdate <em>Select Before Update</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Select Before Update</em>' attribute. + * @see #isSelectBeforeUpdate() + * @generated + */ + void setSelectBeforeUpdate(boolean value); + + /** + * Returns the value of the '<em><b>Mutable</b></em>' attribute. + * The default value is <code>"true"</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Mutable</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Mutable</em>' attribute. + * @see #setMutable(boolean) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_Mutable() + * @model default="true" + * @generated + */ + boolean isMutable(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isMutable <em>Mutable</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Mutable</em>' attribute. + * @see #isMutable() + * @generated + */ + void setMutable(boolean value); + + /** + * Returns the value of the '<em><b>Persister</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Persister</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Persister</em>' attribute. + * @see #setPersister(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_Persister() + * @model + * @generated + */ + String getPersister(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPersister <em>Persister</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Persister</em>' attribute. + * @see #getPersister() + * @generated + */ + void setPersister(String value); + + /** + * Returns the value of the '<em><b>Optimistic Lock</b></em>' attribute. + * The default value is <code>"VERSION"</code>. + * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Optimistic Lock</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Optimistic Lock</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType + * @see #setOptimisticLock(OptimisticLockType) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_OptimisticLock() + * @model default="VERSION" + * @generated + */ + OptimisticLockType getOptimisticLock(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getOptimisticLock <em>Optimistic Lock</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Optimistic Lock</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType + * @see #getOptimisticLock() + * @generated + */ + void setOptimisticLock(OptimisticLockType value); + + /** + * Returns the value of the '<em><b>Polymorphism</b></em>' attribute. + * The default value is <code>"IMPLICIT"</code>. + * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Polymorphism</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Polymorphism</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType + * @see #setPolymorphism(PolymorphismType) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_Polymorphism() + * @model default="IMPLICIT" + * @generated + */ + PolymorphismType getPolymorphism(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPolymorphism <em>Polymorphism</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Polymorphism</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType + * @see #getPolymorphism() + * @generated + */ + void setPolymorphism(PolymorphismType value); + +} // HbEntity diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbFetchType.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbFetchType.java new file mode 100755 index 000000000..391511523 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbFetchType.java @@ -0,0 +1,229 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbFetchType.java,v 1.5 2010/02/04 11:03:36 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +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>Hb Fetch Type</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbFetchType() + * @model + * @generated + */ +public enum HbFetchType implements Enumerator { + /** + * The '<em><b>JOIN</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #JOIN_VALUE + * @generated + * @ordered + */ + JOIN(0, "JOIN", "JOIN"), /** + * The '<em><b>SELECT</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #SELECT_VALUE + * @generated + * @ordered + */ + SELECT(1, "SELECT", "SELECT"), /** + * The '<em><b>SUBSELECT</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #SUBSELECT_VALUE + * @generated + * @ordered + */ + SUBSELECT(2, "SUBSELECT", "SUBSELECT") + ; + +/** + * The '<em><b>JOIN</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>JOIN</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #JOIN + * @model + * @generated + * @ordered + */ + public static final int JOIN_VALUE = 0; +/** + * The '<em><b>SELECT</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>SELECT</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #SELECT + * @model + * @generated + * @ordered + */ + public static final int SELECT_VALUE = 1; +/** + * The '<em><b>SUBSELECT</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>SUBSELECT</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #SUBSELECT + * @model + * @generated + * @ordered + */ + public static final int SUBSELECT_VALUE = 2; +/** + * An array of all the '<em><b>Hb Fetch Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final HbFetchType[] VALUES_ARRAY = + new HbFetchType[] { + JOIN, + SELECT, + SUBSELECT, + }; +/** + * A public read-only list of all the '<em><b>Hb Fetch Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<HbFetchType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + +/** + * Returns the '<em><b>Hb Fetch Type</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static HbFetchType get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + HbFetchType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + +/** + * Returns the '<em><b>Hb Fetch Type</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static HbFetchType getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + HbFetchType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + +/** + * Returns the '<em><b>Hb Fetch Type</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static HbFetchType get(int value) { + switch (value) { + case JOIN_VALUE: return JOIN; + case SELECT_VALUE: return SELECT; + case SUBSELECT_VALUE: return SUBSELECT; + } + 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 HbFetchType(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; + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbMapKey.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbMapKey.java new file mode 100755 index 000000000..a7a278b0c --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbMapKey.java @@ -0,0 +1,45 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbMapKey.java,v 1.2 2010/02/04 11:03:38 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.teneo.annotations.pannotation.Column; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Hb Map Key</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey#getColumns <em>Columns</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbMapKey() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface HbMapKey extends HbAnnotation { + /** + * Returns the value of the '<em><b>Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.Column}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Columns</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>Columns</em>' containment reference list. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbMapKey_Columns() + * @model containment="true" ordered="false" + * @generated + */ + EList<Column> getColumns(); + +} // HbMapKey diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationFactory.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationFactory.java new file mode 100755 index 000000000..0b852db48 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationFactory.java @@ -0,0 +1,312 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbannotationFactory.java,v 1.13 2009/06/27 09:19:10 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +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.emf.teneo.hibernate.hbannotation.HbannotationPackage + * @generated + */ +public interface HbannotationFactory extends EFactory { + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + HbannotationFactory eINSTANCE = org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Cascade</em>'. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @return a new object of class '<em>Cascade</em>'. + * @generated + */ + Cascade createCascade(); + + /** + * Returns a new object of class '<em>Collection Of Elements</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Collection Of Elements</em>'. + * @generated + */ + CollectionOfElements createCollectionOfElements(); + + /** + * Returns a new object of class '<em>Hb Map Key</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Hb Map Key</em>'. + * @generated + */ + HbMapKey createHbMapKey(); + + /** + * Returns a new object of class '<em>Parameter</em>'. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @return a new object of class '<em>Parameter</em>'. + * @generated + */ + Parameter createParameter(); + + /** + * Returns a new object of class '<em>Type</em>'. <!-- begin-user-doc --> <!-- end-user-doc + * --> + * + * @return a new object of class '<em>Type</em>'. + * @generated + */ + Type createType(); + + /** + * Returns a new object of class '<em>Where</em>'. <!-- begin-user-doc --> <!-- end-user-doc + * --> + * + * @return a new object of class '<em>Where</em>'. + * @generated + */ + Where createWhere(); + + /** + * Returns a new object of class '<em>Id Bag</em>'. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @return a new object of class '<em>Id Bag</em>'. + * @generated + */ + IdBag createIdBag(); + + /** + * Returns a new object of class '<em>Generic Generator</em>'. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @return a new object of class '<em>Generic Generator</em>'. + * @generated + */ + GenericGenerator createGenericGenerator(); + + /** + * Returns a new object of class '<em>Cache</em>'. <!-- begin-user-doc --> <!-- end-user-doc + * --> + * + * @return a new object of class '<em>Cache</em>'. + * @generated + */ + Cache createCache(); + + /** + * Returns a new object of class '<em>Type Def</em>'. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @return a new object of class '<em>Type Def</em>'. + * @generated + */ + TypeDef createTypeDef(); + + /** + * Returns a new object of class '<em>Fetch</em>'. <!-- begin-user-doc --> <!-- end-user-doc + * --> + * + * @return a new object of class '<em>Fetch</em>'. + * @generated + */ + Fetch createFetch(); + + /** + * Returns a new object of class '<em>On Delete</em>'. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @return a new object of class '<em>On Delete</em>'. + * @generated + */ + OnDelete createOnDelete(); + + /** + * Returns a new object of class '<em>Proxy</em>'. <!-- begin-user-doc --> <!-- end-user-doc + * --> + * + * @return a new object of class '<em>Proxy</em>'. + * @generated + */ + Proxy createProxy(); + + /** + * Returns a new object of class '<em>Index</em>'. <!-- begin-user-doc --> <!-- end-user-doc + * --> + * + * @return a new object of class '<em>Index</em>'. + * @generated + */ + Index createIndex(); + + /** + * Returns a new object of class '<em>Generated</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Generated</em>'. + * @generated + */ + Generated createGenerated(); + + /** + * Returns a new object of class '<em>Named Query</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Named Query</em>'. + * @generated + */ + NamedQuery createNamedQuery(); + + /** + * Returns a new object of class '<em>Filter</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Filter</em>'. + * @generated + */ + Filter createFilter(); + + /** + * Returns a new object of class '<em>Param Def</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Param Def</em>'. + * @generated + */ + ParamDef createParamDef(); + + /** + * Returns a new object of class '<em>Filter Def</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Filter Def</em>'. + * @generated + */ + FilterDef createFilterDef(); + + /** + * Returns a new object of class '<em>Discriminator Formula</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Discriminator Formula</em>'. + * @generated + */ + DiscriminatorFormula createDiscriminatorFormula(); + + /** + * Returns a new object of class '<em>Natural Id</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Natural Id</em>'. + * @generated + */ + NaturalId createNaturalId(); + + /** + * Returns a new object of class '<em>Map Key Many To Many</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Map Key Many To Many</em>'. + * @generated + */ + MapKeyManyToMany createMapKeyManyToMany(); + + /** + * Returns a new object of class '<em>Force Discriminator</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Force Discriminator</em>'. + * @generated + */ + ForceDiscriminator createForceDiscriminator(); + + /** + * Returns a new object of class '<em>Immutable</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Immutable</em>'. + * @generated + */ + Immutable createImmutable(); + + /** + * Returns a new object of class '<em>Formula</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Formula</em>'. + * @generated + */ + Formula createFormula(); + + /** + * Returns a new object of class '<em>Not Found</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Not Found</em>'. + * @generated + */ + NotFound createNotFound(); + + /** + * Returns a new object of class '<em>Hb Entity</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Hb Entity</em>'. + * @generated + */ + HbEntity createHbEntity(); + + /** + * Returns a new object of class '<em>Batch Size</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Batch Size</em>'. + * @generated + */ + BatchSize createBatchSize(); + + /** + * Returns a new object of class '<em>Any</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Any</em>'. + * @generated + */ + Any createAny(); + + /** + * Returns a new object of class '<em>Meta Value</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Meta Value</em>'. + * @generated + */ + MetaValue createMetaValue(); + + /** + * Returns a new object of class '<em>Any Meta Def</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Any Meta Def</em>'. + * @generated + */ + AnyMetaDef createAnyMetaDef(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + HbannotationPackage getHbannotationPackage(); + +} // HbannotationFactory diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationPackage.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationPackage.java new file mode 100755 index 000000000..55263399b --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationPackage.java @@ -0,0 +1,3458 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbannotationPackage.java,v 1.16 2010/02/04 11:03:37 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +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.teneo.annotations.pannotation.PannotationPackage; + +/** + * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains accessors for the meta + * objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationFactory + * @model kind="package" + * annotation="teneo.mapping.source 1='http://hibernate.elver.org/'" + * @generated + */ +public interface HbannotationPackage extends EPackage { + /** + * The package name. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + String eNAME = "hbannotation"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.eclipse.org/emf/teneo/2006/HbAnnotation"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "org.eclipse.emf.teneo.hibernate"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + HbannotationPackage eINSTANCE = org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbAnnotationImpl <em>Hb Annotation</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbAnnotationImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbAnnotation() + * @generated + */ + int HB_ANNOTATION = 0; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATION__EMODEL_ELEMENT = PannotationPackage.PANNOTATION__EMODEL_ELEMENT; + + /** + * The number of structural features of the '<em>Hb Annotation</em>' class. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + * @ordered + */ + int HB_ANNOTATION_FEATURE_COUNT = PannotationPackage.PANNOTATION_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CascadeImpl <em>Cascade</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.CascadeImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCascade() + * @generated + */ + int CASCADE = 1; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int CASCADE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CASCADE__VALUE = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Cascade</em>' class. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int CASCADE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CollectionOfElementsImpl <em>Collection Of Elements</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.CollectionOfElementsImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCollectionOfElements() + * @generated + */ + int COLLECTION_OF_ELEMENTS = 2; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int COLLECTION_OF_ELEMENTS__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Target Element</b></em>' attribute. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int COLLECTION_OF_ELEMENTS__TARGET_ELEMENT = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Fetch</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int COLLECTION_OF_ELEMENTS__FETCH = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Collection Of Elements</em>' class. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + * @ordered + */ + int COLLECTION_OF_ELEMENTS_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbMapKeyImpl <em>Hb Map Key</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbMapKeyImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbMapKey() + * @generated + */ + int HB_MAP_KEY = 3; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_MAP_KEY__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_MAP_KEY__COLUMNS = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Hb Map Key</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_MAP_KEY_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParameterImpl <em>Parameter</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParameterImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getParameter() + * @generated + */ + int PARAMETER = 4; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int PARAMETER__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int PARAMETER__NAME = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int PARAMETER__VALUE = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Parameter</em>' class. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int PARAMETER_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeImpl <em>Type</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getType() + * @generated + */ + int TYPE = 5; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int TYPE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Type</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int TYPE__TYPE = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Parameters</b></em>' reference list. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int TYPE__PARAMETERS = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Type</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TYPE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.WhereImpl <em>Where</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.WhereImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getWhere() + * @generated + */ + int WHERE = 6; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int WHERE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Clause</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int WHERE__CLAUSE = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Where</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int WHERE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.IdBagImpl <em>Id Bag</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.IdBagImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getIdBag() + * @generated + */ + int ID_BAG = 7; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int ID_BAG__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Generator</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ID_BAG__GENERATOR = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Type</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int ID_BAG__TYPE = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Table</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int ID_BAG__TABLE = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Id Bag</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ID_BAG_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.GenericGeneratorImpl <em>Generic Generator</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.GenericGeneratorImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getGenericGenerator() + * @generated + */ + int GENERIC_GENERATOR = 8; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERIC_GENERATOR__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int GENERIC_GENERATOR__NAME = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Strategy</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERIC_GENERATOR__STRATEGY = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Parameters</b></em>' reference list. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERIC_GENERATOR__PARAMETERS = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Generic Generator</em>' class. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + * @ordered + */ + int GENERIC_GENERATOR_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl <em>Cache</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCache() + * @generated + */ + int CACHE = 9; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int CACHE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Usage</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int CACHE__USAGE = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Region</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int CACHE__REGION = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Include</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int CACHE__INCLUDE = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Cache</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CACHE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeDefImpl <em>Type Def</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeDefImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getTypeDef() + * @generated + */ + int TYPE_DEF = 10; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int TYPE_DEF__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int TYPE_DEF__NAME = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Parameters</b></em>' reference list. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int TYPE_DEF__PARAMETERS = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Type Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TYPE_DEF__TYPE_CLASS = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Type Def</em>' class. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int TYPE_DEF_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FetchImpl <em>Fetch</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FetchImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFetch() + * @generated + */ + int FETCH = 11; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int FETCH__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int FETCH__VALUE = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Fetch</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FETCH_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.OnDeleteImpl <em>On Delete</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.OnDeleteImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getOnDelete() + * @generated + */ + int ON_DELETE = 12; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int ON_DELETE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Action</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int ON_DELETE__ACTION = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>On Delete</em>' class. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int ON_DELETE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ProxyImpl <em>Proxy</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ProxyImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getProxy() + * @generated + */ + int PROXY = 13; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int PROXY__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Proxy Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PROXY__PROXY_CLASS = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Lazy</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int PROXY__LAZY = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Proxy</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PROXY_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.IndexImpl <em>Index</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.IndexImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getIndex() + * @generated + */ + int INDEX = 14; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + * @ordered + */ + int INDEX__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + * @ordered + */ + int INDEX__NAME = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Index</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INDEX_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.GeneratedImpl <em>Generated</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.GeneratedImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getGenerated() + * @generated + */ + int GENERATED = 15; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERATED__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERATED__VALUE = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Generated</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERATED_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NamedQueryImpl <em>Named Query</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.NamedQueryImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNamedQuery() + * @generated + */ + int NAMED_QUERY = 16; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NAMED_QUERY__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NAMED_QUERY__NAME = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Query</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NAMED_QUERY__QUERY = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Named Query</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NAMED_QUERY_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterImpl <em>Filter</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFilter() + * @generated + */ + int FILTER = 17; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILTER__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILTER__NAME = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Condition</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILTER__CONDITION = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Filter</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILTER_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParamDefImpl <em>Param Def</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParamDefImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getParamDef() + * @generated + */ + int PARAM_DEF = 18; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PARAM_DEF__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PARAM_DEF__NAME = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PARAM_DEF__TYPE = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Param Def</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PARAM_DEF_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterDefImpl <em>Filter Def</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterDefImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFilterDef() + * @generated + */ + int FILTER_DEF = 19; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILTER_DEF__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILTER_DEF__NAME = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Default Condition</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILTER_DEF__DEFAULT_CONDITION = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Parameters</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILTER_DEF__PARAMETERS = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Filter Def</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FILTER_DEF_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.DiscriminatorFormulaImpl <em>Discriminator Formula</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.DiscriminatorFormulaImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getDiscriminatorFormula() + * @generated + */ + int DISCRIMINATOR_FORMULA = 20; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DISCRIMINATOR_FORMULA__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DISCRIMINATOR_FORMULA__VALUE = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Discriminator Formula</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DISCRIMINATOR_FORMULA_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NaturalIdImpl <em>Natural Id</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.NaturalIdImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNaturalId() + * @generated + */ + int NATURAL_ID = 21; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NATURAL_ID__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Mutable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NATURAL_ID__MUTABLE = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Natural Id</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NATURAL_ID_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.MapKeyManyToManyImpl <em>Map Key Many To Many</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.MapKeyManyToManyImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getMapKeyManyToMany() + * @generated + */ + int MAP_KEY_MANY_TO_MANY = 22; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MAP_KEY_MANY_TO_MANY__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MAP_KEY_MANY_TO_MANY__JOIN_COLUMNS = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Target Entity</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MAP_KEY_MANY_TO_MANY__TARGET_ENTITY = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Map Key Many To Many</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MAP_KEY_MANY_TO_MANY_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ForceDiscriminatorImpl <em>Force Discriminator</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ForceDiscriminatorImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getForceDiscriminator() + * @generated + */ + int FORCE_DISCRIMINATOR = 23; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FORCE_DISCRIMINATOR__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The number of structural features of the '<em>Force Discriminator</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FORCE_DISCRIMINATOR_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ImmutableImpl <em>Immutable</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ImmutableImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getImmutable() + * @generated + */ + int IMMUTABLE = 24; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int IMMUTABLE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The number of structural features of the '<em>Immutable</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int IMMUTABLE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FormulaImpl <em>Formula</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FormulaImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFormula() + * @generated + */ + int FORMULA = 25; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FORMULA__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FORMULA__VALUE = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Formula</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FORMULA_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NotFoundImpl <em>Not Found</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.NotFoundImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNotFound() + * @generated + */ + int NOT_FOUND = 26; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NOT_FOUND__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Action</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NOT_FOUND__ACTION = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Not Found</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NOT_FOUND_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl <em>Hb Entity</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbEntity() + * @generated + */ + int HB_ENTITY = 27; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ENTITY__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Dynamic Insert</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ENTITY__DYNAMIC_INSERT = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Dynamic Update</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ENTITY__DYNAMIC_UPDATE = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Select Before Update</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ENTITY__SELECT_BEFORE_UPDATE = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Mutable</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ENTITY__MUTABLE = HB_ANNOTATION_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Persister</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ENTITY__PERSISTER = HB_ANNOTATION_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Optimistic Lock</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ENTITY__OPTIMISTIC_LOCK = HB_ANNOTATION_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Polymorphism</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ENTITY__POLYMORPHISM = HB_ANNOTATION_FEATURE_COUNT + 6; + + /** + * The number of structural features of the '<em>Hb Entity</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ENTITY_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 7; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.BatchSizeImpl <em>Batch Size</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.BatchSizeImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getBatchSize() + * @generated + */ + int BATCH_SIZE = 28; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BATCH_SIZE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Size</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BATCH_SIZE__SIZE = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Batch Size</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BATCH_SIZE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl <em>Any</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getAny() + * @generated + */ + int ANY = 29; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Meta Def</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY__META_DEF = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Meta Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY__META_COLUMN = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Fetch</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY__FETCH = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Optional</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY__OPTIONAL = HB_ANNOTATION_FEATURE_COUNT + 3; + + /** + * The number of structural features of the '<em>Any</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 4; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.MetaValueImpl <em>Meta Value</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.MetaValueImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getMetaValue() + * @generated + */ + int META_VALUE = 30; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int META_VALUE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Target Entity</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int META_VALUE__TARGET_ENTITY = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int META_VALUE__VALUE = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Meta Value</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int META_VALUE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl <em>Any Meta Def</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getAnyMetaDef() + * @generated + */ + int ANY_META_DEF = 31; + + /** + * The feature id for the '<em><b>EModel Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY_META_DEF__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY_META_DEF__NAME = HB_ANNOTATION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Meta Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY_META_DEF__META_TYPE = HB_ANNOTATION_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Id Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY_META_DEF__ID_TYPE = HB_ANNOTATION_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Meta Values</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY_META_DEF__META_VALUES = HB_ANNOTATION_FEATURE_COUNT + 3; + + /** + * The number of structural features of the '<em>Any Meta Def</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY_META_DEF_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 4; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy <em>Cache Concurrency Strategy</em>}' enum. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCacheConcurrencyStrategy() + * @generated + */ + int CACHE_CONCURRENCY_STRATEGY = 32; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType <em>Hb Fetch Type</em>}' enum. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbFetchType() + * @generated + */ + int HB_FETCH_TYPE = 33; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction <em>On Delete Action</em>}' enum. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getOnDeleteAction() + * @generated + */ + int ON_DELETE_ACTION = 34; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime <em>Generation Time</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getGenerationTime() + * @generated + */ + int GENERATION_TIME = 35; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction <em>Not Found Action</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNotFoundAction() + * @generated + */ + int NOT_FOUND_ACTION = 36; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType <em>Optimistic Lock Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getOptimisticLockType() + * @generated + */ + int OPTIMISTIC_LOCK_TYPE = 37; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType <em>Polymorphism Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getPolymorphismType() + * @generated + */ + int POLYMORPHISM_TYPE = 38; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType <em>Hb Cascade Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbCascadeType() + * @generated + */ + int HB_CASCADE_TYPE = 39; + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotation <em>Hb Annotation</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>Hb Annotation</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotation + * @generated + */ + EClass getHbAnnotation(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cascade <em>Cascade</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>Cascade</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Cascade + * @generated + */ + EClass getCascade(); + + /** + * Returns the meta object for the attribute list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cascade#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute list '<em>Value</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Cascade#getValue() + * @see #getCascade() + * @generated + */ + EAttribute getCascade_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements <em>Collection Of Elements</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>Collection Of Elements</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements + * @generated + */ + EClass getCollectionOfElements(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getTargetElement <em>Target Element</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Target Element</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getTargetElement() + * @see #getCollectionOfElements() + * @generated + */ + EAttribute getCollectionOfElements_TargetElement(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getFetch <em>Fetch</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Fetch</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getFetch() + * @see #getCollectionOfElements() + * @generated + */ + EAttribute getCollectionOfElements_Fetch(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey <em>Hb Map Key</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Hb Map Key</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey + * @generated + */ + EClass getHbMapKey(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey#getColumns <em>Columns</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Columns</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey#getColumns() + * @see #getHbMapKey() + * @generated + */ + EReference getHbMapKey_Columns(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter <em>Parameter</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>Parameter</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Parameter + * @generated + */ + EClass getParameter(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getName <em>Name</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getName() + * @see #getParameter() + * @generated + */ + EAttribute getParameter_Name(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getValue() + * @see #getParameter() + * @generated + */ + EAttribute getParameter_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Type <em>Type</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Type + * @generated + */ + EClass getType(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Type#getType <em>Type</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Type#getType() + * @see #getType() + * @generated + */ + EAttribute getType_Type(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Type#getParameters <em>Parameters</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Parameters</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Type#getParameters() + * @see #getType() + * @generated + */ + EReference getType_Parameters(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Where <em>Where</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>Where</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Where + * @generated + */ + EClass getWhere(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Where#getClause <em>Clause</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Clause</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Where#getClause() + * @see #getWhere() + * @generated + */ + EAttribute getWhere_Clause(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag <em>Id Bag</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>Id Bag</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.IdBag + * @generated + */ + EClass getIdBag(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getGenerator <em>Generator</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Generator</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getGenerator() + * @see #getIdBag() + * @generated + */ + EAttribute getIdBag_Generator(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getType <em>Type</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getType() + * @see #getIdBag() + * @generated + */ + EAttribute getIdBag_Type(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getTable <em>Table</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Table</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getTable() + * @see #getIdBag() + * @generated + */ + EAttribute getIdBag_Table(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator <em>Generic Generator</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>Generic Generator</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator + * @generated + */ + EClass getGenericGenerator(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getName <em>Name</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getName() + * @see #getGenericGenerator() + * @generated + */ + EAttribute getGenericGenerator_Name(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getStrategy <em>Strategy</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Strategy</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getStrategy() + * @see #getGenericGenerator() + * @generated + */ + EAttribute getGenericGenerator_Strategy(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getParameters <em>Parameters</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Parameters</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getParameters() + * @see #getGenericGenerator() + * @generated + */ + EReference getGenericGenerator_Parameters(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache <em>Cache</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>Cache</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Cache + * @generated + */ + EClass getCache(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getUsage <em>Usage</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Usage</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getUsage() + * @see #getCache() + * @generated + */ + EAttribute getCache_Usage(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getRegion <em>Region</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Region</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getRegion() + * @see #getCache() + * @generated + */ + EAttribute getCache_Region(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getInclude <em>Include</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Include</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getInclude() + * @see #getCache() + * @generated + */ + EAttribute getCache_Include(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef <em>Type Def</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>Type Def</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef + * @generated + */ + EClass getTypeDef(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getName <em>Name</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getName() + * @see #getTypeDef() + * @generated + */ + EAttribute getTypeDef_Name(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getParameters <em>Parameters</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Parameters</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getParameters() + * @see #getTypeDef() + * @generated + */ + EReference getTypeDef_Parameters(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getTypeClass <em>Type Class</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Type Class</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getTypeClass() + * @see #getTypeDef() + * @generated + */ + EAttribute getTypeDef_TypeClass(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Fetch <em>Fetch</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>Fetch</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Fetch + * @generated + */ + EClass getFetch(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Fetch#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Fetch#getValue() + * @see #getFetch() + * @generated + */ + EAttribute getFetch_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete <em>On Delete</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>On Delete</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete + * @generated + */ + EClass getOnDelete(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete#getAction <em>Action</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Action</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete#getAction() + * @see #getOnDelete() + * @generated + */ + EAttribute getOnDelete_Action(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy <em>Proxy</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>Proxy</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Proxy + * @generated + */ + EClass getProxy(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#getProxyClass <em>Proxy Class</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Proxy Class</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#getProxyClass() + * @see #getProxy() + * @generated + */ + EAttribute getProxy_ProxyClass(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#isLazy <em>Lazy</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Lazy</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#isLazy() + * @see #getProxy() + * @generated + */ + EAttribute getProxy_Lazy(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Index <em>Index</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for class '<em>Index</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Index + * @generated + */ + EClass getIndex(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Index#getName <em>Name</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Index#getName() + * @see #getIndex() + * @generated + */ + EAttribute getIndex_Name(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Generated <em>Generated</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Generated</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Generated + * @generated + */ + EClass getGenerated(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Generated#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Generated#getValue() + * @see #getGenerated() + * @generated + */ + EAttribute getGenerated_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery <em>Named Query</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Named Query</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery + * @generated + */ + EClass getNamedQuery(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getName() + * @see #getNamedQuery() + * @generated + */ + EAttribute getNamedQuery_Name(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getQuery <em>Query</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Query</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getQuery() + * @see #getNamedQuery() + * @generated + */ + EAttribute getNamedQuery_Query(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter <em>Filter</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Filter</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Filter + * @generated + */ + EClass getFilter(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getName() + * @see #getFilter() + * @generated + */ + EAttribute getFilter_Name(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getCondition <em>Condition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Condition</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getCondition() + * @see #getFilter() + * @generated + */ + EAttribute getFilter_Condition(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef <em>Param Def</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Param Def</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef + * @generated + */ + EClass getParamDef(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getName() + * @see #getParamDef() + * @generated + */ + EAttribute getParamDef_Name(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getType <em>Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getType() + * @see #getParamDef() + * @generated + */ + EAttribute getParamDef_Type(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef <em>Filter Def</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Filter Def</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef + * @generated + */ + EClass getFilterDef(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getName() + * @see #getFilterDef() + * @generated + */ + EAttribute getFilterDef_Name(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getDefaultCondition <em>Default Condition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Default Condition</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getDefaultCondition() + * @see #getFilterDef() + * @generated + */ + EAttribute getFilterDef_DefaultCondition(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getParameters <em>Parameters</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Parameters</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getParameters() + * @see #getFilterDef() + * @generated + */ + EReference getFilterDef_Parameters(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula <em>Discriminator Formula</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Discriminator Formula</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula + * @generated + */ + EClass getDiscriminatorFormula(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula#getValue() + * @see #getDiscriminatorFormula() + * @generated + */ + EAttribute getDiscriminatorFormula_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId <em>Natural Id</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Natural Id</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId + * @generated + */ + EClass getNaturalId(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId#isMutable <em>Mutable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Mutable</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId#isMutable() + * @see #getNaturalId() + * @generated + */ + EAttribute getNaturalId_Mutable(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany <em>Map Key Many To Many</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Map Key Many To Many</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany + * @generated + */ + EClass getMapKeyManyToMany(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getJoinColumns <em>Join Columns</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Join Columns</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getJoinColumns() + * @see #getMapKeyManyToMany() + * @generated + */ + EReference getMapKeyManyToMany_JoinColumns(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getTargetEntity <em>Target Entity</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Target Entity</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getTargetEntity() + * @see #getMapKeyManyToMany() + * @generated + */ + EAttribute getMapKeyManyToMany_TargetEntity(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ForceDiscriminator <em>Force Discriminator</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Force Discriminator</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.ForceDiscriminator + * @generated + */ + EClass getForceDiscriminator(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Immutable <em>Immutable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Immutable</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Immutable + * @generated + */ + EClass getImmutable(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Formula <em>Formula</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Formula</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Formula + * @generated + */ + EClass getFormula(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Formula#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Formula#getValue() + * @see #getFormula() + * @generated + */ + EAttribute getFormula_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFound <em>Not Found</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Not Found</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFound + * @generated + */ + EClass getNotFound(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFound#getAction <em>Action</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Action</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFound#getAction() + * @see #getNotFound() + * @generated + */ + EAttribute getNotFound_Action(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity <em>Hb Entity</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Hb Entity</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity + * @generated + */ + EClass getHbEntity(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicInsert <em>Dynamic Insert</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Dynamic Insert</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicInsert() + * @see #getHbEntity() + * @generated + */ + EAttribute getHbEntity_DynamicInsert(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicUpdate <em>Dynamic Update</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Dynamic Update</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicUpdate() + * @see #getHbEntity() + * @generated + */ + EAttribute getHbEntity_DynamicUpdate(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isSelectBeforeUpdate <em>Select Before Update</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Select Before Update</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isSelectBeforeUpdate() + * @see #getHbEntity() + * @generated + */ + EAttribute getHbEntity_SelectBeforeUpdate(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isMutable <em>Mutable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Mutable</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isMutable() + * @see #getHbEntity() + * @generated + */ + EAttribute getHbEntity_Mutable(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPersister <em>Persister</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Persister</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPersister() + * @see #getHbEntity() + * @generated + */ + EAttribute getHbEntity_Persister(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getOptimisticLock <em>Optimistic Lock</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Optimistic Lock</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getOptimisticLock() + * @see #getHbEntity() + * @generated + */ + EAttribute getHbEntity_OptimisticLock(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPolymorphism <em>Polymorphism</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Polymorphism</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPolymorphism() + * @see #getHbEntity() + * @generated + */ + EAttribute getHbEntity_Polymorphism(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize <em>Batch Size</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Batch Size</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize + * @generated + */ + EClass getBatchSize(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize#getSize <em>Size</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Size</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize#getSize() + * @see #getBatchSize() + * @generated + */ + EAttribute getBatchSize_Size(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any <em>Any</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Any</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Any + * @generated + */ + EClass getAny(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaDef <em>Meta Def</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Meta Def</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaDef() + * @see #getAny() + * @generated + */ + EAttribute getAny_MetaDef(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaColumn <em>Meta Column</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Meta Column</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaColumn() + * @see #getAny() + * @generated + */ + EReference getAny_MetaColumn(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getFetch <em>Fetch</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Fetch</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Any#getFetch() + * @see #getAny() + * @generated + */ + EAttribute getAny_Fetch(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#isOptional <em>Optional</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Optional</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Any#isOptional() + * @see #getAny() + * @generated + */ + EAttribute getAny_Optional(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue <em>Meta Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Meta Value</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue + * @generated + */ + EClass getMetaValue(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getTargetEntity <em>Target Entity</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Target Entity</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getTargetEntity() + * @see #getMetaValue() + * @generated + */ + EAttribute getMetaValue_TargetEntity(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getValue() + * @see #getMetaValue() + * @generated + */ + EAttribute getMetaValue_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef <em>Any Meta Def</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Any Meta Def</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef + * @generated + */ + EClass getAnyMetaDef(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getName() + * @see #getAnyMetaDef() + * @generated + */ + EAttribute getAnyMetaDef_Name(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaType <em>Meta Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Meta Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaType() + * @see #getAnyMetaDef() + * @generated + */ + EAttribute getAnyMetaDef_MetaType(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getIdType <em>Id Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Id Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getIdType() + * @see #getAnyMetaDef() + * @generated + */ + EAttribute getAnyMetaDef_IdType(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaValues <em>Meta Values</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Meta Values</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaValues() + * @see #getAnyMetaDef() + * @generated + */ + EReference getAnyMetaDef_MetaValues(); + + /** + * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy <em>Cache Concurrency Strategy</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for enum '<em>Cache Concurrency Strategy</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy + * @generated + */ + EEnum getCacheConcurrencyStrategy(); + + /** + * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType <em>Hb Fetch Type</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for enum '<em>Hb Fetch Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType + * @generated + */ + EEnum getHbFetchType(); + + /** + * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction <em>On Delete Action</em>}'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the meta object for enum '<em>On Delete Action</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction + * @generated + */ + EEnum getOnDeleteAction(); + + /** + * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime <em>Generation Time</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Generation Time</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime + * @generated + */ + EEnum getGenerationTime(); + + /** + * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction <em>Not Found Action</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Not Found Action</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction + * @generated + */ + EEnum getNotFoundAction(); + + /** + * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType <em>Optimistic Lock Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Optimistic Lock Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType + * @generated + */ + EEnum getOptimisticLockType(); + + /** + * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType <em>Polymorphism Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Polymorphism Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType + * @generated + */ + EEnum getPolymorphismType(); + + /** + * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType <em>Hb Cascade Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Hb Cascade Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType + * @generated + */ + EEnum getHbCascadeType(); + + /** + * 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 + */ + HbannotationFactory getHbannotationFactory(); + + /** + * <!-- begin-user-doc --> Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbAnnotationImpl <em>Hb Annotation</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbAnnotationImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbAnnotation() + * @generated + */ + EClass HB_ANNOTATION = eINSTANCE.getHbAnnotation(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CascadeImpl <em>Cascade</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.CascadeImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCascade() + * @generated + */ + EClass CASCADE = eINSTANCE.getCascade(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute list feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute CASCADE__VALUE = eINSTANCE.getCascade_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CollectionOfElementsImpl <em>Collection Of Elements</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.CollectionOfElementsImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCollectionOfElements() + * @generated + */ + EClass COLLECTION_OF_ELEMENTS = eINSTANCE.getCollectionOfElements(); + + /** + * The meta object literal for the '<em><b>Target Element</b></em>' attribute feature. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + EAttribute COLLECTION_OF_ELEMENTS__TARGET_ELEMENT = eINSTANCE.getCollectionOfElements_TargetElement(); + + /** + * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute COLLECTION_OF_ELEMENTS__FETCH = eINSTANCE.getCollectionOfElements_Fetch(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbMapKeyImpl <em>Hb Map Key</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbMapKeyImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbMapKey() + * @generated + */ + EClass HB_MAP_KEY = eINSTANCE.getHbMapKey(); + + /** + * The meta object literal for the '<em><b>Columns</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_MAP_KEY__COLUMNS = eINSTANCE.getHbMapKey_Columns(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParameterImpl <em>Parameter</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParameterImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getParameter() + * @generated + */ + EClass PARAMETER = eINSTANCE.getParameter(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute PARAMETER__NAME = eINSTANCE.getParameter_Name(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute PARAMETER__VALUE = eINSTANCE.getParameter_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeImpl <em>Type</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getType() + * @generated + */ + EClass TYPE = eINSTANCE.getType(); + + /** + * The meta object literal for the '<em><b>Type</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute TYPE__TYPE = eINSTANCE.getType_Type(); + + /** + * The meta object literal for the '<em><b>Parameters</b></em>' reference list feature. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + EReference TYPE__PARAMETERS = eINSTANCE.getType_Parameters(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.WhereImpl <em>Where</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.WhereImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getWhere() + * @generated + */ + EClass WHERE = eINSTANCE.getWhere(); + + /** + * The meta object literal for the '<em><b>Clause</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute WHERE__CLAUSE = eINSTANCE.getWhere_Clause(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.IdBagImpl <em>Id Bag</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.IdBagImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getIdBag() + * @generated + */ + EClass ID_BAG = eINSTANCE.getIdBag(); + + /** + * The meta object literal for the '<em><b>Generator</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute ID_BAG__GENERATOR = eINSTANCE.getIdBag_Generator(); + + /** + * The meta object literal for the '<em><b>Type</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute ID_BAG__TYPE = eINSTANCE.getIdBag_Type(); + + /** + * The meta object literal for the '<em><b>Table</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute ID_BAG__TABLE = eINSTANCE.getIdBag_Table(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.GenericGeneratorImpl <em>Generic Generator</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.GenericGeneratorImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getGenericGenerator() + * @generated + */ + EClass GENERIC_GENERATOR = eINSTANCE.getGenericGenerator(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute GENERIC_GENERATOR__NAME = eINSTANCE.getGenericGenerator_Name(); + + /** + * The meta object literal for the '<em><b>Strategy</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute GENERIC_GENERATOR__STRATEGY = eINSTANCE.getGenericGenerator_Strategy(); + + /** + * The meta object literal for the '<em><b>Parameters</b></em>' reference list feature. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + EReference GENERIC_GENERATOR__PARAMETERS = eINSTANCE.getGenericGenerator_Parameters(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl <em>Cache</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCache() + * @generated + */ + EClass CACHE = eINSTANCE.getCache(); + + /** + * The meta object literal for the '<em><b>Usage</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute CACHE__USAGE = eINSTANCE.getCache_Usage(); + + /** + * The meta object literal for the '<em><b>Region</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute CACHE__REGION = eINSTANCE.getCache_Region(); + + /** + * The meta object literal for the '<em><b>Include</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute CACHE__INCLUDE = eINSTANCE.getCache_Include(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeDefImpl <em>Type Def</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeDefImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getTypeDef() + * @generated + */ + EClass TYPE_DEF = eINSTANCE.getTypeDef(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute TYPE_DEF__NAME = eINSTANCE.getTypeDef_Name(); + + /** + * The meta object literal for the '<em><b>Parameters</b></em>' reference list feature. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + EReference TYPE_DEF__PARAMETERS = eINSTANCE.getTypeDef_Parameters(); + + /** + * The meta object literal for the '<em><b>Type Class</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute TYPE_DEF__TYPE_CLASS = eINSTANCE.getTypeDef_TypeClass(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FetchImpl <em>Fetch</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FetchImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFetch() + * @generated + */ + EClass FETCH = eINSTANCE.getFetch(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute FETCH__VALUE = eINSTANCE.getFetch_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.OnDeleteImpl <em>On Delete</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.OnDeleteImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getOnDelete() + * @generated + */ + EClass ON_DELETE = eINSTANCE.getOnDelete(); + + /** + * The meta object literal for the '<em><b>Action</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute ON_DELETE__ACTION = eINSTANCE.getOnDelete_Action(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ProxyImpl <em>Proxy</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ProxyImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getProxy() + * @generated + */ + EClass PROXY = eINSTANCE.getProxy(); + + /** + * The meta object literal for the '<em><b>Proxy Class</b></em>' attribute feature. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + EAttribute PROXY__PROXY_CLASS = eINSTANCE.getProxy_ProxyClass(); + + /** + * The meta object literal for the '<em><b>Lazy</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute PROXY__LAZY = eINSTANCE.getProxy_Lazy(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.IndexImpl <em>Index</em>}' class. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.IndexImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getIndex() + * @generated + */ + EClass INDEX = eINSTANCE.getIndex(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + EAttribute INDEX__NAME = eINSTANCE.getIndex_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.GeneratedImpl <em>Generated</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.GeneratedImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getGenerated() + * @generated + */ + EClass GENERATED = eINSTANCE.getGenerated(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute GENERATED__VALUE = eINSTANCE.getGenerated_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NamedQueryImpl <em>Named Query</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.NamedQueryImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNamedQuery() + * @generated + */ + EClass NAMED_QUERY = eINSTANCE.getNamedQuery(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute NAMED_QUERY__NAME = eINSTANCE.getNamedQuery_Name(); + + /** + * The meta object literal for the '<em><b>Query</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute NAMED_QUERY__QUERY = eINSTANCE.getNamedQuery_Query(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterImpl <em>Filter</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFilter() + * @generated + */ + EClass FILTER = eINSTANCE.getFilter(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute FILTER__NAME = eINSTANCE.getFilter_Name(); + + /** + * The meta object literal for the '<em><b>Condition</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute FILTER__CONDITION = eINSTANCE.getFilter_Condition(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParamDefImpl <em>Param Def</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParamDefImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getParamDef() + * @generated + */ + EClass PARAM_DEF = eINSTANCE.getParamDef(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute PARAM_DEF__NAME = eINSTANCE.getParamDef_Name(); + + /** + * The meta object literal for the '<em><b>Type</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute PARAM_DEF__TYPE = eINSTANCE.getParamDef_Type(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterDefImpl <em>Filter Def</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterDefImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFilterDef() + * @generated + */ + EClass FILTER_DEF = eINSTANCE.getFilterDef(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute FILTER_DEF__NAME = eINSTANCE.getFilterDef_Name(); + + /** + * The meta object literal for the '<em><b>Default Condition</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute FILTER_DEF__DEFAULT_CONDITION = eINSTANCE.getFilterDef_DefaultCondition(); + + /** + * The meta object literal for the '<em><b>Parameters</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference FILTER_DEF__PARAMETERS = eINSTANCE.getFilterDef_Parameters(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.DiscriminatorFormulaImpl <em>Discriminator Formula</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.DiscriminatorFormulaImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getDiscriminatorFormula() + * @generated + */ + EClass DISCRIMINATOR_FORMULA = eINSTANCE.getDiscriminatorFormula(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute DISCRIMINATOR_FORMULA__VALUE = eINSTANCE.getDiscriminatorFormula_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NaturalIdImpl <em>Natural Id</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.NaturalIdImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNaturalId() + * @generated + */ + EClass NATURAL_ID = eINSTANCE.getNaturalId(); + + /** + * The meta object literal for the '<em><b>Mutable</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute NATURAL_ID__MUTABLE = eINSTANCE.getNaturalId_Mutable(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.MapKeyManyToManyImpl <em>Map Key Many To Many</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.MapKeyManyToManyImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getMapKeyManyToMany() + * @generated + */ + EClass MAP_KEY_MANY_TO_MANY = eINSTANCE.getMapKeyManyToMany(); + + /** + * The meta object literal for the '<em><b>Join Columns</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference MAP_KEY_MANY_TO_MANY__JOIN_COLUMNS = eINSTANCE.getMapKeyManyToMany_JoinColumns(); + + /** + * The meta object literal for the '<em><b>Target Entity</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute MAP_KEY_MANY_TO_MANY__TARGET_ENTITY = eINSTANCE.getMapKeyManyToMany_TargetEntity(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ForceDiscriminatorImpl <em>Force Discriminator</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ForceDiscriminatorImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getForceDiscriminator() + * @generated + */ + EClass FORCE_DISCRIMINATOR = eINSTANCE.getForceDiscriminator(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ImmutableImpl <em>Immutable</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ImmutableImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getImmutable() + * @generated + */ + EClass IMMUTABLE = eINSTANCE.getImmutable(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FormulaImpl <em>Formula</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FormulaImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFormula() + * @generated + */ + EClass FORMULA = eINSTANCE.getFormula(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute FORMULA__VALUE = eINSTANCE.getFormula_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NotFoundImpl <em>Not Found</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.NotFoundImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNotFound() + * @generated + */ + EClass NOT_FOUND = eINSTANCE.getNotFound(); + + /** + * The meta object literal for the '<em><b>Action</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute NOT_FOUND__ACTION = eINSTANCE.getNotFound_Action(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl <em>Hb Entity</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbEntity() + * @generated + */ + EClass HB_ENTITY = eINSTANCE.getHbEntity(); + + /** + * The meta object literal for the '<em><b>Dynamic Insert</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute HB_ENTITY__DYNAMIC_INSERT = eINSTANCE.getHbEntity_DynamicInsert(); + + /** + * The meta object literal for the '<em><b>Dynamic Update</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute HB_ENTITY__DYNAMIC_UPDATE = eINSTANCE.getHbEntity_DynamicUpdate(); + + /** + * The meta object literal for the '<em><b>Select Before Update</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute HB_ENTITY__SELECT_BEFORE_UPDATE = eINSTANCE.getHbEntity_SelectBeforeUpdate(); + + /** + * The meta object literal for the '<em><b>Mutable</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute HB_ENTITY__MUTABLE = eINSTANCE.getHbEntity_Mutable(); + + /** + * The meta object literal for the '<em><b>Persister</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute HB_ENTITY__PERSISTER = eINSTANCE.getHbEntity_Persister(); + + /** + * The meta object literal for the '<em><b>Optimistic Lock</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute HB_ENTITY__OPTIMISTIC_LOCK = eINSTANCE.getHbEntity_OptimisticLock(); + + /** + * The meta object literal for the '<em><b>Polymorphism</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute HB_ENTITY__POLYMORPHISM = eINSTANCE.getHbEntity_Polymorphism(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.BatchSizeImpl <em>Batch Size</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.BatchSizeImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getBatchSize() + * @generated + */ + EClass BATCH_SIZE = eINSTANCE.getBatchSize(); + + /** + * The meta object literal for the '<em><b>Size</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute BATCH_SIZE__SIZE = eINSTANCE.getBatchSize_Size(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl <em>Any</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getAny() + * @generated + */ + EClass ANY = eINSTANCE.getAny(); + + /** + * The meta object literal for the '<em><b>Meta Def</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ANY__META_DEF = eINSTANCE.getAny_MetaDef(); + + /** + * The meta object literal for the '<em><b>Meta Column</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ANY__META_COLUMN = eINSTANCE.getAny_MetaColumn(); + + /** + * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ANY__FETCH = eINSTANCE.getAny_Fetch(); + + /** + * The meta object literal for the '<em><b>Optional</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ANY__OPTIONAL = eINSTANCE.getAny_Optional(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.MetaValueImpl <em>Meta Value</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.MetaValueImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getMetaValue() + * @generated + */ + EClass META_VALUE = eINSTANCE.getMetaValue(); + + /** + * The meta object literal for the '<em><b>Target Entity</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute META_VALUE__TARGET_ENTITY = eINSTANCE.getMetaValue_TargetEntity(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute META_VALUE__VALUE = eINSTANCE.getMetaValue_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl <em>Any Meta Def</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getAnyMetaDef() + * @generated + */ + EClass ANY_META_DEF = eINSTANCE.getAnyMetaDef(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ANY_META_DEF__NAME = eINSTANCE.getAnyMetaDef_Name(); + + /** + * The meta object literal for the '<em><b>Meta Type</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ANY_META_DEF__META_TYPE = eINSTANCE.getAnyMetaDef_MetaType(); + + /** + * The meta object literal for the '<em><b>Id Type</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ANY_META_DEF__ID_TYPE = eINSTANCE.getAnyMetaDef_IdType(); + + /** + * The meta object literal for the '<em><b>Meta Values</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ANY_META_DEF__META_VALUES = eINSTANCE.getAnyMetaDef_MetaValues(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy <em>Cache Concurrency Strategy</em>}' enum. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCacheConcurrencyStrategy() + * @generated + */ + EEnum CACHE_CONCURRENCY_STRATEGY = eINSTANCE.getCacheConcurrencyStrategy(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType <em>Hb Fetch Type</em>}' enum. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbFetchType() + * @generated + */ + EEnum HB_FETCH_TYPE = eINSTANCE.getHbFetchType(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction <em>On Delete Action</em>}' enum. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getOnDeleteAction() + * @generated + */ + EEnum ON_DELETE_ACTION = eINSTANCE.getOnDeleteAction(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime <em>Generation Time</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getGenerationTime() + * @generated + */ + EEnum GENERATION_TIME = eINSTANCE.getGenerationTime(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction <em>Not Found Action</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNotFoundAction() + * @generated + */ + EEnum NOT_FOUND_ACTION = eINSTANCE.getNotFoundAction(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType <em>Optimistic Lock Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getOptimisticLockType() + * @generated + */ + EEnum OPTIMISTIC_LOCK_TYPE = eINSTANCE.getOptimisticLockType(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType <em>Polymorphism Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getPolymorphismType() + * @generated + */ + EEnum POLYMORPHISM_TYPE = eINSTANCE.getPolymorphismType(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType <em>Hb Cascade Type</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType + * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbCascadeType() + * @generated + */ + EEnum HB_CASCADE_TYPE = eINSTANCE.getHbCascadeType(); + + } + +} // HbannotationPackage diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/IdBag.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/IdBag.java new file mode 100755 index 000000000..96d6e94f7 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/IdBag.java @@ -0,0 +1,104 @@ +/** + * <copyright> + * </copyright> + * + * $Id: IdBag.java,v 1.6 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Id Bag</b></em>'. <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getGenerator <em>Generator</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getType <em>Type</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getTable <em>Table</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getIdBag() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface IdBag extends HbAnnotation { + /** + * Returns the value of the '<em><b>Generator</b></em>' attribute. + * The default value is <code>"increment"</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Generator</em>' attribute isn't clear, there really should be more of a + * description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Generator</em>' attribute. + * @see #setGenerator(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getIdBag_Generator() + * @model default="increment" + * @generated + */ + String getGenerator(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getGenerator <em>Generator</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Generator</em>' attribute. + * @see #getGenerator() + * @generated + */ + void setGenerator(String value); + + /** + * Returns the value of the '<em><b>Type</b></em>' attribute. The default value is <code>"long"</code>. <!-- + * begin-user-doc --> + * <p> + * If the meaning of the '<em>Type</em>' attribute isn't clear, there really should be more of a description + * here... + * </p> + * <!-- end-user-doc --> + * + * @return the value of the '<em>Type</em>' attribute. + * @see #setType(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotationPackage#getIdBag_Type() + * @model default="long" + * @generated + */ + String getType(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getType <em>Type</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Type</em>' attribute. + * @see #getType() + * @generated + */ + void setType(String value); + + /** + * Returns the value of the '<em><b>Table</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Table</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Table</em>' attribute. + * @see #setTable(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getIdBag_Table() + * @model + * @generated + */ + String getTable(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getTable <em>Table</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Table</em>' attribute. + * @see #getTable() + * @generated + */ + void setTable(String value); + +} // IdBag diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Immutable.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Immutable.java new file mode 100755 index 000000000..9dd0befd2 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Immutable.java @@ -0,0 +1,21 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Immutable.java,v 1.1 2008/07/12 13:10:33 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Immutable</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getImmutable() + * @model annotation="teneo/internal/Target 0='EClass' 1='EReference'" + * @generated + */ +public interface Immutable extends HbAnnotation { +} // Immutable diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Index.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Index.java new file mode 100755 index 000000000..de5ce7f7e --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Index.java @@ -0,0 +1,53 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Index.java,v 1.2 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Index</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Index#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getIndex() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface Index extends HbAnnotation { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getIndex_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Index#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // Index diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKey.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKey.java new file mode 100755 index 000000000..5c11eea92 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKey.java @@ -0,0 +1,43 @@ +/** + * <copyright> + * </copyright> + * + * $Id: MapKey.java,v 1.6 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.teneo.annotations.pannotation.Column; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Map Key</b></em>'. <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKey#getColumns <em>Columns</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMapKey() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface MapKey extends HbAnnotation { + /** + * Returns the value of the '<em><b>Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.Column}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Columns</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>Columns</em>' containment reference list. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMapKey_Columns() + * @model containment="true" ordered="false" + * @generated + */ + EList<Column> getColumns(); + +} // MapKey diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKeyManyToMany.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKeyManyToMany.java new file mode 100755 index 000000000..91bd31698 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKeyManyToMany.java @@ -0,0 +1,72 @@ +/** + * <copyright> + * </copyright> + * + * $Id: MapKeyManyToMany.java,v 1.2 2010/02/04 11:03:37 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Map Key Many To Many</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getJoinColumns <em>Join Columns</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getTargetEntity <em>Target Entity</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMapKeyManyToMany() + * @model annotation="http://annotation.elver.org/internal/Target 0='EReference'" + * @generated + */ +public interface MapKeyManyToMany extends HbAnnotation { + /** + * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Join Columns</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>Join Columns</em>' containment reference list. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMapKeyManyToMany_JoinColumns() + * @model containment="true" ordered="false" + * @generated + */ + EList<JoinColumn> getJoinColumns(); + + /** + * Returns the value of the '<em><b>Target Entity</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Target Entity</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Target Entity</em>' attribute. + * @see #setTargetEntity(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMapKeyManyToMany_TargetEntity() + * @model + * @generated + */ + String getTargetEntity(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getTargetEntity <em>Target Entity</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target Entity</em>' attribute. + * @see #getTargetEntity() + * @generated + */ + void setTargetEntity(String value); + +} // MapKeyManyToMany diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MetaValue.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MetaValue.java new file mode 100644 index 000000000..34f831604 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MetaValue.java @@ -0,0 +1,80 @@ +/** + * <copyright> + * </copyright> + * + * $Id: MetaValue.java,v 1.1 2009/06/27 09:19:10 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Meta Value</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getTargetEntity <em>Target Entity</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMetaValue() + * @model + * @generated + */ +public interface MetaValue extends HbAnnotation { + /** + * Returns the value of the '<em><b>Target Entity</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Target Entity</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Target Entity</em>' attribute. + * @see #setTargetEntity(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMetaValue_TargetEntity() + * @model + * @generated + */ + String getTargetEntity(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getTargetEntity <em>Target Entity</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target Entity</em>' attribute. + * @see #getTargetEntity() + * @generated + */ + void setTargetEntity(String value); + + /** + * Returns the value of the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' attribute. + * @see #setValue(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMetaValue_Value() + * @model + * @generated + */ + String getValue(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getValue <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Value</em>' attribute. + * @see #getValue() + * @generated + */ + void setValue(String value); + +} // MetaValue diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NamedQuery.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NamedQuery.java new file mode 100755 index 000000000..6819a58f0 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NamedQuery.java @@ -0,0 +1,80 @@ +/** + * <copyright> + * </copyright> + * + * $Id: NamedQuery.java,v 1.1 2008/03/30 20:55:12 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Named Query</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getQuery <em>Query</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNamedQuery() + * @model annotation="http://annotation.elver.org/internal/Target 0='EClass'" + * @generated + */ +public interface NamedQuery extends HbAnnotation { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNamedQuery_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Query</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Query</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Query</em>' attribute. + * @see #setQuery(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNamedQuery_Query() + * @model + * @generated + */ + String getQuery(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getQuery <em>Query</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Query</em>' attribute. + * @see #getQuery() + * @generated + */ + void setQuery(String value); + +} // NamedQuery diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NaturalId.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NaturalId.java new file mode 100755 index 000000000..d4b41ea95 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NaturalId.java @@ -0,0 +1,53 @@ +/** + * <copyright> + * </copyright> + * + * $Id: NaturalId.java,v 1.2 2010/02/04 11:03:37 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Natural Id</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId#isMutable <em>Mutable</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNaturalId() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface NaturalId extends HbAnnotation { + /** + * Returns the value of the '<em><b>Mutable</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Mutable</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Mutable</em>' attribute. + * @see #setMutable(boolean) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNaturalId_Mutable() + * @model required="true" + * @generated + */ + boolean isMutable(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId#isMutable <em>Mutable</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Mutable</em>' attribute. + * @see #isMutable() + * @generated + */ + void setMutable(boolean value); + +} // NaturalId diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFound.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFound.java new file mode 100755 index 000000000..8612d0eec --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFound.java @@ -0,0 +1,56 @@ +/** + * <copyright> + * </copyright> + * + * $Id: NotFound.java,v 1.1 2008/08/04 05:15:00 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Not Found</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFound#getAction <em>Action</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNotFound() + * @model annotation="http://annotation.elver.org/internal/Target 0='EReference'" + * @generated + */ +public interface NotFound extends HbAnnotation { + /** + * Returns the value of the '<em><b>Action</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Action</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Action</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction + * @see #setAction(NotFoundAction) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNotFound_Action() + * @model required="true" + * @generated + */ + NotFoundAction getAction(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFound#getAction <em>Action</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Action</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction + * @see #getAction() + * @generated + */ + void setAction(NotFoundAction value); + +} // NotFound diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFoundAction.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFoundAction.java new file mode 100755 index 000000000..852a50e69 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFoundAction.java @@ -0,0 +1,212 @@ +/** + * <copyright> + * </copyright> + * + * $Id: NotFoundAction.java,v 1.1 2008/08/04 05:15:00 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +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>Not Found Action</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNotFoundAction() + * @model + * @generated + */ +public enum NotFoundAction implements Enumerator { + /** + * The '<em><b>EXCEPTION</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #EXCEPTION_VALUE + * @generated + * @ordered + */ + EXCEPTION(0, "EXCEPTION", "EXCEPTION"), + + /** + * The '<em><b>IGNORE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #IGNORE_VALUE + * @generated + * @ordered + */ + IGNORE(1, "IGNORE", "IGNORE"); + + /** + * The '<em><b>EXCEPTION</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>EXCEPTION</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #EXCEPTION + * @model + * @generated + * @ordered + */ + public static final int EXCEPTION_VALUE = 0; + + /** + * The '<em><b>IGNORE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>IGNORE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #IGNORE + * @model + * @generated + * @ordered + */ + public static final int IGNORE_VALUE = 1; + + /** + * An array of all the '<em><b>Not Found Action</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final NotFoundAction[] VALUES_ARRAY = + new NotFoundAction[] { + EXCEPTION, + IGNORE, + }; + + /** + * A public read-only list of all the '<em><b>Not Found Action</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<NotFoundAction> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Not Found Action</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static NotFoundAction get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + NotFoundAction result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Not Found Action</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static NotFoundAction getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + NotFoundAction result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Not Found Action</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static NotFoundAction get(int value) { + switch (value) { + case EXCEPTION_VALUE: return EXCEPTION; + case IGNORE_VALUE: return IGNORE; + } + 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 NotFoundAction(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; + } + +} //NotFoundAction diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDelete.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDelete.java new file mode 100755 index 000000000..1b97611a3 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDelete.java @@ -0,0 +1,56 @@ +/** + * <copyright> + * </copyright> + * + * $Id: OnDelete.java,v 1.3 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>On Delete</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete#getAction <em>Action</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getOnDelete() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface OnDelete extends HbAnnotation { + /** + * Returns the value of the '<em><b>Action</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Action</em>' attribute list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Action</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction + * @see #setAction(OnDeleteAction) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getOnDelete_Action() + * @model + * @generated + */ + OnDeleteAction getAction(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete#getAction <em>Action</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Action</em>' attribute. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction + * @see #getAction() + * @generated + */ + void setAction(OnDeleteAction value); + +} // OnDelete diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDeleteAction.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDeleteAction.java new file mode 100755 index 000000000..0d012f671 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDeleteAction.java @@ -0,0 +1,211 @@ +/** + * <copyright> + * </copyright> + * + * $Id: OnDeleteAction.java,v 1.3 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +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>On Delete Action</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getOnDeleteAction() + * @model + * @generated + */ +public enum OnDeleteAction implements Enumerator { + /** + * The '<em><b>NO ACTION</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #NO_ACTION_VALUE + * @generated + * @ordered + */ + NO_ACTION(0, "NO_ACTION", "NO_ACTION"), + + /** + * The '<em><b>CASCADE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #CASCADE_VALUE + * @generated + * @ordered + */ + CASCADE(1, "CASCADE", "CASCADE"); + + /** + * The '<em><b>NO ACTION</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>NO ACTION</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #NO_ACTION + * @model + * @generated + * @ordered + */ + public static final int NO_ACTION_VALUE = 0; + + /** + * The '<em><b>CASCADE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>CASCADE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #CASCADE + * @model + * @generated + * @ordered + */ + public static final int CASCADE_VALUE = 1; + + /** + * An array of all the '<em><b>On Delete Action</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final OnDeleteAction[] VALUES_ARRAY = new OnDeleteAction[] { + NO_ACTION, + CASCADE, + }; + + /** + * A public read-only list of all the '<em><b>On Delete Action</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<OnDeleteAction> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>On Delete Action</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static OnDeleteAction get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + OnDeleteAction result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>On Delete Action</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static OnDeleteAction getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + OnDeleteAction result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>On Delete Action</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static OnDeleteAction get(int value) { + switch (value) { + case NO_ACTION_VALUE: return NO_ACTION; + case CASCADE_VALUE: return CASCADE; + } + 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 OnDeleteAction(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; + } + +} // OnDeleteAction diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OptimisticLockType.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OptimisticLockType.java new file mode 100755 index 000000000..ac4286704 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OptimisticLockType.java @@ -0,0 +1,266 @@ +/** + * <copyright> + * </copyright> + * + * $Id: OptimisticLockType.java,v 1.1 2008/08/26 21:19:08 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +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>Optimistic Lock Type</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getOptimisticLockType() + * @model + * @generated + */ +public enum OptimisticLockType implements Enumerator { + /** + * The '<em><b>ALL</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #ALL_VALUE + * @generated + * @ordered + */ + ALL(0, "ALL", "ALL"), + + /** + * The '<em><b>DIRTY</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #DIRTY_VALUE + * @generated + * @ordered + */ + DIRTY(1, "DIRTY", "DIRTY"), + + /** + * The '<em><b>NONE</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #NONE_VALUE + * @generated + * @ordered + */ + NONE(2, "NONE", "NONE"), + + /** + * The '<em><b>VERSION</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #VERSION_VALUE + * @generated + * @ordered + */ + VERSION(3, "VERSION", "VERSION"); + + /** + * The '<em><b>ALL</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>ALL</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #ALL + * @model + * @generated + * @ordered + */ + public static final int ALL_VALUE = 0; + + /** + * The '<em><b>DIRTY</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>DIRTY</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #DIRTY + * @model + * @generated + * @ordered + */ + public static final int DIRTY_VALUE = 1; + + /** + * The '<em><b>NONE</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>NONE</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #NONE + * @model + * @generated + * @ordered + */ + public static final int NONE_VALUE = 2; + + /** + * The '<em><b>VERSION</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>VERSION</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #VERSION + * @model + * @generated + * @ordered + */ + public static final int VERSION_VALUE = 3; + + /** + * An array of all the '<em><b>Optimistic Lock Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final OptimisticLockType[] VALUES_ARRAY = + new OptimisticLockType[] { + ALL, + DIRTY, + NONE, + VERSION, + }; + + /** + * A public read-only list of all the '<em><b>Optimistic Lock Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<OptimisticLockType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Optimistic Lock Type</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static OptimisticLockType get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + OptimisticLockType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Optimistic Lock Type</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static OptimisticLockType getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + OptimisticLockType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Optimistic Lock Type</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static OptimisticLockType get(int value) { + switch (value) { + case ALL_VALUE: return ALL; + case DIRTY_VALUE: return DIRTY; + case NONE_VALUE: return NONE; + case VERSION_VALUE: return VERSION; + } + 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 OptimisticLockType(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; + } + +} //OptimisticLockType diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ParamDef.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ParamDef.java new file mode 100755 index 000000000..ff1530e92 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ParamDef.java @@ -0,0 +1,80 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ParamDef.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Param Def</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getType <em>Type</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getParamDef() + * @model annotation="http://annotation.elver.org/internal/Target 0='EClass' 1='EReference'" + * @generated + */ +public interface ParamDef extends HbAnnotation { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getParamDef_Name() + * @model required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Type</em>' attribute. + * @see #setType(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getParamDef_Type() + * @model required="true" + * @generated + */ + String getType(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getType <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Type</em>' attribute. + * @see #getType() + * @generated + */ + void setType(String value); + +} // ParamDef diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Parameter.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Parameter.java new file mode 100755 index 000000000..7ec6d67da --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Parameter.java @@ -0,0 +1,76 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Parameter.java,v 1.5 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Parameter</b></em>'. <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getParameter() + * @model annotation="http://annotation.elver.org/internal/Collection name='Parameters' packageNS='http://www.eclipse.org/emf/teneo/2006/HbAnnotation'" + * annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature' 1='EClass' 2='EPackage'" + * @generated + */ +public interface Parameter extends HbAnnotation { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description + * here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getParameter_Name() + * @model required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description + * here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' attribute. + * @see #setValue(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getParameter_Value() + * @model required="true" + * @generated + */ + String getValue(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getValue <em>Value</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Value</em>' attribute. + * @see #getValue() + * @generated + */ + void setValue(String value); + +} // Parameter diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/PolymorphismType.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/PolymorphismType.java new file mode 100755 index 000000000..172c39839 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/PolymorphismType.java @@ -0,0 +1,212 @@ +/** + * <copyright> + * </copyright> + * + * $Id: PolymorphismType.java,v 1.1 2008/08/26 21:19:08 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +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>Polymorphism Type</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getPolymorphismType() + * @model + * @generated + */ +public enum PolymorphismType implements Enumerator { + /** + * The '<em><b>IMPLICIT</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #IMPLICIT_VALUE + * @generated + * @ordered + */ + IMPLICIT(0, "IMPLICIT", "IMPLICIT"), + + /** + * The '<em><b>EXPLICIT</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #EXPLICIT_VALUE + * @generated + * @ordered + */ + EXPLICIT(1, "EXPLICIT", "EXPLICIT"); + + /** + * The '<em><b>IMPLICIT</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>IMPLICIT</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #IMPLICIT + * @model + * @generated + * @ordered + */ + public static final int IMPLICIT_VALUE = 0; + + /** + * The '<em><b>EXPLICIT</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>EXPLICIT</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #EXPLICIT + * @model + * @generated + * @ordered + */ + public static final int EXPLICIT_VALUE = 1; + + /** + * An array of all the '<em><b>Polymorphism Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final PolymorphismType[] VALUES_ARRAY = + new PolymorphismType[] { + IMPLICIT, + EXPLICIT, + }; + + /** + * A public read-only list of all the '<em><b>Polymorphism Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<PolymorphismType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Polymorphism Type</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static PolymorphismType get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + PolymorphismType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Polymorphism Type</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static PolymorphismType getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + PolymorphismType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Polymorphism Type</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static PolymorphismType get(int value) { + switch (value) { + case IMPLICIT_VALUE: return IMPLICIT; + case EXPLICIT_VALUE: return EXPLICIT; + } + 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 PolymorphismType(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; + } + +} //PolymorphismType diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Proxy.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Proxy.java new file mode 100755 index 000000000..1be40cf5f --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Proxy.java @@ -0,0 +1,81 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Proxy.java,v 1.3 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Proxy</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#getProxyClass <em>Proxy Class</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#isLazy <em>Lazy</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getProxy() + * @model annotation="http://annotation.elver.org/internal/Target 0='EClass'" + * @generated + */ +public interface Proxy extends HbAnnotation { + /** + * Returns the value of the '<em><b>Proxy Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Proxy Class</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Proxy Class</em>' attribute. + * @see #setProxyClass(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getProxy_ProxyClass() + * @model + * @generated + */ + String getProxyClass(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#getProxyClass <em>Proxy Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Proxy Class</em>' attribute. + * @see #getProxyClass() + * @generated + */ + void setProxyClass(String value); + + /** + * Returns the value of the '<em><b>Lazy</b></em>' attribute. + * The default value is <code>"true"</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Lazy</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Lazy</em>' attribute. + * @see #setLazy(boolean) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getProxy_Lazy() + * @model default="true" + * @generated + */ + boolean isLazy(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#isLazy <em>Lazy</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Lazy</em>' attribute. + * @see #isLazy() + * @generated + */ + void setLazy(boolean value); + +} // Proxy diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Type.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Type.java new file mode 100755 index 000000000..fbcfcee1e --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Type.java @@ -0,0 +1,68 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Type.java,v 1.6 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.common.util.EList; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Type</b></em>'. <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Type#getType <em>Type</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Type#getParameters <em>Parameters</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getType() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface Type extends HbAnnotation { + /** + * Returns the value of the '<em><b>Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Type</em>' attribute isn't clear, there really should be more of a description + * here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Type</em>' attribute. + * @see #setType(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getType_Type() + * @model required="true" + * @generated + */ + String getType(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Type#getType <em>Type</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Type</em>' attribute. + * @see #getType() + * @generated + */ + void setType(String value); + + /** + * Returns the value of the '<em><b>Parameters</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Parameters</em>' reference list isn't clear, there really should be more of a + * description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Parameters</em>' reference list. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getType_Parameters() + * @model + * @generated + */ + EList<Parameter> getParameters(); + +} // Type diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/TypeDef.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/TypeDef.java new file mode 100755 index 000000000..b7adbee55 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/TypeDef.java @@ -0,0 +1,94 @@ +/** + * <copyright> + * </copyright> + * + * $Id: TypeDef.java,v 1.5 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +import org.eclipse.emf.common.util.EList; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Type Def</b></em>'. <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getParameters <em>Parameters</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getTypeClass <em>Type Class</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getTypeDef() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature' 1='EClass' 2='EPackage'" + * @generated + */ +public interface TypeDef extends HbAnnotation { + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description + * here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getTypeDef_Name() + * @model required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Parameters</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Parameters</em>' reference list isn't clear, there really should be more of a + * description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Parameters</em>' reference list. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getTypeDef_Parameters() + * @model + * @generated + */ + EList<Parameter> getParameters(); + + /** + * Returns the value of the '<em><b>Type Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Type Class</em>' attribute isn't clear, there really should be more of a + * description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Type Class</em>' attribute. + * @see #setTypeClass(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getTypeDef_TypeClass() + * @model required="true" + * @generated + */ + String getTypeClass(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getTypeClass <em>Type Class</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Type Class</em>' attribute. + * @see #getTypeClass() + * @generated + */ + void setTypeClass(String value); + +} // TypeDef diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Where.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Where.java new file mode 100755 index 000000000..e2706bc00 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Where.java @@ -0,0 +1,49 @@ +/** + * <copyright> + * </copyright> + * + * $Id: Where.java,v 1.5 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Where</b></em>'. <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Where#getClause <em>Clause</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getWhere() + * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'" + * @generated + */ +public interface Where extends HbAnnotation { + /** + * Returns the value of the '<em><b>Clause</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Clause</em>' attribute isn't clear, there really should be more of a description + * here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Clause</em>' attribute. + * @see #setClause(String) + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getWhere_Clause() + * @model + * @generated + */ + String getClause(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Where#getClause <em>Clause</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Clause</em>' attribute. + * @see #getClause() + * @generated + */ + void setClause(String value); + +} // Where diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyImpl.java new file mode 100644 index 000000000..060e76a80 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyImpl.java @@ -0,0 +1,353 @@ +/** + * <copyright> + * </copyright> + * + * $Id: AnyImpl.java,v 1.2 2010/02/04 11:03:39 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.annotations.pannotation.FetchType; +import org.eclipse.emf.teneo.hibernate.hbannotation.Any; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Any</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl#getMetaDef <em>Meta Def</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl#getMetaColumn <em>Meta Column</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl#getFetch <em>Fetch</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl#isOptional <em>Optional</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class AnyImpl extends HbAnnotationImpl implements Any { + /** + * The default value of the '{@link #getMetaDef() <em>Meta Def</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMetaDef() + * @generated + * @ordered + */ + protected static final String META_DEF_EDEFAULT = null; + + /** + * The cached value of the '{@link #getMetaDef() <em>Meta Def</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMetaDef() + * @generated + * @ordered + */ + protected String metaDef = META_DEF_EDEFAULT; + + /** + * The cached value of the '{@link #getMetaColumn() <em>Meta Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMetaColumn() + * @generated + * @ordered + */ + protected Column metaColumn; + + /** + * The default value of the '{@link #getFetch() <em>Fetch</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFetch() + * @generated + * @ordered + */ + protected static final FetchType FETCH_EDEFAULT = FetchType.EAGER; + + /** + * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFetch() + * @generated + * @ordered + */ + protected FetchType fetch = FETCH_EDEFAULT; + + /** + * The default value of the '{@link #isOptional() <em>Optional</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isOptional() + * @generated + * @ordered + */ + protected static final boolean OPTIONAL_EDEFAULT = true; + + /** + * The cached value of the '{@link #isOptional() <em>Optional</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isOptional() + * @generated + * @ordered + */ + protected boolean optional = OPTIONAL_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AnyImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.ANY; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getMetaDef() { + return metaDef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setMetaDef(String newMetaDef) { + String oldMetaDef = metaDef; + metaDef = newMetaDef; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY__META_DEF, oldMetaDef, metaDef)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Column getMetaColumn() { + return metaColumn; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetMetaColumn(Column newMetaColumn, NotificationChain msgs) { + Column oldMetaColumn = metaColumn; + metaColumn = newMetaColumn; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY__META_COLUMN, oldMetaColumn, newMetaColumn); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setMetaColumn(Column newMetaColumn) { + if (newMetaColumn != metaColumn) { + NotificationChain msgs = null; + if (metaColumn != null) + msgs = ((InternalEObject)metaColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbannotationPackage.ANY__META_COLUMN, null, msgs); + if (newMetaColumn != null) + msgs = ((InternalEObject)newMetaColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbannotationPackage.ANY__META_COLUMN, null, msgs); + msgs = basicSetMetaColumn(newMetaColumn, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY__META_COLUMN, newMetaColumn, newMetaColumn)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FetchType getFetch() { + return fetch; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setFetch(FetchType newFetch) { + FetchType oldFetch = fetch; + fetch = newFetch == null ? FETCH_EDEFAULT : newFetch; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY__FETCH, oldFetch, fetch)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isOptional() { + return optional; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setOptional(boolean newOptional) { + boolean oldOptional = optional; + optional = newOptional; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY__OPTIONAL, oldOptional, optional)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case HbannotationPackage.ANY__META_COLUMN: + return basicSetMetaColumn(null, 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 HbannotationPackage.ANY__META_DEF: + return getMetaDef(); + case HbannotationPackage.ANY__META_COLUMN: + return getMetaColumn(); + case HbannotationPackage.ANY__FETCH: + return getFetch(); + case HbannotationPackage.ANY__OPTIONAL: + return isOptional(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.ANY__META_DEF: + setMetaDef((String)newValue); + return; + case HbannotationPackage.ANY__META_COLUMN: + setMetaColumn((Column)newValue); + return; + case HbannotationPackage.ANY__FETCH: + setFetch((FetchType)newValue); + return; + case HbannotationPackage.ANY__OPTIONAL: + setOptional((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.ANY__META_DEF: + setMetaDef(META_DEF_EDEFAULT); + return; + case HbannotationPackage.ANY__META_COLUMN: + setMetaColumn((Column)null); + return; + case HbannotationPackage.ANY__FETCH: + setFetch(FETCH_EDEFAULT); + return; + case HbannotationPackage.ANY__OPTIONAL: + setOptional(OPTIONAL_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.ANY__META_DEF: + return META_DEF_EDEFAULT == null ? metaDef != null : !META_DEF_EDEFAULT.equals(metaDef); + case HbannotationPackage.ANY__META_COLUMN: + return metaColumn != null; + case HbannotationPackage.ANY__FETCH: + return fetch != FETCH_EDEFAULT; + case HbannotationPackage.ANY__OPTIONAL: + return optional != OPTIONAL_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(" (metaDef: "); + result.append(metaDef); + result.append(", fetch: "); + result.append(fetch); + result.append(", optional: "); + result.append(optional); + result.append(')'); + return result.toString(); + } + +} //AnyImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyMetaDefImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyMetaDefImpl.java new file mode 100644 index 000000000..fd168ef8e --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyMetaDefImpl.java @@ -0,0 +1,328 @@ +/** + * <copyright> + * </copyright> + * + * $Id: AnyMetaDefImpl.java,v 1.3 2010/02/04 11:03:40 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Any Meta Def</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl#getMetaType <em>Meta Type</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl#getIdType <em>Id Type</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl#getMetaValues <em>Meta Values</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class AnyMetaDefImpl extends HbAnnotationImpl implements AnyMetaDef { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The default value of the '{@link #getMetaType() <em>Meta Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMetaType() + * @generated + * @ordered + */ + protected static final String META_TYPE_EDEFAULT = "string"; + + /** + * The cached value of the '{@link #getMetaType() <em>Meta Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMetaType() + * @generated + * @ordered + */ + protected String metaType = META_TYPE_EDEFAULT; + + /** + * The default value of the '{@link #getIdType() <em>Id Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getIdType() + * @generated + * @ordered + */ + protected static final String ID_TYPE_EDEFAULT = "string"; + + /** + * The cached value of the '{@link #getIdType() <em>Id Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getIdType() + * @generated + * @ordered + */ + protected String idType = ID_TYPE_EDEFAULT; + + /** + * The cached value of the '{@link #getMetaValues() <em>Meta Values</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMetaValues() + * @generated + * @ordered + */ + protected EList<MetaValue> metaValues; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected AnyMetaDefImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.ANY_META_DEF; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY_META_DEF__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getMetaType() { + return metaType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setMetaType(String newMetaType) { + String oldMetaType = metaType; + metaType = newMetaType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY_META_DEF__META_TYPE, oldMetaType, metaType)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getIdType() { + return idType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setIdType(String newIdType) { + String oldIdType = idType; + idType = newIdType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY_META_DEF__ID_TYPE, oldIdType, idType)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<MetaValue> getMetaValues() { + if (metaValues == null) { + metaValues = new EObjectContainmentEList<MetaValue>(MetaValue.class, this, HbannotationPackage.ANY_META_DEF__META_VALUES); + } + return metaValues; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case HbannotationPackage.ANY_META_DEF__META_VALUES: + return ((InternalEList<?>)getMetaValues()).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 HbannotationPackage.ANY_META_DEF__NAME: + return getName(); + case HbannotationPackage.ANY_META_DEF__META_TYPE: + return getMetaType(); + case HbannotationPackage.ANY_META_DEF__ID_TYPE: + return getIdType(); + case HbannotationPackage.ANY_META_DEF__META_VALUES: + return getMetaValues(); + } + 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 HbannotationPackage.ANY_META_DEF__NAME: + setName((String)newValue); + return; + case HbannotationPackage.ANY_META_DEF__META_TYPE: + setMetaType((String)newValue); + return; + case HbannotationPackage.ANY_META_DEF__ID_TYPE: + setIdType((String)newValue); + return; + case HbannotationPackage.ANY_META_DEF__META_VALUES: + getMetaValues().clear(); + getMetaValues().addAll((Collection<? extends MetaValue>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.ANY_META_DEF__NAME: + setName(NAME_EDEFAULT); + return; + case HbannotationPackage.ANY_META_DEF__META_TYPE: + setMetaType(META_TYPE_EDEFAULT); + return; + case HbannotationPackage.ANY_META_DEF__ID_TYPE: + setIdType(ID_TYPE_EDEFAULT); + return; + case HbannotationPackage.ANY_META_DEF__META_VALUES: + getMetaValues().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.ANY_META_DEF__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case HbannotationPackage.ANY_META_DEF__META_TYPE: + return META_TYPE_EDEFAULT == null ? metaType != null : !META_TYPE_EDEFAULT.equals(metaType); + case HbannotationPackage.ANY_META_DEF__ID_TYPE: + return ID_TYPE_EDEFAULT == null ? idType != null : !ID_TYPE_EDEFAULT.equals(idType); + case HbannotationPackage.ANY_META_DEF__META_VALUES: + return metaValues != null && !metaValues.isEmpty(); + } + 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(" (name: "); + result.append(name); + result.append(", metaType: "); + result.append(metaType); + result.append(", idType: "); + result.append(idType); + result.append(')'); + return result.toString(); + } + +} //AnyMetaDefImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/BatchSizeImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/BatchSizeImpl.java new file mode 100644 index 000000000..1a81c4096 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/BatchSizeImpl.java @@ -0,0 +1,163 @@ +/** + * <copyright> + * </copyright> + * + * $Id: BatchSizeImpl.java,v 1.3 2010/02/04 11:03:42 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Batch Size</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.BatchSizeImpl#getSize <em>Size</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class BatchSizeImpl extends HbAnnotationImpl implements BatchSize { + /** + * The default value of the '{@link #getSize() <em>Size</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSize() + * @generated + * @ordered + */ + protected static final int SIZE_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getSize() <em>Size</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getSize() + * @generated + * @ordered + */ + protected int size = SIZE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected BatchSizeImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.BATCH_SIZE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getSize() { + return size; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSize(int newSize) { + int oldSize = size; + size = newSize; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.BATCH_SIZE__SIZE, oldSize, size)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.BATCH_SIZE__SIZE: + return getSize(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.BATCH_SIZE__SIZE: + setSize((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.BATCH_SIZE__SIZE: + setSize(SIZE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.BATCH_SIZE__SIZE: + return size != SIZE_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(" (size: "); + result.append(size); + result.append(')'); + return result.toString(); + } + +} //BatchSizeImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CacheImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CacheImpl.java new file mode 100755 index 000000000..a28cd9ff0 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CacheImpl.java @@ -0,0 +1,272 @@ +/** + * <copyright> + * </copyright> + * + * $Id: CacheImpl.java,v 1.8 2008/01/18 06:21:36 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Cache</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl#getUsage <em>Usage</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl#getRegion <em>Region</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl#getInclude <em>Include</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class CacheImpl extends HbAnnotationImpl implements Cache { + /** + * The default value of the '{@link #getUsage() <em>Usage</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getUsage() + * @generated + * @ordered + */ + protected static final CacheConcurrencyStrategy USAGE_EDEFAULT = CacheConcurrencyStrategy.NONE; + + /** + * The cached value of the '{@link #getUsage() <em>Usage</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getUsage() + * @generated + * @ordered + */ + protected CacheConcurrencyStrategy usage = USAGE_EDEFAULT; + + /** + * The default value of the '{@link #getRegion() <em>Region</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRegion() + * @generated + * @ordered + */ + protected static final String REGION_EDEFAULT = null; + + /** + * The cached value of the '{@link #getRegion() <em>Region</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRegion() + * @generated + * @ordered + */ + protected String region = REGION_EDEFAULT; + + /** + * The default value of the '{@link #getInclude() <em>Include</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getInclude() + * @generated + * @ordered + */ + protected static final String INCLUDE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getInclude() <em>Include</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getInclude() + * @generated + * @ordered + */ + protected String include = INCLUDE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CacheImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.CACHE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CacheConcurrencyStrategy getUsage() { + return usage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setUsage(CacheConcurrencyStrategy newUsage) { + CacheConcurrencyStrategy oldUsage = usage; + usage = newUsage == null ? USAGE_EDEFAULT : newUsage; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.CACHE__USAGE, oldUsage, usage)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getRegion() { + return region; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setRegion(String newRegion) { + String oldRegion = region; + region = newRegion; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.CACHE__REGION, oldRegion, region)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getInclude() { + return include; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setInclude(String newInclude) { + String oldInclude = include; + include = newInclude; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.CACHE__INCLUDE, oldInclude, include)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.CACHE__USAGE: + return getUsage(); + case HbannotationPackage.CACHE__REGION: + return getRegion(); + case HbannotationPackage.CACHE__INCLUDE: + return getInclude(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.CACHE__USAGE: + setUsage((CacheConcurrencyStrategy)newValue); + return; + case HbannotationPackage.CACHE__REGION: + setRegion((String)newValue); + return; + case HbannotationPackage.CACHE__INCLUDE: + setInclude((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.CACHE__USAGE: + setUsage(USAGE_EDEFAULT); + return; + case HbannotationPackage.CACHE__REGION: + setRegion(REGION_EDEFAULT); + return; + case HbannotationPackage.CACHE__INCLUDE: + setInclude(INCLUDE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.CACHE__USAGE: + return usage != USAGE_EDEFAULT; + case HbannotationPackage.CACHE__REGION: + return REGION_EDEFAULT == null ? region != null : !REGION_EDEFAULT.equals(region); + case HbannotationPackage.CACHE__INCLUDE: + return INCLUDE_EDEFAULT == null ? include != null : !INCLUDE_EDEFAULT.equals(include); + } + 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(" (usage: "); + result.append(usage); + result.append(", region: "); + result.append(region); + result.append(", include: "); + result.append(include); + result.append(')'); + return result.toString(); + } + +} //CacheImpl
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CascadeImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CascadeImpl.java new file mode 100755 index 000000000..ea740b3de --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CascadeImpl.java @@ -0,0 +1,149 @@ +/** + * <copyright> + * </copyright> + * + * $Id: CascadeImpl.java,v 1.9 2010/02/04 11:03:43 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.util.EDataTypeUniqueEList; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Cascade</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CascadeImpl#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class CascadeImpl extends HbAnnotationImpl implements Cascade { + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' attribute list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected EList<HbCascadeType> value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CascadeImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.CASCADE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<HbCascadeType> getValue() { + if (value == null) { + value = new EDataTypeUniqueEList<HbCascadeType>(HbCascadeType.class, this, HbannotationPackage.CASCADE__VALUE); + } + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.CASCADE__VALUE: + return getValue(); + } + 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 HbannotationPackage.CASCADE__VALUE: + getValue().clear(); + getValue().addAll((Collection<? extends HbCascadeType>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.CASCADE__VALUE: + getValue().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.CASCADE__VALUE: + return value != null && !value.isEmpty(); + } + 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(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //CascadeImpl
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CollectionOfElementsImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CollectionOfElementsImpl.java new file mode 100755 index 000000000..6291bfe5c --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CollectionOfElementsImpl.java @@ -0,0 +1,218 @@ +/** + * <copyright> + * </copyright> + * + * $Id: CollectionOfElementsImpl.java,v 1.8 2008/01/18 06:21:36 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.annotations.pannotation.FetchType; +import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Collection Of Elements</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CollectionOfElementsImpl#getTargetElement <em>Target Element</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CollectionOfElementsImpl#getFetch <em>Fetch</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class CollectionOfElementsImpl extends HbAnnotationImpl implements CollectionOfElements { + /** + * The default value of the '{@link #getTargetElement() <em>Target Element</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetElement() + * @generated + * @ordered + */ + protected static final String TARGET_ELEMENT_EDEFAULT = null; + + /** + * The cached value of the '{@link #getTargetElement() <em>Target Element</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetElement() + * @generated + * @ordered + */ + protected String targetElement = TARGET_ELEMENT_EDEFAULT; + + /** + * The default value of the '{@link #getFetch() <em>Fetch</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFetch() + * @generated + * @ordered + */ + protected static final FetchType FETCH_EDEFAULT = FetchType.LAZY; + + /** + * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFetch() + * @generated + * @ordered + */ + protected FetchType fetch = FETCH_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CollectionOfElementsImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.COLLECTION_OF_ELEMENTS; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getTargetElement() { + return targetElement; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTargetElement(String newTargetElement) { + String oldTargetElement = targetElement; + targetElement = newTargetElement; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.COLLECTION_OF_ELEMENTS__TARGET_ELEMENT, oldTargetElement, targetElement)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FetchType getFetch() { + return fetch; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setFetch(FetchType newFetch) { + FetchType oldFetch = fetch; + fetch = newFetch == null ? FETCH_EDEFAULT : newFetch; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.COLLECTION_OF_ELEMENTS__FETCH, oldFetch, fetch)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.COLLECTION_OF_ELEMENTS__TARGET_ELEMENT: + return getTargetElement(); + case HbannotationPackage.COLLECTION_OF_ELEMENTS__FETCH: + return getFetch(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.COLLECTION_OF_ELEMENTS__TARGET_ELEMENT: + setTargetElement((String)newValue); + return; + case HbannotationPackage.COLLECTION_OF_ELEMENTS__FETCH: + setFetch((FetchType)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.COLLECTION_OF_ELEMENTS__TARGET_ELEMENT: + setTargetElement(TARGET_ELEMENT_EDEFAULT); + return; + case HbannotationPackage.COLLECTION_OF_ELEMENTS__FETCH: + setFetch(FETCH_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.COLLECTION_OF_ELEMENTS__TARGET_ELEMENT: + return TARGET_ELEMENT_EDEFAULT == null ? targetElement != null : !TARGET_ELEMENT_EDEFAULT.equals(targetElement); + case HbannotationPackage.COLLECTION_OF_ELEMENTS__FETCH: + return fetch != FETCH_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(" (targetElement: "); + result.append(targetElement); + result.append(", fetch: "); + result.append(fetch); + result.append(')'); + return result.toString(); + } + +} // CollectionOfElementsImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/DiscriminatorFormulaImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/DiscriminatorFormulaImpl.java new file mode 100755 index 000000000..d8f895bf7 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/DiscriminatorFormulaImpl.java @@ -0,0 +1,163 @@ +/** + * <copyright> + * </copyright> + * + * $Id: DiscriminatorFormulaImpl.java,v 1.2 2010/02/04 11:03:43 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Discriminator Formula</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.DiscriminatorFormulaImpl#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class DiscriminatorFormulaImpl extends HbAnnotationImpl implements DiscriminatorFormula { + /** + * The default value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected static final String VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected String value = VALUE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DiscriminatorFormulaImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.DISCRIMINATOR_FORMULA; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getValue() { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setValue(String newValue) { + String oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.DISCRIMINATOR_FORMULA__VALUE, oldValue, value)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.DISCRIMINATOR_FORMULA__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.DISCRIMINATOR_FORMULA__VALUE: + setValue((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.DISCRIMINATOR_FORMULA__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.DISCRIMINATOR_FORMULA__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + } + 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(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //DiscriminatorFormulaImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FetchImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FetchImpl.java new file mode 100755 index 000000000..f0d996877 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FetchImpl.java @@ -0,0 +1,164 @@ +/** + * <copyright> + * </copyright> + * + * $Id: FetchImpl.java,v 1.8 2008/01/18 06:21:36 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.Fetch; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Fetch</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FetchImpl#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class FetchImpl extends HbAnnotationImpl implements Fetch { + /** + * The default value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected static final HbFetchType VALUE_EDEFAULT = HbFetchType.JOIN; + + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected HbFetchType value = VALUE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FetchImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.FETCH; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbFetchType getValue() { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setValue(HbFetchType newValue) { + HbFetchType oldValue = value; + value = newValue == null ? VALUE_EDEFAULT : newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.FETCH__VALUE, oldValue, value)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.FETCH__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.FETCH__VALUE: + setValue((HbFetchType)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.FETCH__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.FETCH__VALUE: + return value != VALUE_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(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //FetchImpl
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FilterDefImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FilterDefImpl.java new file mode 100755 index 000000000..c597ffb54 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FilterDefImpl.java @@ -0,0 +1,257 @@ +/** + * <copyright> + * </copyright> + * + * $Id: FilterDefImpl.java,v 1.2 2010/02/04 11:03:39 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Filter Def</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterDefImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterDefImpl#getDefaultCondition <em>Default Condition</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterDefImpl#getParameters <em>Parameters</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class FilterDefImpl extends HbAnnotationImpl implements FilterDef { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The default value of the '{@link #getDefaultCondition() <em>Default Condition</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDefaultCondition() + * @generated + * @ordered + */ + protected static final String DEFAULT_CONDITION_EDEFAULT = null; + + /** + * The cached value of the '{@link #getDefaultCondition() <em>Default Condition</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDefaultCondition() + * @generated + * @ordered + */ + protected String defaultCondition = DEFAULT_CONDITION_EDEFAULT; + + /** + * The cached value of the '{@link #getParameters() <em>Parameters</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getParameters() + * @generated + * @ordered + */ + protected EList<ParamDef> parameters; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FilterDefImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.FILTER_DEF; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.FILTER_DEF__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getDefaultCondition() { + return defaultCondition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setDefaultCondition(String newDefaultCondition) { + String oldDefaultCondition = defaultCondition; + defaultCondition = newDefaultCondition; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.FILTER_DEF__DEFAULT_CONDITION, oldDefaultCondition, defaultCondition)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<ParamDef> getParameters() { + if (parameters == null) { + parameters = new EObjectResolvingEList<ParamDef>(ParamDef.class, this, HbannotationPackage.FILTER_DEF__PARAMETERS); + } + return parameters; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.FILTER_DEF__NAME: + return getName(); + case HbannotationPackage.FILTER_DEF__DEFAULT_CONDITION: + return getDefaultCondition(); + case HbannotationPackage.FILTER_DEF__PARAMETERS: + return getParameters(); + } + 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 HbannotationPackage.FILTER_DEF__NAME: + setName((String)newValue); + return; + case HbannotationPackage.FILTER_DEF__DEFAULT_CONDITION: + setDefaultCondition((String)newValue); + return; + case HbannotationPackage.FILTER_DEF__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection<? extends ParamDef>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.FILTER_DEF__NAME: + setName(NAME_EDEFAULT); + return; + case HbannotationPackage.FILTER_DEF__DEFAULT_CONDITION: + setDefaultCondition(DEFAULT_CONDITION_EDEFAULT); + return; + case HbannotationPackage.FILTER_DEF__PARAMETERS: + getParameters().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.FILTER_DEF__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case HbannotationPackage.FILTER_DEF__DEFAULT_CONDITION: + return DEFAULT_CONDITION_EDEFAULT == null ? defaultCondition != null : !DEFAULT_CONDITION_EDEFAULT.equals(defaultCondition); + case HbannotationPackage.FILTER_DEF__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + } + 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(" (name: "); + result.append(name); + result.append(", defaultCondition: "); + result.append(defaultCondition); + result.append(')'); + return result.toString(); + } + +} //FilterDefImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FilterImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FilterImpl.java new file mode 100755 index 000000000..de27d3b76 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FilterImpl.java @@ -0,0 +1,217 @@ +/** + * <copyright> + * </copyright> + * + * $Id: FilterImpl.java,v 1.2 2010/02/04 11:03:39 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Filter</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterImpl#getCondition <em>Condition</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class FilterImpl extends HbAnnotationImpl implements Filter { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The default value of the '{@link #getCondition() <em>Condition</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCondition() + * @generated + * @ordered + */ + protected static final String CONDITION_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCondition() <em>Condition</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCondition() + * @generated + * @ordered + */ + protected String condition = CONDITION_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FilterImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.FILTER; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.FILTER__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getCondition() { + return condition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCondition(String newCondition) { + String oldCondition = condition; + condition = newCondition; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.FILTER__CONDITION, oldCondition, condition)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.FILTER__NAME: + return getName(); + case HbannotationPackage.FILTER__CONDITION: + return getCondition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.FILTER__NAME: + setName((String)newValue); + return; + case HbannotationPackage.FILTER__CONDITION: + setCondition((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.FILTER__NAME: + setName(NAME_EDEFAULT); + return; + case HbannotationPackage.FILTER__CONDITION: + setCondition(CONDITION_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.FILTER__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case HbannotationPackage.FILTER__CONDITION: + return CONDITION_EDEFAULT == null ? condition != null : !CONDITION_EDEFAULT.equals(condition); + } + 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(" (name: "); + result.append(name); + result.append(", condition: "); + result.append(condition); + result.append(')'); + return result.toString(); + } + +} //FilterImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ForceDiscriminatorImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ForceDiscriminatorImpl.java new file mode 100755 index 000000000..d6c631f89 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ForceDiscriminatorImpl.java @@ -0,0 +1,42 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ForceDiscriminatorImpl.java,v 1.2 2010/02/04 11:03:39 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.teneo.hibernate.hbannotation.ForceDiscriminator; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Force Discriminator</b></em>'. + * <!-- end-user-doc --> + * <p> + * </p> + * + * @generated + */ +public class ForceDiscriminatorImpl extends HbAnnotationImpl implements ForceDiscriminator { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ForceDiscriminatorImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.FORCE_DISCRIMINATOR; + } + +} //ForceDiscriminatorImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FormulaImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FormulaImpl.java new file mode 100755 index 000000000..da2fa966a --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FormulaImpl.java @@ -0,0 +1,163 @@ +/** + * <copyright> + * </copyright> + * + * $Id: FormulaImpl.java,v 1.2 2010/02/04 11:03:43 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.Formula; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Formula</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FormulaImpl#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class FormulaImpl extends HbAnnotationImpl implements Formula { + /** + * The default value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected static final String VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected String value = VALUE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FormulaImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.FORMULA; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getValue() { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setValue(String newValue) { + String oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.FORMULA__VALUE, oldValue, value)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.FORMULA__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.FORMULA__VALUE: + setValue((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.FORMULA__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.FORMULA__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + } + 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(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //FormulaImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/GeneratedImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/GeneratedImpl.java new file mode 100755 index 000000000..c34aeace1 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/GeneratedImpl.java @@ -0,0 +1,164 @@ +/** + * <copyright> + * </copyright> + * + * $Id: GeneratedImpl.java,v 1.3 2008/01/18 06:21:36 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.Generated; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Generated</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.GeneratedImpl#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class GeneratedImpl extends HbAnnotationImpl implements Generated { + /** + * The default value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected static final GenerationTime VALUE_EDEFAULT = GenerationTime.NEVER; + + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected GenerationTime value = VALUE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GeneratedImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.GENERATED; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GenerationTime getValue() { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setValue(GenerationTime newValue) { + GenerationTime oldValue = value; + value = newValue == null ? VALUE_EDEFAULT : newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.GENERATED__VALUE, oldValue, value)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.GENERATED__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.GENERATED__VALUE: + setValue((GenerationTime)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.GENERATED__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.GENERATED__VALUE: + return value != VALUE_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(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //GeneratedImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/GenericGeneratorImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/GenericGeneratorImpl.java new file mode 100755 index 000000000..6fe8e5ccf --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/GenericGeneratorImpl.java @@ -0,0 +1,257 @@ +/** + * <copyright> + * </copyright> + * + * $Id: GenericGeneratorImpl.java,v 1.7 2008/01/18 06:21:36 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Generic Generator</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.GenericGeneratorImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.GenericGeneratorImpl#getStrategy <em>Strategy</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.GenericGeneratorImpl#getParameters <em>Parameters</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class GenericGeneratorImpl extends HbAnnotationImpl implements GenericGenerator { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The default value of the '{@link #getStrategy() <em>Strategy</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStrategy() + * @generated + * @ordered + */ + protected static final String STRATEGY_EDEFAULT = null; + + /** + * The cached value of the '{@link #getStrategy() <em>Strategy</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStrategy() + * @generated + * @ordered + */ + protected String strategy = STRATEGY_EDEFAULT; + + /** + * The cached value of the '{@link #getParameters() <em>Parameters</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getParameters() + * @generated + * @ordered + */ + protected EList<Parameter> parameters; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GenericGeneratorImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.GENERIC_GENERATOR; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.GENERIC_GENERATOR__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getStrategy() { + return strategy; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setStrategy(String newStrategy) { + String oldStrategy = strategy; + strategy = newStrategy; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.GENERIC_GENERATOR__STRATEGY, oldStrategy, strategy)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Parameter> getParameters() { + if (parameters == null) { + parameters = new EObjectResolvingEList<Parameter>(Parameter.class, this, HbannotationPackage.GENERIC_GENERATOR__PARAMETERS); + } + return parameters; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.GENERIC_GENERATOR__NAME: + return getName(); + case HbannotationPackage.GENERIC_GENERATOR__STRATEGY: + return getStrategy(); + case HbannotationPackage.GENERIC_GENERATOR__PARAMETERS: + return getParameters(); + } + 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 HbannotationPackage.GENERIC_GENERATOR__NAME: + setName((String)newValue); + return; + case HbannotationPackage.GENERIC_GENERATOR__STRATEGY: + setStrategy((String)newValue); + return; + case HbannotationPackage.GENERIC_GENERATOR__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection<? extends Parameter>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.GENERIC_GENERATOR__NAME: + setName(NAME_EDEFAULT); + return; + case HbannotationPackage.GENERIC_GENERATOR__STRATEGY: + setStrategy(STRATEGY_EDEFAULT); + return; + case HbannotationPackage.GENERIC_GENERATOR__PARAMETERS: + getParameters().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.GENERIC_GENERATOR__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case HbannotationPackage.GENERIC_GENERATOR__STRATEGY: + return STRATEGY_EDEFAULT == null ? strategy != null : !STRATEGY_EDEFAULT.equals(strategy); + case HbannotationPackage.GENERIC_GENERATOR__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + } + 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(" (name: "); + result.append(name); + result.append(", strategy: "); + result.append(strategy); + result.append(')'); + return result.toString(); + } + +} //GenericGeneratorImpl
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbAnnotationImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbAnnotationImpl.java new file mode 100755 index 000000000..59a94dd5f --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbAnnotationImpl.java @@ -0,0 +1,73 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotationImpl.java,v 1.1 2007/11/14 16:38:33 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.teneo.annotations.pannotation.impl.PAnnotationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotation; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction; + +/** + * <!-- begin-user-doc --> An implementation of the model object '<em><b>Hb Annotation</b></em>'. + * <!-- end-user-doc --> + * <p> + * </p> + * + * @generated + */ +public abstract class HbAnnotationImpl extends PAnnotationImpl implements HbAnnotation { + + /** Translation from enumerate class to import annotation class */ + private static Map<Class<?>, String> hbEnumToImport = new HashMap<Class<?>, String>(); + + static { + hbEnumToImport.put(CacheConcurrencyStrategy.class, "org.hibernate.annotations."); + hbEnumToImport.put(HbFetchType.class, "org.hibernate.annotations.FetchType"); + hbEnumToImport.put(OnDeleteAction.class, "org.hibernate.annotations.OnDeleteAction"); + hbEnumToImport.put(GenerationTime.class, "org.hibernate.annotations.GenerationTime"); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + protected HbAnnotationImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.HB_ANNOTATION; + } + + /** Return the import statement required for the enum */ + @Override + protected String getEnumImport(Object enumInstance) { + final String enumImport = hbEnumToImport.get(enumInstance.getClass()); + if (enumImport == null) { + return super.getEnumImport(enumInstance); + } + return enumImport; + } + + /** Return the class name of the annotation */ + @Override + public String getAnnotationClassName() { + return "org.hibernate.annotations." + this.eClass().getName(); + } +} // HbAnnotationImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbEntityImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbEntityImpl.java new file mode 100755 index 000000000..2c301993c --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbEntityImpl.java @@ -0,0 +1,489 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbEntityImpl.java,v 1.3 2010/02/04 11:03:40 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType; +import org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Hb Entity</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl#isDynamicInsert <em>Dynamic Insert</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl#isDynamicUpdate <em>Dynamic Update</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl#isSelectBeforeUpdate <em>Select Before Update</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl#isMutable <em>Mutable</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl#getPersister <em>Persister</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl#getOptimisticLock <em>Optimistic Lock</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl#getPolymorphism <em>Polymorphism</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class HbEntityImpl extends HbAnnotationImpl implements HbEntity { + /** + * The default value of the '{@link #isDynamicInsert() <em>Dynamic Insert</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isDynamicInsert() + * @generated + * @ordered + */ + protected static final boolean DYNAMIC_INSERT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isDynamicInsert() <em>Dynamic Insert</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isDynamicInsert() + * @generated + * @ordered + */ + protected boolean dynamicInsert = DYNAMIC_INSERT_EDEFAULT; + + /** + * The default value of the '{@link #isDynamicUpdate() <em>Dynamic Update</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isDynamicUpdate() + * @generated + * @ordered + */ + protected static final boolean DYNAMIC_UPDATE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isDynamicUpdate() <em>Dynamic Update</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isDynamicUpdate() + * @generated + * @ordered + */ + protected boolean dynamicUpdate = DYNAMIC_UPDATE_EDEFAULT; + + /** + * The default value of the '{@link #isSelectBeforeUpdate() <em>Select Before Update</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSelectBeforeUpdate() + * @generated + * @ordered + */ + protected static final boolean SELECT_BEFORE_UPDATE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isSelectBeforeUpdate() <em>Select Before Update</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSelectBeforeUpdate() + * @generated + * @ordered + */ + protected boolean selectBeforeUpdate = SELECT_BEFORE_UPDATE_EDEFAULT; + + /** + * The default value of the '{@link #isMutable() <em>Mutable</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isMutable() + * @generated + * @ordered + */ + protected static final boolean MUTABLE_EDEFAULT = true; + + /** + * The cached value of the '{@link #isMutable() <em>Mutable</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isMutable() + * @generated + * @ordered + */ + protected boolean mutable = MUTABLE_EDEFAULT; + + /** + * The default value of the '{@link #getPersister() <em>Persister</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPersister() + * @generated + * @ordered + */ + protected static final String PERSISTER_EDEFAULT = null; + + /** + * The cached value of the '{@link #getPersister() <em>Persister</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPersister() + * @generated + * @ordered + */ + protected String persister = PERSISTER_EDEFAULT; + + /** + * The default value of the '{@link #getOptimisticLock() <em>Optimistic Lock</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOptimisticLock() + * @generated + * @ordered + */ + protected static final OptimisticLockType OPTIMISTIC_LOCK_EDEFAULT = OptimisticLockType.VERSION; + + /** + * The cached value of the '{@link #getOptimisticLock() <em>Optimistic Lock</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOptimisticLock() + * @generated + * @ordered + */ + protected OptimisticLockType optimisticLock = OPTIMISTIC_LOCK_EDEFAULT; + + /** + * The default value of the '{@link #getPolymorphism() <em>Polymorphism</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPolymorphism() + * @generated + * @ordered + */ + protected static final PolymorphismType POLYMORPHISM_EDEFAULT = PolymorphismType.IMPLICIT; + + /** + * The cached value of the '{@link #getPolymorphism() <em>Polymorphism</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getPolymorphism() + * @generated + * @ordered + */ + protected PolymorphismType polymorphism = POLYMORPHISM_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected HbEntityImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.HB_ENTITY; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isDynamicInsert() { + return dynamicInsert; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setDynamicInsert(boolean newDynamicInsert) { + boolean oldDynamicInsert = dynamicInsert; + dynamicInsert = newDynamicInsert; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.HB_ENTITY__DYNAMIC_INSERT, oldDynamicInsert, dynamicInsert)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isDynamicUpdate() { + return dynamicUpdate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setDynamicUpdate(boolean newDynamicUpdate) { + boolean oldDynamicUpdate = dynamicUpdate; + dynamicUpdate = newDynamicUpdate; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.HB_ENTITY__DYNAMIC_UPDATE, oldDynamicUpdate, dynamicUpdate)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSelectBeforeUpdate() { + return selectBeforeUpdate; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setSelectBeforeUpdate(boolean newSelectBeforeUpdate) { + boolean oldSelectBeforeUpdate = selectBeforeUpdate; + selectBeforeUpdate = newSelectBeforeUpdate; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.HB_ENTITY__SELECT_BEFORE_UPDATE, oldSelectBeforeUpdate, selectBeforeUpdate)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isMutable() { + return mutable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setMutable(boolean newMutable) { + boolean oldMutable = mutable; + mutable = newMutable; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.HB_ENTITY__MUTABLE, oldMutable, mutable)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getPersister() { + return persister; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setPersister(String newPersister) { + String oldPersister = persister; + persister = newPersister; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.HB_ENTITY__PERSISTER, oldPersister, persister)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OptimisticLockType getOptimisticLock() { + return optimisticLock; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setOptimisticLock(OptimisticLockType newOptimisticLock) { + OptimisticLockType oldOptimisticLock = optimisticLock; + optimisticLock = newOptimisticLock == null ? OPTIMISTIC_LOCK_EDEFAULT : newOptimisticLock; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.HB_ENTITY__OPTIMISTIC_LOCK, oldOptimisticLock, optimisticLock)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PolymorphismType getPolymorphism() { + return polymorphism; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setPolymorphism(PolymorphismType newPolymorphism) { + PolymorphismType oldPolymorphism = polymorphism; + polymorphism = newPolymorphism == null ? POLYMORPHISM_EDEFAULT : newPolymorphism; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.HB_ENTITY__POLYMORPHISM, oldPolymorphism, polymorphism)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.HB_ENTITY__DYNAMIC_INSERT: + return isDynamicInsert(); + case HbannotationPackage.HB_ENTITY__DYNAMIC_UPDATE: + return isDynamicUpdate(); + case HbannotationPackage.HB_ENTITY__SELECT_BEFORE_UPDATE: + return isSelectBeforeUpdate(); + case HbannotationPackage.HB_ENTITY__MUTABLE: + return isMutable(); + case HbannotationPackage.HB_ENTITY__PERSISTER: + return getPersister(); + case HbannotationPackage.HB_ENTITY__OPTIMISTIC_LOCK: + return getOptimisticLock(); + case HbannotationPackage.HB_ENTITY__POLYMORPHISM: + return getPolymorphism(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.HB_ENTITY__DYNAMIC_INSERT: + setDynamicInsert((Boolean)newValue); + return; + case HbannotationPackage.HB_ENTITY__DYNAMIC_UPDATE: + setDynamicUpdate((Boolean)newValue); + return; + case HbannotationPackage.HB_ENTITY__SELECT_BEFORE_UPDATE: + setSelectBeforeUpdate((Boolean)newValue); + return; + case HbannotationPackage.HB_ENTITY__MUTABLE: + setMutable((Boolean)newValue); + return; + case HbannotationPackage.HB_ENTITY__PERSISTER: + setPersister((String)newValue); + return; + case HbannotationPackage.HB_ENTITY__OPTIMISTIC_LOCK: + setOptimisticLock((OptimisticLockType)newValue); + return; + case HbannotationPackage.HB_ENTITY__POLYMORPHISM: + setPolymorphism((PolymorphismType)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.HB_ENTITY__DYNAMIC_INSERT: + setDynamicInsert(DYNAMIC_INSERT_EDEFAULT); + return; + case HbannotationPackage.HB_ENTITY__DYNAMIC_UPDATE: + setDynamicUpdate(DYNAMIC_UPDATE_EDEFAULT); + return; + case HbannotationPackage.HB_ENTITY__SELECT_BEFORE_UPDATE: + setSelectBeforeUpdate(SELECT_BEFORE_UPDATE_EDEFAULT); + return; + case HbannotationPackage.HB_ENTITY__MUTABLE: + setMutable(MUTABLE_EDEFAULT); + return; + case HbannotationPackage.HB_ENTITY__PERSISTER: + setPersister(PERSISTER_EDEFAULT); + return; + case HbannotationPackage.HB_ENTITY__OPTIMISTIC_LOCK: + setOptimisticLock(OPTIMISTIC_LOCK_EDEFAULT); + return; + case HbannotationPackage.HB_ENTITY__POLYMORPHISM: + setPolymorphism(POLYMORPHISM_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.HB_ENTITY__DYNAMIC_INSERT: + return dynamicInsert != DYNAMIC_INSERT_EDEFAULT; + case HbannotationPackage.HB_ENTITY__DYNAMIC_UPDATE: + return dynamicUpdate != DYNAMIC_UPDATE_EDEFAULT; + case HbannotationPackage.HB_ENTITY__SELECT_BEFORE_UPDATE: + return selectBeforeUpdate != SELECT_BEFORE_UPDATE_EDEFAULT; + case HbannotationPackage.HB_ENTITY__MUTABLE: + return mutable != MUTABLE_EDEFAULT; + case HbannotationPackage.HB_ENTITY__PERSISTER: + return PERSISTER_EDEFAULT == null ? persister != null : !PERSISTER_EDEFAULT.equals(persister); + case HbannotationPackage.HB_ENTITY__OPTIMISTIC_LOCK: + return optimisticLock != OPTIMISTIC_LOCK_EDEFAULT; + case HbannotationPackage.HB_ENTITY__POLYMORPHISM: + return polymorphism != POLYMORPHISM_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(" (dynamicInsert: "); + result.append(dynamicInsert); + result.append(", dynamicUpdate: "); + result.append(dynamicUpdate); + result.append(", selectBeforeUpdate: "); + result.append(selectBeforeUpdate); + result.append(", mutable: "); + result.append(mutable); + result.append(", persister: "); + result.append(persister); + result.append(", optimisticLock: "); + result.append(optimisticLock); + result.append(", polymorphism: "); + result.append(polymorphism); + result.append(')'); + return result.toString(); + } + +} //HbEntityImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbMapKeyImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbMapKeyImpl.java new file mode 100755 index 000000000..3b031a9e8 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbMapKeyImpl.java @@ -0,0 +1,150 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbMapKeyImpl.java,v 1.2 2010/02/04 11:03:41 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Hb Map Key</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbMapKeyImpl#getColumns <em>Columns</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class HbMapKeyImpl extends HbAnnotationImpl implements HbMapKey { + /** + * The cached value of the '{@link #getColumns() <em>Columns</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getColumns() + * @generated + * @ordered + */ + protected EList<Column> columns; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected HbMapKeyImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.HB_MAP_KEY; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Column> getColumns() { + if (columns == null) { + columns = new EObjectContainmentEList<Column>(Column.class, this, HbannotationPackage.HB_MAP_KEY__COLUMNS); + } + return columns; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case HbannotationPackage.HB_MAP_KEY__COLUMNS: + return ((InternalEList<?>)getColumns()).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 HbannotationPackage.HB_MAP_KEY__COLUMNS: + return getColumns(); + } + 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 HbannotationPackage.HB_MAP_KEY__COLUMNS: + getColumns().clear(); + getColumns().addAll((Collection<? extends Column>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.HB_MAP_KEY__COLUMNS: + getColumns().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.HB_MAP_KEY__COLUMNS: + return columns != null && !columns.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //HbMapKeyImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbannotationFactoryImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbannotationFactoryImpl.java new file mode 100755 index 000000000..61f26463a --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbannotationFactoryImpl.java @@ -0,0 +1,657 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbannotationFactoryImpl.java,v 1.17 2010/02/04 11:03:42 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.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.emf.teneo.hibernate.hbannotation.Any; +import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade; +import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements; +import org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula; +import org.eclipse.emf.teneo.hibernate.hbannotation.Fetch; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.ForceDiscriminator; +import org.eclipse.emf.teneo.hibernate.hbannotation.Formula; +import org.eclipse.emf.teneo.hibernate.hbannotation.Generated; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationFactory; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; +import org.eclipse.emf.teneo.hibernate.hbannotation.Immutable; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany; +import org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue; +import org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery; +import org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId; +import org.eclipse.emf.teneo.hibernate.hbannotation.NotFound; +import org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction; +import org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType; +import org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; +import org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType; +import org.eclipse.emf.teneo.hibernate.hbannotation.Proxy; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; + +/** + * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc --> + * @generated + */ +public class HbannotationFactoryImpl extends EFactoryImpl implements HbannotationFactory { + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public static HbannotationFactory init() { + try { + HbannotationFactory theHbannotationFactory = (HbannotationFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/teneo/2006/HbAnnotation"); + if (theHbannotationFactory != null) { + return theHbannotationFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new HbannotationFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public HbannotationFactoryImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case HbannotationPackage.CASCADE: return createCascade(); + case HbannotationPackage.COLLECTION_OF_ELEMENTS: return createCollectionOfElements(); + case HbannotationPackage.HB_MAP_KEY: return createHbMapKey(); + case HbannotationPackage.PARAMETER: return createParameter(); + case HbannotationPackage.TYPE: return createType(); + case HbannotationPackage.WHERE: return createWhere(); + case HbannotationPackage.ID_BAG: return createIdBag(); + case HbannotationPackage.GENERIC_GENERATOR: return createGenericGenerator(); + case HbannotationPackage.CACHE: return createCache(); + case HbannotationPackage.TYPE_DEF: return createTypeDef(); + case HbannotationPackage.FETCH: return createFetch(); + case HbannotationPackage.ON_DELETE: return createOnDelete(); + case HbannotationPackage.PROXY: return createProxy(); + case HbannotationPackage.INDEX: return createIndex(); + case HbannotationPackage.GENERATED: return createGenerated(); + case HbannotationPackage.NAMED_QUERY: return createNamedQuery(); + case HbannotationPackage.FILTER: return createFilter(); + case HbannotationPackage.PARAM_DEF: return createParamDef(); + case HbannotationPackage.FILTER_DEF: return createFilterDef(); + case HbannotationPackage.DISCRIMINATOR_FORMULA: return createDiscriminatorFormula(); + case HbannotationPackage.NATURAL_ID: return createNaturalId(); + case HbannotationPackage.MAP_KEY_MANY_TO_MANY: return createMapKeyManyToMany(); + case HbannotationPackage.FORCE_DISCRIMINATOR: return createForceDiscriminator(); + case HbannotationPackage.IMMUTABLE: return createImmutable(); + case HbannotationPackage.FORMULA: return createFormula(); + case HbannotationPackage.NOT_FOUND: return createNotFound(); + case HbannotationPackage.HB_ENTITY: return createHbEntity(); + case HbannotationPackage.BATCH_SIZE: return createBatchSize(); + case HbannotationPackage.ANY: return createAny(); + case HbannotationPackage.META_VALUE: return createMetaValue(); + case HbannotationPackage.ANY_META_DEF: return createAnyMetaDef(); + 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 HbannotationPackage.CACHE_CONCURRENCY_STRATEGY: + return createCacheConcurrencyStrategyFromString(eDataType, initialValue); + case HbannotationPackage.HB_FETCH_TYPE: + return createHbFetchTypeFromString(eDataType, initialValue); + case HbannotationPackage.ON_DELETE_ACTION: + return createOnDeleteActionFromString(eDataType, initialValue); + case HbannotationPackage.GENERATION_TIME: + return createGenerationTimeFromString(eDataType, initialValue); + case HbannotationPackage.NOT_FOUND_ACTION: + return createNotFoundActionFromString(eDataType, initialValue); + case HbannotationPackage.OPTIMISTIC_LOCK_TYPE: + return createOptimisticLockTypeFromString(eDataType, initialValue); + case HbannotationPackage.POLYMORPHISM_TYPE: + return createPolymorphismTypeFromString(eDataType, initialValue); + case HbannotationPackage.HB_CASCADE_TYPE: + return createHbCascadeTypeFromString(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 HbannotationPackage.CACHE_CONCURRENCY_STRATEGY: + return convertCacheConcurrencyStrategyToString(eDataType, instanceValue); + case HbannotationPackage.HB_FETCH_TYPE: + return convertHbFetchTypeToString(eDataType, instanceValue); + case HbannotationPackage.ON_DELETE_ACTION: + return convertOnDeleteActionToString(eDataType, instanceValue); + case HbannotationPackage.GENERATION_TIME: + return convertGenerationTimeToString(eDataType, instanceValue); + case HbannotationPackage.NOT_FOUND_ACTION: + return convertNotFoundActionToString(eDataType, instanceValue); + case HbannotationPackage.OPTIMISTIC_LOCK_TYPE: + return convertOptimisticLockTypeToString(eDataType, instanceValue); + case HbannotationPackage.POLYMORPHISM_TYPE: + return convertPolymorphismTypeToString(eDataType, instanceValue); + case HbannotationPackage.HB_CASCADE_TYPE: + return convertHbCascadeTypeToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Cascade createCascade() { + CascadeImpl cascade = new CascadeImpl(); + return cascade; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public CollectionOfElements createCollectionOfElements() { + CollectionOfElementsImpl collectionOfElements = new CollectionOfElementsImpl(); + return collectionOfElements; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbMapKey createHbMapKey() { + HbMapKeyImpl hbMapKey = new HbMapKeyImpl(); + return hbMapKey; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Parameter createParameter() { + ParameterImpl parameter = new ParameterImpl(); + return parameter; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Type createType() { + TypeImpl type = new TypeImpl(); + return type; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Where createWhere() { + WhereImpl where = new WhereImpl(); + return where; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public IdBag createIdBag() { + IdBagImpl idBag = new IdBagImpl(); + return idBag; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public GenericGenerator createGenericGenerator() { + GenericGeneratorImpl genericGenerator = new GenericGeneratorImpl(); + return genericGenerator; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Cache createCache() { + CacheImpl cache = new CacheImpl(); + return cache; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public TypeDef createTypeDef() { + TypeDefImpl typeDef = new TypeDefImpl(); + return typeDef; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Fetch createFetch() { + FetchImpl fetch = new FetchImpl(); + return fetch; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public OnDelete createOnDelete() { + OnDeleteImpl onDelete = new OnDeleteImpl(); + return onDelete; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Proxy createProxy() { + ProxyImpl proxy = new ProxyImpl(); + return proxy; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Index createIndex() { + IndexImpl index = new IndexImpl(); + return index; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Generated createGenerated() { + GeneratedImpl generated = new GeneratedImpl(); + return generated; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NamedQuery createNamedQuery() { + NamedQueryImpl namedQuery = new NamedQueryImpl(); + return namedQuery; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Filter createFilter() { + FilterImpl filter = new FilterImpl(); + return filter; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ParamDef createParamDef() { + ParamDefImpl paramDef = new ParamDefImpl(); + return paramDef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FilterDef createFilterDef() { + FilterDefImpl filterDef = new FilterDefImpl(); + return filterDef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DiscriminatorFormula createDiscriminatorFormula() { + DiscriminatorFormulaImpl discriminatorFormula = new DiscriminatorFormulaImpl(); + return discriminatorFormula; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NaturalId createNaturalId() { + NaturalIdImpl naturalId = new NaturalIdImpl(); + return naturalId; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MapKeyManyToMany createMapKeyManyToMany() { + MapKeyManyToManyImpl mapKeyManyToMany = new MapKeyManyToManyImpl(); + return mapKeyManyToMany; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ForceDiscriminator createForceDiscriminator() { + ForceDiscriminatorImpl forceDiscriminator = new ForceDiscriminatorImpl(); + return forceDiscriminator; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Immutable createImmutable() { + ImmutableImpl immutable = new ImmutableImpl(); + return immutable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Formula createFormula() { + FormulaImpl formula = new FormulaImpl(); + return formula; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotFound createNotFound() { + NotFoundImpl notFound = new NotFoundImpl(); + return notFound; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbEntity createHbEntity() { + HbEntityImpl hbEntity = new HbEntityImpl(); + return hbEntity; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BatchSize createBatchSize() { + BatchSizeImpl batchSize = new BatchSizeImpl(); + return batchSize; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Any createAny() { + AnyImpl any = new AnyImpl(); + return any; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MetaValue createMetaValue() { + MetaValueImpl metaValue = new MetaValueImpl(); + return metaValue; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AnyMetaDef createAnyMetaDef() { + AnyMetaDefImpl anyMetaDef = new AnyMetaDefImpl(); + return anyMetaDef; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public CacheConcurrencyStrategy createCacheConcurrencyStrategyFromString(EDataType eDataType, String initialValue) { + CacheConcurrencyStrategy result = CacheConcurrencyStrategy.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 convertCacheConcurrencyStrategyToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public HbFetchType createHbFetchTypeFromString(EDataType eDataType, String initialValue) { + HbFetchType result = HbFetchType.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 convertHbFetchTypeToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public OnDeleteAction createOnDeleteActionFromString(EDataType eDataType, String initialValue) { + OnDeleteAction result = OnDeleteAction.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 convertOnDeleteActionToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GenerationTime createGenerationTimeFromString(EDataType eDataType, String initialValue) { + GenerationTime result = GenerationTime.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 convertGenerationTimeToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotFoundAction createNotFoundActionFromString(EDataType eDataType, String initialValue) { + NotFoundAction result = NotFoundAction.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 convertNotFoundActionToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OptimisticLockType createOptimisticLockTypeFromString(EDataType eDataType, String initialValue) { + OptimisticLockType result = OptimisticLockType.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 convertOptimisticLockTypeToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public PolymorphismType createPolymorphismTypeFromString(EDataType eDataType, String initialValue) { + PolymorphismType result = PolymorphismType.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 convertPolymorphismTypeToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbCascadeType createHbCascadeTypeFromString(EDataType eDataType, String initialValue) { + HbCascadeType result = HbCascadeType.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 convertHbCascadeTypeToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public HbannotationPackage getHbannotationPackage() { + return (HbannotationPackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static HbannotationPackage getPackage() { + return HbannotationPackage.eINSTANCE; + } + +} // HbannotationFactoryImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbannotationPackageImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbannotationPackageImpl.java new file mode 100755 index 000000000..24f1c60da --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbannotationPackageImpl.java @@ -0,0 +1,1955 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbannotationPackageImpl.java,v 1.17 2010/02/04 11:03:40 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.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.EValidator; +import org.eclipse.emf.ecore.impl.EPackageImpl; +import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage; +import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.Any; +import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade; +import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements; +import org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula; +import org.eclipse.emf.teneo.hibernate.hbannotation.Fetch; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.ForceDiscriminator; +import org.eclipse.emf.teneo.hibernate.hbannotation.Formula; +import org.eclipse.emf.teneo.hibernate.hbannotation.Generated; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotation; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationFactory; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; +import org.eclipse.emf.teneo.hibernate.hbannotation.Immutable; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany; +import org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue; +import org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery; +import org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId; +import org.eclipse.emf.teneo.hibernate.hbannotation.NotFound; +import org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction; +import org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType; +import org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; +import org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType; +import org.eclipse.emf.teneo.hibernate.hbannotation.Proxy; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; +import org.eclipse.emf.teneo.hibernate.hbannotation.util.HbannotationValidator; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage; +import org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl; + +/** + * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc --> + * @generated + */ +public class HbannotationPackageImpl extends EPackageImpl implements HbannotationPackage { + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass hbAnnotationEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass cascadeEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass collectionOfElementsEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass hbMapKeyEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass parameterEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass typeEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass whereEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass idBagEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass genericGeneratorEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass cacheEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass typeDefEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass fetchEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass onDeleteEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass proxyEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass indexEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass generatedEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass namedQueryEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass filterEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass paramDefEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass filterDefEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass discriminatorFormulaEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass naturalIdEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass mapKeyManyToManyEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass forceDiscriminatorEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass immutableEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass formulaEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass notFoundEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass hbEntityEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass batchSizeEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass anyEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass metaValueEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass anyMetaDefEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EEnum cacheConcurrencyStrategyEEnum = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EEnum hbFetchTypeEEnum = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EEnum onDeleteActionEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum generationTimeEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum notFoundActionEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum optimisticLockTypeEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum polymorphismTypeEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum hbCascadeTypeEEnum = 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.emf.teneo.hibernate.hbannotation.HbannotationPackage#eNS_URI + * @see #init() + * @generated + */ + private HbannotationPackageImpl() { + super(eNS_URI, HbannotationFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this + * model, and for any others upon which it depends. Simple + * dependencies are satisfied by calling this method on all + * dependent packages before doing anything else. This method drives + * initialization for interdependent packages directly, in parallel + * with this package, itself. + * <p>Of this package and its interdependencies, all packages which + * have not yet been registered by their URI values are first created + * and registered. The packages are then initialized in two steps: + * meta-model objects for all of the packages are created before any + * are initialized, since one package's meta-model objects may refer to + * those of another. + * <p>Invocation of this method will not affect any packages that have + * already been initialized. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static HbannotationPackage init() { + if (isInited) return (HbannotationPackage)EPackage.Registry.INSTANCE.getEPackage(HbannotationPackage.eNS_URI); + + // Obtain or create and register package + HbannotationPackageImpl theHbannotationPackage = (HbannotationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof HbannotationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new HbannotationPackageImpl()); + + isInited = true; + + // Initialize simple dependencies + PamodelPackage.eINSTANCE.eClass(); + PannotationPackage.eINSTANCE.eClass(); + + // Obtain or create and register interdependencies + HbmodelPackageImpl theHbmodelPackage = (HbmodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HbmodelPackage.eNS_URI) instanceof HbmodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HbmodelPackage.eNS_URI) : HbmodelPackage.eINSTANCE); + + // Create package meta-data objects + theHbannotationPackage.createPackageContents(); + theHbmodelPackage.createPackageContents(); + + // Initialize created meta-data + theHbannotationPackage.initializePackageContents(); + theHbmodelPackage.initializePackageContents(); + + // Register package validator + EValidator.Registry.INSTANCE.put + (theHbannotationPackage, + new EValidator.Descriptor() { + public EValidator getEValidator() { + return HbannotationValidator.INSTANCE; + } + }); + + // Mark meta-data to indicate it can't be changed + theHbannotationPackage.freeze(); + + return theHbannotationPackage; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getHbAnnotation() { + return hbAnnotationEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getCascade() { + return cascadeEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getCascade_Value() { + return (EAttribute)cascadeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getCollectionOfElements() { + return collectionOfElementsEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getCollectionOfElements_TargetElement() { + return (EAttribute)collectionOfElementsEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getCollectionOfElements_Fetch() { + return (EAttribute)collectionOfElementsEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getHbMapKey() { + return hbMapKeyEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbMapKey_Columns() { + return (EReference)hbMapKeyEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getParameter() { + return parameterEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getParameter_Name() { + return (EAttribute)parameterEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getParameter_Value() { + return (EAttribute)parameterEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getType() { + return typeEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getType_Type() { + return (EAttribute)typeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getType_Parameters() { + return (EReference)typeEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getWhere() { + return whereEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getWhere_Clause() { + return (EAttribute)whereEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getIdBag() { + return idBagEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getIdBag_Generator() { + return (EAttribute)idBagEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getIdBag_Type() { + return (EAttribute)idBagEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getIdBag_Table() { + return (EAttribute)idBagEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getGenericGenerator() { + return genericGeneratorEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getGenericGenerator_Name() { + return (EAttribute)genericGeneratorEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getGenericGenerator_Strategy() { + return (EAttribute)genericGeneratorEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getGenericGenerator_Parameters() { + return (EReference)genericGeneratorEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getCache() { + return cacheEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getCache_Usage() { + return (EAttribute)cacheEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getCache_Region() { + return (EAttribute)cacheEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getCache_Include() { + return (EAttribute)cacheEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getTypeDef() { + return typeDefEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getTypeDef_Name() { + return (EAttribute)typeDefEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getTypeDef_Parameters() { + return (EReference)typeDefEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getTypeDef_TypeClass() { + return (EAttribute)typeDefEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getFetch() { + return fetchEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getFetch_Value() { + return (EAttribute)fetchEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getOnDelete() { + return onDeleteEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getOnDelete_Action() { + return (EAttribute)onDeleteEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getProxy() { + return proxyEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getProxy_ProxyClass() { + return (EAttribute)proxyEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getProxy_Lazy() { + return (EAttribute)proxyEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getIndex() { + return indexEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getIndex_Name() { + return (EAttribute)indexEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getGenerated() { + return generatedEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getGenerated_Value() { + return (EAttribute)generatedEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getNamedQuery() { + return namedQueryEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getNamedQuery_Name() { + return (EAttribute)namedQueryEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getNamedQuery_Query() { + return (EAttribute)namedQueryEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getFilter() { + return filterEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getFilter_Name() { + return (EAttribute)filterEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getFilter_Condition() { + return (EAttribute)filterEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getParamDef() { + return paramDefEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getParamDef_Name() { + return (EAttribute)paramDefEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getParamDef_Type() { + return (EAttribute)paramDefEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getFilterDef() { + return filterDefEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getFilterDef_Name() { + return (EAttribute)filterDefEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getFilterDef_DefaultCondition() { + return (EAttribute)filterDefEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getFilterDef_Parameters() { + return (EReference)filterDefEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getDiscriminatorFormula() { + return discriminatorFormulaEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getDiscriminatorFormula_Value() { + return (EAttribute)discriminatorFormulaEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getNaturalId() { + return naturalIdEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getNaturalId_Mutable() { + return (EAttribute)naturalIdEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getMapKeyManyToMany() { + return mapKeyManyToManyEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getMapKeyManyToMany_JoinColumns() { + return (EReference)mapKeyManyToManyEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getMapKeyManyToMany_TargetEntity() { + return (EAttribute)mapKeyManyToManyEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getForceDiscriminator() { + return forceDiscriminatorEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getImmutable() { + return immutableEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getFormula() { + return formulaEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getFormula_Value() { + return (EAttribute)formulaEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getNotFound() { + return notFoundEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getNotFound_Action() { + return (EAttribute)notFoundEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getHbEntity() { + return hbEntityEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getHbEntity_DynamicInsert() { + return (EAttribute)hbEntityEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getHbEntity_DynamicUpdate() { + return (EAttribute)hbEntityEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getHbEntity_SelectBeforeUpdate() { + return (EAttribute)hbEntityEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getHbEntity_Mutable() { + return (EAttribute)hbEntityEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getHbEntity_Persister() { + return (EAttribute)hbEntityEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getHbEntity_OptimisticLock() { + return (EAttribute)hbEntityEClass.getEStructuralFeatures().get(5); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getHbEntity_Polymorphism() { + return (EAttribute)hbEntityEClass.getEStructuralFeatures().get(6); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getBatchSize() { + return batchSizeEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getBatchSize_Size() { + return (EAttribute)batchSizeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getAny() { + return anyEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAny_MetaDef() { + return (EAttribute)anyEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getAny_MetaColumn() { + return (EReference)anyEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAny_Fetch() { + return (EAttribute)anyEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAny_Optional() { + return (EAttribute)anyEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getMetaValue() { + return metaValueEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getMetaValue_TargetEntity() { + return (EAttribute)metaValueEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getMetaValue_Value() { + return (EAttribute)metaValueEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getAnyMetaDef() { + return anyMetaDefEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAnyMetaDef_Name() { + return (EAttribute)anyMetaDefEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAnyMetaDef_MetaType() { + return (EAttribute)anyMetaDefEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getAnyMetaDef_IdType() { + return (EAttribute)anyMetaDefEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getAnyMetaDef_MetaValues() { + return (EReference)anyMetaDefEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EEnum getCacheConcurrencyStrategy() { + return cacheConcurrencyStrategyEEnum; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EEnum getHbFetchType() { + return hbFetchTypeEEnum; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EEnum getOnDeleteAction() { + return onDeleteActionEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getGenerationTime() { + return generationTimeEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getNotFoundAction() { + return notFoundActionEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getOptimisticLockType() { + return optimisticLockTypeEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getPolymorphismType() { + return polymorphismTypeEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getHbCascadeType() { + return hbCascadeTypeEEnum; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public HbannotationFactory getHbannotationFactory() { + return (HbannotationFactory)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 + hbAnnotationEClass = createEClass(HB_ANNOTATION); + + cascadeEClass = createEClass(CASCADE); + createEAttribute(cascadeEClass, CASCADE__VALUE); + + collectionOfElementsEClass = createEClass(COLLECTION_OF_ELEMENTS); + createEAttribute(collectionOfElementsEClass, COLLECTION_OF_ELEMENTS__TARGET_ELEMENT); + createEAttribute(collectionOfElementsEClass, COLLECTION_OF_ELEMENTS__FETCH); + + hbMapKeyEClass = createEClass(HB_MAP_KEY); + createEReference(hbMapKeyEClass, HB_MAP_KEY__COLUMNS); + + parameterEClass = createEClass(PARAMETER); + createEAttribute(parameterEClass, PARAMETER__NAME); + createEAttribute(parameterEClass, PARAMETER__VALUE); + + typeEClass = createEClass(TYPE); + createEAttribute(typeEClass, TYPE__TYPE); + createEReference(typeEClass, TYPE__PARAMETERS); + + whereEClass = createEClass(WHERE); + createEAttribute(whereEClass, WHERE__CLAUSE); + + idBagEClass = createEClass(ID_BAG); + createEAttribute(idBagEClass, ID_BAG__GENERATOR); + createEAttribute(idBagEClass, ID_BAG__TYPE); + createEAttribute(idBagEClass, ID_BAG__TABLE); + + genericGeneratorEClass = createEClass(GENERIC_GENERATOR); + createEAttribute(genericGeneratorEClass, GENERIC_GENERATOR__NAME); + createEAttribute(genericGeneratorEClass, GENERIC_GENERATOR__STRATEGY); + createEReference(genericGeneratorEClass, GENERIC_GENERATOR__PARAMETERS); + + cacheEClass = createEClass(CACHE); + createEAttribute(cacheEClass, CACHE__USAGE); + createEAttribute(cacheEClass, CACHE__REGION); + createEAttribute(cacheEClass, CACHE__INCLUDE); + + typeDefEClass = createEClass(TYPE_DEF); + createEAttribute(typeDefEClass, TYPE_DEF__NAME); + createEReference(typeDefEClass, TYPE_DEF__PARAMETERS); + createEAttribute(typeDefEClass, TYPE_DEF__TYPE_CLASS); + + fetchEClass = createEClass(FETCH); + createEAttribute(fetchEClass, FETCH__VALUE); + + onDeleteEClass = createEClass(ON_DELETE); + createEAttribute(onDeleteEClass, ON_DELETE__ACTION); + + proxyEClass = createEClass(PROXY); + createEAttribute(proxyEClass, PROXY__PROXY_CLASS); + createEAttribute(proxyEClass, PROXY__LAZY); + + indexEClass = createEClass(INDEX); + createEAttribute(indexEClass, INDEX__NAME); + + generatedEClass = createEClass(GENERATED); + createEAttribute(generatedEClass, GENERATED__VALUE); + + namedQueryEClass = createEClass(NAMED_QUERY); + createEAttribute(namedQueryEClass, NAMED_QUERY__NAME); + createEAttribute(namedQueryEClass, NAMED_QUERY__QUERY); + + filterEClass = createEClass(FILTER); + createEAttribute(filterEClass, FILTER__NAME); + createEAttribute(filterEClass, FILTER__CONDITION); + + paramDefEClass = createEClass(PARAM_DEF); + createEAttribute(paramDefEClass, PARAM_DEF__NAME); + createEAttribute(paramDefEClass, PARAM_DEF__TYPE); + + filterDefEClass = createEClass(FILTER_DEF); + createEAttribute(filterDefEClass, FILTER_DEF__NAME); + createEAttribute(filterDefEClass, FILTER_DEF__DEFAULT_CONDITION); + createEReference(filterDefEClass, FILTER_DEF__PARAMETERS); + + discriminatorFormulaEClass = createEClass(DISCRIMINATOR_FORMULA); + createEAttribute(discriminatorFormulaEClass, DISCRIMINATOR_FORMULA__VALUE); + + naturalIdEClass = createEClass(NATURAL_ID); + createEAttribute(naturalIdEClass, NATURAL_ID__MUTABLE); + + mapKeyManyToManyEClass = createEClass(MAP_KEY_MANY_TO_MANY); + createEReference(mapKeyManyToManyEClass, MAP_KEY_MANY_TO_MANY__JOIN_COLUMNS); + createEAttribute(mapKeyManyToManyEClass, MAP_KEY_MANY_TO_MANY__TARGET_ENTITY); + + forceDiscriminatorEClass = createEClass(FORCE_DISCRIMINATOR); + + immutableEClass = createEClass(IMMUTABLE); + + formulaEClass = createEClass(FORMULA); + createEAttribute(formulaEClass, FORMULA__VALUE); + + notFoundEClass = createEClass(NOT_FOUND); + createEAttribute(notFoundEClass, NOT_FOUND__ACTION); + + hbEntityEClass = createEClass(HB_ENTITY); + createEAttribute(hbEntityEClass, HB_ENTITY__DYNAMIC_INSERT); + createEAttribute(hbEntityEClass, HB_ENTITY__DYNAMIC_UPDATE); + createEAttribute(hbEntityEClass, HB_ENTITY__SELECT_BEFORE_UPDATE); + createEAttribute(hbEntityEClass, HB_ENTITY__MUTABLE); + createEAttribute(hbEntityEClass, HB_ENTITY__PERSISTER); + createEAttribute(hbEntityEClass, HB_ENTITY__OPTIMISTIC_LOCK); + createEAttribute(hbEntityEClass, HB_ENTITY__POLYMORPHISM); + + batchSizeEClass = createEClass(BATCH_SIZE); + createEAttribute(batchSizeEClass, BATCH_SIZE__SIZE); + + anyEClass = createEClass(ANY); + createEAttribute(anyEClass, ANY__META_DEF); + createEReference(anyEClass, ANY__META_COLUMN); + createEAttribute(anyEClass, ANY__FETCH); + createEAttribute(anyEClass, ANY__OPTIONAL); + + metaValueEClass = createEClass(META_VALUE); + createEAttribute(metaValueEClass, META_VALUE__TARGET_ENTITY); + createEAttribute(metaValueEClass, META_VALUE__VALUE); + + anyMetaDefEClass = createEClass(ANY_META_DEF); + createEAttribute(anyMetaDefEClass, ANY_META_DEF__NAME); + createEAttribute(anyMetaDefEClass, ANY_META_DEF__META_TYPE); + createEAttribute(anyMetaDefEClass, ANY_META_DEF__ID_TYPE); + createEReference(anyMetaDefEClass, ANY_META_DEF__META_VALUES); + + // Create enums + cacheConcurrencyStrategyEEnum = createEEnum(CACHE_CONCURRENCY_STRATEGY); + hbFetchTypeEEnum = createEEnum(HB_FETCH_TYPE); + onDeleteActionEEnum = createEEnum(ON_DELETE_ACTION); + generationTimeEEnum = createEEnum(GENERATION_TIME); + notFoundActionEEnum = createEEnum(NOT_FOUND_ACTION); + optimisticLockTypeEEnum = createEEnum(OPTIMISTIC_LOCK_TYPE); + polymorphismTypeEEnum = createEEnum(POLYMORPHISM_TYPE); + hbCascadeTypeEEnum = createEEnum(HB_CASCADE_TYPE); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + PannotationPackage thePannotationPackage = (PannotationPackage)EPackage.Registry.INSTANCE.getEPackage(PannotationPackage.eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + hbAnnotationEClass.getESuperTypes().add(thePannotationPackage.getPAnnotation()); + cascadeEClass.getESuperTypes().add(this.getHbAnnotation()); + collectionOfElementsEClass.getESuperTypes().add(this.getHbAnnotation()); + hbMapKeyEClass.getESuperTypes().add(this.getHbAnnotation()); + parameterEClass.getESuperTypes().add(this.getHbAnnotation()); + typeEClass.getESuperTypes().add(this.getHbAnnotation()); + whereEClass.getESuperTypes().add(this.getHbAnnotation()); + idBagEClass.getESuperTypes().add(this.getHbAnnotation()); + genericGeneratorEClass.getESuperTypes().add(this.getHbAnnotation()); + cacheEClass.getESuperTypes().add(this.getHbAnnotation()); + typeDefEClass.getESuperTypes().add(this.getHbAnnotation()); + fetchEClass.getESuperTypes().add(this.getHbAnnotation()); + onDeleteEClass.getESuperTypes().add(this.getHbAnnotation()); + proxyEClass.getESuperTypes().add(this.getHbAnnotation()); + indexEClass.getESuperTypes().add(this.getHbAnnotation()); + generatedEClass.getESuperTypes().add(this.getHbAnnotation()); + namedQueryEClass.getESuperTypes().add(this.getHbAnnotation()); + filterEClass.getESuperTypes().add(this.getHbAnnotation()); + paramDefEClass.getESuperTypes().add(this.getHbAnnotation()); + filterDefEClass.getESuperTypes().add(this.getHbAnnotation()); + discriminatorFormulaEClass.getESuperTypes().add(this.getHbAnnotation()); + naturalIdEClass.getESuperTypes().add(this.getHbAnnotation()); + mapKeyManyToManyEClass.getESuperTypes().add(this.getHbAnnotation()); + forceDiscriminatorEClass.getESuperTypes().add(this.getHbAnnotation()); + immutableEClass.getESuperTypes().add(this.getHbAnnotation()); + formulaEClass.getESuperTypes().add(this.getHbAnnotation()); + notFoundEClass.getESuperTypes().add(this.getHbAnnotation()); + hbEntityEClass.getESuperTypes().add(this.getHbAnnotation()); + batchSizeEClass.getESuperTypes().add(this.getHbAnnotation()); + anyEClass.getESuperTypes().add(this.getHbAnnotation()); + metaValueEClass.getESuperTypes().add(this.getHbAnnotation()); + anyMetaDefEClass.getESuperTypes().add(this.getHbAnnotation()); + + // Initialize classes and features; add operations and parameters + initEClass(hbAnnotationEClass, HbAnnotation.class, "HbAnnotation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(cascadeEClass, Cascade.class, "Cascade", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getCascade_Value(), this.getHbCascadeType(), "value", null, 0, -1, Cascade.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(collectionOfElementsEClass, CollectionOfElements.class, "CollectionOfElements", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getCollectionOfElements_TargetElement(), ecorePackage.getEString(), "targetElement", null, 0, 1, CollectionOfElements.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getCollectionOfElements_Fetch(), thePannotationPackage.getFetchType(), "fetch", "LAZY", 0, 1, CollectionOfElements.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(hbMapKeyEClass, HbMapKey.class, "HbMapKey", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getHbMapKey_Columns(), thePannotationPackage.getColumn(), null, "columns", null, 0, -1, HbMapKey.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); + + initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getParameter_Name(), ecorePackage.getEString(), "name", null, 1, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getParameter_Value(), ecorePackage.getEString(), "value", null, 1, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(typeEClass, Type.class, "Type", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getType_Type(), ecorePackage.getEString(), "type", null, 1, 1, Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getType_Parameters(), this.getParameter(), null, "parameters", null, 0, -1, Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(whereEClass, Where.class, "Where", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getWhere_Clause(), ecorePackage.getEString(), "clause", null, 0, 1, Where.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(idBagEClass, IdBag.class, "IdBag", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getIdBag_Generator(), ecorePackage.getEString(), "generator", "increment", 0, 1, IdBag.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getIdBag_Type(), ecorePackage.getEString(), "type", "long", 0, 1, IdBag.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getIdBag_Table(), ecorePackage.getEString(), "table", null, 0, 1, IdBag.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(genericGeneratorEClass, GenericGenerator.class, "GenericGenerator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getGenericGenerator_Name(), ecorePackage.getEString(), "name", null, 1, 1, GenericGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getGenericGenerator_Strategy(), ecorePackage.getEString(), "strategy", null, 1, 1, GenericGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getGenericGenerator_Parameters(), this.getParameter(), null, "parameters", null, 0, -1, GenericGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(cacheEClass, Cache.class, "Cache", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getCache_Usage(), this.getCacheConcurrencyStrategy(), "usage", null, 0, 1, Cache.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getCache_Region(), ecorePackage.getEString(), "region", null, 0, 1, Cache.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getCache_Include(), ecorePackage.getEString(), "include", null, 0, 1, Cache.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(typeDefEClass, TypeDef.class, "TypeDef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getTypeDef_Name(), ecorePackage.getEString(), "name", null, 1, 1, TypeDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getTypeDef_Parameters(), this.getParameter(), null, "parameters", null, 0, -1, TypeDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getTypeDef_TypeClass(), ecorePackage.getEString(), "typeClass", null, 1, 1, TypeDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(fetchEClass, Fetch.class, "Fetch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getFetch_Value(), this.getHbFetchType(), "value", null, 0, 1, Fetch.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(onDeleteEClass, OnDelete.class, "OnDelete", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getOnDelete_Action(), this.getOnDeleteAction(), "action", null, 0, 1, OnDelete.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(proxyEClass, Proxy.class, "Proxy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getProxy_ProxyClass(), ecorePackage.getEString(), "proxyClass", null, 0, 1, Proxy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getProxy_Lazy(), ecorePackage.getEBoolean(), "lazy", "true", 0, 1, Proxy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(indexEClass, Index.class, "Index", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getIndex_Name(), ecorePackage.getEString(), "name", null, 0, 1, Index.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(generatedEClass, Generated.class, "Generated", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getGenerated_Value(), this.getGenerationTime(), "value", null, 0, 1, Generated.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(namedQueryEClass, NamedQuery.class, "NamedQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getNamedQuery_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getNamedQuery_Query(), ecorePackage.getEString(), "query", null, 0, 1, NamedQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(filterEClass, Filter.class, "Filter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getFilter_Name(), ecorePackage.getEString(), "name", null, 1, 1, Filter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getFilter_Condition(), ecorePackage.getEString(), "condition", null, 0, 1, Filter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(paramDefEClass, ParamDef.class, "ParamDef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getParamDef_Name(), ecorePackage.getEString(), "name", null, 1, 1, ParamDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getParamDef_Type(), ecorePackage.getEString(), "type", null, 1, 1, ParamDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(filterDefEClass, FilterDef.class, "FilterDef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getFilterDef_Name(), ecorePackage.getEString(), "name", null, 1, 1, FilterDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getFilterDef_DefaultCondition(), ecorePackage.getEString(), "defaultCondition", null, 0, 1, FilterDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getFilterDef_Parameters(), this.getParamDef(), null, "parameters", null, 0, -1, FilterDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(discriminatorFormulaEClass, DiscriminatorFormula.class, "DiscriminatorFormula", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getDiscriminatorFormula_Value(), ecorePackage.getEString(), "value", null, 0, 1, DiscriminatorFormula.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(naturalIdEClass, NaturalId.class, "NaturalId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getNaturalId_Mutable(), ecorePackage.getEBoolean(), "mutable", null, 1, 1, NaturalId.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(mapKeyManyToManyEClass, MapKeyManyToMany.class, "MapKeyManyToMany", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getMapKeyManyToMany_JoinColumns(), thePannotationPackage.getJoinColumn(), null, "joinColumns", null, 0, -1, MapKeyManyToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); + initEAttribute(getMapKeyManyToMany_TargetEntity(), ecorePackage.getEString(), "targetEntity", null, 0, 1, MapKeyManyToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(forceDiscriminatorEClass, ForceDiscriminator.class, "ForceDiscriminator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(immutableEClass, Immutable.class, "Immutable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(formulaEClass, Formula.class, "Formula", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getFormula_Value(), ecorePackage.getEString(), "value", null, 0, 1, Formula.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(notFoundEClass, NotFound.class, "NotFound", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getNotFound_Action(), this.getNotFoundAction(), "action", null, 1, 1, NotFound.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(hbEntityEClass, HbEntity.class, "HbEntity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getHbEntity_DynamicInsert(), ecorePackage.getEBoolean(), "dynamicInsert", null, 0, 1, HbEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getHbEntity_DynamicUpdate(), ecorePackage.getEBoolean(), "dynamicUpdate", null, 0, 1, HbEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getHbEntity_SelectBeforeUpdate(), ecorePackage.getEBoolean(), "selectBeforeUpdate", null, 0, 1, HbEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getHbEntity_Mutable(), ecorePackage.getEBoolean(), "mutable", "true", 0, 1, HbEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getHbEntity_Persister(), ecorePackage.getEString(), "persister", null, 0, 1, HbEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getHbEntity_OptimisticLock(), this.getOptimisticLockType(), "optimisticLock", "VERSION", 0, 1, HbEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getHbEntity_Polymorphism(), this.getPolymorphismType(), "polymorphism", "IMPLICIT", 0, 1, HbEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(batchSizeEClass, BatchSize.class, "BatchSize", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getBatchSize_Size(), ecorePackage.getEInt(), "size", null, 1, 1, BatchSize.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(anyEClass, Any.class, "Any", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getAny_MetaDef(), ecorePackage.getEString(), "metaDef", null, 0, 1, Any.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAny_MetaColumn(), thePannotationPackage.getColumn(), null, "metaColumn", null, 0, 1, Any.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getAny_Fetch(), thePannotationPackage.getFetchType(), "fetch", "EAGER", 0, 1, Any.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getAny_Optional(), ecorePackage.getEBoolean(), "optional", "true", 0, 1, Any.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(metaValueEClass, MetaValue.class, "MetaValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getMetaValue_TargetEntity(), ecorePackage.getEString(), "targetEntity", null, 0, 1, MetaValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getMetaValue_Value(), ecorePackage.getEString(), "value", null, 0, 1, MetaValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(anyMetaDefEClass, AnyMetaDef.class, "AnyMetaDef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getAnyMetaDef_Name(), ecorePackage.getEString(), "name", null, 0, 1, AnyMetaDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getAnyMetaDef_MetaType(), ecorePackage.getEString(), "metaType", "string", 0, 1, AnyMetaDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getAnyMetaDef_IdType(), ecorePackage.getEString(), "idType", "string", 1, 1, AnyMetaDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAnyMetaDef_MetaValues(), this.getMetaValue(), null, "metaValues", null, 0, -1, AnyMetaDef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Initialize enums and add enum literals + initEEnum(cacheConcurrencyStrategyEEnum, CacheConcurrencyStrategy.class, "CacheConcurrencyStrategy"); + addEEnumLiteral(cacheConcurrencyStrategyEEnum, CacheConcurrencyStrategy.NONE); + addEEnumLiteral(cacheConcurrencyStrategyEEnum, CacheConcurrencyStrategy.READ_ONLY); + addEEnumLiteral(cacheConcurrencyStrategyEEnum, CacheConcurrencyStrategy.NONSTRICT_READ_WRITE); + addEEnumLiteral(cacheConcurrencyStrategyEEnum, CacheConcurrencyStrategy.READ_WRITE); + addEEnumLiteral(cacheConcurrencyStrategyEEnum, CacheConcurrencyStrategy.TRANSACTIONAL); + + initEEnum(hbFetchTypeEEnum, HbFetchType.class, "HbFetchType"); + addEEnumLiteral(hbFetchTypeEEnum, HbFetchType.JOIN); + addEEnumLiteral(hbFetchTypeEEnum, HbFetchType.SELECT); + addEEnumLiteral(hbFetchTypeEEnum, HbFetchType.SUBSELECT); + + initEEnum(onDeleteActionEEnum, OnDeleteAction.class, "OnDeleteAction"); + addEEnumLiteral(onDeleteActionEEnum, OnDeleteAction.NO_ACTION); + addEEnumLiteral(onDeleteActionEEnum, OnDeleteAction.CASCADE); + + initEEnum(generationTimeEEnum, GenerationTime.class, "GenerationTime"); + addEEnumLiteral(generationTimeEEnum, GenerationTime.NEVER); + addEEnumLiteral(generationTimeEEnum, GenerationTime.INSERT); + addEEnumLiteral(generationTimeEEnum, GenerationTime.ALWAYS); + + initEEnum(notFoundActionEEnum, NotFoundAction.class, "NotFoundAction"); + addEEnumLiteral(notFoundActionEEnum, NotFoundAction.EXCEPTION); + addEEnumLiteral(notFoundActionEEnum, NotFoundAction.IGNORE); + + initEEnum(optimisticLockTypeEEnum, OptimisticLockType.class, "OptimisticLockType"); + addEEnumLiteral(optimisticLockTypeEEnum, OptimisticLockType.ALL); + addEEnumLiteral(optimisticLockTypeEEnum, OptimisticLockType.DIRTY); + addEEnumLiteral(optimisticLockTypeEEnum, OptimisticLockType.NONE); + addEEnumLiteral(optimisticLockTypeEEnum, OptimisticLockType.VERSION); + + initEEnum(polymorphismTypeEEnum, PolymorphismType.class, "PolymorphismType"); + addEEnumLiteral(polymorphismTypeEEnum, PolymorphismType.IMPLICIT); + addEEnumLiteral(polymorphismTypeEEnum, PolymorphismType.EXPLICIT); + + initEEnum(hbCascadeTypeEEnum, HbCascadeType.class, "HbCascadeType"); + addEEnumLiteral(hbCascadeTypeEEnum, HbCascadeType.ALL); + addEEnumLiteral(hbCascadeTypeEEnum, HbCascadeType.PERSIST); + addEEnumLiteral(hbCascadeTypeEEnum, HbCascadeType.MERGE); + addEEnumLiteral(hbCascadeTypeEEnum, HbCascadeType.REMOVE); + addEEnumLiteral(hbCascadeTypeEEnum, HbCascadeType.REFRESH); + addEEnumLiteral(hbCascadeTypeEEnum, HbCascadeType.DELETE); + addEEnumLiteral(hbCascadeTypeEEnum, HbCascadeType.SAVE_UPDATE); + addEEnumLiteral(hbCascadeTypeEEnum, HbCascadeType.REPLICATE); + addEEnumLiteral(hbCascadeTypeEEnum, HbCascadeType.DELETE_ORPHAN); + addEEnumLiteral(hbCascadeTypeEEnum, HbCascadeType.LOCK); + addEEnumLiteral(hbCascadeTypeEEnum, HbCascadeType.EVICT); + + // Create resource + createResource(eNS_URI); + + // Create annotations + // teneo.mapping.source + createTeneoAnnotations(); + // http://www.eclipse.org/emf/2002/Ecore + createEcoreAnnotations(); + // http://annotation.elver.org/internal/Target + createTargetAnnotations(); + // http://annotation.elver.org/internal/Collection + createCollectionAnnotations(); + // teneo/internal/Target + createTarget_1Annotations(); + } + + /** + * Initializes the annotations for <b>teneo.mapping.source</b>. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + */ + protected void createTeneoAnnotations() { + String source = "teneo.mapping.source"; + addAnnotation + (this, + source, + new String[] { + "1", "http://hibernate.elver.org/" + }); + } + + /** + * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void createEcoreAnnotations() { + String source = "http://www.eclipse.org/emf/2002/Ecore"; + addAnnotation + (hbAnnotationEClass, + source, + new String[] { + "constraints", "CompatibleEModelElementType AnnotationIsSupported" + }); + } + + /** + * Initializes the annotations for <b>http://annotation.elver.org/internal/Target</b>. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void createTargetAnnotations() { + String source = "http://annotation.elver.org/internal/Target"; + addAnnotation + (cascadeEClass, + source, + new String[] { + "0", "EStructuralFeature" + }); + addAnnotation + (collectionOfElementsEClass, + source, + new String[] { + "0", "EStructuralFeature" + }); + addAnnotation + (hbMapKeyEClass, + source, + new String[] { + "0", "EStructuralFeature" + }); + addAnnotation + (parameterEClass, + source, + new String[] { + "0", "EStructuralFeature", + "1", "EClass", + "2", "EPackage" + }); + addAnnotation + (typeEClass, + source, + new String[] { + "0", "EStructuralFeature" + }); + addAnnotation + (whereEClass, + source, + new String[] { + "0", "EStructuralFeature" + }); + addAnnotation + (idBagEClass, + source, + new String[] { + "0", "EStructuralFeature" + }); + addAnnotation + (genericGeneratorEClass, + source, + new String[] { + "0", "EStructuralFeature", + "1", "EClass", + "2", "EPackage" + }); + addAnnotation + (cacheEClass, + source, + new String[] { + "0", "EReference", + "1", "EClass" + }); + addAnnotation + (typeDefEClass, + source, + new String[] { + "0", "EStructuralFeature", + "1", "EClass", + "2", "EPackage" + }); + addAnnotation + (fetchEClass, + source, + new String[] { + "0", "EStructuralFeature" + }); + addAnnotation + (onDeleteEClass, + source, + new String[] { + "0", "EStructuralFeature" + }); + addAnnotation + (proxyEClass, + source, + new String[] { + "0", "EClass" + }); + addAnnotation + (indexEClass, + source, + new String[] { + "0", "EStructuralFeature" + }); + addAnnotation + (generatedEClass, + source, + new String[] { + "0", "EAttribute" + }); + addAnnotation + (namedQueryEClass, + source, + new String[] { + "0", "EClass" + }); + addAnnotation + (filterEClass, + source, + new String[] { + "0", "EClass", + "1", "EReference" + }); + addAnnotation + (paramDefEClass, + source, + new String[] { + "0", "EClass", + "1", "EReference" + }); + addAnnotation + (filterDefEClass, + source, + new String[] { + "0", "EClass", + "1", "EReference" + }); + addAnnotation + (naturalIdEClass, + source, + new String[] { + "0", "EStructuralFeature" + }); + addAnnotation + (mapKeyManyToManyEClass, + source, + new String[] { + "0", "EReference" + }); + addAnnotation + (notFoundEClass, + source, + new String[] { + "0", "EReference" + }); + addAnnotation + (hbEntityEClass, + source, + new String[] { + "0", "EStructuralFeature" + }); + addAnnotation + (anyEClass, + source, + new String[] { + "0", "EStructuralFeature" + }); + addAnnotation + (anyMetaDefEClass, + source, + new String[] { + "0", "EStructuralFeature", + "1", "EClass", + "2", "EPackage" + }); + } + + /** + * Initializes the annotations for <b>http://annotation.elver.org/internal/Collection</b>. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void createCollectionAnnotations() { + String source = "http://annotation.elver.org/internal/Collection"; + addAnnotation + (parameterEClass, + source, + new String[] { + "name", "Parameters", + "packageNS", "http://www.eclipse.org/emf/teneo/2006/HbAnnotation" + }); + addAnnotation + (genericGeneratorEClass, + source, + new String[] { + "name", "GenericGenerators", + "packageNS", "http://www.eclipse.org/emf/teneo/2006/HbAnnotation" + }); + } + + /** + * Initializes the annotations for <b>teneo/internal/Target</b>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void createTarget_1Annotations() { + String source = "teneo/internal/Target"; + addAnnotation + (discriminatorFormulaEClass, + source, + new String[] { + "0", "EClass" + }); + addAnnotation + (forceDiscriminatorEClass, + source, + new String[] { + "0", "EClass" + }); + addAnnotation + (immutableEClass, + source, + new String[] { + "0", "EClass", + "1", "EReference" + }); + addAnnotation + (formulaEClass, + source, + new String[] { + "0", "EAttribute" + }); + addAnnotation + (batchSizeEClass, + source, + new String[] { + "0", "EClass", + "1", "EReference" + }); + } + +} // HbannotationPackageImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/IdBagImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/IdBagImpl.java new file mode 100755 index 000000000..dd635791f --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/IdBagImpl.java @@ -0,0 +1,271 @@ +/** + * <copyright> + * </copyright> + * + * $Id: IdBagImpl.java,v 1.8 2008/01/18 06:21:36 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Id Bag</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.IdBagImpl#getGenerator <em>Generator</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.IdBagImpl#getType <em>Type</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.IdBagImpl#getTable <em>Table</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class IdBagImpl extends HbAnnotationImpl implements IdBag { + /** + * The default value of the '{@link #getGenerator() <em>Generator</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGenerator() + * @generated + * @ordered + */ + protected static final String GENERATOR_EDEFAULT = "increment"; + + /** + * The cached value of the '{@link #getGenerator() <em>Generator</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGenerator() + * @generated + * @ordered + */ + protected String generator = GENERATOR_EDEFAULT; + + /** + * The default value of the '{@link #getType() <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getType() + * @generated + * @ordered + */ + protected static final String TYPE_EDEFAULT = "long"; + + /** + * The cached value of the '{@link #getType() <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getType() + * @generated + * @ordered + */ + protected String type = TYPE_EDEFAULT; + + /** + * The default value of the '{@link #getTable() <em>Table</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTable() + * @generated + * @ordered + */ + protected static final String TABLE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getTable() <em>Table</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTable() + * @generated + * @ordered + */ + protected String table = TABLE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IdBagImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.ID_BAG; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getGenerator() { + return generator; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setGenerator(String newGenerator) { + String oldGenerator = generator; + generator = newGenerator; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ID_BAG__GENERATOR, oldGenerator, generator)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getType() { + return type; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setType(String newType) { + String oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ID_BAG__TYPE, oldType, type)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getTable() { + return table; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTable(String newTable) { + String oldTable = table; + table = newTable; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ID_BAG__TABLE, oldTable, table)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.ID_BAG__GENERATOR: + return getGenerator(); + case HbannotationPackage.ID_BAG__TYPE: + return getType(); + case HbannotationPackage.ID_BAG__TABLE: + return getTable(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.ID_BAG__GENERATOR: + setGenerator((String)newValue); + return; + case HbannotationPackage.ID_BAG__TYPE: + setType((String)newValue); + return; + case HbannotationPackage.ID_BAG__TABLE: + setTable((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.ID_BAG__GENERATOR: + setGenerator(GENERATOR_EDEFAULT); + return; + case HbannotationPackage.ID_BAG__TYPE: + setType(TYPE_EDEFAULT); + return; + case HbannotationPackage.ID_BAG__TABLE: + setTable(TABLE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.ID_BAG__GENERATOR: + return GENERATOR_EDEFAULT == null ? generator != null : !GENERATOR_EDEFAULT.equals(generator); + case HbannotationPackage.ID_BAG__TYPE: + return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type); + case HbannotationPackage.ID_BAG__TABLE: + return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table); + } + 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(" (generator: "); + result.append(generator); + result.append(", type: "); + result.append(type); + result.append(", table: "); + result.append(table); + result.append(')'); + return result.toString(); + } + +} //IdBagImpl
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ImmutableImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ImmutableImpl.java new file mode 100755 index 000000000..9ee3a24c0 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ImmutableImpl.java @@ -0,0 +1,42 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ImmutableImpl.java,v 1.2 2010/02/04 11:03:38 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.Immutable; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Immutable</b></em>'. + * <!-- end-user-doc --> + * <p> + * </p> + * + * @generated + */ +public class ImmutableImpl extends HbAnnotationImpl implements Immutable { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ImmutableImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.IMMUTABLE; + } + +} //ImmutableImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/IndexImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/IndexImpl.java new file mode 100755 index 000000000..15aa130ff --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/IndexImpl.java @@ -0,0 +1,163 @@ +/** + * <copyright> + * </copyright> + * + * $Id: IndexImpl.java,v 1.4 2008/01/18 06:21:36 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Index</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.IndexImpl#getName <em>Name</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class IndexImpl extends HbAnnotationImpl implements Index { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IndexImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.INDEX; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.INDEX__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.INDEX__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.INDEX__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.INDEX__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.INDEX__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + 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(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //IndexImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/MapKeyManyToManyImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/MapKeyManyToManyImpl.java new file mode 100755 index 000000000..510f2e2a3 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/MapKeyManyToManyImpl.java @@ -0,0 +1,220 @@ +/** + * <copyright> + * </copyright> + * + * $Id: MapKeyManyToManyImpl.java,v 1.2 2010/02/04 11:03:42 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Map Key Many To Many</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.MapKeyManyToManyImpl#getJoinColumns <em>Join Columns</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.MapKeyManyToManyImpl#getTargetEntity <em>Target Entity</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class MapKeyManyToManyImpl extends HbAnnotationImpl implements MapKeyManyToMany { + /** + * The cached value of the '{@link #getJoinColumns() <em>Join Columns</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getJoinColumns() + * @generated + * @ordered + */ + protected EList<JoinColumn> joinColumns; + + /** + * The default value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetEntity() + * @generated + * @ordered + */ + protected static final String TARGET_ENTITY_EDEFAULT = null; + + /** + * The cached value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetEntity() + * @generated + * @ordered + */ + protected String targetEntity = TARGET_ENTITY_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected MapKeyManyToManyImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.MAP_KEY_MANY_TO_MANY; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<JoinColumn> getJoinColumns() { + if (joinColumns == null) { + joinColumns = new EObjectContainmentEList<JoinColumn>(JoinColumn.class, this, HbannotationPackage.MAP_KEY_MANY_TO_MANY__JOIN_COLUMNS); + } + return joinColumns; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getTargetEntity() { + return targetEntity; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTargetEntity(String newTargetEntity) { + String oldTargetEntity = targetEntity; + targetEntity = newTargetEntity; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.MAP_KEY_MANY_TO_MANY__TARGET_ENTITY, oldTargetEntity, targetEntity)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case HbannotationPackage.MAP_KEY_MANY_TO_MANY__JOIN_COLUMNS: + return ((InternalEList<?>)getJoinColumns()).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 HbannotationPackage.MAP_KEY_MANY_TO_MANY__JOIN_COLUMNS: + return getJoinColumns(); + case HbannotationPackage.MAP_KEY_MANY_TO_MANY__TARGET_ENTITY: + return getTargetEntity(); + } + 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 HbannotationPackage.MAP_KEY_MANY_TO_MANY__JOIN_COLUMNS: + getJoinColumns().clear(); + getJoinColumns().addAll((Collection<? extends JoinColumn>)newValue); + return; + case HbannotationPackage.MAP_KEY_MANY_TO_MANY__TARGET_ENTITY: + setTargetEntity((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.MAP_KEY_MANY_TO_MANY__JOIN_COLUMNS: + getJoinColumns().clear(); + return; + case HbannotationPackage.MAP_KEY_MANY_TO_MANY__TARGET_ENTITY: + setTargetEntity(TARGET_ENTITY_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.MAP_KEY_MANY_TO_MANY__JOIN_COLUMNS: + return joinColumns != null && !joinColumns.isEmpty(); + case HbannotationPackage.MAP_KEY_MANY_TO_MANY__TARGET_ENTITY: + return TARGET_ENTITY_EDEFAULT == null ? targetEntity != null : !TARGET_ENTITY_EDEFAULT.equals(targetEntity); + } + 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(" (targetEntity: "); + result.append(targetEntity); + result.append(')'); + return result.toString(); + } + +} //MapKeyManyToManyImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/MetaValueImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/MetaValueImpl.java new file mode 100644 index 000000000..b81b5c9d3 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/MetaValueImpl.java @@ -0,0 +1,217 @@ +/** + * <copyright> + * </copyright> + * + * $Id: MetaValueImpl.java,v 1.2 2010/02/04 11:03:41 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Meta Value</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.MetaValueImpl#getTargetEntity <em>Target Entity</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.MetaValueImpl#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class MetaValueImpl extends HbAnnotationImpl implements MetaValue { + /** + * The default value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetEntity() + * @generated + * @ordered + */ + protected static final String TARGET_ENTITY_EDEFAULT = null; + + /** + * The cached value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetEntity() + * @generated + * @ordered + */ + protected String targetEntity = TARGET_ENTITY_EDEFAULT; + + /** + * The default value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected static final String VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected String value = VALUE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected MetaValueImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.META_VALUE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getTargetEntity() { + return targetEntity; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTargetEntity(String newTargetEntity) { + String oldTargetEntity = targetEntity; + targetEntity = newTargetEntity; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.META_VALUE__TARGET_ENTITY, oldTargetEntity, targetEntity)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getValue() { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setValue(String newValue) { + String oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.META_VALUE__VALUE, oldValue, value)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.META_VALUE__TARGET_ENTITY: + return getTargetEntity(); + case HbannotationPackage.META_VALUE__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.META_VALUE__TARGET_ENTITY: + setTargetEntity((String)newValue); + return; + case HbannotationPackage.META_VALUE__VALUE: + setValue((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.META_VALUE__TARGET_ENTITY: + setTargetEntity(TARGET_ENTITY_EDEFAULT); + return; + case HbannotationPackage.META_VALUE__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.META_VALUE__TARGET_ENTITY: + return TARGET_ENTITY_EDEFAULT == null ? targetEntity != null : !TARGET_ENTITY_EDEFAULT.equals(targetEntity); + case HbannotationPackage.META_VALUE__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + } + 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(" (targetEntity: "); + result.append(targetEntity); + result.append(", value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //MetaValueImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NamedQueryImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NamedQueryImpl.java new file mode 100755 index 000000000..58863acc4 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NamedQueryImpl.java @@ -0,0 +1,217 @@ +/** + * <copyright> + * </copyright> + * + * $Id: NamedQueryImpl.java,v 1.2 2010/02/04 11:03:42 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Named Query</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NamedQueryImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NamedQueryImpl#getQuery <em>Query</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class NamedQueryImpl extends HbAnnotationImpl implements NamedQuery { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The default value of the '{@link #getQuery() <em>Query</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getQuery() + * @generated + * @ordered + */ + protected static final String QUERY_EDEFAULT = null; + + /** + * The cached value of the '{@link #getQuery() <em>Query</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getQuery() + * @generated + * @ordered + */ + protected String query = QUERY_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected NamedQueryImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.NAMED_QUERY; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.NAMED_QUERY__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getQuery() { + return query; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setQuery(String newQuery) { + String oldQuery = query; + query = newQuery; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.NAMED_QUERY__QUERY, oldQuery, query)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.NAMED_QUERY__NAME: + return getName(); + case HbannotationPackage.NAMED_QUERY__QUERY: + return getQuery(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.NAMED_QUERY__NAME: + setName((String)newValue); + return; + case HbannotationPackage.NAMED_QUERY__QUERY: + setQuery((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.NAMED_QUERY__NAME: + setName(NAME_EDEFAULT); + return; + case HbannotationPackage.NAMED_QUERY__QUERY: + setQuery(QUERY_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.NAMED_QUERY__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case HbannotationPackage.NAMED_QUERY__QUERY: + return QUERY_EDEFAULT == null ? query != null : !QUERY_EDEFAULT.equals(query); + } + 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(" (name: "); + result.append(name); + result.append(", query: "); + result.append(query); + result.append(')'); + return result.toString(); + } + +} //NamedQueryImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NaturalIdImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NaturalIdImpl.java new file mode 100755 index 000000000..9eb4e60cc --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NaturalIdImpl.java @@ -0,0 +1,163 @@ +/** + * <copyright> + * </copyright> + * + * $Id: NaturalIdImpl.java,v 1.3 2010/02/04 11:03:42 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Natural Id</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NaturalIdImpl#isMutable <em>Mutable</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class NaturalIdImpl extends HbAnnotationImpl implements NaturalId { + /** + * The default value of the '{@link #isMutable() <em>Mutable</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isMutable() + * @generated + * @ordered + */ + protected static final boolean MUTABLE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isMutable() <em>Mutable</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isMutable() + * @generated + * @ordered + */ + protected boolean mutable = MUTABLE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected NaturalIdImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.NATURAL_ID; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isMutable() { + return mutable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setMutable(boolean newMutable) { + boolean oldMutable = mutable; + mutable = newMutable; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.NATURAL_ID__MUTABLE, oldMutable, mutable)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.NATURAL_ID__MUTABLE: + return isMutable(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.NATURAL_ID__MUTABLE: + setMutable((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.NATURAL_ID__MUTABLE: + setMutable(MUTABLE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.NATURAL_ID__MUTABLE: + return mutable != MUTABLE_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(" (mutable: "); + result.append(mutable); + result.append(')'); + return result.toString(); + } + +} //NaturalIdImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NotFoundImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NotFoundImpl.java new file mode 100755 index 000000000..9576f1d7c --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NotFoundImpl.java @@ -0,0 +1,164 @@ +/** + * <copyright> + * </copyright> + * + * $Id: NotFoundImpl.java,v 1.2 2010/02/04 11:03:41 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.NotFound; +import org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Not Found</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NotFoundImpl#getAction <em>Action</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class NotFoundImpl extends HbAnnotationImpl implements NotFound { + /** + * The default value of the '{@link #getAction() <em>Action</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAction() + * @generated + * @ordered + */ + protected static final NotFoundAction ACTION_EDEFAULT = NotFoundAction.EXCEPTION; + + /** + * The cached value of the '{@link #getAction() <em>Action</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAction() + * @generated + * @ordered + */ + protected NotFoundAction action = ACTION_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected NotFoundImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.NOT_FOUND; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotFoundAction getAction() { + return action; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setAction(NotFoundAction newAction) { + NotFoundAction oldAction = action; + action = newAction == null ? ACTION_EDEFAULT : newAction; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.NOT_FOUND__ACTION, oldAction, action)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.NOT_FOUND__ACTION: + return getAction(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.NOT_FOUND__ACTION: + setAction((NotFoundAction)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.NOT_FOUND__ACTION: + setAction(ACTION_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.NOT_FOUND__ACTION: + return action != ACTION_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(" (action: "); + result.append(action); + result.append(')'); + return result.toString(); + } + +} //NotFoundImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/OnDeleteImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/OnDeleteImpl.java new file mode 100755 index 000000000..1be199960 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/OnDeleteImpl.java @@ -0,0 +1,164 @@ +/** + * <copyright> + * </copyright> + * + * $Id: OnDeleteImpl.java,v 1.6 2010/02/04 11:03:43 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>On Delete</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.OnDeleteImpl#getAction <em>Action</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class OnDeleteImpl extends HbAnnotationImpl implements OnDelete { + /** + * The default value of the '{@link #getAction() <em>Action</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAction() + * @generated + * @ordered + */ + protected static final OnDeleteAction ACTION_EDEFAULT = OnDeleteAction.NO_ACTION; + + /** + * The cached value of the '{@link #getAction() <em>Action</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAction() + * @generated + * @ordered + */ + protected OnDeleteAction action = ACTION_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected OnDeleteImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.ON_DELETE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OnDeleteAction getAction() { + return action; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setAction(OnDeleteAction newAction) { + OnDeleteAction oldAction = action; + action = newAction == null ? ACTION_EDEFAULT : newAction; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ON_DELETE__ACTION, oldAction, action)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.ON_DELETE__ACTION: + return getAction(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.ON_DELETE__ACTION: + setAction((OnDeleteAction)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.ON_DELETE__ACTION: + setAction(ACTION_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.ON_DELETE__ACTION: + return action != ACTION_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(" (action: "); + result.append(action); + result.append(')'); + return result.toString(); + } + +} //OnDeleteImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ParamDefImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ParamDefImpl.java new file mode 100755 index 000000000..158737963 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ParamDefImpl.java @@ -0,0 +1,217 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ParamDefImpl.java,v 1.2 2010/02/04 11:03:40 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Param Def</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParamDefImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParamDefImpl#getType <em>Type</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class ParamDefImpl extends HbAnnotationImpl implements ParamDef { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The default value of the '{@link #getType() <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getType() + * @generated + * @ordered + */ + protected static final String TYPE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getType() <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getType() + * @generated + * @ordered + */ + protected String type = TYPE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ParamDefImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.PARAM_DEF; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.PARAM_DEF__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getType() { + return type; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setType(String newType) { + String oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.PARAM_DEF__TYPE, oldType, type)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.PARAM_DEF__NAME: + return getName(); + case HbannotationPackage.PARAM_DEF__TYPE: + return getType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.PARAM_DEF__NAME: + setName((String)newValue); + return; + case HbannotationPackage.PARAM_DEF__TYPE: + setType((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.PARAM_DEF__NAME: + setName(NAME_EDEFAULT); + return; + case HbannotationPackage.PARAM_DEF__TYPE: + setType(TYPE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.PARAM_DEF__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case HbannotationPackage.PARAM_DEF__TYPE: + return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type); + } + 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(" (name: "); + result.append(name); + result.append(", type: "); + result.append(type); + result.append(')'); + return result.toString(); + } + +} //ParamDefImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ParameterImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ParameterImpl.java new file mode 100755 index 000000000..12345cf09 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ParameterImpl.java @@ -0,0 +1,217 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ParameterImpl.java,v 1.7 2008/01/18 06:21:36 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Parameter</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParameterImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParameterImpl#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class ParameterImpl extends HbAnnotationImpl implements Parameter { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The default value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected static final String VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected String value = VALUE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ParameterImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.PARAMETER; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.PARAMETER__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getValue() { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setValue(String newValue) { + String oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.PARAMETER__VALUE, oldValue, value)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.PARAMETER__NAME: + return getName(); + case HbannotationPackage.PARAMETER__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.PARAMETER__NAME: + setName((String)newValue); + return; + case HbannotationPackage.PARAMETER__VALUE: + setValue((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.PARAMETER__NAME: + setName(NAME_EDEFAULT); + return; + case HbannotationPackage.PARAMETER__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.PARAMETER__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case HbannotationPackage.PARAMETER__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + } + 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(" (name: "); + result.append(name); + result.append(", value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //ParameterImpl
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ProxyImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ProxyImpl.java new file mode 100755 index 000000000..d72556ef8 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ProxyImpl.java @@ -0,0 +1,217 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ProxyImpl.java,v 1.7 2009/06/11 04:59:21 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.Proxy; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Proxy</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ProxyImpl#getProxyClass <em>Proxy Class</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ProxyImpl#isLazy <em>Lazy</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class ProxyImpl extends HbAnnotationImpl implements Proxy { + /** + * The default value of the '{@link #getProxyClass() <em>Proxy Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getProxyClass() + * @generated + * @ordered + */ + protected static final String PROXY_CLASS_EDEFAULT = null; + + /** + * The cached value of the '{@link #getProxyClass() <em>Proxy Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getProxyClass() + * @generated + * @ordered + */ + protected String proxyClass = PROXY_CLASS_EDEFAULT; + + /** + * The default value of the '{@link #isLazy() <em>Lazy</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isLazy() + * @generated + * @ordered + */ + protected static final boolean LAZY_EDEFAULT = true; // TODO The default value literal "" is not valid. + + /** + * The cached value of the '{@link #isLazy() <em>Lazy</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isLazy() + * @generated + * @ordered + */ + protected boolean lazy = LAZY_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ProxyImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.PROXY; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getProxyClass() { + return proxyClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setProxyClass(String newProxyClass) { + String oldProxyClass = proxyClass; + proxyClass = newProxyClass; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.PROXY__PROXY_CLASS, oldProxyClass, proxyClass)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isLazy() { + return lazy; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLazy(boolean newLazy) { + boolean oldLazy = lazy; + lazy = newLazy; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.PROXY__LAZY, oldLazy, lazy)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.PROXY__PROXY_CLASS: + return getProxyClass(); + case HbannotationPackage.PROXY__LAZY: + return isLazy(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.PROXY__PROXY_CLASS: + setProxyClass((String)newValue); + return; + case HbannotationPackage.PROXY__LAZY: + setLazy((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.PROXY__PROXY_CLASS: + setProxyClass(PROXY_CLASS_EDEFAULT); + return; + case HbannotationPackage.PROXY__LAZY: + setLazy(LAZY_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.PROXY__PROXY_CLASS: + return PROXY_CLASS_EDEFAULT == null ? proxyClass != null : !PROXY_CLASS_EDEFAULT.equals(proxyClass); + case HbannotationPackage.PROXY__LAZY: + return lazy != LAZY_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(" (proxyClass: "); + result.append(proxyClass); + result.append(", lazy: "); + result.append(lazy); + result.append(')'); + return result.toString(); + } + +} //ProxyImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/TypeDefImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/TypeDefImpl.java new file mode 100755 index 000000000..54912c068 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/TypeDefImpl.java @@ -0,0 +1,257 @@ +/** + * <copyright> + * </copyright> + * + * $Id: TypeDefImpl.java,v 1.8 2008/01/18 06:21:36 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Type Def</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeDefImpl#getName <em>Name</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeDefImpl#getParameters <em>Parameters</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeDefImpl#getTypeClass <em>Type Class</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class TypeDefImpl extends HbAnnotationImpl implements TypeDef { + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getParameters() <em>Parameters</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getParameters() + * @generated + * @ordered + */ + protected EList<Parameter> parameters; + + /** + * The default value of the '{@link #getTypeClass() <em>Type Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTypeClass() + * @generated + * @ordered + */ + protected static final String TYPE_CLASS_EDEFAULT = null; + + /** + * The cached value of the '{@link #getTypeClass() <em>Type Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTypeClass() + * @generated + * @ordered + */ + protected String typeClass = TYPE_CLASS_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TypeDefImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.TYPE_DEF; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.TYPE_DEF__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Parameter> getParameters() { + if (parameters == null) { + parameters = new EObjectResolvingEList<Parameter>(Parameter.class, this, HbannotationPackage.TYPE_DEF__PARAMETERS); + } + return parameters; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getTypeClass() { + return typeClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTypeClass(String newTypeClass) { + String oldTypeClass = typeClass; + typeClass = newTypeClass; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.TYPE_DEF__TYPE_CLASS, oldTypeClass, typeClass)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.TYPE_DEF__NAME: + return getName(); + case HbannotationPackage.TYPE_DEF__PARAMETERS: + return getParameters(); + case HbannotationPackage.TYPE_DEF__TYPE_CLASS: + return getTypeClass(); + } + 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 HbannotationPackage.TYPE_DEF__NAME: + setName((String)newValue); + return; + case HbannotationPackage.TYPE_DEF__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection<? extends Parameter>)newValue); + return; + case HbannotationPackage.TYPE_DEF__TYPE_CLASS: + setTypeClass((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.TYPE_DEF__NAME: + setName(NAME_EDEFAULT); + return; + case HbannotationPackage.TYPE_DEF__PARAMETERS: + getParameters().clear(); + return; + case HbannotationPackage.TYPE_DEF__TYPE_CLASS: + setTypeClass(TYPE_CLASS_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.TYPE_DEF__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case HbannotationPackage.TYPE_DEF__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + case HbannotationPackage.TYPE_DEF__TYPE_CLASS: + return TYPE_CLASS_EDEFAULT == null ? typeClass != null : !TYPE_CLASS_EDEFAULT.equals(typeClass); + } + 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(" (name: "); + result.append(name); + result.append(", typeClass: "); + result.append(typeClass); + result.append(')'); + return result.toString(); + } + +} //TypeDefImpl
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/TypeImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/TypeImpl.java new file mode 100755 index 000000000..b0379beb3 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/TypeImpl.java @@ -0,0 +1,203 @@ +/** + * <copyright> + * </copyright> + * + * $Id: TypeImpl.java,v 1.7 2008/01/18 06:21:37 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Type</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeImpl#getType <em>Type</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeImpl#getParameters <em>Parameters</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class TypeImpl extends HbAnnotationImpl implements Type { + /** + * The default value of the '{@link #getType() <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getType() + * @generated + * @ordered + */ + protected static final String TYPE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getType() <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getType() + * @generated + * @ordered + */ + protected String type = TYPE_EDEFAULT; + + /** + * The cached value of the '{@link #getParameters() <em>Parameters</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getParameters() + * @generated + * @ordered + */ + protected EList<Parameter> parameters; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TypeImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.TYPE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getType() { + return type; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setType(String newType) { + String oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.TYPE__TYPE, oldType, type)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Parameter> getParameters() { + if (parameters == null) { + parameters = new EObjectResolvingEList<Parameter>(Parameter.class, this, HbannotationPackage.TYPE__PARAMETERS); + } + return parameters; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.TYPE__TYPE: + return getType(); + case HbannotationPackage.TYPE__PARAMETERS: + return getParameters(); + } + 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 HbannotationPackage.TYPE__TYPE: + setType((String)newValue); + return; + case HbannotationPackage.TYPE__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection<? extends Parameter>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.TYPE__TYPE: + setType(TYPE_EDEFAULT); + return; + case HbannotationPackage.TYPE__PARAMETERS: + getParameters().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.TYPE__TYPE: + return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type); + case HbannotationPackage.TYPE__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + } + 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(" (type: "); + result.append(type); + result.append(')'); + return result.toString(); + } + +} //TypeImpl
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/WhereImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/WhereImpl.java new file mode 100755 index 000000000..11cdbef04 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/WhereImpl.java @@ -0,0 +1,163 @@ +/** + * <copyright> + * </copyright> + * + * $Id: WhereImpl.java,v 1.7 2008/01/18 06:21:36 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Where</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.WhereImpl#getClause <em>Clause</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class WhereImpl extends HbAnnotationImpl implements Where { + /** + * The default value of the '{@link #getClause() <em>Clause</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getClause() + * @generated + * @ordered + */ + protected static final String CLAUSE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getClause() <em>Clause</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getClause() + * @generated + * @ordered + */ + protected String clause = CLAUSE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected WhereImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbannotationPackage.Literals.WHERE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getClause() { + return clause; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setClause(String newClause) { + String oldClause = clause; + clause = newClause; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.WHERE__CLAUSE, oldClause, clause)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case HbannotationPackage.WHERE__CLAUSE: + return getClause(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case HbannotationPackage.WHERE__CLAUSE: + setClause((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbannotationPackage.WHERE__CLAUSE: + setClause(CLAUSE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbannotationPackage.WHERE__CLAUSE: + return CLAUSE_EDEFAULT == null ? clause != null : !CLAUSE_EDEFAULT.equals(clause); + } + 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(" (clause: "); + result.append(clause); + result.append(')'); + return result.toString(); + } + +} //WhereImpl
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationAdapterFactory.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationAdapterFactory.java new file mode 100755 index 000000000..3658d6b33 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationAdapterFactory.java @@ -0,0 +1,730 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbannotationAdapterFactory.java,v 1.15 2010/02/04 11:03:45 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.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.emf.teneo.annotations.pannotation.PAnnotation; +import org.eclipse.emf.teneo.hibernate.hbannotation.Any; +import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade; +import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements; +import org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula; +import org.eclipse.emf.teneo.hibernate.hbannotation.Fetch; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.ForceDiscriminator; +import org.eclipse.emf.teneo.hibernate.hbannotation.Formula; +import org.eclipse.emf.teneo.hibernate.hbannotation.Generated; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotation; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; +import org.eclipse.emf.teneo.hibernate.hbannotation.Immutable; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany; +import org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue; +import org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery; +import org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId; +import org.eclipse.emf.teneo.hibernate.hbannotation.NotFound; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete; +import org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; +import org.eclipse.emf.teneo.hibernate.hbannotation.Proxy; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; + +/** + * <!-- 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.emf.teneo.hibernate.hbannotation.HbannotationPackage + * @generated + */ +public class HbannotationAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static HbannotationPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbannotationAdapterFactory() { + if (modelPackage == null) { + modelPackage = HbannotationPackage.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 HbannotationSwitch<Adapter> modelSwitch = + new HbannotationSwitch<Adapter>() { + @Override + public Adapter caseHbAnnotation(HbAnnotation object) { + return createHbAnnotationAdapter(); + } + @Override + public Adapter caseCascade(Cascade object) { + return createCascadeAdapter(); + } + @Override + public Adapter caseCollectionOfElements(CollectionOfElements object) { + return createCollectionOfElementsAdapter(); + } + @Override + public Adapter caseHbMapKey(HbMapKey object) { + return createHbMapKeyAdapter(); + } + @Override + public Adapter caseParameter(Parameter object) { + return createParameterAdapter(); + } + @Override + public Adapter caseType(Type object) { + return createTypeAdapter(); + } + @Override + public Adapter caseWhere(Where object) { + return createWhereAdapter(); + } + @Override + public Adapter caseIdBag(IdBag object) { + return createIdBagAdapter(); + } + @Override + public Adapter caseGenericGenerator(GenericGenerator object) { + return createGenericGeneratorAdapter(); + } + @Override + public Adapter caseCache(Cache object) { + return createCacheAdapter(); + } + @Override + public Adapter caseTypeDef(TypeDef object) { + return createTypeDefAdapter(); + } + @Override + public Adapter caseFetch(Fetch object) { + return createFetchAdapter(); + } + @Override + public Adapter caseOnDelete(OnDelete object) { + return createOnDeleteAdapter(); + } + @Override + public Adapter caseProxy(Proxy object) { + return createProxyAdapter(); + } + @Override + public Adapter caseIndex(Index object) { + return createIndexAdapter(); + } + @Override + public Adapter caseGenerated(Generated object) { + return createGeneratedAdapter(); + } + @Override + public Adapter caseNamedQuery(NamedQuery object) { + return createNamedQueryAdapter(); + } + @Override + public Adapter caseFilter(Filter object) { + return createFilterAdapter(); + } + @Override + public Adapter caseParamDef(ParamDef object) { + return createParamDefAdapter(); + } + @Override + public Adapter caseFilterDef(FilterDef object) { + return createFilterDefAdapter(); + } + @Override + public Adapter caseDiscriminatorFormula(DiscriminatorFormula object) { + return createDiscriminatorFormulaAdapter(); + } + @Override + public Adapter caseNaturalId(NaturalId object) { + return createNaturalIdAdapter(); + } + @Override + public Adapter caseMapKeyManyToMany(MapKeyManyToMany object) { + return createMapKeyManyToManyAdapter(); + } + @Override + public Adapter caseForceDiscriminator(ForceDiscriminator object) { + return createForceDiscriminatorAdapter(); + } + @Override + public Adapter caseImmutable(Immutable object) { + return createImmutableAdapter(); + } + @Override + public Adapter caseFormula(Formula object) { + return createFormulaAdapter(); + } + @Override + public Adapter caseNotFound(NotFound object) { + return createNotFoundAdapter(); + } + @Override + public Adapter caseHbEntity(HbEntity object) { + return createHbEntityAdapter(); + } + @Override + public Adapter caseBatchSize(BatchSize object) { + return createBatchSizeAdapter(); + } + @Override + public Adapter caseAny(Any object) { + return createAnyAdapter(); + } + @Override + public Adapter caseMetaValue(MetaValue object) { + return createMetaValueAdapter(); + } + @Override + public Adapter caseAnyMetaDef(AnyMetaDef object) { + return createAnyMetaDefAdapter(); + } + @Override + public Adapter casePAnnotation(PAnnotation object) { + return createPAnnotationAdapter(); + } + @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.emf.teneo.hibernate.hbannotation.HbAnnotation <em>Hb Annotation</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.emf.teneo.hibernate.hbannotation.HbAnnotation + * @generated + */ + public Adapter createHbAnnotationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cascade <em>Cascade</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.emf.teneo.hibernate.hbannotation.Cascade + * @generated + */ + public Adapter createCascadeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements <em>Collection Of Elements</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.emf.teneo.hibernate.hbannotation.CollectionOfElements + * @generated + */ + public Adapter createCollectionOfElementsAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey <em>Hb Map Key</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.emf.teneo.hibernate.hbannotation.HbMapKey + * @generated + */ + public Adapter createHbMapKeyAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter <em>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.emf.teneo.hibernate.hbannotation.Parameter + * @generated + */ + public Adapter createParameterAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Type <em>Type</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.hibernate.hbannotation.Type + * @generated + */ + public Adapter createTypeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Where <em>Where</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.emf.teneo.hibernate.hbannotation.Where + * @generated + */ + public Adapter createWhereAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag <em>Id Bag</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.emf.teneo.hibernate.hbannotation.IdBag + * @generated + */ + public Adapter createIdBagAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator <em>Generic Generator</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.emf.teneo.hibernate.hbannotation.GenericGenerator + * @generated + */ + public Adapter createGenericGeneratorAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache <em>Cache</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.emf.teneo.hibernate.hbannotation.Cache + * @generated + */ + public Adapter createCacheAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef <em>Type Def</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.emf.teneo.hibernate.hbannotation.TypeDef + * @generated + */ + public Adapter createTypeDefAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Fetch <em>Fetch</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.emf.teneo.hibernate.hbannotation.Fetch + * @generated + */ + public Adapter createFetchAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete <em>On Delete</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.emf.teneo.hibernate.hbannotation.OnDelete + * @generated + */ + public Adapter createOnDeleteAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy <em>Proxy</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.emf.teneo.hibernate.hbannotation.Proxy + * @generated + */ + public Adapter createProxyAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Index <em>Index</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.emf.teneo.hibernate.hbannotation.Index + * @generated + */ + public Adapter createIndexAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Generated <em>Generated</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.emf.teneo.hibernate.hbannotation.Generated + * @generated + */ + public Adapter createGeneratedAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery <em>Named Query</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.emf.teneo.hibernate.hbannotation.NamedQuery + * @generated + */ + public Adapter createNamedQueryAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter <em>Filter</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.emf.teneo.hibernate.hbannotation.Filter + * @generated + */ + public Adapter createFilterAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef <em>Param Def</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.emf.teneo.hibernate.hbannotation.ParamDef + * @generated + */ + public Adapter createParamDefAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef <em>Filter Def</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.emf.teneo.hibernate.hbannotation.FilterDef + * @generated + */ + public Adapter createFilterDefAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula <em>Discriminator Formula</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.emf.teneo.hibernate.hbannotation.DiscriminatorFormula + * @generated + */ + public Adapter createDiscriminatorFormulaAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId <em>Natural Id</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.emf.teneo.hibernate.hbannotation.NaturalId + * @generated + */ + public Adapter createNaturalIdAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany <em>Map Key Many To Many</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.emf.teneo.hibernate.hbannotation.MapKeyManyToMany + * @generated + */ + public Adapter createMapKeyManyToManyAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ForceDiscriminator <em>Force Discriminator</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.emf.teneo.hibernate.hbannotation.ForceDiscriminator + * @generated + */ + public Adapter createForceDiscriminatorAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Immutable <em>Immutable</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.emf.teneo.hibernate.hbannotation.Immutable + * @generated + */ + public Adapter createImmutableAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Formula <em>Formula</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.emf.teneo.hibernate.hbannotation.Formula + * @generated + */ + public Adapter createFormulaAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFound <em>Not Found</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.emf.teneo.hibernate.hbannotation.NotFound + * @generated + */ + public Adapter createNotFoundAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity <em>Hb Entity</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.emf.teneo.hibernate.hbannotation.HbEntity + * @generated + */ + public Adapter createHbEntityAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize <em>Batch Size</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.emf.teneo.hibernate.hbannotation.BatchSize + * @generated + */ + public Adapter createBatchSizeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any <em>Any</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.emf.teneo.hibernate.hbannotation.Any + * @generated + */ + public Adapter createAnyAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue <em>Meta Value</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.emf.teneo.hibernate.hbannotation.MetaValue + * @generated + */ + public Adapter createMetaValueAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef <em>Any Meta Def</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.emf.teneo.hibernate.hbannotation.AnyMetaDef + * @generated + */ + public Adapter createAnyMetaDefAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.PAnnotation <em>PAnnotation</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.emf.teneo.annotations.pannotation.PAnnotation + * @generated + */ + public Adapter createPAnnotationAdapter() { + 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; + } + +} //HbannotationAdapterFactory diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationSwitch.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationSwitch.java new file mode 100755 index 000000000..20406d7bb --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationSwitch.java @@ -0,0 +1,870 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbannotationSwitch.java,v 1.14 2010/02/04 11:03:45 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.util; + +import java.util.List; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation; +import org.eclipse.emf.teneo.hibernate.hbannotation.Any; +import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade; +import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements; +import org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula; +import org.eclipse.emf.teneo.hibernate.hbannotation.Fetch; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.ForceDiscriminator; +import org.eclipse.emf.teneo.hibernate.hbannotation.Formula; +import org.eclipse.emf.teneo.hibernate.hbannotation.Generated; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotation; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; +import org.eclipse.emf.teneo.hibernate.hbannotation.Immutable; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany; +import org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue; +import org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery; +import org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId; +import org.eclipse.emf.teneo.hibernate.hbannotation.NotFound; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete; +import org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; +import org.eclipse.emf.teneo.hibernate.hbannotation.Proxy; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; + +/** + * <!-- 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.emf.teneo.hibernate.hbannotation.HbannotationPackage + * @generated + */ +public class HbannotationSwitch<T> { + /** + * The cached model package + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + protected static HbannotationPackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public HbannotationSwitch() { + if (modelPackage == null) { + modelPackage = HbannotationPackage.eINSTANCE; + } + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + public T doSwitch(EObject theEObject) { + return doSwitch(theEObject.eClass(), theEObject); + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + protected T doSwitch(EClass theEClass, EObject theEObject) { + if (theEClass.eContainer() == modelPackage) { + return doSwitch(theEClass.getClassifierID(), theEObject); + } + else { + List<EClass> eSuperTypes = theEClass.getESuperTypes(); + return + eSuperTypes.isEmpty() ? + defaultCase(theEObject) : + doSwitch(eSuperTypes.get(0), theEObject); + } + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case HbannotationPackage.HB_ANNOTATION: { + HbAnnotation hbAnnotation = (HbAnnotation)theEObject; + T result = caseHbAnnotation(hbAnnotation); + if (result == null) result = casePAnnotation(hbAnnotation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.CASCADE: { + Cascade cascade = (Cascade)theEObject; + T result = caseCascade(cascade); + if (result == null) result = caseHbAnnotation(cascade); + if (result == null) result = casePAnnotation(cascade); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.COLLECTION_OF_ELEMENTS: { + CollectionOfElements collectionOfElements = (CollectionOfElements)theEObject; + T result = caseCollectionOfElements(collectionOfElements); + if (result == null) result = caseHbAnnotation(collectionOfElements); + if (result == null) result = casePAnnotation(collectionOfElements); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.HB_MAP_KEY: { + HbMapKey hbMapKey = (HbMapKey)theEObject; + T result = caseHbMapKey(hbMapKey); + if (result == null) result = caseHbAnnotation(hbMapKey); + if (result == null) result = casePAnnotation(hbMapKey); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.PARAMETER: { + Parameter parameter = (Parameter)theEObject; + T result = caseParameter(parameter); + if (result == null) result = caseHbAnnotation(parameter); + if (result == null) result = casePAnnotation(parameter); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.TYPE: { + Type type = (Type)theEObject; + T result = caseType(type); + if (result == null) result = caseHbAnnotation(type); + if (result == null) result = casePAnnotation(type); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.WHERE: { + Where where = (Where)theEObject; + T result = caseWhere(where); + if (result == null) result = caseHbAnnotation(where); + if (result == null) result = casePAnnotation(where); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.ID_BAG: { + IdBag idBag = (IdBag)theEObject; + T result = caseIdBag(idBag); + if (result == null) result = caseHbAnnotation(idBag); + if (result == null) result = casePAnnotation(idBag); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.GENERIC_GENERATOR: { + GenericGenerator genericGenerator = (GenericGenerator)theEObject; + T result = caseGenericGenerator(genericGenerator); + if (result == null) result = caseHbAnnotation(genericGenerator); + if (result == null) result = casePAnnotation(genericGenerator); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.CACHE: { + Cache cache = (Cache)theEObject; + T result = caseCache(cache); + if (result == null) result = caseHbAnnotation(cache); + if (result == null) result = casePAnnotation(cache); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.TYPE_DEF: { + TypeDef typeDef = (TypeDef)theEObject; + T result = caseTypeDef(typeDef); + if (result == null) result = caseHbAnnotation(typeDef); + if (result == null) result = casePAnnotation(typeDef); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.FETCH: { + Fetch fetch = (Fetch)theEObject; + T result = caseFetch(fetch); + if (result == null) result = caseHbAnnotation(fetch); + if (result == null) result = casePAnnotation(fetch); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.ON_DELETE: { + OnDelete onDelete = (OnDelete)theEObject; + T result = caseOnDelete(onDelete); + if (result == null) result = caseHbAnnotation(onDelete); + if (result == null) result = casePAnnotation(onDelete); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.PROXY: { + Proxy proxy = (Proxy)theEObject; + T result = caseProxy(proxy); + if (result == null) result = caseHbAnnotation(proxy); + if (result == null) result = casePAnnotation(proxy); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.INDEX: { + Index index = (Index)theEObject; + T result = caseIndex(index); + if (result == null) result = caseHbAnnotation(index); + if (result == null) result = casePAnnotation(index); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.GENERATED: { + Generated generated = (Generated)theEObject; + T result = caseGenerated(generated); + if (result == null) result = caseHbAnnotation(generated); + if (result == null) result = casePAnnotation(generated); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.NAMED_QUERY: { + NamedQuery namedQuery = (NamedQuery)theEObject; + T result = caseNamedQuery(namedQuery); + if (result == null) result = caseHbAnnotation(namedQuery); + if (result == null) result = casePAnnotation(namedQuery); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.FILTER: { + Filter filter = (Filter)theEObject; + T result = caseFilter(filter); + if (result == null) result = caseHbAnnotation(filter); + if (result == null) result = casePAnnotation(filter); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.PARAM_DEF: { + ParamDef paramDef = (ParamDef)theEObject; + T result = caseParamDef(paramDef); + if (result == null) result = caseHbAnnotation(paramDef); + if (result == null) result = casePAnnotation(paramDef); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.FILTER_DEF: { + FilterDef filterDef = (FilterDef)theEObject; + T result = caseFilterDef(filterDef); + if (result == null) result = caseHbAnnotation(filterDef); + if (result == null) result = casePAnnotation(filterDef); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.DISCRIMINATOR_FORMULA: { + DiscriminatorFormula discriminatorFormula = (DiscriminatorFormula)theEObject; + T result = caseDiscriminatorFormula(discriminatorFormula); + if (result == null) result = caseHbAnnotation(discriminatorFormula); + if (result == null) result = casePAnnotation(discriminatorFormula); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.NATURAL_ID: { + NaturalId naturalId = (NaturalId)theEObject; + T result = caseNaturalId(naturalId); + if (result == null) result = caseHbAnnotation(naturalId); + if (result == null) result = casePAnnotation(naturalId); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.MAP_KEY_MANY_TO_MANY: { + MapKeyManyToMany mapKeyManyToMany = (MapKeyManyToMany)theEObject; + T result = caseMapKeyManyToMany(mapKeyManyToMany); + if (result == null) result = caseHbAnnotation(mapKeyManyToMany); + if (result == null) result = casePAnnotation(mapKeyManyToMany); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.FORCE_DISCRIMINATOR: { + ForceDiscriminator forceDiscriminator = (ForceDiscriminator)theEObject; + T result = caseForceDiscriminator(forceDiscriminator); + if (result == null) result = caseHbAnnotation(forceDiscriminator); + if (result == null) result = casePAnnotation(forceDiscriminator); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.IMMUTABLE: { + Immutable immutable = (Immutable)theEObject; + T result = caseImmutable(immutable); + if (result == null) result = caseHbAnnotation(immutable); + if (result == null) result = casePAnnotation(immutable); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.FORMULA: { + Formula formula = (Formula)theEObject; + T result = caseFormula(formula); + if (result == null) result = caseHbAnnotation(formula); + if (result == null) result = casePAnnotation(formula); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.NOT_FOUND: { + NotFound notFound = (NotFound)theEObject; + T result = caseNotFound(notFound); + if (result == null) result = caseHbAnnotation(notFound); + if (result == null) result = casePAnnotation(notFound); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.HB_ENTITY: { + HbEntity hbEntity = (HbEntity)theEObject; + T result = caseHbEntity(hbEntity); + if (result == null) result = caseHbAnnotation(hbEntity); + if (result == null) result = casePAnnotation(hbEntity); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.BATCH_SIZE: { + BatchSize batchSize = (BatchSize)theEObject; + T result = caseBatchSize(batchSize); + if (result == null) result = caseHbAnnotation(batchSize); + if (result == null) result = casePAnnotation(batchSize); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.ANY: { + Any any = (Any)theEObject; + T result = caseAny(any); + if (result == null) result = caseHbAnnotation(any); + if (result == null) result = casePAnnotation(any); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.META_VALUE: { + MetaValue metaValue = (MetaValue)theEObject; + T result = caseMetaValue(metaValue); + if (result == null) result = caseHbAnnotation(metaValue); + if (result == null) result = casePAnnotation(metaValue); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbannotationPackage.ANY_META_DEF: { + AnyMetaDef anyMetaDef = (AnyMetaDef)theEObject; + T result = caseAnyMetaDef(anyMetaDef); + if (result == null) result = caseHbAnnotation(anyMetaDef); + if (result == null) result = casePAnnotation(anyMetaDef); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Hb Annotation</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>Hb Annotation</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseHbAnnotation(HbAnnotation object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Cascade</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>Cascade</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCascade(Cascade object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Collection Of Elements</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>Collection Of Elements</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCollectionOfElements(CollectionOfElements object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Hb Map Key</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>Hb Map Key</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseHbMapKey(HbMapKey object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>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>Parameter</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseParameter(Parameter object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Type</em>'. <!-- + * begin-user-doc --> This implementation returns null; returning a non-null result will + * terminate the switch. <!-- end-user-doc --> + * + * @param object + * the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Type</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseType(Type object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Where</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>Where</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseWhere(Where object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Id Bag</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>Id Bag</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIdBag(IdBag object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Generic Generator</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>Generic Generator</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGenericGenerator(GenericGenerator object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Cache</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>Cache</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCache(Cache object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Type Def</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>Type Def</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTypeDef(TypeDef object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Fetch</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>Fetch</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFetch(Fetch object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>On Delete</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>On Delete</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseOnDelete(OnDelete object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Proxy</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>Proxy</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseProxy(Proxy object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Index</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>Index</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIndex(Index object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Generated</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>Generated</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGenerated(Generated object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Named Query</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>Named Query</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNamedQuery(NamedQuery object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Filter</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>Filter</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFilter(Filter object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Param Def</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>Param Def</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseParamDef(ParamDef object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Filter Def</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>Filter Def</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFilterDef(FilterDef object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Discriminator Formula</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>Discriminator Formula</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDiscriminatorFormula(DiscriminatorFormula object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Natural Id</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>Natural Id</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNaturalId(NaturalId object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Map Key Many To Many</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>Map Key Many To Many</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMapKeyManyToMany(MapKeyManyToMany object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Force Discriminator</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>Force Discriminator</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseForceDiscriminator(ForceDiscriminator object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Immutable</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>Immutable</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseImmutable(Immutable object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Formula</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>Formula</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFormula(Formula object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Not Found</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>Not Found</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNotFound(NotFound object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Hb Entity</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>Hb Entity</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseHbEntity(HbEntity object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Batch Size</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>Batch Size</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBatchSize(BatchSize object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Any</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>Any</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAny(Any object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Meta Value</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>Meta Value</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMetaValue(MetaValue object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Any Meta Def</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>Any Meta Def</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAnyMetaDef(AnyMetaDef object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>PAnnotation</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>PAnnotation</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePAnnotation(PAnnotation 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 + */ + public T defaultCase(EObject object) { + return null; + } + +} // HbannotationSwitch diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationValidator.java new file mode 100755 index 000000000..a7f4da2f9 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationValidator.java @@ -0,0 +1,920 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbannotationValidator.java,v 1.19 2010/02/04 11:03:45 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.util; + +import java.util.Map; + +import org.eclipse.emf.common.util.DiagnosticChain; +import org.eclipse.emf.common.util.ResourceLocator; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.util.EObjectValidator; +import org.eclipse.emf.teneo.annotations.pannotation.util.PannotationValidator; +import org.eclipse.emf.teneo.hibernate.hbannotation.Any; +import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade; +import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements; +import org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula; +import org.eclipse.emf.teneo.hibernate.hbannotation.Fetch; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.ForceDiscriminator; +import org.eclipse.emf.teneo.hibernate.hbannotation.Formula; +import org.eclipse.emf.teneo.hibernate.hbannotation.Generated; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotation; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; +import org.eclipse.emf.teneo.hibernate.hbannotation.Immutable; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany; +import org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue; +import org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery; +import org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId; +import org.eclipse.emf.teneo.hibernate.hbannotation.NotFound; +import org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction; +import org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType; +import org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; +import org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType; +import org.eclipse.emf.teneo.hibernate.hbannotation.Proxy; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; + +/** + * <!-- begin-user-doc --> The <b>Validator</b> for the model. <!-- end-user-doc + * --> + * + * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage + * @generated + */ +public class HbannotationValidator extends EObjectValidator { + /** + * The cached model package + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public static final HbannotationValidator INSTANCE = new HbannotationValidator(); + + /** + * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.common.util.Diagnostic#getSource() + * @see org.eclipse.emf.common.util.Diagnostic#getCode() + * @generated + */ + public static final String DIAGNOSTIC_SOURCE = "org.eclipse.emf.teneo.hibernate.hbannotation"; + + /** + * A constant with a fixed name that can be used as the base value for additional hand written constants. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + */ + private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 0; + + /** + * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @generated + */ + protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT; + + /** + * The cached base package validator. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + */ + protected PannotationValidator pannotationValidator; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @generated + */ + public HbannotationValidator() { + super(); + pannotationValidator = PannotationValidator.INSTANCE; + } + + /** + * Returns the package of this validator switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EPackage getEPackage() { + return HbannotationPackage.eINSTANCE; + } + + /** + * Calls <code>validateXXX</code> for the corresponding classifier of the model. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + protected boolean validate(int classifierID, Object value, + DiagnosticChain diagnostics, Map<Object, Object> context) { + switch (classifierID) { + case HbannotationPackage.HB_ANNOTATION: + return validateHbAnnotation((HbAnnotation)value, diagnostics, context); + case HbannotationPackage.CASCADE: + return validateCascade((Cascade)value, diagnostics, context); + case HbannotationPackage.COLLECTION_OF_ELEMENTS: + return validateCollectionOfElements((CollectionOfElements)value, diagnostics, context); + case HbannotationPackage.HB_MAP_KEY: + return validateHbMapKey((HbMapKey)value, diagnostics, context); + case HbannotationPackage.PARAMETER: + return validateParameter((Parameter)value, diagnostics, context); + case HbannotationPackage.TYPE: + return validateType((Type)value, diagnostics, context); + case HbannotationPackage.WHERE: + return validateWhere((Where)value, diagnostics, context); + case HbannotationPackage.ID_BAG: + return validateIdBag((IdBag)value, diagnostics, context); + case HbannotationPackage.GENERIC_GENERATOR: + return validateGenericGenerator((GenericGenerator)value, diagnostics, context); + case HbannotationPackage.CACHE: + return validateCache((Cache)value, diagnostics, context); + case HbannotationPackage.TYPE_DEF: + return validateTypeDef((TypeDef)value, diagnostics, context); + case HbannotationPackage.FETCH: + return validateFetch((Fetch)value, diagnostics, context); + case HbannotationPackage.ON_DELETE: + return validateOnDelete((OnDelete)value, diagnostics, context); + case HbannotationPackage.PROXY: + return validateProxy((Proxy)value, diagnostics, context); + case HbannotationPackage.INDEX: + return validateIndex((Index)value, diagnostics, context); + case HbannotationPackage.GENERATED: + return validateGenerated((Generated)value, diagnostics, context); + case HbannotationPackage.NAMED_QUERY: + return validateNamedQuery((NamedQuery)value, diagnostics, context); + case HbannotationPackage.FILTER: + return validateFilter((Filter)value, diagnostics, context); + case HbannotationPackage.PARAM_DEF: + return validateParamDef((ParamDef)value, diagnostics, context); + case HbannotationPackage.FILTER_DEF: + return validateFilterDef((FilterDef)value, diagnostics, context); + case HbannotationPackage.DISCRIMINATOR_FORMULA: + return validateDiscriminatorFormula((DiscriminatorFormula)value, diagnostics, context); + case HbannotationPackage.NATURAL_ID: + return validateNaturalId((NaturalId)value, diagnostics, context); + case HbannotationPackage.MAP_KEY_MANY_TO_MANY: + return validateMapKeyManyToMany((MapKeyManyToMany)value, diagnostics, context); + case HbannotationPackage.FORCE_DISCRIMINATOR: + return validateForceDiscriminator((ForceDiscriminator)value, diagnostics, context); + case HbannotationPackage.IMMUTABLE: + return validateImmutable((Immutable)value, diagnostics, context); + case HbannotationPackage.FORMULA: + return validateFormula((Formula)value, diagnostics, context); + case HbannotationPackage.NOT_FOUND: + return validateNotFound((NotFound)value, diagnostics, context); + case HbannotationPackage.HB_ENTITY: + return validateHbEntity((HbEntity)value, diagnostics, context); + case HbannotationPackage.BATCH_SIZE: + return validateBatchSize((BatchSize)value, diagnostics, context); + case HbannotationPackage.ANY: + return validateAny((Any)value, diagnostics, context); + case HbannotationPackage.META_VALUE: + return validateMetaValue((MetaValue)value, diagnostics, context); + case HbannotationPackage.ANY_META_DEF: + return validateAnyMetaDef((AnyMetaDef)value, diagnostics, context); + case HbannotationPackage.CACHE_CONCURRENCY_STRATEGY: + return validateCacheConcurrencyStrategy((CacheConcurrencyStrategy)value, diagnostics, context); + case HbannotationPackage.HB_FETCH_TYPE: + return validateHbFetchType((HbFetchType)value, diagnostics, context); + case HbannotationPackage.ON_DELETE_ACTION: + return validateOnDeleteAction((OnDeleteAction)value, diagnostics, context); + case HbannotationPackage.GENERATION_TIME: + return validateGenerationTime((GenerationTime)value, diagnostics, context); + case HbannotationPackage.NOT_FOUND_ACTION: + return validateNotFoundAction((NotFoundAction)value, diagnostics, context); + case HbannotationPackage.OPTIMISTIC_LOCK_TYPE: + return validateOptimisticLockType((OptimisticLockType)value, diagnostics, context); + case HbannotationPackage.POLYMORPHISM_TYPE: + return validatePolymorphismType((PolymorphismType)value, diagnostics, context); + case HbannotationPackage.HB_CASCADE_TYPE: + return validateHbCascadeType((HbCascadeType)value, diagnostics, context); + default: + return true; + } + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateHbAnnotation(HbAnnotation hbAnnotation, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(hbAnnotation, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(hbAnnotation, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(hbAnnotation, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(hbAnnotation, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(hbAnnotation, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(hbAnnotation, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(hbAnnotation, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(hbAnnotation, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(hbAnnotation, diagnostics, context); + return result; + } + + /** + * Validates the CompatibleEModelElementType constraint of '<em>Hb Annotation</em>'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateHbAnnotation_CompatibleEModelElementType( + HbAnnotation hbAnnotation, DiagnosticChain diagnostics, + Map<Object, Object> context) { + // TODO override the constraint, if desired + // -> uncomment the scaffolding + // -> specify the condition that violates the constraint + // -> verify the diagnostic details, including severity, code, and message + // Ensure that you remove @generated or mark it @generated NOT + return pannotationValidator.validatePAnnotation_CompatibleEModelElementType(hbAnnotation, diagnostics, context); + } + + /** + * Validates the AnnotationIsSupported constraint of '<em>Hb Annotation</em>'. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateHbAnnotation_AnnotationIsSupported( + HbAnnotation hbAnnotation, DiagnosticChain diagnostics, + Map<Object, Object> context) { + // TODO override the constraint, if desired + // -> uncomment the scaffolding + // -> specify the condition that violates the constraint + // -> verify the diagnostic details, including severity, code, and message + // Ensure that you remove @generated or mark it @generated NOT + return pannotationValidator.validatePAnnotation_AnnotationIsSupported(hbAnnotation, diagnostics, context); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateCascade(Cascade cascade, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(cascade, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(cascade, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(cascade, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(cascade, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(cascade, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(cascade, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(cascade, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(cascade, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(cascade, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateCollectionOfElements( + CollectionOfElements collectionOfElements, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(collectionOfElements, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(collectionOfElements, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(collectionOfElements, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(collectionOfElements, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(collectionOfElements, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(collectionOfElements, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(collectionOfElements, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(collectionOfElements, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(collectionOfElements, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateHbMapKey(HbMapKey hbMapKey, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(hbMapKey, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(hbMapKey, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(hbMapKey, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(hbMapKey, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(hbMapKey, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(hbMapKey, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(hbMapKey, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(hbMapKey, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(hbMapKey, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateParameter(Parameter parameter, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(parameter, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(parameter, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(parameter, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(parameter, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(parameter, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(parameter, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(parameter, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(parameter, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(parameter, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateType(Type type, DiagnosticChain diagnostics, + Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(type, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(type, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(type, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(type, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(type, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(type, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(type, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(type, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(type, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateWhere(Where where, DiagnosticChain diagnostics, + Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(where, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(where, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(where, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(where, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(where, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(where, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(where, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(where, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(where, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateIdBag(IdBag idBag, DiagnosticChain diagnostics, + Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(idBag, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(idBag, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(idBag, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(idBag, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(idBag, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(idBag, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(idBag, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(idBag, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(idBag, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateGenericGenerator(GenericGenerator genericGenerator, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(genericGenerator, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(genericGenerator, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(genericGenerator, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(genericGenerator, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(genericGenerator, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(genericGenerator, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(genericGenerator, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(genericGenerator, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(genericGenerator, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateCache(Cache cache, DiagnosticChain diagnostics, + Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(cache, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(cache, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(cache, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(cache, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(cache, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(cache, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(cache, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(cache, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(cache, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateTypeDef(TypeDef typeDef, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(typeDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(typeDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(typeDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(typeDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(typeDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(typeDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(typeDef, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(typeDef, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(typeDef, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateFetch(Fetch fetch, DiagnosticChain diagnostics, + Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(fetch, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(fetch, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(fetch, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(fetch, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(fetch, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(fetch, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(fetch, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(fetch, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(fetch, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateOnDelete(OnDelete onDelete, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(onDelete, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(onDelete, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(onDelete, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(onDelete, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(onDelete, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(onDelete, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(onDelete, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(onDelete, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(onDelete, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateProxy(Proxy proxy, DiagnosticChain diagnostics, + Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(proxy, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(proxy, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(proxy, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(proxy, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(proxy, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(proxy, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(proxy, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(proxy, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(proxy, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateNamedQuery(NamedQuery namedQuery, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(namedQuery, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(namedQuery, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(namedQuery, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(namedQuery, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(namedQuery, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(namedQuery, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(namedQuery, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(namedQuery, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(namedQuery, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateFilter(Filter filter, DiagnosticChain diagnostics, + Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(filter, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(filter, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(filter, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(filter, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(filter, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(filter, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(filter, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(filter, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(filter, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateParamDef(ParamDef paramDef, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(paramDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(paramDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(paramDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(paramDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(paramDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(paramDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(paramDef, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(paramDef, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(paramDef, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateFilterDef(FilterDef filterDef, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(filterDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(filterDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(filterDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(filterDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(filterDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(filterDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(filterDef, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(filterDef, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(filterDef, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateDiscriminatorFormula( + DiscriminatorFormula discriminatorFormula, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(discriminatorFormula, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(discriminatorFormula, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(discriminatorFormula, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(discriminatorFormula, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(discriminatorFormula, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(discriminatorFormula, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(discriminatorFormula, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(discriminatorFormula, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(discriminatorFormula, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateNaturalId(NaturalId naturalId, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(naturalId, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(naturalId, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(naturalId, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(naturalId, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(naturalId, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(naturalId, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(naturalId, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(naturalId, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(naturalId, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateMapKeyManyToMany(MapKeyManyToMany mapKeyManyToMany, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(mapKeyManyToMany, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(mapKeyManyToMany, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(mapKeyManyToMany, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(mapKeyManyToMany, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(mapKeyManyToMany, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(mapKeyManyToMany, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(mapKeyManyToMany, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(mapKeyManyToMany, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(mapKeyManyToMany, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateForceDiscriminator( + ForceDiscriminator forceDiscriminator, DiagnosticChain diagnostics, + Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(forceDiscriminator, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(forceDiscriminator, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(forceDiscriminator, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(forceDiscriminator, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(forceDiscriminator, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(forceDiscriminator, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(forceDiscriminator, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(forceDiscriminator, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(forceDiscriminator, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateImmutable(Immutable immutable, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(immutable, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(immutable, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(immutable, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(immutable, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(immutable, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(immutable, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(immutable, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(immutable, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(immutable, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateFormula(Formula formula, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(formula, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(formula, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(formula, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(formula, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(formula, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(formula, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(formula, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(formula, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(formula, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateNotFound(NotFound notFound, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(notFound, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(notFound, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(notFound, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(notFound, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(notFound, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(notFound, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(notFound, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(notFound, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(notFound, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateHbEntity(HbEntity hbEntity, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(hbEntity, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(hbEntity, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(hbEntity, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(hbEntity, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(hbEntity, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(hbEntity, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(hbEntity, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(hbEntity, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(hbEntity, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateBatchSize(BatchSize batchSize, DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(batchSize, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(batchSize, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(batchSize, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(batchSize, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(batchSize, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(batchSize, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(batchSize, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(batchSize, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(batchSize, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateAny(Any any, DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(any, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(any, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(any, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(any, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(any, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(any, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(any, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(any, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(any, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateMetaValue(MetaValue metaValue, DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(metaValue, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(metaValue, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(metaValue, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(metaValue, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(metaValue, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(metaValue, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(metaValue, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(metaValue, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(metaValue, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean validateAnyMetaDef(AnyMetaDef anyMetaDef, DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(anyMetaDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(anyMetaDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(anyMetaDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(anyMetaDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(anyMetaDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(anyMetaDef, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(anyMetaDef, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(anyMetaDef, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(anyMetaDef, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateIndex(Index index, DiagnosticChain diagnostics, + Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(index, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(index, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(index, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(index, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(index, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(index, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(index, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(index, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(index, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateGenerated(Generated generated, + DiagnosticChain diagnostics, Map<Object, Object> context) { + boolean result = validate_EveryMultiplicityConforms(generated, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryDataValueConforms(generated, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(generated, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryProxyResolves(generated, diagnostics, context); + if (result || diagnostics != null) result &= validate_UniqueID(generated, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryKeyUnique(generated, diagnostics, context); + if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(generated, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_CompatibleEModelElementType(generated, diagnostics, context); + if (result || diagnostics != null) result &= validateHbAnnotation_AnnotationIsSupported(generated, diagnostics, context); + return result; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateCacheConcurrencyStrategy( + CacheConcurrencyStrategy cacheConcurrencyStrategy, + DiagnosticChain diagnostics, Map<Object, Object> context) { + return true; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateHbFetchType(HbFetchType hbFetchType, + DiagnosticChain diagnostics, Map<Object, Object> context) { + return true; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateOnDeleteAction(OnDeleteAction onDeleteAction, + DiagnosticChain diagnostics, Map<Object, Object> context) { + return true; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateGenerationTime(GenerationTime generationTime, + DiagnosticChain diagnostics, Map<Object, Object> context) { + return true; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateNotFoundAction(NotFoundAction notFoundAction, + DiagnosticChain diagnostics, Map<Object, Object> context) { + return true; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateOptimisticLockType( + OptimisticLockType optimisticLockType, DiagnosticChain diagnostics, + Map<Object, Object> context) { + return true; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validatePolymorphismType(PolymorphismType polymorphismType, + DiagnosticChain diagnostics, Map<Object, Object> context) { + return true; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean validateHbCascadeType(HbCascadeType hbCascadeType, + DiagnosticChain diagnostics, Map<Object, Object> context) { + return true; + } + + /** + * Returns the resource locator that will be used to fetch messages for this validator's diagnostics. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + // TODO + // Specialize this to return a resource locator for messages specific to this validator. + // Ensure that you remove @generated or mark it @generated NOT + return super.getResourceLocator(); + } + +} // HbannotationValidator diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CacheValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CacheValidator.java new file mode 100755 index 000000000..82dcb2c73 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CacheValidator.java @@ -0,0 +1,23 @@ +/** + * <copyright> + * </copyright> + * + * $Id: CacheValidator.java,v 1.1 2007/02/08 23:13:12 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface CacheValidator { + boolean validate(); + + boolean validateUsage(CacheConcurrencyStrategy value); + boolean validateRegion(String value); + boolean validateInclude(String value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CascadeValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CascadeValidator.java new file mode 100755 index 000000000..2c72d989e --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CascadeValidator.java @@ -0,0 +1,23 @@ +/** + * <copyright> + * </copyright> + * + * $Id: CascadeValidator.java,v 1.1 2007/02/08 23:13:12 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.teneo.annotations.pannotation.CascadeType; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.Cascade}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface CascadeValidator { + boolean validate(); + + boolean validateValue(EList<CascadeType> value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CollectionOfElementsValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CollectionOfElementsValidator.java new file mode 100755 index 000000000..584319e50 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CollectionOfElementsValidator.java @@ -0,0 +1,22 @@ +/** + * <copyright> + * </copyright> + * + * $Id: CollectionOfElementsValidator.java,v 1.1 2007/02/08 23:13:12 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.teneo.annotations.pannotation.FetchType; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface CollectionOfElementsValidator { + boolean validate(); + + boolean validateTargetElement(String value); + boolean validateFetch(FetchType value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FetchValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FetchValidator.java new file mode 100755 index 000000000..1c787c8ab --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FetchValidator.java @@ -0,0 +1,21 @@ +/** + * <copyright> + * </copyright> + * + * $Id: FetchValidator.java,v 1.1 2007/02/08 23:13:13 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.Fetch}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface FetchValidator { + boolean validate(); + + boolean validateValue(HbFetchType value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterDefValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterDefValidator.java new file mode 100755 index 000000000..d3771bec7 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterDefValidator.java @@ -0,0 +1,25 @@ +/** + * <copyright> + * </copyright> + * + * $Id: FilterDefValidator.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface FilterDefValidator { + boolean validate(); + + boolean validateName(String value); + boolean validateDefaultCondition(String value); + boolean validateParameters(EList<ParamDef> value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterDefsValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterDefsValidator.java new file mode 100755 index 000000000..991128d91 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterDefsValidator.java @@ -0,0 +1,23 @@ +/** + * <copyright> + * </copyright> + * + * $Id: FilterDefsValidator.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDefs}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface FilterDefsValidator { + boolean validate(); + + boolean validateValue(EList<ParamDef> value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterValidator.java new file mode 100755 index 000000000..59453985a --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterValidator.java @@ -0,0 +1,21 @@ +/** + * <copyright> + * </copyright> + * + * $Id: FilterValidator.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface FilterValidator { + boolean validate(); + + boolean validateName(String value); + boolean validateCondition(String value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FiltersValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FiltersValidator.java new file mode 100755 index 000000000..7ab88a038 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FiltersValidator.java @@ -0,0 +1,23 @@ +/** + * <copyright> + * </copyright> + * + * $Id: FiltersValidator.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.Filters}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface FiltersValidator { + boolean validate(); + + boolean validateValue(EList<Filter> value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/GeneratedValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/GeneratedValidator.java new file mode 100755 index 000000000..1cb0d0fda --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/GeneratedValidator.java @@ -0,0 +1,21 @@ +/** + * <copyright> + * </copyright> + * + * $Id: GeneratedValidator.java,v 1.1 2007/07/11 17:35:11 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.Generated}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface GeneratedValidator { + boolean validate(); + + boolean validateValue(GenerationTime value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/GenericGeneratorValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/GenericGeneratorValidator.java new file mode 100755 index 000000000..17e036cba --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/GenericGeneratorValidator.java @@ -0,0 +1,25 @@ +/** + * <copyright> + * </copyright> + * + * $Id: GenericGeneratorValidator.java,v 1.1 2007/02/08 23:13:12 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface GenericGeneratorValidator { + boolean validate(); + + boolean validateName(String value); + boolean validateStrategy(String value); + boolean validateParameters(EList<Parameter> value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/HbAnnotationValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/HbAnnotationValidator.java new file mode 100755 index 000000000..4cb6f07f4 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/HbAnnotationValidator.java @@ -0,0 +1,19 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotationValidator.java,v 1.1 2007/02/08 23:13:13 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotation}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface HbAnnotationValidator { + boolean validate(); + +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/IdBagValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/IdBagValidator.java new file mode 100755 index 000000000..87bf36f89 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/IdBagValidator.java @@ -0,0 +1,23 @@ +/** + * <copyright> + * </copyright> + * + * $Id: IdBagValidator.java,v 1.2 2007/03/21 15:46:34 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface IdBagValidator { + boolean validate(); + + boolean validateGenerator(String value); + boolean validateType(String value); + + boolean validateTable(String value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/IndexValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/IndexValidator.java new file mode 100755 index 000000000..968edeb9d --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/IndexValidator.java @@ -0,0 +1,20 @@ +/** + * <copyright> + * </copyright> + * + * $Id: IndexValidator.java,v 1.1 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.Index}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface IndexValidator { + boolean validate(); + + boolean validateName(String value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/MapKeyValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/MapKeyValidator.java new file mode 100755 index 000000000..b52b0a239 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/MapKeyValidator.java @@ -0,0 +1,23 @@ +/** + * <copyright> + * </copyright> + * + * $Id: MapKeyValidator.java,v 1.1 2007/02/08 23:13:12 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.teneo.annotations.pannotation.Column; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKey}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface MapKeyValidator { + boolean validate(); + + boolean validateColumns(EList<Column> value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/NamedQueryValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/NamedQueryValidator.java new file mode 100755 index 000000000..07c0ae666 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/NamedQueryValidator.java @@ -0,0 +1,21 @@ +/** + * <copyright> + * </copyright> + * + * $Id: NamedQueryValidator.java,v 1.1 2008/03/31 07:22:07 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface NamedQueryValidator { + boolean validate(); + + boolean validateName(String value); + boolean validateQuery(String value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/OnDeleteValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/OnDeleteValidator.java new file mode 100755 index 000000000..8159507ed --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/OnDeleteValidator.java @@ -0,0 +1,25 @@ +/** + * <copyright> + * </copyright> + * + * $Id: OnDeleteValidator.java,v 1.1 2007/03/04 21:18:07 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface OnDeleteValidator { + boolean validate(); + + boolean validateAction(OnDeleteAction value); + + boolean validateAction(EList<OnDeleteAction> value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ParamDefValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ParamDefValidator.java new file mode 100755 index 000000000..b935c561e --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ParamDefValidator.java @@ -0,0 +1,21 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ParamDefValidator.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ParamDefValidator { + boolean validate(); + + boolean validateName(String value); + boolean validateType(String value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ParameterValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ParameterValidator.java new file mode 100755 index 000000000..1fed7b48d --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ParameterValidator.java @@ -0,0 +1,21 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ParameterValidator.java,v 1.1 2007/02/08 23:13:12 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ParameterValidator { + boolean validate(); + + boolean validateName(String value); + boolean validateValue(String value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ProxyValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ProxyValidator.java new file mode 100755 index 000000000..686a45fbc --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ProxyValidator.java @@ -0,0 +1,26 @@ +/** + * <copyright> + * </copyright> + * + * $Id: ProxyValidator.java,v 1.2 2007/03/29 15:06:59 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ProxyValidator { + boolean validate(); + + boolean validateProxyClass(String value); + + boolean validateLazy(boolean value); + + boolean validateProxyClass(CacheConcurrencyStrategy value); + boolean validateLazy(Boolean value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/TypeDefValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/TypeDefValidator.java new file mode 100755 index 000000000..101c18817 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/TypeDefValidator.java @@ -0,0 +1,25 @@ +/** + * <copyright> + * </copyright> + * + * $Id: TypeDefValidator.java,v 1.1 2007/02/08 23:13:12 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface TypeDefValidator { + boolean validate(); + + boolean validateName(String value); + boolean validateParameters(EList<Parameter> value); + boolean validateTypeClass(String value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/TypeValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/TypeValidator.java new file mode 100755 index 000000000..abf37e40c --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/TypeValidator.java @@ -0,0 +1,24 @@ +/** + * <copyright> + * </copyright> + * + * $Id: TypeValidator.java,v 1.1 2007/02/08 23:13:12 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.Type}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface TypeValidator { + boolean validate(); + + boolean validateType(String value); + boolean validateParameters(EList<Parameter> value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/WhereValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/WhereValidator.java new file mode 100755 index 000000000..edb28189f --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/WhereValidator.java @@ -0,0 +1,20 @@ +/** + * <copyright> + * </copyright> + * + * $Id: WhereValidator.java,v 1.1 2007/02/08 23:13:12 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbannotation.validation; + + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbannotation.Where}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface WhereValidator { + boolean validate(); + + boolean validateClause(String value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEAttribute.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEAttribute.java new file mode 100755 index 000000000..85d667641 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEAttribute.java @@ -0,0 +1,165 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEAttribute.java,v 1.8 2009/06/28 02:05:07 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel; + +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.hibernate.hbannotation.Any; +import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Generated; +import org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Hb Annotated EAttribute</b></em>'. <!-- + * end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getHbType <em>Hb Type</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getGenerated <em>Generated</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getNaturalId <em>Natural Id</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getAny <em>Any</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getAnyMetaDef <em>Any Meta Def</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEAttribute() + * @model + * @generated + */ +public interface HbAnnotatedEAttribute extends PAnnotatedEAttribute, HbAnnotatedETypeElement { + /** + * Returns the value of the '<em><b>Hb Type</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Type</em>' containment reference isn't clear, there really should be more of a + * description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Type</em>' containment reference. + * @see #setHbType(Type) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEAttribute_HbType() + * @model containment="true" + * @generated + */ + Type getHbType(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getHbType <em>Hb Type</em>}' containment reference. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Type</em>' containment reference. + * @see #getHbType() + * @generated + */ + void setHbType(Type value); + + /** + * Returns the value of the '<em><b>Generated</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Generated</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Generated</em>' containment reference. + * @see #setGenerated(Generated) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEAttribute_Generated() + * @model containment="true" + * @generated + */ + Generated getGenerated(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getGenerated <em>Generated</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Generated</em>' containment reference. + * @see #getGenerated() + * @generated + */ + void setGenerated(Generated value); + + /** + * Returns the value of the '<em><b>Natural Id</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Natural Id</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Natural Id</em>' containment reference. + * @see #setNaturalId(NaturalId) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEAttribute_NaturalId() + * @model containment="true" + * @generated + */ + NaturalId getNaturalId(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getNaturalId <em>Natural Id</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Natural Id</em>' containment reference. + * @see #getNaturalId() + * @generated + */ + void setNaturalId(NaturalId value); + + /** + * Returns the value of the '<em><b>Any</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Any</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Any</em>' reference. + * @see #setAny(Any) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEAttribute_Any() + * @model + * @generated + */ + Any getAny(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getAny <em>Any</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Any</em>' reference. + * @see #getAny() + * @generated + */ + void setAny(Any value); + + /** + * Returns the value of the '<em><b>Any Meta Def</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Any Meta Def</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Any Meta Def</em>' reference. + * @see #setAnyMetaDef(AnyMetaDef) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEAttribute_AnyMetaDef() + * @model + * @generated + */ + AnyMetaDef getAnyMetaDef(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getAnyMetaDef <em>Any Meta Def</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Any Meta Def</em>' reference. + * @see #getAnyMetaDef() + * @generated + */ + void setAnyMetaDef(AnyMetaDef value); + +} // HbAnnotatedEAttribute diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEClass.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEClass.java new file mode 100755 index 000000000..d4429cfd1 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEClass.java @@ -0,0 +1,332 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEClass.java,v 1.14 2009/03/15 15:08:01 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.ForceDiscriminator; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity; +import org.eclipse.emf.teneo.hibernate.hbannotation.Immutable; +import org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete; +import org.eclipse.emf.teneo.hibernate.hbannotation.Proxy; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Hb Annotated EClass</b></em>'. <!-- + * end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbCache <em>Hb Cache</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbOnDelete <em>Hb On Delete</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbWhere <em>Hb Where</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbProxy <em>Hb Proxy</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbNamedQuery <em>Hb Named Query</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getFilterDef <em>Filter Def</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getFilter <em>Filter</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getDiscriminatorFormula <em>Discriminator Formula</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getForceDiscriminator <em>Force Discriminator</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getImmutable <em>Immutable</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbEntity <em>Hb Entity</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getBatchSize <em>Batch Size</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEClass() + * @model + * @generated + */ +public interface HbAnnotatedEClass extends PAnnotatedEClass { + /** + * Returns the value of the '<em><b>Hb Cache</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Cache</em>' containment reference isn't clear, there really should be more of a + * description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Cache</em>' containment reference. + * @see #setHbCache(Cache) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEClass_HbCache() + * @model containment="true" + * @generated + */ + Cache getHbCache(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbCache <em>Hb Cache</em>}' containment reference. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Cache</em>' containment reference. + * @see #getHbCache() + * @generated + */ + void setHbCache(Cache value); + + /** + * Returns the value of the '<em><b>Hb On Delete</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb On Delete</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb On Delete</em>' reference. + * @see #setHbOnDelete(OnDelete) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEClass_HbOnDelete() + * @model + * @generated + */ + OnDelete getHbOnDelete(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbOnDelete <em>Hb On Delete</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Hb On Delete</em>' reference. + * @see #getHbOnDelete() + * @generated + */ + void setHbOnDelete(OnDelete value); + + /** + * Returns the value of the '<em><b>Hb Where</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Where</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Where</em>' containment reference. + * @see #setHbWhere(Where) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEClass_HbWhere() + * @model containment="true" + * @generated + */ + Where getHbWhere(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbWhere <em>Hb Where</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Where</em>' containment reference. + * @see #getHbWhere() + * @generated + */ + void setHbWhere(Where value); + + /** + * Returns the value of the '<em><b>Hb Proxy</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Proxy</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Proxy</em>' reference. + * @see #setHbProxy(Proxy) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEClass_HbProxy() + * @model + * @generated + */ + Proxy getHbProxy(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbProxy <em>Hb Proxy</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Proxy</em>' reference. + * @see #getHbProxy() + * @generated + */ + void setHbProxy(Proxy value); + + /** + * Returns the value of the '<em><b>Hb Named Query</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Named Query</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Named Query</em>' reference list. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEClass_HbNamedQuery() + * @model + * @generated + */ + EList<NamedQuery> getHbNamedQuery(); + + /** + * Returns the value of the '<em><b>Filter Def</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Filter Def</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Filter Def</em>' reference list. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEClass_FilterDef() + * @model + * @generated + */ + EList<FilterDef> getFilterDef(); + + /** + * Returns the value of the '<em><b>Filter</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Filter</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Filter</em>' reference list. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEClass_Filter() + * @model + * @generated + */ + EList<Filter> getFilter(); + + /** + * Returns the value of the '<em><b>Discriminator Formula</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Discriminator Formula</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Discriminator Formula</em>' containment reference. + * @see #setDiscriminatorFormula(DiscriminatorFormula) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEClass_DiscriminatorFormula() + * @model containment="true" + * @generated + */ + DiscriminatorFormula getDiscriminatorFormula(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getDiscriminatorFormula <em>Discriminator Formula</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Discriminator Formula</em>' containment reference. + * @see #getDiscriminatorFormula() + * @generated + */ + void setDiscriminatorFormula(DiscriminatorFormula value); + + /** + * Returns the value of the '<em><b>Force Discriminator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Force Discriminator</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Force Discriminator</em>' containment reference. + * @see #setForceDiscriminator(ForceDiscriminator) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEClass_ForceDiscriminator() + * @model containment="true" + * @generated + */ + ForceDiscriminator getForceDiscriminator(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getForceDiscriminator <em>Force Discriminator</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Force Discriminator</em>' containment reference. + * @see #getForceDiscriminator() + * @generated + */ + void setForceDiscriminator(ForceDiscriminator value); + + /** + * Returns the value of the '<em><b>Immutable</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Immutable</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Immutable</em>' containment reference. + * @see #setImmutable(Immutable) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEClass_Immutable() + * @model containment="true" + * @generated + */ + Immutable getImmutable(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getImmutable <em>Immutable</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Immutable</em>' containment reference. + * @see #getImmutable() + * @generated + */ + void setImmutable(Immutable value); + + /** + * Returns the value of the '<em><b>Hb Entity</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Entity</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Entity</em>' reference. + * @see #setHbEntity(HbEntity) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEClass_HbEntity() + * @model + * @generated + */ + HbEntity getHbEntity(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbEntity <em>Hb Entity</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Entity</em>' reference. + * @see #getHbEntity() + * @generated + */ + void setHbEntity(HbEntity value); + + /** + * Returns the value of the '<em><b>Batch Size</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Batch Size</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Batch Size</em>' reference. + * @see #setBatchSize(BatchSize) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEClass_BatchSize() + * @model + * @generated + */ + BatchSize getBatchSize(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getBatchSize <em>Batch Size</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Batch Size</em>' reference. + * @see #getBatchSize() + * @generated + */ + void setBatchSize(BatchSize value); + +} // HbAnnotatedEClass diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEDataType.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEDataType.java new file mode 100755 index 000000000..7a97ef49b --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEDataType.java @@ -0,0 +1,184 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEDataType.java,v 1.7 2009/06/11 04:59:21 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Hb Annotated EData Type</b></em>'. <!-- + * end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbTypeDef <em>Hb Type Def</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbWhere <em>Hb Where</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbColumns <em>Hb Columns</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbIdBag <em>Hb Id Bag</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbIndex <em>Hb Index</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbType <em>Hb Type</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEDataType() + * @model + * @generated + */ +public interface HbAnnotatedEDataType extends PAnnotatedEDataType, HbAnnotatedEModelElement { + /** + * Returns the value of the '<em><b>Hb Type Def</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Type Def</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>Hb Type Def</em>' containment reference. + * @see #setHbTypeDef(TypeDef) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEDataType_HbTypeDef() + * @model containment="true" + * @generated + */ + TypeDef getHbTypeDef(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbTypeDef <em>Hb Type Def</em>}' containment reference. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Type Def</em>' containment reference. + * @see #getHbTypeDef() + * @generated + */ + void setHbTypeDef(TypeDef value); + + /** + * Returns the value of the '<em><b>Hb Where</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Where</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Where</em>' containment reference. + * @see #setHbWhere(Where) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEDataType_HbWhere() + * @model containment="true" + * @generated + */ + Where getHbWhere(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbWhere <em>Hb Where</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Where</em>' containment reference. + * @see #getHbWhere() + * @generated + */ + void setHbWhere(Where value); + + /** + * Returns the value of the '<em><b>Hb Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.Column}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Columns</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>Hb Columns</em>' containment reference list. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEDataType_HbColumns() + * @model containment="true" + * @generated + */ + EList<Column> getHbColumns(); + + /** + * Returns the value of the '<em><b>Hb Id Bag</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Id Bag</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Id Bag</em>' containment reference. + * @see #setHbIdBag(IdBag) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEDataType_HbIdBag() + * @model containment="true" + * @generated + */ + IdBag getHbIdBag(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbIdBag <em>Hb Id Bag</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Id Bag</em>' containment reference. + * @see #getHbIdBag() + * @generated + */ + void setHbIdBag(IdBag value); + + /** + * Returns the value of the '<em><b>Hb Index</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Index</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Index</em>' reference. + * @see #setHbIndex(Index) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEDataType_HbIndex() + * @model + * @generated + */ + Index getHbIndex(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbIndex <em>Hb Index</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Index</em>' reference. + * @see #getHbIndex() + * @generated + */ + void setHbIndex(Index value); + + /** + * Returns the value of the '<em><b>Hb Type</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Type</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Type</em>' containment reference. + * @see #setHbType(Type) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEDataType_HbType() + * @model containment="true" + * @generated + */ + Type getHbType(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbType <em>Hb Type</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Type</em>' containment reference. + * @see #getHbType() + * @generated + */ + void setHbType(Type value); + +} // HbAnnotatedEDataType diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEModelElement.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEModelElement.java new file mode 100755 index 000000000..467d966b1 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEModelElement.java @@ -0,0 +1,22 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEModelElement.java,v 1.5 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel; + +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Hb Annotated EModel Element</b></em>'. <!-- + * end-user-doc --> + * + * + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEModelElement() + * @model interface="true" abstract="true" + * @generated + */ +public interface HbAnnotatedEModelElement extends PAnnotatedEModelElement { + +} // HbAnnotatedEModelElement diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEPackage.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEPackage.java new file mode 100755 index 000000000..3bf6f64e0 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEPackage.java @@ -0,0 +1,118 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEPackage.java,v 1.9 2009/06/28 02:05:07 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator; +import org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Hb Annotated EPackage</b></em>'. <!-- + * end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getHbGenericGenerators <em>Hb Generic Generators</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getHbTypeDef <em>Hb Type Def</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getHbNamedQuery <em>Hb Named Query</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getFilterDef <em>Filter Def</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getAnyMetaDef <em>Any Meta Def</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEPackage() + * @model + * @generated + */ +public interface HbAnnotatedEPackage extends PAnnotatedEPackage { + /** + * Returns the value of the '<em><b>Hb Generic Generators</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator}. + * <!-- begin-user-doc + * --> + * <p> + * If the meaning of the '<em>Hb Generic Generators</em>' containment reference isn't clear, there really should + * be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Generic Generators</em>' containment reference list. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEPackage_HbGenericGenerators() + * @model containment="true" + * @generated + */ + EList<GenericGenerator> getHbGenericGenerators(); + + /** + * Returns the value of the '<em><b>Hb Type Def</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Type Def</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>Hb Type Def</em>' containment reference list. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEPackage_HbTypeDef() + * @model containment="true" + * @generated + */ + EList<TypeDef> getHbTypeDef(); + + /** + * Returns the value of the '<em><b>Hb Named Query</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Named Query</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Named Query</em>' reference list. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEPackage_HbNamedQuery() + * @model + * @generated + */ + EList<NamedQuery> getHbNamedQuery(); + + /** + * Returns the value of the '<em><b>Filter Def</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Filter Def</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Filter Def</em>' reference list. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEPackage_FilterDef() + * @model + * @generated + */ + EList<FilterDef> getFilterDef(); + + /** + * Returns the value of the '<em><b>Any Meta Def</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Any Meta Def</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Any Meta Def</em>' reference list. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEPackage_AnyMetaDef() + * @model + * @generated + */ + EList<AnyMetaDef> getAnyMetaDef(); + +} // HbAnnotatedEPackage diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEReference.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEReference.java new file mode 100755 index 000000000..ab3804771 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEReference.java @@ -0,0 +1,305 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEReference.java,v 1.15 2010/02/04 11:03:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel; + +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.hibernate.hbannotation.Any; +import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.Fetch; +import org.eclipse.emf.teneo.hibernate.hbannotation.Immutable; +import org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId; +import org.eclipse.emf.teneo.hibernate.hbannotation.NotFound; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Hb Annotated EReference</b></em>'. <!-- + * end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbCache <em>Hb Cache</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbFetch <em>Hb Fetch</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbOnDelete <em>Hb On Delete</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getNaturalId <em>Natural Id</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getImmutable <em>Immutable</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getNotFound <em>Not Found</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbType <em>Hb Type</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getBatchSize <em>Batch Size</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getAny <em>Any</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getAnyMetaDef <em>Any Meta Def</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEReference() + * @model + * @generated + */ +public interface HbAnnotatedEReference extends PAnnotatedEReference, HbAnnotatedETypeElement { + /** + * Returns the value of the '<em><b>Hb Cache</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Cache</em>' containment reference isn't clear, there really should be more of a + * description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Cache</em>' containment reference. + * @see #setHbCache(Cache) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEReference_HbCache() + * @model containment="true" + * @generated + */ + Cache getHbCache(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbCache <em>Hb Cache</em>}' containment reference. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Cache</em>' containment reference. + * @see #getHbCache() + * @generated + */ + void setHbCache(Cache value); + + /** + * Returns the value of the '<em><b>Hb Fetch</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Fetch</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Fetch</em>' reference. + * @see #setHbFetch(Fetch) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEReference_HbFetch() + * @model + * @generated + */ + Fetch getHbFetch(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbFetch <em>Hb Fetch</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Fetch</em>' reference. + * @see #getHbFetch() + * @generated + */ + void setHbFetch(Fetch value); + + /** + * Returns the value of the '<em><b>Hb On Delete</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb On Delete</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb On Delete</em>' reference. + * @see #setHbOnDelete(OnDelete) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEReference_HbOnDelete() + * @model + * @generated + */ + OnDelete getHbOnDelete(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbOnDelete <em>Hb On Delete</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Hb On Delete</em>' reference. + * @see #getHbOnDelete() + * @generated + */ + void setHbOnDelete(OnDelete value); + + /** + * Returns the value of the '<em><b>Natural Id</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Natural Id</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Natural Id</em>' containment reference. + * @see #setNaturalId(NaturalId) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEReference_NaturalId() + * @model containment="true" + * @generated + */ + NaturalId getNaturalId(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getNaturalId <em>Natural Id</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Natural Id</em>' containment reference. + * @see #getNaturalId() + * @generated + */ + void setNaturalId(NaturalId value); + + /** + * Returns the value of the '<em><b>Immutable</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Immutable</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Immutable</em>' containment reference. + * @see #setImmutable(Immutable) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEReference_Immutable() + * @model containment="true" + * @generated + */ + Immutable getImmutable(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getImmutable <em>Immutable</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Immutable</em>' containment reference. + * @see #getImmutable() + * @generated + */ + void setImmutable(Immutable value); + + /** + * Returns the value of the '<em><b>Not Found</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Not Found</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Not Found</em>' containment reference. + * @see #setNotFound(NotFound) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEReference_NotFound() + * @model containment="true" + * @generated + */ + NotFound getNotFound(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getNotFound <em>Not Found</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Not Found</em>' containment reference. + * @see #getNotFound() + * @generated + */ + void setNotFound(NotFound value); + + /** + * Returns the value of the '<em><b>Hb Type</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Type</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Type</em>' containment reference. + * @see #setHbType(Type) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEReference_HbType() + * @model containment="true" + * @generated + */ + Type getHbType(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbType <em>Hb Type</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Type</em>' containment reference. + * @see #getHbType() + * @generated + */ + void setHbType(Type value); + + /** + * Returns the value of the '<em><b>Batch Size</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Batch Size</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Batch Size</em>' reference. + * @see #setBatchSize(BatchSize) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEReference_BatchSize() + * @model + * @generated + */ + BatchSize getBatchSize(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getBatchSize <em>Batch Size</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Batch Size</em>' reference. + * @see #getBatchSize() + * @generated + */ + void setBatchSize(BatchSize value); + + /** + * Returns the value of the '<em><b>Any</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Any</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Any</em>' reference. + * @see #setAny(Any) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEReference_Any() + * @model + * @generated + */ + Any getAny(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getAny <em>Any</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Any</em>' reference. + * @see #getAny() + * @generated + */ + void setAny(Any value); + + /** + * Returns the value of the '<em><b>Any Meta Def</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Any Meta Def</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Any Meta Def</em>' reference. + * @see #setAnyMetaDef(AnyMetaDef) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedEReference_AnyMetaDef() + * @model + * @generated + */ + AnyMetaDef getAnyMetaDef(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getAnyMetaDef <em>Any Meta Def</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Any Meta Def</em>' reference. + * @see #getAnyMetaDef() + * @generated + */ + void setAnyMetaDef(AnyMetaDef value); + +} // HbAnnotatedEReference diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedETypeElement.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedETypeElement.java new file mode 100755 index 000000000..729f28591 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedETypeElement.java @@ -0,0 +1,286 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedETypeElement.java,v 1.12 2010/02/04 11:03:46 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade; +import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.Formula; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Hb Annotated EType Element</b></em>'. <!-- + * end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbWhere <em>Hb Where</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbCollectionOfElements <em>Hb Collection Of Elements</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbMapKey <em>Hb Map Key</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbColumns <em>Hb Columns</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbCascade <em>Hb Cascade</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbIdBag <em>Hb Id Bag</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbIndex <em>Hb Index</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getFilter <em>Filter</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getMapKeyManyToMany <em>Map Key Many To Many</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getFormula <em>Formula</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedETypeElement() + * @model interface="true" abstract="true" + * @generated + */ +public interface HbAnnotatedETypeElement extends PAnnotatedEStructuralFeature, HbAnnotatedEModelElement { + /** + * Returns the value of the '<em><b>Hb Where</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Where</em>' containment reference isn't clear, there really should be more of a + * description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Where</em>' containment reference. + * @see #setHbWhere(Where) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedETypeElement_HbWhere() + * @model containment="true" + * @generated + */ + Where getHbWhere(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbWhere <em>Hb Where</em>}' containment reference. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Where</em>' containment reference. + * @see #getHbWhere() + * @generated + */ + void setHbWhere(Where value); + + /** + * Returns the value of the '<em><b>Hb Collection Of Elements</b></em>' containment reference. <!-- + * begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Collection Of Elements</em>' containment reference isn't clear, there really + * should be more of a description here... + * </p> + * <!-- end-user-doc --> + * + * @return the value of the '<em>Hb Collection Of Elements</em>' containment reference. + * @see #setHbCollectionOfElements(CollectionOfElements) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbModelPackage#getHbAnnotatedETypeElement_HbCollectionOfElements() + * @model containment="true" + * @generated + */ + CollectionOfElements getHbCollectionOfElements(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbCollectionOfElements <em>Hb Collection Of Elements</em>}' containment reference. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Collection Of Elements</em>' containment reference. + * @see #getHbCollectionOfElements() + * @generated + */ + void setHbCollectionOfElements(CollectionOfElements value); + + /** + * Returns the value of the '<em><b>Hb Map Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Map Key</em>' containment reference isn't clear, there really should be more of + * a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Map Key</em>' containment reference. + * @see #setHbMapKey(HbMapKey) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedETypeElement_HbMapKey() + * @model containment="true" + * annotation="teneo/internal/PersistenceMapping elementName='hb-map-key'" + * @generated + */ + HbMapKey getHbMapKey(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbMapKey <em>Hb Map Key</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Map Key</em>' containment reference. + * @see #getHbMapKey() + * @generated + */ + void setHbMapKey(HbMapKey value); + + /** + * Returns the value of the '<em><b>Hb Columns</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.Column}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Columns</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>Hb Columns</em>' containment reference list. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedETypeElement_HbColumns() + * @model containment="true" + * @generated + */ + EList<Column> getHbColumns(); + + /** + * Returns the value of the '<em><b>Hb Cascade</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Cascade</em>' containment reference isn't clear, there really should be more of + * a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Cascade</em>' containment reference. + * @see #setHbCascade(Cascade) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedETypeElement_HbCascade() + * @model containment="true" + * @generated + */ + Cascade getHbCascade(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbCascade <em>Hb Cascade</em>}' containment reference. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Cascade</em>' containment reference. + * @see #getHbCascade() + * @generated + */ + void setHbCascade(Cascade value); + + /** + * Returns the value of the '<em><b>Hb Id Bag</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Id Bag</em>' containment reference isn't clear, there really should be more of + * a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Id Bag</em>' containment reference. + * @see #setHbIdBag(IdBag) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedETypeElement_HbIdBag() + * @model containment="true" + * @generated + */ + IdBag getHbIdBag(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbIdBag <em>Hb Id Bag</em>}' containment reference. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Id Bag</em>' containment reference. + * @see #getHbIdBag() + * @generated + */ + void setHbIdBag(IdBag value); + + /** + * Returns the value of the '<em><b>Hb Index</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Hb Index</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Hb Index</em>' reference. + * @see #setHbIndex(Index) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedETypeElement_HbIndex() + * @model + * @generated + */ + Index getHbIndex(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbIndex <em>Hb Index</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Hb Index</em>' reference. + * @see #getHbIndex() + * @generated + */ + void setHbIndex(Index value); + + /** + * Returns the value of the '<em><b>Filter</b></em>' reference list. + * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Filter</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Filter</em>' reference list. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedETypeElement_Filter() + * @model + * @generated + */ + EList<Filter> getFilter(); + + /** + * Returns the value of the '<em><b>Map Key Many To Many</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Map Key Many To Many</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Map Key Many To Many</em>' containment reference. + * @see #setMapKeyManyToMany(MapKeyManyToMany) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedETypeElement_MapKeyManyToMany() + * @model containment="true" + * annotation="teneo/internal/PersistenceMapping elementName='hb-map-key'" + * @generated + */ + MapKeyManyToMany getMapKeyManyToMany(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getMapKeyManyToMany <em>Map Key Many To Many</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Map Key Many To Many</em>' containment reference. + * @see #getMapKeyManyToMany() + * @generated + */ + void setMapKeyManyToMany(MapKeyManyToMany value); + + /** + * Returns the value of the '<em><b>Formula</b></em>' reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Formula</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Formula</em>' reference. + * @see #setFormula(Formula) + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage#getHbAnnotatedETypeElement_Formula() + * @model + * @generated + */ + Formula getFormula(); + + /** + * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getFormula <em>Formula</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Formula</em>' reference. + * @see #getFormula() + * @generated + */ + void setFormula(Formula value); + +} // HbAnnotatedETypeElement diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbmodelFactory.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbmodelFactory.java new file mode 100755 index 000000000..0bd945f1d --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbmodelFactory.java @@ -0,0 +1,82 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbmodelFactory.java,v 1.1 2007/07/04 19:31:48 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel; + +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.emf.teneo.hibernate.hbmodel.HbmodelPackage + * @generated + */ +public interface HbmodelFactory extends EFactory { + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + HbmodelFactory eINSTANCE = org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Hb Annotated EAttribute</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Hb Annotated EAttribute</em>'. + * @generated + */ + HbAnnotatedEAttribute createHbAnnotatedEAttribute(); + + /** + * Returns a new object of class '<em>Hb Annotated EClass</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Hb Annotated EClass</em>'. + * @generated + */ + HbAnnotatedEClass createHbAnnotatedEClass(); + + /** + * Returns a new object of class '<em>Hb Annotated EPackage</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Hb Annotated EPackage</em>'. + * @generated + */ + HbAnnotatedEPackage createHbAnnotatedEPackage(); + + /** + * Returns a new object of class '<em>Hb Annotated EReference</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Hb Annotated EReference</em>'. + * @generated + */ + HbAnnotatedEReference createHbAnnotatedEReference(); + + /** + * Returns a new object of class '<em>Hb Annotated EData Type</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Hb Annotated EData Type</em>'. + * @generated + */ + HbAnnotatedEDataType createHbAnnotatedEDataType(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + HbmodelPackage getHbmodelPackage(); + +} //HbmodelFactory diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbmodelPackage.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbmodelPackage.java new file mode 100755 index 000000000..562ae6b25 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbmodelPackage.java @@ -0,0 +1,2748 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbmodelPackage.java,v 1.18 2010/02/04 11:03:47 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelFactory + * @model kind="package" + * @generated + */ +public interface HbmodelPackage extends EPackage { + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "hbmodel"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.eclipse.org/emf/teneo/2006/HbModel"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "org.eclipse.emf.teneo.hibernate"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + HbmodelPackage eINSTANCE = org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement <em>Hb Annotated EType Element</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedETypeElement() + * @generated + */ + int HB_ANNOTATED_ETYPE_ELEMENT = 0; + + /** + * The feature id for the '<em><b>Model Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__MODEL_ELEMENT = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__MODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Transient</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__TRANSIENT = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__TRANSIENT; + + /** + * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__ATTRIBUTE_OVERRIDES = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__ATTRIBUTE_OVERRIDES; + + /** + * The feature id for the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__JOIN_TABLE = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__JOIN_TABLE; + + /** + * The feature id for the '<em><b>One To Many</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__ONE_TO_MANY = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__ONE_TO_MANY; + + /** + * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__SEQUENCE_GENERATOR = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__SEQUENCE_GENERATOR; + + /** + * The feature id for the '<em><b>Table Generators</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__TABLE_GENERATORS = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__TABLE_GENERATORS; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__JOIN_COLUMNS = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__JOIN_COLUMNS; + + /** + * The feature id for the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__COLUMN = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__COLUMN; + + /** + * The feature id for the '<em><b>Pa EClass</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__PA_ECLASS = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS; + + /** + * The feature id for the '<em><b>Model EStructural Feature</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__MODEL_ESTRUCTURAL_FEATURE = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__MODEL_ESTRUCTURAL_FEATURE; + + /** + * The feature id for the '<em><b>Foreign Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__FOREIGN_KEY = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY; + + /** + * The feature id for the '<em><b>Hb Where</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__HB_WHERE = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Hb Collection Of Elements</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__HB_COLLECTION_OF_ELEMENTS = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Hb Map Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__HB_MAP_KEY = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Hb Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__HB_COLUMNS = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Hb Cascade</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__HB_CASCADE = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Hb Id Bag</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__HB_ID_BAG = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Hb Index</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__HB_INDEX = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Filter</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__FILTER = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 7; + + /** + * The feature id for the '<em><b>Map Key Many To Many</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__MAP_KEY_MANY_TO_MANY = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 8; + + /** + * The feature id for the '<em><b>Formula</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT__FORMULA = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 9; + + /** + * The number of structural features of the '<em>Hb Annotated EType Element</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ETYPE_ELEMENT_FEATURE_COUNT = PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 10; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl <em>Hb Annotated EAttribute</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedEAttribute() + * @generated + */ + int HB_ANNOTATED_EATTRIBUTE = 1; + + /** + * The feature id for the '<em><b>Model Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__MODEL_ELEMENT = PamodelPackage.PANNOTATED_EATTRIBUTE__MODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Transient</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__TRANSIENT = PamodelPackage.PANNOTATED_EATTRIBUTE__TRANSIENT; + + /** + * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__ATTRIBUTE_OVERRIDES = PamodelPackage.PANNOTATED_EATTRIBUTE__ATTRIBUTE_OVERRIDES; + + /** + * The feature id for the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__JOIN_TABLE = PamodelPackage.PANNOTATED_EATTRIBUTE__JOIN_TABLE; + + /** + * The feature id for the '<em><b>One To Many</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__ONE_TO_MANY = PamodelPackage.PANNOTATED_EATTRIBUTE__ONE_TO_MANY; + + /** + * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__SEQUENCE_GENERATOR = PamodelPackage.PANNOTATED_EATTRIBUTE__SEQUENCE_GENERATOR; + + /** + * The feature id for the '<em><b>Table Generators</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__TABLE_GENERATORS = PamodelPackage.PANNOTATED_EATTRIBUTE__TABLE_GENERATORS; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__JOIN_COLUMNS = PamodelPackage.PANNOTATED_EATTRIBUTE__JOIN_COLUMNS; + + /** + * The feature id for the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__COLUMN = PamodelPackage.PANNOTATED_EATTRIBUTE__COLUMN; + + /** + * The feature id for the '<em><b>Pa EClass</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__PA_ECLASS = PamodelPackage.PANNOTATED_EATTRIBUTE__PA_ECLASS; + + /** + * The feature id for the '<em><b>Model EStructural Feature</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__MODEL_ESTRUCTURAL_FEATURE = PamodelPackage.PANNOTATED_EATTRIBUTE__MODEL_ESTRUCTURAL_FEATURE; + + /** + * The feature id for the '<em><b>Foreign Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__FOREIGN_KEY = PamodelPackage.PANNOTATED_EATTRIBUTE__FOREIGN_KEY; + + /** + * The feature id for the '<em><b>Model EAttribute</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__MODEL_EATTRIBUTE = PamodelPackage.PANNOTATED_EATTRIBUTE__MODEL_EATTRIBUTE; + + /** + * The feature id for the '<em><b>Basic</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__BASIC = PamodelPackage.PANNOTATED_EATTRIBUTE__BASIC; + + /** + * The feature id for the '<em><b>Enumerated</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__ENUMERATED = PamodelPackage.PANNOTATED_EATTRIBUTE__ENUMERATED; + + /** + * The feature id for the '<em><b>Generated Value</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__GENERATED_VALUE = PamodelPackage.PANNOTATED_EATTRIBUTE__GENERATED_VALUE; + + /** + * The feature id for the '<em><b>Id</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__ID = PamodelPackage.PANNOTATED_EATTRIBUTE__ID; + + /** + * The feature id for the '<em><b>Lob</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__LOB = PamodelPackage.PANNOTATED_EATTRIBUTE__LOB; + + /** + * The feature id for the '<em><b>Temporal</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__TEMPORAL = PamodelPackage.PANNOTATED_EATTRIBUTE__TEMPORAL; + + /** + * The feature id for the '<em><b>Version</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__VERSION = PamodelPackage.PANNOTATED_EATTRIBUTE__VERSION; + + /** + * The feature id for the '<em><b>Hb Where</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__HB_WHERE = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Hb Collection Of Elements</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__HB_COLLECTION_OF_ELEMENTS = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Hb Map Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__HB_MAP_KEY = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Hb Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__HB_COLUMNS = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Hb Cascade</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__HB_CASCADE = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Hb Id Bag</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__HB_ID_BAG = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Hb Index</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__HB_INDEX = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Filter</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__FILTER = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 7; + + /** + * The feature id for the '<em><b>Map Key Many To Many</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__MAP_KEY_MANY_TO_MANY = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 8; + + /** + * The feature id for the '<em><b>Formula</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__FORMULA = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 9; + + /** + * The feature id for the '<em><b>Hb Type</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__HB_TYPE = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 10; + + /** + * The feature id for the '<em><b>Generated</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__GENERATED = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 11; + + /** + * The feature id for the '<em><b>Natural Id</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__NATURAL_ID = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 12; + + /** + * The feature id for the '<em><b>Any</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__ANY = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 13; + + /** + * The feature id for the '<em><b>Any Meta Def</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE__ANY_META_DEF = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 14; + + /** + * The number of structural features of the '<em>Hb Annotated EAttribute</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EATTRIBUTE_FEATURE_COUNT = PamodelPackage.PANNOTATED_EATTRIBUTE_FEATURE_COUNT + 15; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl <em>Hb Annotated EClass</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedEClass() + * @generated + */ + int HB_ANNOTATED_ECLASS = 2; + + /** + * The feature id for the '<em><b>Model Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__MODEL_ELEMENT = PamodelPackage.PANNOTATED_ECLASS__MODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Transient</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__TRANSIENT = PamodelPackage.PANNOTATED_ECLASS__TRANSIENT; + + /** + * The feature id for the '<em><b>Pa EPackage</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__PA_EPACKAGE = PamodelPackage.PANNOTATED_ECLASS__PA_EPACKAGE; + + /** + * The feature id for the '<em><b>Model EClass</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__MODEL_ECLASS = PamodelPackage.PANNOTATED_ECLASS__MODEL_ECLASS; + + /** + * The feature id for the '<em><b>Pa EStructural Features</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES = PamodelPackage.PANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES; + + /** + * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__ATTRIBUTE_OVERRIDES = PamodelPackage.PANNOTATED_ECLASS__ATTRIBUTE_OVERRIDES; + + /** + * The feature id for the '<em><b>Discriminator Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__DISCRIMINATOR_COLUMN = PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_COLUMN; + + /** + * The feature id for the '<em><b>Discriminator Value</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__DISCRIMINATOR_VALUE = PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_VALUE; + + /** + * The feature id for the '<em><b>Embeddable</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__EMBEDDABLE = PamodelPackage.PANNOTATED_ECLASS__EMBEDDABLE; + + /** + * The feature id for the '<em><b>Mapped Superclass</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__MAPPED_SUPERCLASS = PamodelPackage.PANNOTATED_ECLASS__MAPPED_SUPERCLASS; + + /** + * The feature id for the '<em><b>Entity</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__ENTITY = PamodelPackage.PANNOTATED_ECLASS__ENTITY; + + /** + * The feature id for the '<em><b>Id Class</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__ID_CLASS = PamodelPackage.PANNOTATED_ECLASS__ID_CLASS; + + /** + * The feature id for the '<em><b>Inheritance</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__INHERITANCE = PamodelPackage.PANNOTATED_ECLASS__INHERITANCE; + + /** + * The feature id for the '<em><b>Primary Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__PRIMARY_KEY_JOIN_COLUMNS = PamodelPackage.PANNOTATED_ECLASS__PRIMARY_KEY_JOIN_COLUMNS; + + /** + * The feature id for the '<em><b>Secondary Tables</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__SECONDARY_TABLES = PamodelPackage.PANNOTATED_ECLASS__SECONDARY_TABLES; + + /** + * The feature id for the '<em><b>Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__TABLE = PamodelPackage.PANNOTATED_ECLASS__TABLE; + + /** + * The feature id for the '<em><b>Table Generator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__TABLE_GENERATOR = PamodelPackage.PANNOTATED_ECLASS__TABLE_GENERATOR; + + /** + * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__ASSOCIATION_OVERRIDES = PamodelPackage.PANNOTATED_ECLASS__ASSOCIATION_OVERRIDES; + + /** + * The feature id for the '<em><b>Hb Cache</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__HB_CACHE = PamodelPackage.PANNOTATED_ECLASS_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Hb On Delete</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__HB_ON_DELETE = PamodelPackage.PANNOTATED_ECLASS_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Hb Where</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__HB_WHERE = PamodelPackage.PANNOTATED_ECLASS_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Hb Proxy</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__HB_PROXY = PamodelPackage.PANNOTATED_ECLASS_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Hb Named Query</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__HB_NAMED_QUERY = PamodelPackage.PANNOTATED_ECLASS_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Filter Def</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__FILTER_DEF = PamodelPackage.PANNOTATED_ECLASS_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Filter</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__FILTER = PamodelPackage.PANNOTATED_ECLASS_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Discriminator Formula</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__DISCRIMINATOR_FORMULA = PamodelPackage.PANNOTATED_ECLASS_FEATURE_COUNT + 7; + + /** + * The feature id for the '<em><b>Force Discriminator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__FORCE_DISCRIMINATOR = PamodelPackage.PANNOTATED_ECLASS_FEATURE_COUNT + 8; + + /** + * The feature id for the '<em><b>Immutable</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__IMMUTABLE = PamodelPackage.PANNOTATED_ECLASS_FEATURE_COUNT + 9; + + /** + * The feature id for the '<em><b>Hb Entity</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__HB_ENTITY = PamodelPackage.PANNOTATED_ECLASS_FEATURE_COUNT + 10; + + /** + * The feature id for the '<em><b>Batch Size</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS__BATCH_SIZE = PamodelPackage.PANNOTATED_ECLASS_FEATURE_COUNT + 11; + + /** + * The number of structural features of the '<em>Hb Annotated EClass</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_ECLASS_FEATURE_COUNT = PamodelPackage.PANNOTATED_ECLASS_FEATURE_COUNT + 12; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEModelElement <em>Hb Annotated EModel Element</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEModelElement + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedEModelElement() + * @generated + */ + int HB_ANNOTATED_EMODEL_ELEMENT = 3; + + /** + * The feature id for the '<em><b>Model Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT = PamodelPackage.PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Transient</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EMODEL_ELEMENT__TRANSIENT = PamodelPackage.PANNOTATED_EMODEL_ELEMENT__TRANSIENT; + + /** + * The number of structural features of the '<em>Hb Annotated EModel Element</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT = PamodelPackage.PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEPackageImpl <em>Hb Annotated EPackage</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEPackageImpl + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedEPackage() + * @generated + */ + int HB_ANNOTATED_EPACKAGE = 4; + + /** + * The feature id for the '<em><b>Model Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__MODEL_ELEMENT = PamodelPackage.PANNOTATED_EPACKAGE__MODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Transient</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__TRANSIENT = PamodelPackage.PANNOTATED_EPACKAGE__TRANSIENT; + + /** + * The feature id for the '<em><b>Pa Model</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__PA_MODEL = PamodelPackage.PANNOTATED_EPACKAGE__PA_MODEL; + + /** + * The feature id for the '<em><b>Model EPackage</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__MODEL_EPACKAGE = PamodelPackage.PANNOTATED_EPACKAGE__MODEL_EPACKAGE; + + /** + * The feature id for the '<em><b>Pa EClasses</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__PA_ECLASSES = PamodelPackage.PANNOTATED_EPACKAGE__PA_ECLASSES; + + /** + * The feature id for the '<em><b>Sequence Generators</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__SEQUENCE_GENERATORS = PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_GENERATORS; + + /** + * The feature id for the '<em><b>Table Generators</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__TABLE_GENERATORS = PamodelPackage.PANNOTATED_EPACKAGE__TABLE_GENERATORS; + + /** + * The feature id for the '<em><b>Pa EData Types</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__PA_EDATA_TYPES = PamodelPackage.PANNOTATED_EPACKAGE__PA_EDATA_TYPES; + + /** + * The feature id for the '<em><b>Sequence Style Generators</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__SEQUENCE_STYLE_GENERATORS = PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_STYLE_GENERATORS; + + /** + * The feature id for the '<em><b>Hb Generic Generators</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__HB_GENERIC_GENERATORS = PamodelPackage.PANNOTATED_EPACKAGE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Hb Type Def</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__HB_TYPE_DEF = PamodelPackage.PANNOTATED_EPACKAGE_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Hb Named Query</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__HB_NAMED_QUERY = PamodelPackage.PANNOTATED_EPACKAGE_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Filter Def</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__FILTER_DEF = PamodelPackage.PANNOTATED_EPACKAGE_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Any Meta Def</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE__ANY_META_DEF = PamodelPackage.PANNOTATED_EPACKAGE_FEATURE_COUNT + 4; + + /** + * The number of structural features of the '<em>Hb Annotated EPackage</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EPACKAGE_FEATURE_COUNT = PamodelPackage.PANNOTATED_EPACKAGE_FEATURE_COUNT + 5; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl <em>Hb Annotated EReference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedEReference() + * @generated + */ + int HB_ANNOTATED_EREFERENCE = 5; + + /** + * The feature id for the '<em><b>Model Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__MODEL_ELEMENT = PamodelPackage.PANNOTATED_EREFERENCE__MODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Transient</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__TRANSIENT = PamodelPackage.PANNOTATED_EREFERENCE__TRANSIENT; + + /** + * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__ATTRIBUTE_OVERRIDES = PamodelPackage.PANNOTATED_EREFERENCE__ATTRIBUTE_OVERRIDES; + + /** + * The feature id for the '<em><b>Join Table</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__JOIN_TABLE = PamodelPackage.PANNOTATED_EREFERENCE__JOIN_TABLE; + + /** + * The feature id for the '<em><b>One To Many</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__ONE_TO_MANY = PamodelPackage.PANNOTATED_EREFERENCE__ONE_TO_MANY; + + /** + * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__SEQUENCE_GENERATOR = PamodelPackage.PANNOTATED_EREFERENCE__SEQUENCE_GENERATOR; + + /** + * The feature id for the '<em><b>Table Generators</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__TABLE_GENERATORS = PamodelPackage.PANNOTATED_EREFERENCE__TABLE_GENERATORS; + + /** + * The feature id for the '<em><b>Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__JOIN_COLUMNS = PamodelPackage.PANNOTATED_EREFERENCE__JOIN_COLUMNS; + + /** + * The feature id for the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__COLUMN = PamodelPackage.PANNOTATED_EREFERENCE__COLUMN; + + /** + * The feature id for the '<em><b>Pa EClass</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__PA_ECLASS = PamodelPackage.PANNOTATED_EREFERENCE__PA_ECLASS; + + /** + * The feature id for the '<em><b>Model EStructural Feature</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__MODEL_ESTRUCTURAL_FEATURE = PamodelPackage.PANNOTATED_EREFERENCE__MODEL_ESTRUCTURAL_FEATURE; + + /** + * The feature id for the '<em><b>Foreign Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__FOREIGN_KEY = PamodelPackage.PANNOTATED_EREFERENCE__FOREIGN_KEY; + + /** + * The feature id for the '<em><b>Model EReference</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__MODEL_EREFERENCE = PamodelPackage.PANNOTATED_EREFERENCE__MODEL_EREFERENCE; + + /** + * The feature id for the '<em><b>Embedded</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__EMBEDDED = PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED; + + /** + * The feature id for the '<em><b>Embedded Id</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__EMBEDDED_ID = PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED_ID; + + /** + * The feature id for the '<em><b>Many To Many</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__MANY_TO_MANY = PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_MANY; + + /** + * The feature id for the '<em><b>Many To One</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__MANY_TO_ONE = PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_ONE; + + /** + * The feature id for the '<em><b>Map Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__MAP_KEY = PamodelPackage.PANNOTATED_EREFERENCE__MAP_KEY; + + /** + * The feature id for the '<em><b>One To One</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__ONE_TO_ONE = PamodelPackage.PANNOTATED_EREFERENCE__ONE_TO_ONE; + + /** + * The feature id for the '<em><b>Order By</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__ORDER_BY = PamodelPackage.PANNOTATED_EREFERENCE__ORDER_BY; + + /** + * The feature id for the '<em><b>Primary Key Join Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__PRIMARY_KEY_JOIN_COLUMNS = PamodelPackage.PANNOTATED_EREFERENCE__PRIMARY_KEY_JOIN_COLUMNS; + + /** + * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__ASSOCIATION_OVERRIDES = PamodelPackage.PANNOTATED_EREFERENCE__ASSOCIATION_OVERRIDES; + + /** + * The feature id for the '<em><b>External</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__EXTERNAL = PamodelPackage.PANNOTATED_EREFERENCE__EXTERNAL; + + /** + * The feature id for the '<em><b>Hb Where</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__HB_WHERE = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Hb Collection Of Elements</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__HB_COLLECTION_OF_ELEMENTS = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Hb Map Key</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__HB_MAP_KEY = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Hb Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__HB_COLUMNS = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Hb Cascade</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__HB_CASCADE = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Hb Id Bag</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__HB_ID_BAG = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Hb Index</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__HB_INDEX = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Filter</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__FILTER = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 7; + + /** + * The feature id for the '<em><b>Map Key Many To Many</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__MAP_KEY_MANY_TO_MANY = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 8; + + /** + * The feature id for the '<em><b>Formula</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__FORMULA = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 9; + + /** + * The feature id for the '<em><b>Hb Cache</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__HB_CACHE = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 10; + + /** + * The feature id for the '<em><b>Hb Fetch</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__HB_FETCH = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 11; + + /** + * The feature id for the '<em><b>Hb On Delete</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__HB_ON_DELETE = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 12; + + /** + * The feature id for the '<em><b>Natural Id</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__NATURAL_ID = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 13; + + /** + * The feature id for the '<em><b>Immutable</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__IMMUTABLE = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 14; + + /** + * The feature id for the '<em><b>Not Found</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__NOT_FOUND = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 15; + + /** + * The feature id for the '<em><b>Hb Type</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__HB_TYPE = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 16; + + /** + * The feature id for the '<em><b>Batch Size</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__BATCH_SIZE = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 17; + + /** + * The feature id for the '<em><b>Any</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__ANY = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 18; + + /** + * The feature id for the '<em><b>Any Meta Def</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE__ANY_META_DEF = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 19; + + /** + * The number of structural features of the '<em>Hb Annotated EReference</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EREFERENCE_FEATURE_COUNT = PamodelPackage.PANNOTATED_EREFERENCE_FEATURE_COUNT + 20; + + /** + * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl <em>Hb Annotated EData Type</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedEDataType() + * @generated + */ + int HB_ANNOTATED_EDATA_TYPE = 6; + + /** + * The feature id for the '<em><b>Model Element</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__MODEL_ELEMENT = PamodelPackage.PANNOTATED_EDATA_TYPE__MODEL_ELEMENT; + + /** + * The feature id for the '<em><b>Transient</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__TRANSIENT = PamodelPackage.PANNOTATED_EDATA_TYPE__TRANSIENT; + + /** + * The feature id for the '<em><b>Model EData Type</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__MODEL_EDATA_TYPE = PamodelPackage.PANNOTATED_EDATA_TYPE__MODEL_EDATA_TYPE; + + /** + * The feature id for the '<em><b>Basic</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__BASIC = PamodelPackage.PANNOTATED_EDATA_TYPE__BASIC; + + /** + * The feature id for the '<em><b>Enumerated</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__ENUMERATED = PamodelPackage.PANNOTATED_EDATA_TYPE__ENUMERATED; + + /** + * The feature id for the '<em><b>Generated Value</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__GENERATED_VALUE = PamodelPackage.PANNOTATED_EDATA_TYPE__GENERATED_VALUE; + + /** + * The feature id for the '<em><b>Id</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__ID = PamodelPackage.PANNOTATED_EDATA_TYPE__ID; + + /** + * The feature id for the '<em><b>Lob</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__LOB = PamodelPackage.PANNOTATED_EDATA_TYPE__LOB; + + /** + * The feature id for the '<em><b>Temporal</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__TEMPORAL = PamodelPackage.PANNOTATED_EDATA_TYPE__TEMPORAL; + + /** + * The feature id for the '<em><b>Version</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__VERSION = PamodelPackage.PANNOTATED_EDATA_TYPE__VERSION; + + /** + * The feature id for the '<em><b>Pa EPackage</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__PA_EPACKAGE = PamodelPackage.PANNOTATED_EDATA_TYPE__PA_EPACKAGE; + + /** + * The feature id for the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__COLUMN = PamodelPackage.PANNOTATED_EDATA_TYPE__COLUMN; + + /** + * The feature id for the '<em><b>Hb Type Def</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF = PamodelPackage.PANNOTATED_EDATA_TYPE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Hb Where</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__HB_WHERE = PamodelPackage.PANNOTATED_EDATA_TYPE_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Hb Columns</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS = PamodelPackage.PANNOTATED_EDATA_TYPE_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Hb Id Bag</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG = PamodelPackage.PANNOTATED_EDATA_TYPE_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Hb Index</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__HB_INDEX = PamodelPackage.PANNOTATED_EDATA_TYPE_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Hb Type</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE__HB_TYPE = PamodelPackage.PANNOTATED_EDATA_TYPE_FEATURE_COUNT + 5; + + /** + * The number of structural features of the '<em>Hb Annotated EData Type</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int HB_ANNOTATED_EDATA_TYPE_FEATURE_COUNT = PamodelPackage.PANNOTATED_EDATA_TYPE_FEATURE_COUNT + 6; + + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement <em>Hb Annotated EType Element</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Hb Annotated EType Element</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement + * @generated + */ + EClass getHbAnnotatedETypeElement(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbWhere <em>Hb Where</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Where</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbWhere() + * @see #getHbAnnotatedETypeElement() + * @generated + */ + EReference getHbAnnotatedETypeElement_HbWhere(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbCollectionOfElements <em>Hb Collection Of Elements</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Collection Of Elements</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbCollectionOfElements() + * @see #getHbAnnotatedETypeElement() + * @generated + */ + EReference getHbAnnotatedETypeElement_HbCollectionOfElements(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbMapKey <em>Hb Map Key</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Map Key</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbMapKey() + * @see #getHbAnnotatedETypeElement() + * @generated + */ + EReference getHbAnnotatedETypeElement_HbMapKey(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbColumns <em>Hb Columns</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Hb Columns</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbColumns() + * @see #getHbAnnotatedETypeElement() + * @generated + */ + EReference getHbAnnotatedETypeElement_HbColumns(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbCascade <em>Hb Cascade</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Cascade</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbCascade() + * @see #getHbAnnotatedETypeElement() + * @generated + */ + EReference getHbAnnotatedETypeElement_HbCascade(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbIdBag <em>Hb Id Bag</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Id Bag</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbIdBag() + * @see #getHbAnnotatedETypeElement() + * @generated + */ + EReference getHbAnnotatedETypeElement_HbIdBag(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbIndex <em>Hb Index</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Hb Index</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getHbIndex() + * @see #getHbAnnotatedETypeElement() + * @generated + */ + EReference getHbAnnotatedETypeElement_HbIndex(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getFilter <em>Filter</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Filter</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getFilter() + * @see #getHbAnnotatedETypeElement() + * @generated + */ + EReference getHbAnnotatedETypeElement_Filter(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getMapKeyManyToMany <em>Map Key Many To Many</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Map Key Many To Many</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getMapKeyManyToMany() + * @see #getHbAnnotatedETypeElement() + * @generated + */ + EReference getHbAnnotatedETypeElement_MapKeyManyToMany(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getFormula <em>Formula</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Formula</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement#getFormula() + * @see #getHbAnnotatedETypeElement() + * @generated + */ + EReference getHbAnnotatedETypeElement_Formula(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute <em>Hb Annotated EAttribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Hb Annotated EAttribute</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute + * @generated + */ + EClass getHbAnnotatedEAttribute(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getHbType <em>Hb Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getHbType() + * @see #getHbAnnotatedEAttribute() + * @generated + */ + EReference getHbAnnotatedEAttribute_HbType(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getGenerated <em>Generated</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Generated</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getGenerated() + * @see #getHbAnnotatedEAttribute() + * @generated + */ + EReference getHbAnnotatedEAttribute_Generated(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getNaturalId <em>Natural Id</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Natural Id</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getNaturalId() + * @see #getHbAnnotatedEAttribute() + * @generated + */ + EReference getHbAnnotatedEAttribute_NaturalId(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getAny <em>Any</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Any</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getAny() + * @see #getHbAnnotatedEAttribute() + * @generated + */ + EReference getHbAnnotatedEAttribute_Any(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getAnyMetaDef <em>Any Meta Def</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Any Meta Def</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute#getAnyMetaDef() + * @see #getHbAnnotatedEAttribute() + * @generated + */ + EReference getHbAnnotatedEAttribute_AnyMetaDef(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass <em>Hb Annotated EClass</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Hb Annotated EClass</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass + * @generated + */ + EClass getHbAnnotatedEClass(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbCache <em>Hb Cache</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Cache</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbCache() + * @see #getHbAnnotatedEClass() + * @generated + */ + EReference getHbAnnotatedEClass_HbCache(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbOnDelete <em>Hb On Delete</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Hb On Delete</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbOnDelete() + * @see #getHbAnnotatedEClass() + * @generated + */ + EReference getHbAnnotatedEClass_HbOnDelete(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbWhere <em>Hb Where</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Where</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbWhere() + * @see #getHbAnnotatedEClass() + * @generated + */ + EReference getHbAnnotatedEClass_HbWhere(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbProxy <em>Hb Proxy</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Hb Proxy</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbProxy() + * @see #getHbAnnotatedEClass() + * @generated + */ + EReference getHbAnnotatedEClass_HbProxy(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbNamedQuery <em>Hb Named Query</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Hb Named Query</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbNamedQuery() + * @see #getHbAnnotatedEClass() + * @generated + */ + EReference getHbAnnotatedEClass_HbNamedQuery(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getFilterDef <em>Filter Def</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Filter Def</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getFilterDef() + * @see #getHbAnnotatedEClass() + * @generated + */ + EReference getHbAnnotatedEClass_FilterDef(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getFilter <em>Filter</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Filter</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getFilter() + * @see #getHbAnnotatedEClass() + * @generated + */ + EReference getHbAnnotatedEClass_Filter(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getDiscriminatorFormula <em>Discriminator Formula</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Discriminator Formula</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getDiscriminatorFormula() + * @see #getHbAnnotatedEClass() + * @generated + */ + EReference getHbAnnotatedEClass_DiscriminatorFormula(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getForceDiscriminator <em>Force Discriminator</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Force Discriminator</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getForceDiscriminator() + * @see #getHbAnnotatedEClass() + * @generated + */ + EReference getHbAnnotatedEClass_ForceDiscriminator(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getImmutable <em>Immutable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Immutable</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getImmutable() + * @see #getHbAnnotatedEClass() + * @generated + */ + EReference getHbAnnotatedEClass_Immutable(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbEntity <em>Hb Entity</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Hb Entity</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getHbEntity() + * @see #getHbAnnotatedEClass() + * @generated + */ + EReference getHbAnnotatedEClass_HbEntity(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getBatchSize <em>Batch Size</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Batch Size</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass#getBatchSize() + * @see #getHbAnnotatedEClass() + * @generated + */ + EReference getHbAnnotatedEClass_BatchSize(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEModelElement <em>Hb Annotated EModel Element</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Hb Annotated EModel Element</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEModelElement + * @generated + */ + EClass getHbAnnotatedEModelElement(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage <em>Hb Annotated EPackage</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Hb Annotated EPackage</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage + * @generated + */ + EClass getHbAnnotatedEPackage(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getHbGenericGenerators <em>Hb Generic Generators</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Hb Generic Generators</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getHbGenericGenerators() + * @see #getHbAnnotatedEPackage() + * @generated + */ + EReference getHbAnnotatedEPackage_HbGenericGenerators(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getHbTypeDef <em>Hb Type Def</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Hb Type Def</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getHbTypeDef() + * @see #getHbAnnotatedEPackage() + * @generated + */ + EReference getHbAnnotatedEPackage_HbTypeDef(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getHbNamedQuery <em>Hb Named Query</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Hb Named Query</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getHbNamedQuery() + * @see #getHbAnnotatedEPackage() + * @generated + */ + EReference getHbAnnotatedEPackage_HbNamedQuery(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getFilterDef <em>Filter Def</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Filter Def</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getFilterDef() + * @see #getHbAnnotatedEPackage() + * @generated + */ + EReference getHbAnnotatedEPackage_FilterDef(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getAnyMetaDef <em>Any Meta Def</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Any Meta Def</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage#getAnyMetaDef() + * @see #getHbAnnotatedEPackage() + * @generated + */ + EReference getHbAnnotatedEPackage_AnyMetaDef(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference <em>Hb Annotated EReference</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Hb Annotated EReference</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference + * @generated + */ + EClass getHbAnnotatedEReference(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbCache <em>Hb Cache</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Cache</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbCache() + * @see #getHbAnnotatedEReference() + * @generated + */ + EReference getHbAnnotatedEReference_HbCache(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbFetch <em>Hb Fetch</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Hb Fetch</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbFetch() + * @see #getHbAnnotatedEReference() + * @generated + */ + EReference getHbAnnotatedEReference_HbFetch(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbOnDelete <em>Hb On Delete</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Hb On Delete</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbOnDelete() + * @see #getHbAnnotatedEReference() + * @generated + */ + EReference getHbAnnotatedEReference_HbOnDelete(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getNaturalId <em>Natural Id</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Natural Id</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getNaturalId() + * @see #getHbAnnotatedEReference() + * @generated + */ + EReference getHbAnnotatedEReference_NaturalId(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getImmutable <em>Immutable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Immutable</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getImmutable() + * @see #getHbAnnotatedEReference() + * @generated + */ + EReference getHbAnnotatedEReference_Immutable(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getNotFound <em>Not Found</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Not Found</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getNotFound() + * @see #getHbAnnotatedEReference() + * @generated + */ + EReference getHbAnnotatedEReference_NotFound(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbType <em>Hb Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getHbType() + * @see #getHbAnnotatedEReference() + * @generated + */ + EReference getHbAnnotatedEReference_HbType(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getBatchSize <em>Batch Size</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Batch Size</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getBatchSize() + * @see #getHbAnnotatedEReference() + * @generated + */ + EReference getHbAnnotatedEReference_BatchSize(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getAny <em>Any</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Any</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getAny() + * @see #getHbAnnotatedEReference() + * @generated + */ + EReference getHbAnnotatedEReference_Any(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getAnyMetaDef <em>Any Meta Def</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Any Meta Def</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference#getAnyMetaDef() + * @see #getHbAnnotatedEReference() + * @generated + */ + EReference getHbAnnotatedEReference_AnyMetaDef(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType <em>Hb Annotated EData Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Hb Annotated EData Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType + * @generated + */ + EClass getHbAnnotatedEDataType(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbTypeDef <em>Hb Type Def</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Type Def</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbTypeDef() + * @see #getHbAnnotatedEDataType() + * @generated + */ + EReference getHbAnnotatedEDataType_HbTypeDef(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbWhere <em>Hb Where</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Where</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbWhere() + * @see #getHbAnnotatedEDataType() + * @generated + */ + EReference getHbAnnotatedEDataType_HbWhere(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbColumns <em>Hb Columns</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Hb Columns</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbColumns() + * @see #getHbAnnotatedEDataType() + * @generated + */ + EReference getHbAnnotatedEDataType_HbColumns(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbIdBag <em>Hb Id Bag</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Id Bag</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbIdBag() + * @see #getHbAnnotatedEDataType() + * @generated + */ + EReference getHbAnnotatedEDataType_HbIdBag(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbIndex <em>Hb Index</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Hb Index</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbIndex() + * @see #getHbAnnotatedEDataType() + * @generated + */ + EReference getHbAnnotatedEDataType_HbIndex(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbType <em>Hb Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Hb Type</em>'. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType#getHbType() + * @see #getHbAnnotatedEDataType() + * @generated + */ + EReference getHbAnnotatedEDataType_HbType(); + + /** + * 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 + */ + HbmodelFactory getHbmodelFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement <em>Hb Annotated EType Element</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedETypeElement() + * @generated + */ + EClass HB_ANNOTATED_ETYPE_ELEMENT = eINSTANCE.getHbAnnotatedETypeElement(); + + /** + * The meta object literal for the '<em><b>Hb Where</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ETYPE_ELEMENT__HB_WHERE = eINSTANCE.getHbAnnotatedETypeElement_HbWhere(); + + /** + * The meta object literal for the '<em><b>Hb Collection Of Elements</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ETYPE_ELEMENT__HB_COLLECTION_OF_ELEMENTS = eINSTANCE.getHbAnnotatedETypeElement_HbCollectionOfElements(); + + /** + * The meta object literal for the '<em><b>Hb Map Key</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ETYPE_ELEMENT__HB_MAP_KEY = eINSTANCE.getHbAnnotatedETypeElement_HbMapKey(); + + /** + * The meta object literal for the '<em><b>Hb Columns</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ETYPE_ELEMENT__HB_COLUMNS = eINSTANCE.getHbAnnotatedETypeElement_HbColumns(); + + /** + * The meta object literal for the '<em><b>Hb Cascade</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ETYPE_ELEMENT__HB_CASCADE = eINSTANCE.getHbAnnotatedETypeElement_HbCascade(); + + /** + * The meta object literal for the '<em><b>Hb Id Bag</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ETYPE_ELEMENT__HB_ID_BAG = eINSTANCE.getHbAnnotatedETypeElement_HbIdBag(); + + /** + * The meta object literal for the '<em><b>Hb Index</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ETYPE_ELEMENT__HB_INDEX = eINSTANCE.getHbAnnotatedETypeElement_HbIndex(); + + /** + * The meta object literal for the '<em><b>Filter</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ETYPE_ELEMENT__FILTER = eINSTANCE.getHbAnnotatedETypeElement_Filter(); + + /** + * The meta object literal for the '<em><b>Map Key Many To Many</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ETYPE_ELEMENT__MAP_KEY_MANY_TO_MANY = eINSTANCE.getHbAnnotatedETypeElement_MapKeyManyToMany(); + + /** + * The meta object literal for the '<em><b>Formula</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ETYPE_ELEMENT__FORMULA = eINSTANCE.getHbAnnotatedETypeElement_Formula(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl <em>Hb Annotated EAttribute</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedEAttribute() + * @generated + */ + EClass HB_ANNOTATED_EATTRIBUTE = eINSTANCE.getHbAnnotatedEAttribute(); + + /** + * The meta object literal for the '<em><b>Hb Type</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EATTRIBUTE__HB_TYPE = eINSTANCE.getHbAnnotatedEAttribute_HbType(); + + /** + * The meta object literal for the '<em><b>Generated</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EATTRIBUTE__GENERATED = eINSTANCE.getHbAnnotatedEAttribute_Generated(); + + /** + * The meta object literal for the '<em><b>Natural Id</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EATTRIBUTE__NATURAL_ID = eINSTANCE.getHbAnnotatedEAttribute_NaturalId(); + + /** + * The meta object literal for the '<em><b>Any</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EATTRIBUTE__ANY = eINSTANCE.getHbAnnotatedEAttribute_Any(); + + /** + * The meta object literal for the '<em><b>Any Meta Def</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EATTRIBUTE__ANY_META_DEF = eINSTANCE.getHbAnnotatedEAttribute_AnyMetaDef(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl <em>Hb Annotated EClass</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedEClass() + * @generated + */ + EClass HB_ANNOTATED_ECLASS = eINSTANCE.getHbAnnotatedEClass(); + + /** + * The meta object literal for the '<em><b>Hb Cache</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ECLASS__HB_CACHE = eINSTANCE.getHbAnnotatedEClass_HbCache(); + + /** + * The meta object literal for the '<em><b>Hb On Delete</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ECLASS__HB_ON_DELETE = eINSTANCE.getHbAnnotatedEClass_HbOnDelete(); + + /** + * The meta object literal for the '<em><b>Hb Where</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ECLASS__HB_WHERE = eINSTANCE.getHbAnnotatedEClass_HbWhere(); + + /** + * The meta object literal for the '<em><b>Hb Proxy</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ECLASS__HB_PROXY = eINSTANCE.getHbAnnotatedEClass_HbProxy(); + + /** + * The meta object literal for the '<em><b>Hb Named Query</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ECLASS__HB_NAMED_QUERY = eINSTANCE.getHbAnnotatedEClass_HbNamedQuery(); + + /** + * The meta object literal for the '<em><b>Filter Def</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ECLASS__FILTER_DEF = eINSTANCE.getHbAnnotatedEClass_FilterDef(); + + /** + * The meta object literal for the '<em><b>Filter</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ECLASS__FILTER = eINSTANCE.getHbAnnotatedEClass_Filter(); + + /** + * The meta object literal for the '<em><b>Discriminator Formula</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ECLASS__DISCRIMINATOR_FORMULA = eINSTANCE.getHbAnnotatedEClass_DiscriminatorFormula(); + + /** + * The meta object literal for the '<em><b>Force Discriminator</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ECLASS__FORCE_DISCRIMINATOR = eINSTANCE.getHbAnnotatedEClass_ForceDiscriminator(); + + /** + * The meta object literal for the '<em><b>Immutable</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ECLASS__IMMUTABLE = eINSTANCE.getHbAnnotatedEClass_Immutable(); + + /** + * The meta object literal for the '<em><b>Hb Entity</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ECLASS__HB_ENTITY = eINSTANCE.getHbAnnotatedEClass_HbEntity(); + + /** + * The meta object literal for the '<em><b>Batch Size</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_ECLASS__BATCH_SIZE = eINSTANCE.getHbAnnotatedEClass_BatchSize(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEModelElement <em>Hb Annotated EModel Element</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEModelElement + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedEModelElement() + * @generated + */ + EClass HB_ANNOTATED_EMODEL_ELEMENT = eINSTANCE.getHbAnnotatedEModelElement(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEPackageImpl <em>Hb Annotated EPackage</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEPackageImpl + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedEPackage() + * @generated + */ + EClass HB_ANNOTATED_EPACKAGE = eINSTANCE.getHbAnnotatedEPackage(); + + /** + * The meta object literal for the '<em><b>Hb Generic Generators</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EPACKAGE__HB_GENERIC_GENERATORS = eINSTANCE.getHbAnnotatedEPackage_HbGenericGenerators(); + + /** + * The meta object literal for the '<em><b>Hb Type Def</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EPACKAGE__HB_TYPE_DEF = eINSTANCE.getHbAnnotatedEPackage_HbTypeDef(); + + /** + * The meta object literal for the '<em><b>Hb Named Query</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EPACKAGE__HB_NAMED_QUERY = eINSTANCE.getHbAnnotatedEPackage_HbNamedQuery(); + + /** + * The meta object literal for the '<em><b>Filter Def</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EPACKAGE__FILTER_DEF = eINSTANCE.getHbAnnotatedEPackage_FilterDef(); + + /** + * The meta object literal for the '<em><b>Any Meta Def</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EPACKAGE__ANY_META_DEF = eINSTANCE.getHbAnnotatedEPackage_AnyMetaDef(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl <em>Hb Annotated EReference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedEReference() + * @generated + */ + EClass HB_ANNOTATED_EREFERENCE = eINSTANCE.getHbAnnotatedEReference(); + + /** + * The meta object literal for the '<em><b>Hb Cache</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EREFERENCE__HB_CACHE = eINSTANCE.getHbAnnotatedEReference_HbCache(); + + /** + * The meta object literal for the '<em><b>Hb Fetch</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EREFERENCE__HB_FETCH = eINSTANCE.getHbAnnotatedEReference_HbFetch(); + + /** + * The meta object literal for the '<em><b>Hb On Delete</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EREFERENCE__HB_ON_DELETE = eINSTANCE.getHbAnnotatedEReference_HbOnDelete(); + + /** + * The meta object literal for the '<em><b>Natural Id</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EREFERENCE__NATURAL_ID = eINSTANCE.getHbAnnotatedEReference_NaturalId(); + + /** + * The meta object literal for the '<em><b>Immutable</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EREFERENCE__IMMUTABLE = eINSTANCE.getHbAnnotatedEReference_Immutable(); + + /** + * The meta object literal for the '<em><b>Not Found</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EREFERENCE__NOT_FOUND = eINSTANCE.getHbAnnotatedEReference_NotFound(); + + /** + * The meta object literal for the '<em><b>Hb Type</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EREFERENCE__HB_TYPE = eINSTANCE.getHbAnnotatedEReference_HbType(); + + /** + * The meta object literal for the '<em><b>Batch Size</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EREFERENCE__BATCH_SIZE = eINSTANCE.getHbAnnotatedEReference_BatchSize(); + + /** + * The meta object literal for the '<em><b>Any</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EREFERENCE__ANY = eINSTANCE.getHbAnnotatedEReference_Any(); + + /** + * The meta object literal for the '<em><b>Any Meta Def</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EREFERENCE__ANY_META_DEF = eINSTANCE.getHbAnnotatedEReference_AnyMetaDef(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl <em>Hb Annotated EData Type</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl + * @see org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbmodelPackageImpl#getHbAnnotatedEDataType() + * @generated + */ + EClass HB_ANNOTATED_EDATA_TYPE = eINSTANCE.getHbAnnotatedEDataType(); + + /** + * The meta object literal for the '<em><b>Hb Type Def</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF = eINSTANCE.getHbAnnotatedEDataType_HbTypeDef(); + + /** + * The meta object literal for the '<em><b>Hb Where</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EDATA_TYPE__HB_WHERE = eINSTANCE.getHbAnnotatedEDataType_HbWhere(); + + /** + * The meta object literal for the '<em><b>Hb Columns</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS = eINSTANCE.getHbAnnotatedEDataType_HbColumns(); + + /** + * The meta object literal for the '<em><b>Hb Id Bag</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG = eINSTANCE.getHbAnnotatedEDataType_HbIdBag(); + + /** + * The meta object literal for the '<em><b>Hb Index</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EDATA_TYPE__HB_INDEX = eINSTANCE.getHbAnnotatedEDataType_HbIndex(); + + /** + * The meta object literal for the '<em><b>Hb Type</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference HB_ANNOTATED_EDATA_TYPE__HB_TYPE = eINSTANCE.getHbAnnotatedEDataType_HbType(); + + } + +} //HbmodelPackage diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEAttributeImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEAttributeImpl.java new file mode 100755 index 000000000..4216139a0 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEAttributeImpl.java @@ -0,0 +1,1070 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEAttributeImpl.java,v 1.14 2010/02/04 11:03:44 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEAttributeImpl; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.hibernate.hbannotation.Any; +import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade; +import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.Formula; +import org.eclipse.emf.teneo.hibernate.hbannotation.Generated; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany; +import org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEModelElement; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage; + +/** + * <!-- begin-user-doc --> An implementation of the model object '<em><b>Hb Annotated EAttribute</b></em>'. <!-- + * end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getHbWhere <em>Hb Where</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getHbCollectionOfElements <em>Hb Collection Of Elements</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getHbMapKey <em>Hb Map Key</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getHbColumns <em>Hb Columns</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getHbCascade <em>Hb Cascade</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getHbIdBag <em>Hb Id Bag</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getHbIndex <em>Hb Index</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getFilter <em>Filter</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getMapKeyManyToMany <em>Map Key Many To Many</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getFormula <em>Formula</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getHbType <em>Hb Type</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getGenerated <em>Generated</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getNaturalId <em>Natural Id</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getAny <em>Any</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEAttributeImpl#getAnyMetaDef <em>Any Meta Def</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class HbAnnotatedEAttributeImpl extends PAnnotatedEAttributeImpl implements HbAnnotatedEAttribute { + /** + * The cached value of the '{@link #getHbWhere() <em>Hb Where</em>}' containment reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @see #getHbWhere() + * @generated + * @ordered + */ + protected Where hbWhere; + + /** + * The cached value of the '{@link #getHbCollectionOfElements() <em>Hb Collection Of Elements</em>}' containment reference. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see #getHbCollectionOfElements() + * @generated + * @ordered + */ + protected CollectionOfElements hbCollectionOfElements; + + /** + * The cached value of the '{@link #getHbMapKey() <em>Hb Map Key</em>}' containment reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @see #getHbMapKey() + * @generated + * @ordered + */ + protected HbMapKey hbMapKey; + + /** + * The cached value of the '{@link #getHbColumns() <em>Hb Columns</em>}' containment reference list. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @see #getHbColumns() + * @generated + * @ordered + */ + protected EList<Column> hbColumns; + + /** + * The cached value of the '{@link #getHbCascade() <em>Hb Cascade</em>}' containment reference. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @see #getHbCascade() + * @generated + * @ordered + */ + protected Cascade hbCascade; + + /** + * The cached value of the '{@link #getHbIdBag() <em>Hb Id Bag</em>}' containment reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @see #getHbIdBag() + * @generated + * @ordered + */ + protected IdBag hbIdBag; + + /** + * The cached value of the '{@link #getHbIndex() <em>Hb Index</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbIndex() + * @generated + * @ordered + */ + protected Index hbIndex; + + /** + * The cached value of the '{@link #getFilter() <em>Filter</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFilter() + * @generated + * @ordered + */ + protected EList<Filter> filter; + + /** + * The cached value of the '{@link #getMapKeyManyToMany() <em>Map Key Many To Many</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyManyToMany() + * @generated + * @ordered + */ + protected MapKeyManyToMany mapKeyManyToMany; + + /** + * The cached value of the '{@link #getFormula() <em>Formula</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFormula() + * @generated + * @ordered + */ + protected Formula formula; + + /** + * The cached value of the '{@link #getHbType() <em>Hb Type</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbType() + * @generated + * @ordered + */ + protected Type hbType; + + /** + * The cached value of the '{@link #getGenerated() <em>Generated</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGenerated() + * @generated + * @ordered + */ + protected Generated generated; + + /** + * The cached value of the '{@link #getNaturalId() <em>Natural Id</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNaturalId() + * @generated + * @ordered + */ + protected NaturalId naturalId; + + /** + * The cached value of the '{@link #getAny() <em>Any</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAny() + * @generated + * @ordered + */ + protected Any any; + + /** + * The cached value of the '{@link #getAnyMetaDef() <em>Any Meta Def</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAnyMetaDef() + * @generated + * @ordered + */ + protected AnyMetaDef anyMetaDef; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + protected HbAnnotatedEAttributeImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbmodelPackage.Literals.HB_ANNOTATED_EATTRIBUTE; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Where getHbWhere() { + return hbWhere; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbWhere(Where newHbWhere, NotificationChain msgs) { + Where oldHbWhere = hbWhere; + hbWhere = newHbWhere; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_WHERE, oldHbWhere, newHbWhere); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void setHbWhere(Where newHbWhere) { + if (newHbWhere != hbWhere) { + NotificationChain msgs = null; + if (hbWhere != null) + msgs = ((InternalEObject)hbWhere).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_WHERE, null, msgs); + if (newHbWhere != null) + msgs = ((InternalEObject)newHbWhere).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_WHERE, null, msgs); + msgs = basicSetHbWhere(newHbWhere, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_WHERE, newHbWhere, newHbWhere)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public CollectionOfElements getHbCollectionOfElements() { + return hbCollectionOfElements; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbCollectionOfElements(CollectionOfElements newHbCollectionOfElements, NotificationChain msgs) { + CollectionOfElements oldHbCollectionOfElements = hbCollectionOfElements; + hbCollectionOfElements = newHbCollectionOfElements; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLLECTION_OF_ELEMENTS, oldHbCollectionOfElements, newHbCollectionOfElements); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void setHbCollectionOfElements(CollectionOfElements newHbCollectionOfElements) { + if (newHbCollectionOfElements != hbCollectionOfElements) { + NotificationChain msgs = null; + if (hbCollectionOfElements != null) + msgs = ((InternalEObject)hbCollectionOfElements).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLLECTION_OF_ELEMENTS, null, msgs); + if (newHbCollectionOfElements != null) + msgs = ((InternalEObject)newHbCollectionOfElements).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLLECTION_OF_ELEMENTS, null, msgs); + msgs = basicSetHbCollectionOfElements(newHbCollectionOfElements, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLLECTION_OF_ELEMENTS, newHbCollectionOfElements, newHbCollectionOfElements)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public HbMapKey getHbMapKey() { + return hbMapKey; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbMapKey(HbMapKey newHbMapKey, NotificationChain msgs) { + HbMapKey oldHbMapKey = hbMapKey; + hbMapKey = newHbMapKey; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_MAP_KEY, oldHbMapKey, newHbMapKey); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbMapKey(HbMapKey newHbMapKey) { + if (newHbMapKey != hbMapKey) { + NotificationChain msgs = null; + if (hbMapKey != null) + msgs = ((InternalEObject)hbMapKey).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_MAP_KEY, null, msgs); + if (newHbMapKey != null) + msgs = ((InternalEObject)newHbMapKey).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_MAP_KEY, null, msgs); + msgs = basicSetHbMapKey(newHbMapKey, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_MAP_KEY, newHbMapKey, newHbMapKey)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EList<Column> getHbColumns() { + if (hbColumns == null) { + hbColumns = new EObjectContainmentEList<Column>(Column.class, this, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLUMNS); + } + return hbColumns; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Cascade getHbCascade() { + return hbCascade; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbCascade(Cascade newHbCascade, NotificationChain msgs) { + Cascade oldHbCascade = hbCascade; + hbCascade = newHbCascade; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_CASCADE, oldHbCascade, newHbCascade); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void setHbCascade(Cascade newHbCascade) { + if (newHbCascade != hbCascade) { + NotificationChain msgs = null; + if (hbCascade != null) + msgs = ((InternalEObject)hbCascade).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_CASCADE, null, msgs); + if (newHbCascade != null) + msgs = ((InternalEObject)newHbCascade).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_CASCADE, null, msgs); + msgs = basicSetHbCascade(newHbCascade, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_CASCADE, newHbCascade, newHbCascade)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public IdBag getHbIdBag() { + return hbIdBag; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbIdBag(IdBag newHbIdBag, NotificationChain msgs) { + IdBag oldHbIdBag = hbIdBag; + hbIdBag = newHbIdBag; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_ID_BAG, oldHbIdBag, newHbIdBag); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void setHbIdBag(IdBag newHbIdBag) { + if (newHbIdBag != hbIdBag) { + NotificationChain msgs = null; + if (hbIdBag != null) + msgs = ((InternalEObject)hbIdBag).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_ID_BAG, null, msgs); + if (newHbIdBag != null) + msgs = ((InternalEObject)newHbIdBag).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_ID_BAG, null, msgs); + msgs = basicSetHbIdBag(newHbIdBag, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_ID_BAG, newHbIdBag, newHbIdBag)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Index getHbIndex() { + if (hbIndex != null && hbIndex.eIsProxy()) { + InternalEObject oldHbIndex = (InternalEObject)hbIndex; + hbIndex = (Index)eResolveProxy(oldHbIndex); + if (hbIndex != oldHbIndex) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_INDEX, oldHbIndex, hbIndex)); + } + } + return hbIndex; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Index basicGetHbIndex() { + return hbIndex; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbIndex(Index newHbIndex) { + Index oldHbIndex = hbIndex; + hbIndex = newHbIndex; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_INDEX, oldHbIndex, hbIndex)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Filter> getFilter() { + if (filter == null) { + filter = new EObjectResolvingEList<Filter>(Filter.class, this, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FILTER); + } + return filter; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MapKeyManyToMany getMapKeyManyToMany() { + return mapKeyManyToMany; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetMapKeyManyToMany(MapKeyManyToMany newMapKeyManyToMany, NotificationChain msgs) { + MapKeyManyToMany oldMapKeyManyToMany = mapKeyManyToMany; + mapKeyManyToMany = newMapKeyManyToMany; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__MAP_KEY_MANY_TO_MANY, oldMapKeyManyToMany, newMapKeyManyToMany); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setMapKeyManyToMany(MapKeyManyToMany newMapKeyManyToMany) { + if (newMapKeyManyToMany != mapKeyManyToMany) { + NotificationChain msgs = null; + if (mapKeyManyToMany != null) + msgs = ((InternalEObject)mapKeyManyToMany).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__MAP_KEY_MANY_TO_MANY, null, msgs); + if (newMapKeyManyToMany != null) + msgs = ((InternalEObject)newMapKeyManyToMany).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__MAP_KEY_MANY_TO_MANY, null, msgs); + msgs = basicSetMapKeyManyToMany(newMapKeyManyToMany, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__MAP_KEY_MANY_TO_MANY, newMapKeyManyToMany, newMapKeyManyToMany)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Formula getFormula() { + if (formula != null && formula.eIsProxy()) { + InternalEObject oldFormula = (InternalEObject)formula; + formula = (Formula)eResolveProxy(oldFormula); + if (formula != oldFormula) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FORMULA, oldFormula, formula)); + } + } + return formula; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Formula basicGetFormula() { + return formula; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setFormula(Formula newFormula) { + Formula oldFormula = formula; + formula = newFormula; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FORMULA, oldFormula, formula)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Type getHbType() { + return hbType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbType(Type newHbType, NotificationChain msgs) { + Type oldHbType = hbType; + hbType = newHbType; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_TYPE, oldHbType, newHbType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void setHbType(Type newHbType) { + if (newHbType != hbType) { + NotificationChain msgs = null; + if (hbType != null) + msgs = ((InternalEObject)hbType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_TYPE, null, msgs); + if (newHbType != null) + msgs = ((InternalEObject)newHbType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_TYPE, null, msgs); + msgs = basicSetHbType(newHbType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_TYPE, newHbType, newHbType)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Generated getGenerated() { + return generated; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetGenerated(Generated newGenerated, NotificationChain msgs) { + Generated oldGenerated = generated; + generated = newGenerated; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__GENERATED, oldGenerated, newGenerated); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setGenerated(Generated newGenerated) { + if (newGenerated != generated) { + NotificationChain msgs = null; + if (generated != null) + msgs = ((InternalEObject)generated).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__GENERATED, null, msgs); + if (newGenerated != null) + msgs = ((InternalEObject)newGenerated).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__GENERATED, null, msgs); + msgs = basicSetGenerated(newGenerated, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__GENERATED, newGenerated, newGenerated)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NaturalId getNaturalId() { + return naturalId; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNaturalId(NaturalId newNaturalId, NotificationChain msgs) { + NaturalId oldNaturalId = naturalId; + naturalId = newNaturalId; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__NATURAL_ID, oldNaturalId, newNaturalId); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setNaturalId(NaturalId newNaturalId) { + if (newNaturalId != naturalId) { + NotificationChain msgs = null; + if (naturalId != null) + msgs = ((InternalEObject)naturalId).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__NATURAL_ID, null, msgs); + if (newNaturalId != null) + msgs = ((InternalEObject)newNaturalId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__NATURAL_ID, null, msgs); + msgs = basicSetNaturalId(newNaturalId, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__NATURAL_ID, newNaturalId, newNaturalId)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Any getAny() { + if (any != null && any.eIsProxy()) { + InternalEObject oldAny = (InternalEObject)any; + any = (Any)eResolveProxy(oldAny); + if (any != oldAny) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__ANY, oldAny, any)); + } + } + return any; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Any basicGetAny() { + return any; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setAny(Any newAny) { + Any oldAny = any; + any = newAny; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__ANY, oldAny, any)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AnyMetaDef getAnyMetaDef() { + if (anyMetaDef != null && anyMetaDef.eIsProxy()) { + InternalEObject oldAnyMetaDef = (InternalEObject)anyMetaDef; + anyMetaDef = (AnyMetaDef)eResolveProxy(oldAnyMetaDef); + if (anyMetaDef != oldAnyMetaDef) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__ANY_META_DEF, oldAnyMetaDef, anyMetaDef)); + } + } + return anyMetaDef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AnyMetaDef basicGetAnyMetaDef() { + return anyMetaDef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setAnyMetaDef(AnyMetaDef newAnyMetaDef) { + AnyMetaDef oldAnyMetaDef = anyMetaDef; + anyMetaDef = newAnyMetaDef; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__ANY_META_DEF, oldAnyMetaDef, anyMetaDef)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_WHERE: + return basicSetHbWhere(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLLECTION_OF_ELEMENTS: + return basicSetHbCollectionOfElements(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_MAP_KEY: + return basicSetHbMapKey(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLUMNS: + return ((InternalEList<?>)getHbColumns()).basicRemove(otherEnd, msgs); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_CASCADE: + return basicSetHbCascade(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_ID_BAG: + return basicSetHbIdBag(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__MAP_KEY_MANY_TO_MANY: + return basicSetMapKeyManyToMany(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_TYPE: + return basicSetHbType(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__GENERATED: + return basicSetGenerated(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__NATURAL_ID: + return basicSetNaturalId(null, 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 HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_WHERE: + return getHbWhere(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLLECTION_OF_ELEMENTS: + return getHbCollectionOfElements(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_MAP_KEY: + return getHbMapKey(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLUMNS: + return getHbColumns(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_CASCADE: + return getHbCascade(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_ID_BAG: + return getHbIdBag(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_INDEX: + if (resolve) return getHbIndex(); + return basicGetHbIndex(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FILTER: + return getFilter(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__MAP_KEY_MANY_TO_MANY: + return getMapKeyManyToMany(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FORMULA: + if (resolve) return getFormula(); + return basicGetFormula(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_TYPE: + return getHbType(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__GENERATED: + return getGenerated(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__NATURAL_ID: + return getNaturalId(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__ANY: + if (resolve) return getAny(); + return basicGetAny(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__ANY_META_DEF: + if (resolve) return getAnyMetaDef(); + return basicGetAnyMetaDef(); + } + 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 HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_WHERE: + setHbWhere((Where)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLLECTION_OF_ELEMENTS: + setHbCollectionOfElements((CollectionOfElements)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_MAP_KEY: + setHbMapKey((HbMapKey)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLUMNS: + getHbColumns().clear(); + getHbColumns().addAll((Collection<? extends Column>)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_CASCADE: + setHbCascade((Cascade)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_ID_BAG: + setHbIdBag((IdBag)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_INDEX: + setHbIndex((Index)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FILTER: + getFilter().clear(); + getFilter().addAll((Collection<? extends Filter>)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__MAP_KEY_MANY_TO_MANY: + setMapKeyManyToMany((MapKeyManyToMany)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FORMULA: + setFormula((Formula)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_TYPE: + setHbType((Type)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__GENERATED: + setGenerated((Generated)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__NATURAL_ID: + setNaturalId((NaturalId)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__ANY: + setAny((Any)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__ANY_META_DEF: + setAnyMetaDef((AnyMetaDef)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_WHERE: + setHbWhere((Where)null); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLLECTION_OF_ELEMENTS: + setHbCollectionOfElements((CollectionOfElements)null); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_MAP_KEY: + setHbMapKey((HbMapKey)null); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLUMNS: + getHbColumns().clear(); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_CASCADE: + setHbCascade((Cascade)null); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_ID_BAG: + setHbIdBag((IdBag)null); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_INDEX: + setHbIndex((Index)null); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FILTER: + getFilter().clear(); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__MAP_KEY_MANY_TO_MANY: + setMapKeyManyToMany((MapKeyManyToMany)null); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FORMULA: + setFormula((Formula)null); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_TYPE: + setHbType((Type)null); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__GENERATED: + setGenerated((Generated)null); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__NATURAL_ID: + setNaturalId((NaturalId)null); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__ANY: + setAny((Any)null); + return; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__ANY_META_DEF: + setAnyMetaDef((AnyMetaDef)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_WHERE: + return hbWhere != null; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLLECTION_OF_ELEMENTS: + return hbCollectionOfElements != null; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_MAP_KEY: + return hbMapKey != null; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLUMNS: + return hbColumns != null && !hbColumns.isEmpty(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_CASCADE: + return hbCascade != null; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_ID_BAG: + return hbIdBag != null; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_INDEX: + return hbIndex != null; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FILTER: + return filter != null && !filter.isEmpty(); + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__MAP_KEY_MANY_TO_MANY: + return mapKeyManyToMany != null; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FORMULA: + return formula != null; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_TYPE: + return hbType != null; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__GENERATED: + return generated != null; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__NATURAL_ID: + return naturalId != null; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__ANY: + return any != null; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__ANY_META_DEF: + return anyMetaDef != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) { + if (baseClass == HbAnnotatedEModelElement.class) { + switch (derivedFeatureID) { + default: return -1; + } + } + if (baseClass == HbAnnotatedETypeElement.class) { + switch (derivedFeatureID) { + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_WHERE: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_WHERE; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLLECTION_OF_ELEMENTS: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_COLLECTION_OF_ELEMENTS; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_MAP_KEY: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_MAP_KEY; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLUMNS: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_COLUMNS; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_CASCADE: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_CASCADE; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_ID_BAG: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_ID_BAG; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_INDEX: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_INDEX; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FILTER: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__FILTER; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__MAP_KEY_MANY_TO_MANY: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__MAP_KEY_MANY_TO_MANY; + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FORMULA: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__FORMULA; + default: return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) { + if (baseClass == HbAnnotatedEModelElement.class) { + switch (baseFeatureID) { + default: return -1; + } + } + if (baseClass == HbAnnotatedETypeElement.class) { + switch (baseFeatureID) { + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_WHERE: return HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_WHERE; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_COLLECTION_OF_ELEMENTS: return HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLLECTION_OF_ELEMENTS; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_MAP_KEY: return HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_MAP_KEY; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_COLUMNS: return HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_COLUMNS; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_CASCADE: return HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_CASCADE; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_ID_BAG: return HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_ID_BAG; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_INDEX: return HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__HB_INDEX; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__FILTER: return HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FILTER; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__MAP_KEY_MANY_TO_MANY: return HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__MAP_KEY_MANY_TO_MANY; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__FORMULA: return HbmodelPackage.HB_ANNOTATED_EATTRIBUTE__FORMULA; + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + +} // HbAnnotatedEAttributeImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEClassImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEClassImpl.java new file mode 100755 index 000000000..7ed3ce056 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEClassImpl.java @@ -0,0 +1,788 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEClassImpl.java,v 1.17 2010/02/04 11:03:43 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.ForceDiscriminator; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity; +import org.eclipse.emf.teneo.hibernate.hbannotation.Immutable; +import org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete; +import org.eclipse.emf.teneo.hibernate.hbannotation.Proxy; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage; + +/** + * <!-- begin-user-doc --> An implementation of the model object '<em><b>Hb Annotated EClass</b></em>'. <!-- + * end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl#getHbCache <em>Hb Cache</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl#getHbOnDelete <em>Hb On Delete</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl#getHbWhere <em>Hb Where</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl#getHbProxy <em>Hb Proxy</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl#getHbNamedQuery <em>Hb Named Query</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl#getFilterDef <em>Filter Def</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl#getFilter <em>Filter</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl#getDiscriminatorFormula <em>Discriminator Formula</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl#getForceDiscriminator <em>Force Discriminator</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl#getImmutable <em>Immutable</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl#getHbEntity <em>Hb Entity</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEClassImpl#getBatchSize <em>Batch Size</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class HbAnnotatedEClassImpl extends PAnnotatedEClassImpl implements HbAnnotatedEClass { + /** + * The cached value of the '{@link #getHbCache() <em>Hb Cache</em>}' containment reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @see #getHbCache() + * @generated + * @ordered + */ + protected Cache hbCache; + + /** + * The cached value of the '{@link #getHbOnDelete() <em>Hb On Delete</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbOnDelete() + * @generated + * @ordered + */ + protected OnDelete hbOnDelete; + + /** + * The cached value of the '{@link #getHbWhere() <em>Hb Where</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbWhere() + * @generated + * @ordered + */ + protected Where hbWhere; + + /** + * The cached value of the '{@link #getHbProxy() <em>Hb Proxy</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbProxy() + * @generated + * @ordered + */ + protected Proxy hbProxy; + + /** + * The cached value of the '{@link #getHbNamedQuery() <em>Hb Named Query</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbNamedQuery() + * @generated + * @ordered + */ + protected EList<NamedQuery> hbNamedQuery; + + /** + * The cached value of the '{@link #getFilterDef() <em>Filter Def</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFilterDef() + * @generated + * @ordered + */ + protected EList<FilterDef> filterDef; + + /** + * The cached value of the '{@link #getFilter() <em>Filter</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFilter() + * @generated + * @ordered + */ + protected EList<Filter> filter; + + /** + * The cached value of the '{@link #getDiscriminatorFormula() <em>Discriminator Formula</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDiscriminatorFormula() + * @generated + * @ordered + */ + protected DiscriminatorFormula discriminatorFormula; + + /** + * The cached value of the '{@link #getForceDiscriminator() <em>Force Discriminator</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getForceDiscriminator() + * @generated + * @ordered + */ + protected ForceDiscriminator forceDiscriminator; + + /** + * The cached value of the '{@link #getImmutable() <em>Immutable</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getImmutable() + * @generated + * @ordered + */ + protected Immutable immutable; + + /** + * The cached value of the '{@link #getHbEntity() <em>Hb Entity</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbEntity() + * @generated + * @ordered + */ + protected HbEntity hbEntity; + + /** + * The cached value of the '{@link #getBatchSize() <em>Batch Size</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getBatchSize() + * @generated + * @ordered + */ + protected BatchSize batchSize; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + protected HbAnnotatedEClassImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbmodelPackage.Literals.HB_ANNOTATED_ECLASS; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Cache getHbCache() { + return hbCache; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbCache(Cache newHbCache, NotificationChain msgs) { + Cache oldHbCache = hbCache; + hbCache = newHbCache; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__HB_CACHE, oldHbCache, newHbCache); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void setHbCache(Cache newHbCache) { + if (newHbCache != hbCache) { + NotificationChain msgs = null; + if (hbCache != null) + msgs = ((InternalEObject)hbCache).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_ECLASS__HB_CACHE, null, msgs); + if (newHbCache != null) + msgs = ((InternalEObject)newHbCache).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_ECLASS__HB_CACHE, null, msgs); + msgs = basicSetHbCache(newHbCache, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__HB_CACHE, newHbCache, newHbCache)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OnDelete getHbOnDelete() { + if (hbOnDelete != null && hbOnDelete.eIsProxy()) { + InternalEObject oldHbOnDelete = (InternalEObject)hbOnDelete; + hbOnDelete = (OnDelete)eResolveProxy(oldHbOnDelete); + if (hbOnDelete != oldHbOnDelete) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_ECLASS__HB_ON_DELETE, oldHbOnDelete, hbOnDelete)); + } + } + return hbOnDelete; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OnDelete basicGetHbOnDelete() { + return hbOnDelete; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbOnDelete(OnDelete newHbOnDelete) { + OnDelete oldHbOnDelete = hbOnDelete; + hbOnDelete = newHbOnDelete; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__HB_ON_DELETE, oldHbOnDelete, hbOnDelete)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Where getHbWhere() { + return hbWhere; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbWhere(Where newHbWhere, NotificationChain msgs) { + Where oldHbWhere = hbWhere; + hbWhere = newHbWhere; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__HB_WHERE, oldHbWhere, newHbWhere); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbWhere(Where newHbWhere) { + if (newHbWhere != hbWhere) { + NotificationChain msgs = null; + if (hbWhere != null) + msgs = ((InternalEObject)hbWhere).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_ECLASS__HB_WHERE, null, msgs); + if (newHbWhere != null) + msgs = ((InternalEObject)newHbWhere).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_ECLASS__HB_WHERE, null, msgs); + msgs = basicSetHbWhere(newHbWhere, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__HB_WHERE, newHbWhere, newHbWhere)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Proxy getHbProxy() { + if (hbProxy != null && hbProxy.eIsProxy()) { + InternalEObject oldHbProxy = (InternalEObject)hbProxy; + hbProxy = (Proxy)eResolveProxy(oldHbProxy); + if (hbProxy != oldHbProxy) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_ECLASS__HB_PROXY, oldHbProxy, hbProxy)); + } + } + return hbProxy; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Proxy basicGetHbProxy() { + return hbProxy; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbProxy(Proxy newHbProxy) { + Proxy oldHbProxy = hbProxy; + hbProxy = newHbProxy; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__HB_PROXY, oldHbProxy, hbProxy)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<NamedQuery> getHbNamedQuery() { + if (hbNamedQuery == null) { + hbNamedQuery = new EObjectResolvingEList<NamedQuery>(NamedQuery.class, this, HbmodelPackage.HB_ANNOTATED_ECLASS__HB_NAMED_QUERY); + } + return hbNamedQuery; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<FilterDef> getFilterDef() { + if (filterDef == null) { + filterDef = new EObjectResolvingEList<FilterDef>(FilterDef.class, this, HbmodelPackage.HB_ANNOTATED_ECLASS__FILTER_DEF); + } + return filterDef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Filter> getFilter() { + if (filter == null) { + filter = new EObjectResolvingEList<Filter>(Filter.class, this, HbmodelPackage.HB_ANNOTATED_ECLASS__FILTER); + } + return filter; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DiscriminatorFormula getDiscriminatorFormula() { + return discriminatorFormula; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetDiscriminatorFormula(DiscriminatorFormula newDiscriminatorFormula, NotificationChain msgs) { + DiscriminatorFormula oldDiscriminatorFormula = discriminatorFormula; + discriminatorFormula = newDiscriminatorFormula; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__DISCRIMINATOR_FORMULA, oldDiscriminatorFormula, newDiscriminatorFormula); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setDiscriminatorFormula(DiscriminatorFormula newDiscriminatorFormula) { + if (newDiscriminatorFormula != discriminatorFormula) { + NotificationChain msgs = null; + if (discriminatorFormula != null) + msgs = ((InternalEObject)discriminatorFormula).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_ECLASS__DISCRIMINATOR_FORMULA, null, msgs); + if (newDiscriminatorFormula != null) + msgs = ((InternalEObject)newDiscriminatorFormula).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_ECLASS__DISCRIMINATOR_FORMULA, null, msgs); + msgs = basicSetDiscriminatorFormula(newDiscriminatorFormula, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__DISCRIMINATOR_FORMULA, newDiscriminatorFormula, newDiscriminatorFormula)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ForceDiscriminator getForceDiscriminator() { + return forceDiscriminator; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetForceDiscriminator(ForceDiscriminator newForceDiscriminator, NotificationChain msgs) { + ForceDiscriminator oldForceDiscriminator = forceDiscriminator; + forceDiscriminator = newForceDiscriminator; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__FORCE_DISCRIMINATOR, oldForceDiscriminator, newForceDiscriminator); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setForceDiscriminator(ForceDiscriminator newForceDiscriminator) { + if (newForceDiscriminator != forceDiscriminator) { + NotificationChain msgs = null; + if (forceDiscriminator != null) + msgs = ((InternalEObject)forceDiscriminator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_ECLASS__FORCE_DISCRIMINATOR, null, msgs); + if (newForceDiscriminator != null) + msgs = ((InternalEObject)newForceDiscriminator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_ECLASS__FORCE_DISCRIMINATOR, null, msgs); + msgs = basicSetForceDiscriminator(newForceDiscriminator, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__FORCE_DISCRIMINATOR, newForceDiscriminator, newForceDiscriminator)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Immutable getImmutable() { + return immutable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetImmutable(Immutable newImmutable, NotificationChain msgs) { + Immutable oldImmutable = immutable; + immutable = newImmutable; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__IMMUTABLE, oldImmutable, newImmutable); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setImmutable(Immutable newImmutable) { + if (newImmutable != immutable) { + NotificationChain msgs = null; + if (immutable != null) + msgs = ((InternalEObject)immutable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_ECLASS__IMMUTABLE, null, msgs); + if (newImmutable != null) + msgs = ((InternalEObject)newImmutable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_ECLASS__IMMUTABLE, null, msgs); + msgs = basicSetImmutable(newImmutable, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__IMMUTABLE, newImmutable, newImmutable)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbEntity getHbEntity() { + if (hbEntity != null && hbEntity.eIsProxy()) { + InternalEObject oldHbEntity = (InternalEObject)hbEntity; + hbEntity = (HbEntity)eResolveProxy(oldHbEntity); + if (hbEntity != oldHbEntity) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_ECLASS__HB_ENTITY, oldHbEntity, hbEntity)); + } + } + return hbEntity; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbEntity basicGetHbEntity() { + return hbEntity; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbEntity(HbEntity newHbEntity) { + HbEntity oldHbEntity = hbEntity; + hbEntity = newHbEntity; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__HB_ENTITY, oldHbEntity, hbEntity)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BatchSize getBatchSize() { + if (batchSize != null && batchSize.eIsProxy()) { + InternalEObject oldBatchSize = (InternalEObject)batchSize; + batchSize = (BatchSize)eResolveProxy(oldBatchSize); + if (batchSize != oldBatchSize) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_ECLASS__BATCH_SIZE, oldBatchSize, batchSize)); + } + } + return batchSize; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BatchSize basicGetBatchSize() { + return batchSize; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setBatchSize(BatchSize newBatchSize) { + BatchSize oldBatchSize = batchSize; + batchSize = newBatchSize; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_ECLASS__BATCH_SIZE, oldBatchSize, batchSize)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_CACHE: + return basicSetHbCache(null, msgs); + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_WHERE: + return basicSetHbWhere(null, msgs); + case HbmodelPackage.HB_ANNOTATED_ECLASS__DISCRIMINATOR_FORMULA: + return basicSetDiscriminatorFormula(null, msgs); + case HbmodelPackage.HB_ANNOTATED_ECLASS__FORCE_DISCRIMINATOR: + return basicSetForceDiscriminator(null, msgs); + case HbmodelPackage.HB_ANNOTATED_ECLASS__IMMUTABLE: + return basicSetImmutable(null, 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 HbmodelPackage.HB_ANNOTATED_ECLASS__HB_CACHE: + return getHbCache(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_ON_DELETE: + if (resolve) return getHbOnDelete(); + return basicGetHbOnDelete(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_WHERE: + return getHbWhere(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_PROXY: + if (resolve) return getHbProxy(); + return basicGetHbProxy(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_NAMED_QUERY: + return getHbNamedQuery(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__FILTER_DEF: + return getFilterDef(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__FILTER: + return getFilter(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__DISCRIMINATOR_FORMULA: + return getDiscriminatorFormula(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__FORCE_DISCRIMINATOR: + return getForceDiscriminator(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__IMMUTABLE: + return getImmutable(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_ENTITY: + if (resolve) return getHbEntity(); + return basicGetHbEntity(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__BATCH_SIZE: + if (resolve) return getBatchSize(); + return basicGetBatchSize(); + } + 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 HbmodelPackage.HB_ANNOTATED_ECLASS__HB_CACHE: + setHbCache((Cache)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_ON_DELETE: + setHbOnDelete((OnDelete)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_WHERE: + setHbWhere((Where)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_PROXY: + setHbProxy((Proxy)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_NAMED_QUERY: + getHbNamedQuery().clear(); + getHbNamedQuery().addAll((Collection<? extends NamedQuery>)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__FILTER_DEF: + getFilterDef().clear(); + getFilterDef().addAll((Collection<? extends FilterDef>)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__FILTER: + getFilter().clear(); + getFilter().addAll((Collection<? extends Filter>)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__DISCRIMINATOR_FORMULA: + setDiscriminatorFormula((DiscriminatorFormula)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__FORCE_DISCRIMINATOR: + setForceDiscriminator((ForceDiscriminator)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__IMMUTABLE: + setImmutable((Immutable)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_ENTITY: + setHbEntity((HbEntity)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__BATCH_SIZE: + setBatchSize((BatchSize)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_CACHE: + setHbCache((Cache)null); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_ON_DELETE: + setHbOnDelete((OnDelete)null); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_WHERE: + setHbWhere((Where)null); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_PROXY: + setHbProxy((Proxy)null); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_NAMED_QUERY: + getHbNamedQuery().clear(); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__FILTER_DEF: + getFilterDef().clear(); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__FILTER: + getFilter().clear(); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__DISCRIMINATOR_FORMULA: + setDiscriminatorFormula((DiscriminatorFormula)null); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__FORCE_DISCRIMINATOR: + setForceDiscriminator((ForceDiscriminator)null); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__IMMUTABLE: + setImmutable((Immutable)null); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_ENTITY: + setHbEntity((HbEntity)null); + return; + case HbmodelPackage.HB_ANNOTATED_ECLASS__BATCH_SIZE: + setBatchSize((BatchSize)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_CACHE: + return hbCache != null; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_ON_DELETE: + return hbOnDelete != null; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_WHERE: + return hbWhere != null; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_PROXY: + return hbProxy != null; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_NAMED_QUERY: + return hbNamedQuery != null && !hbNamedQuery.isEmpty(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__FILTER_DEF: + return filterDef != null && !filterDef.isEmpty(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__FILTER: + return filter != null && !filter.isEmpty(); + case HbmodelPackage.HB_ANNOTATED_ECLASS__DISCRIMINATOR_FORMULA: + return discriminatorFormula != null; + case HbmodelPackage.HB_ANNOTATED_ECLASS__FORCE_DISCRIMINATOR: + return forceDiscriminator != null; + case HbmodelPackage.HB_ANNOTATED_ECLASS__IMMUTABLE: + return immutable != null; + case HbmodelPackage.HB_ANNOTATED_ECLASS__HB_ENTITY: + return hbEntity != null; + case HbmodelPackage.HB_ANNOTATED_ECLASS__BATCH_SIZE: + return batchSize != null; + } + return super.eIsSet(featureID); + } + +} // HbAnnotatedEClassImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEDataTypeImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEDataTypeImpl.java new file mode 100755 index 000000000..dc866dbac --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEDataTypeImpl.java @@ -0,0 +1,519 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEDataTypeImpl.java,v 1.12 2009/06/11 04:59:20 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.annotations.pannotation.ForeignKey; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage; + +/** + * <!-- begin-user-doc --> An implementation of the model object '<em><b>Hb Annotated EData Type</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl#getHbTypeDef <em>Hb Type Def</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl#getHbWhere <em>Hb Where</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl#getHbColumns <em>Hb Columns</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl#getHbIdBag <em>Hb Id Bag</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl#getHbIndex <em>Hb Index</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEDataTypeImpl#getHbType <em>Hb Type</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class HbAnnotatedEDataTypeImpl extends PAnnotatedEDataTypeImpl implements HbAnnotatedEDataType { + + private ForeignKey foreignKey = null; + + /** + * The cached value of the '{@link #getHbTypeDef() <em>Hb Type Def</em>}' containment reference. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see #getHbTypeDef() + * @generated + * @ordered + */ + protected TypeDef hbTypeDef; + + /** + * The cached value of the '{@link #getHbWhere() <em>Hb Where</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbWhere() + * @generated + * @ordered + */ + protected Where hbWhere; + + /** + * The cached value of the '{@link #getHbColumns() <em>Hb Columns</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbColumns() + * @generated + * @ordered + */ + protected EList<Column> hbColumns; + + /** + * The cached value of the '{@link #getHbIdBag() <em>Hb Id Bag</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbIdBag() + * @generated + * @ordered + */ + protected IdBag hbIdBag; + + /** + * The cached value of the '{@link #getHbIndex() <em>Hb Index</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbIndex() + * @generated + * @ordered + */ + protected Index hbIndex; + + /** + * The cached value of the '{@link #getHbType() <em>Hb Type</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbType() + * @generated + * @ordered + */ + protected Type hbType; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + protected HbAnnotatedEDataTypeImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbmodelPackage.Literals.HB_ANNOTATED_EDATA_TYPE; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated NOT + */ + public EStructuralFeature getAnnotatedEStructuralFeature() { + return null; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated NOT + */ + public EStructuralFeature basicGetAnnotatedEStructuralFeature() { + return null; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated NOT + */ + public void setAnnotatedEStructuralFeature(EStructuralFeature newAnnotatedEStructuralFeature) { + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public TypeDef getHbTypeDef() { + return hbTypeDef; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbTypeDef(TypeDef newHbTypeDef, NotificationChain msgs) { + TypeDef oldHbTypeDef = hbTypeDef; + hbTypeDef = newHbTypeDef; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF, oldHbTypeDef, newHbTypeDef); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void setHbTypeDef(TypeDef newHbTypeDef) { + if (newHbTypeDef != hbTypeDef) { + NotificationChain msgs = null; + if (hbTypeDef != null) + msgs = ((InternalEObject)hbTypeDef).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF, null, msgs); + if (newHbTypeDef != null) + msgs = ((InternalEObject)newHbTypeDef).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF, null, msgs); + msgs = basicSetHbTypeDef(newHbTypeDef, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF, newHbTypeDef, newHbTypeDef)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Where getHbWhere() { + return hbWhere; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbWhere(Where newHbWhere, NotificationChain msgs) { + Where oldHbWhere = hbWhere; + hbWhere = newHbWhere; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE, oldHbWhere, newHbWhere); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbWhere(Where newHbWhere) { + if (newHbWhere != hbWhere) { + NotificationChain msgs = null; + if (hbWhere != null) + msgs = ((InternalEObject)hbWhere).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE, null, msgs); + if (newHbWhere != null) + msgs = ((InternalEObject)newHbWhere).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE, null, msgs); + msgs = basicSetHbWhere(newHbWhere, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE, newHbWhere, newHbWhere)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Column> getHbColumns() { + if (hbColumns == null) { + hbColumns = new EObjectContainmentEList<Column>(Column.class, this, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS); + } + return hbColumns; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IdBag getHbIdBag() { + return hbIdBag; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbIdBag(IdBag newHbIdBag, NotificationChain msgs) { + IdBag oldHbIdBag = hbIdBag; + hbIdBag = newHbIdBag; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG, oldHbIdBag, newHbIdBag); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbIdBag(IdBag newHbIdBag) { + if (newHbIdBag != hbIdBag) { + NotificationChain msgs = null; + if (hbIdBag != null) + msgs = ((InternalEObject)hbIdBag).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG, null, msgs); + if (newHbIdBag != null) + msgs = ((InternalEObject)newHbIdBag).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG, null, msgs); + msgs = basicSetHbIdBag(newHbIdBag, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG, newHbIdBag, newHbIdBag)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Index getHbIndex() { + if (hbIndex != null && hbIndex.eIsProxy()) { + InternalEObject oldHbIndex = (InternalEObject)hbIndex; + hbIndex = (Index)eResolveProxy(oldHbIndex); + if (hbIndex != oldHbIndex) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_INDEX, oldHbIndex, hbIndex)); + } + } + return hbIndex; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Index basicGetHbIndex() { + return hbIndex; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbIndex(Index newHbIndex) { + Index oldHbIndex = hbIndex; + hbIndex = newHbIndex; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_INDEX, oldHbIndex, hbIndex)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getHbType() { + return hbType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbType(Type newHbType, NotificationChain msgs) { + Type oldHbType = hbType; + hbType = newHbType; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE, oldHbType, newHbType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbType(Type newHbType) { + if (newHbType != hbType) { + NotificationChain msgs = null; + if (hbType != null) + msgs = ((InternalEObject)hbType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE, null, msgs); + if (newHbType != null) + msgs = ((InternalEObject)newHbType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE, null, msgs); + msgs = basicSetHbType(newHbType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE, newHbType, newHbType)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF: + return basicSetHbTypeDef(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE: + return basicSetHbWhere(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS: + return ((InternalEList<?>)getHbColumns()).basicRemove(otherEnd, msgs); + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG: + return basicSetHbIdBag(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE: + return basicSetHbType(null, 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 HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF: + return getHbTypeDef(); + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE: + return getHbWhere(); + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS: + return getHbColumns(); + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG: + return getHbIdBag(); + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_INDEX: + if (resolve) return getHbIndex(); + return basicGetHbIndex(); + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE: + return getHbType(); + } + 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 HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF: + setHbTypeDef((TypeDef)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE: + setHbWhere((Where)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS: + getHbColumns().clear(); + getHbColumns().addAll((Collection<? extends Column>)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG: + setHbIdBag((IdBag)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_INDEX: + setHbIndex((Index)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE: + setHbType((Type)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF: + setHbTypeDef((TypeDef)null); + return; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE: + setHbWhere((Where)null); + return; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS: + getHbColumns().clear(); + return; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG: + setHbIdBag((IdBag)null); + return; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_INDEX: + setHbIndex((Index)null); + return; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE: + setHbType((Type)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF: + return hbTypeDef != null; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_WHERE: + return hbWhere != null; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS: + return hbColumns != null && !hbColumns.isEmpty(); + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG: + return hbIdBag != null; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_INDEX: + return hbIndex != null; + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE__HB_TYPE: + return hbType != null; + } + return super.eIsSet(featureID); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getForeignKey() + */ + public ForeignKey getForeignKey() { + return foreignKey; + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#setForeignKey(org.eclipse.emf.teneo.annotations.pannotation.ForeignKey) + */ + public void setForeignKey(ForeignKey value) { + foreignKey = value; + } + +} // HbAnnotatedEDataTypeImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEPackageImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEPackageImpl.java new file mode 100755 index 000000000..1ec70de22 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEPackageImpl.java @@ -0,0 +1,283 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEPackageImpl.java,v 1.10 2009/06/28 02:05:07 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEPackageImpl; +import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator; +import org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage; + +/** + * <!-- begin-user-doc --> An implementation of the model object '<em><b>Hb Annotated EPackage</b></em>'. <!-- + * end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEPackageImpl#getHbGenericGenerators <em>Hb Generic Generators</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEPackageImpl#getHbTypeDef <em>Hb Type Def</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEPackageImpl#getHbNamedQuery <em>Hb Named Query</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEPackageImpl#getFilterDef <em>Filter Def</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEPackageImpl#getAnyMetaDef <em>Any Meta Def</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class HbAnnotatedEPackageImpl extends PAnnotatedEPackageImpl implements HbAnnotatedEPackage { + /** + * The cached value of the '{@link #getHbGenericGenerators() <em>Hb Generic Generators</em>}' containment reference list. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see #getHbGenericGenerators() + * @generated + * @ordered + */ + protected EList<GenericGenerator> hbGenericGenerators; + + /** + * The cached value of the '{@link #getHbTypeDef() <em>Hb Type Def</em>}' containment reference list. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @see #getHbTypeDef() + * @generated + * @ordered + */ + protected EList<TypeDef> hbTypeDef; + + /** + * The cached value of the '{@link #getHbNamedQuery() <em>Hb Named Query</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbNamedQuery() + * @generated + * @ordered + */ + protected EList<NamedQuery> hbNamedQuery; + + /** + * The cached value of the '{@link #getFilterDef() <em>Filter Def</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFilterDef() + * @generated + * @ordered + */ + protected EList<FilterDef> filterDef; + + /** + * The cached value of the '{@link #getAnyMetaDef() <em>Any Meta Def</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAnyMetaDef() + * @generated + * @ordered + */ + protected EList<AnyMetaDef> anyMetaDef; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + protected HbAnnotatedEPackageImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbmodelPackage.Literals.HB_ANNOTATED_EPACKAGE; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EList<GenericGenerator> getHbGenericGenerators() { + if (hbGenericGenerators == null) { + hbGenericGenerators = new EObjectContainmentEList<GenericGenerator>(GenericGenerator.class, this, HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_GENERIC_GENERATORS); + } + return hbGenericGenerators; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EList<TypeDef> getHbTypeDef() { + if (hbTypeDef == null) { + hbTypeDef = new EObjectContainmentEList<TypeDef>(TypeDef.class, this, HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_TYPE_DEF); + } + return hbTypeDef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<NamedQuery> getHbNamedQuery() { + if (hbNamedQuery == null) { + hbNamedQuery = new EObjectResolvingEList<NamedQuery>(NamedQuery.class, this, HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_NAMED_QUERY); + } + return hbNamedQuery; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<FilterDef> getFilterDef() { + if (filterDef == null) { + filterDef = new EObjectResolvingEList<FilterDef>(FilterDef.class, this, HbmodelPackage.HB_ANNOTATED_EPACKAGE__FILTER_DEF); + } + return filterDef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<AnyMetaDef> getAnyMetaDef() { + if (anyMetaDef == null) { + anyMetaDef = new EObjectResolvingEList<AnyMetaDef>(AnyMetaDef.class, this, HbmodelPackage.HB_ANNOTATED_EPACKAGE__ANY_META_DEF); + } + return anyMetaDef; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_GENERIC_GENERATORS: + return ((InternalEList<?>)getHbGenericGenerators()).basicRemove(otherEnd, msgs); + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_TYPE_DEF: + return ((InternalEList<?>)getHbTypeDef()).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 HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_GENERIC_GENERATORS: + return getHbGenericGenerators(); + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_TYPE_DEF: + return getHbTypeDef(); + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_NAMED_QUERY: + return getHbNamedQuery(); + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__FILTER_DEF: + return getFilterDef(); + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__ANY_META_DEF: + return getAnyMetaDef(); + } + 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 HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_GENERIC_GENERATORS: + getHbGenericGenerators().clear(); + getHbGenericGenerators().addAll((Collection<? extends GenericGenerator>)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_TYPE_DEF: + getHbTypeDef().clear(); + getHbTypeDef().addAll((Collection<? extends TypeDef>)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_NAMED_QUERY: + getHbNamedQuery().clear(); + getHbNamedQuery().addAll((Collection<? extends NamedQuery>)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__FILTER_DEF: + getFilterDef().clear(); + getFilterDef().addAll((Collection<? extends FilterDef>)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__ANY_META_DEF: + getAnyMetaDef().clear(); + getAnyMetaDef().addAll((Collection<? extends AnyMetaDef>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_GENERIC_GENERATORS: + getHbGenericGenerators().clear(); + return; + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_TYPE_DEF: + getHbTypeDef().clear(); + return; + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_NAMED_QUERY: + getHbNamedQuery().clear(); + return; + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__FILTER_DEF: + getFilterDef().clear(); + return; + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__ANY_META_DEF: + getAnyMetaDef().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_GENERIC_GENERATORS: + return hbGenericGenerators != null && !hbGenericGenerators.isEmpty(); + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_TYPE_DEF: + return hbTypeDef != null && !hbTypeDef.isEmpty(); + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__HB_NAMED_QUERY: + return hbNamedQuery != null && !hbNamedQuery.isEmpty(); + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__FILTER_DEF: + return filterDef != null && !filterDef.isEmpty(); + case HbmodelPackage.HB_ANNOTATED_EPACKAGE__ANY_META_DEF: + return anyMetaDef != null && !anyMetaDef.isEmpty(); + } + return super.eIsSet(featureID); + } + +} // HbAnnotatedEPackageImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEReferenceImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEReferenceImpl.java new file mode 100755 index 000000000..182406c3f --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEReferenceImpl.java @@ -0,0 +1,1387 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEReferenceImpl.java,v 1.18 2010/02/04 11:03:44 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.hibernate.hbannotation.Any; +import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade; +import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements; +import org.eclipse.emf.teneo.hibernate.hbannotation.Fetch; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.Formula; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; +import org.eclipse.emf.teneo.hibernate.hbannotation.Immutable; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany; +import org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId; +import org.eclipse.emf.teneo.hibernate.hbannotation.NotFound; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEModelElement; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage; + +/** + * <!-- begin-user-doc --> An implementation of the model object '<em><b>Hb Annotated EReference</b></em>'. <!-- + * end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getHbWhere <em>Hb Where</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getHbCollectionOfElements <em>Hb Collection Of Elements</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getHbMapKey <em>Hb Map Key</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getHbColumns <em>Hb Columns</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getHbCascade <em>Hb Cascade</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getHbIdBag <em>Hb Id Bag</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getHbIndex <em>Hb Index</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getFilter <em>Filter</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getMapKeyManyToMany <em>Map Key Many To Many</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getFormula <em>Formula</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getHbCache <em>Hb Cache</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getHbFetch <em>Hb Fetch</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getHbOnDelete <em>Hb On Delete</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getNaturalId <em>Natural Id</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getImmutable <em>Immutable</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getNotFound <em>Not Found</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getHbType <em>Hb Type</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getBatchSize <em>Batch Size</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getAny <em>Any</em>}</li> + * <li>{@link org.eclipse.emf.teneo.hibernate.hbmodel.impl.HbAnnotatedEReferenceImpl#getAnyMetaDef <em>Any Meta Def</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class HbAnnotatedEReferenceImpl extends PAnnotatedEReferenceImpl implements HbAnnotatedEReference { + /** + * The cached value of the '{@link #getHbWhere() <em>Hb Where</em>}' containment reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @see #getHbWhere() + * @generated + * @ordered + */ + protected Where hbWhere; + + /** + * The cached value of the '{@link #getHbCollectionOfElements() <em>Hb Collection Of Elements</em>}' containment reference. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see #getHbCollectionOfElements() + * @generated + * @ordered + */ + protected CollectionOfElements hbCollectionOfElements; + + /** + * The cached value of the '{@link #getHbMapKey() <em>Hb Map Key</em>}' containment reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @see #getHbMapKey() + * @generated + * @ordered + */ + protected HbMapKey hbMapKey; + + /** + * The cached value of the '{@link #getHbColumns() <em>Hb Columns</em>}' containment reference list. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @see #getHbColumns() + * @generated + * @ordered + */ + protected EList<Column> hbColumns; + + /** + * The cached value of the '{@link #getHbCascade() <em>Hb Cascade</em>}' containment reference. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @see #getHbCascade() + * @generated + * @ordered + */ + protected Cascade hbCascade; + + /** + * The cached value of the '{@link #getHbIdBag() <em>Hb Id Bag</em>}' containment reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @see #getHbIdBag() + * @generated + * @ordered + */ + protected IdBag hbIdBag; + + /** + * The cached value of the '{@link #getHbIndex() <em>Hb Index</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbIndex() + * @generated + * @ordered + */ + protected Index hbIndex; + + /** + * The cached value of the '{@link #getFilter() <em>Filter</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFilter() + * @generated + * @ordered + */ + protected EList<Filter> filter; + + /** + * The cached value of the '{@link #getMapKeyManyToMany() <em>Map Key Many To Many</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getMapKeyManyToMany() + * @generated + * @ordered + */ + protected MapKeyManyToMany mapKeyManyToMany; + + /** + * The cached value of the '{@link #getFormula() <em>Formula</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFormula() + * @generated + * @ordered + */ + protected Formula formula; + + /** + * The cached value of the '{@link #getHbCache() <em>Hb Cache</em>}' containment reference. + * <!-- begin-user-doc + * --> <!-- end-user-doc --> + * @see #getHbCache() + * @generated + * @ordered + */ + protected Cache hbCache; + + /** + * The cached value of the '{@link #getHbFetch() <em>Hb Fetch</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbFetch() + * @generated + * @ordered + */ + protected Fetch hbFetch; + + /** + * The cached value of the '{@link #getHbOnDelete() <em>Hb On Delete</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbOnDelete() + * @generated + * @ordered + */ + protected OnDelete hbOnDelete; + + /** + * The cached value of the '{@link #getNaturalId() <em>Natural Id</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNaturalId() + * @generated + * @ordered + */ + protected NaturalId naturalId; + + /** + * The cached value of the '{@link #getImmutable() <em>Immutable</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getImmutable() + * @generated + * @ordered + */ + protected Immutable immutable; + + /** + * The cached value of the '{@link #getNotFound() <em>Not Found</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getNotFound() + * @generated + * @ordered + */ + protected NotFound notFound; + + /** + * The cached value of the '{@link #getHbType() <em>Hb Type</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getHbType() + * @generated + * @ordered + */ + protected Type hbType; + + /** + * The cached value of the '{@link #getBatchSize() <em>Batch Size</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getBatchSize() + * @generated + * @ordered + */ + protected BatchSize batchSize; + + /** + * The cached value of the '{@link #getAny() <em>Any</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAny() + * @generated + * @ordered + */ + protected Any any; + + /** + * The cached value of the '{@link #getAnyMetaDef() <em>Any Meta Def</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAnyMetaDef() + * @generated + * @ordered + */ + protected AnyMetaDef anyMetaDef; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + protected HbAnnotatedEReferenceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return HbmodelPackage.Literals.HB_ANNOTATED_EREFERENCE; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Where getHbWhere() { + return hbWhere; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbWhere(Where newHbWhere, NotificationChain msgs) { + Where oldHbWhere = hbWhere; + hbWhere = newHbWhere; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_WHERE, oldHbWhere, newHbWhere); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void setHbWhere(Where newHbWhere) { + if (newHbWhere != hbWhere) { + NotificationChain msgs = null; + if (hbWhere != null) + msgs = ((InternalEObject)hbWhere).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_WHERE, null, msgs); + if (newHbWhere != null) + msgs = ((InternalEObject)newHbWhere).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_WHERE, null, msgs); + msgs = basicSetHbWhere(newHbWhere, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_WHERE, newHbWhere, newHbWhere)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public CollectionOfElements getHbCollectionOfElements() { + return hbCollectionOfElements; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbCollectionOfElements(CollectionOfElements newHbCollectionOfElements, NotificationChain msgs) { + CollectionOfElements oldHbCollectionOfElements = hbCollectionOfElements; + hbCollectionOfElements = newHbCollectionOfElements; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLLECTION_OF_ELEMENTS, oldHbCollectionOfElements, newHbCollectionOfElements); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void setHbCollectionOfElements(CollectionOfElements newHbCollectionOfElements) { + if (newHbCollectionOfElements != hbCollectionOfElements) { + NotificationChain msgs = null; + if (hbCollectionOfElements != null) + msgs = ((InternalEObject)hbCollectionOfElements).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLLECTION_OF_ELEMENTS, null, msgs); + if (newHbCollectionOfElements != null) + msgs = ((InternalEObject)newHbCollectionOfElements).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLLECTION_OF_ELEMENTS, null, msgs); + msgs = basicSetHbCollectionOfElements(newHbCollectionOfElements, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLLECTION_OF_ELEMENTS, newHbCollectionOfElements, newHbCollectionOfElements)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public HbMapKey getHbMapKey() { + return hbMapKey; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbMapKey(HbMapKey newHbMapKey, NotificationChain msgs) { + HbMapKey oldHbMapKey = hbMapKey; + hbMapKey = newHbMapKey; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_MAP_KEY, oldHbMapKey, newHbMapKey); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbMapKey(HbMapKey newHbMapKey) { + if (newHbMapKey != hbMapKey) { + NotificationChain msgs = null; + if (hbMapKey != null) + msgs = ((InternalEObject)hbMapKey).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_MAP_KEY, null, msgs); + if (newHbMapKey != null) + msgs = ((InternalEObject)newHbMapKey).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_MAP_KEY, null, msgs); + msgs = basicSetHbMapKey(newHbMapKey, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_MAP_KEY, newHbMapKey, newHbMapKey)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EList<Column> getHbColumns() { + if (hbColumns == null) { + hbColumns = new EObjectContainmentEList<Column>(Column.class, this, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLUMNS); + } + return hbColumns; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Cascade getHbCascade() { + return hbCascade; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbCascade(Cascade newHbCascade, NotificationChain msgs) { + Cascade oldHbCascade = hbCascade; + hbCascade = newHbCascade; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CASCADE, oldHbCascade, newHbCascade); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void setHbCascade(Cascade newHbCascade) { + if (newHbCascade != hbCascade) { + NotificationChain msgs = null; + if (hbCascade != null) + msgs = ((InternalEObject)hbCascade).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CASCADE, null, msgs); + if (newHbCascade != null) + msgs = ((InternalEObject)newHbCascade).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CASCADE, null, msgs); + msgs = basicSetHbCascade(newHbCascade, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CASCADE, newHbCascade, newHbCascade)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public IdBag getHbIdBag() { + return hbIdBag; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbIdBag(IdBag newHbIdBag, NotificationChain msgs) { + IdBag oldHbIdBag = hbIdBag; + hbIdBag = newHbIdBag; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ID_BAG, oldHbIdBag, newHbIdBag); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void setHbIdBag(IdBag newHbIdBag) { + if (newHbIdBag != hbIdBag) { + NotificationChain msgs = null; + if (hbIdBag != null) + msgs = ((InternalEObject)hbIdBag).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ID_BAG, null, msgs); + if (newHbIdBag != null) + msgs = ((InternalEObject)newHbIdBag).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ID_BAG, null, msgs); + msgs = basicSetHbIdBag(newHbIdBag, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ID_BAG, newHbIdBag, newHbIdBag)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Index getHbIndex() { + if (hbIndex != null && hbIndex.eIsProxy()) { + InternalEObject oldHbIndex = (InternalEObject)hbIndex; + hbIndex = (Index)eResolveProxy(oldHbIndex); + if (hbIndex != oldHbIndex) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_INDEX, oldHbIndex, hbIndex)); + } + } + return hbIndex; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Index basicGetHbIndex() { + return hbIndex; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbIndex(Index newHbIndex) { + Index oldHbIndex = hbIndex; + hbIndex = newHbIndex; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_INDEX, oldHbIndex, hbIndex)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Filter> getFilter() { + if (filter == null) { + filter = new EObjectResolvingEList<Filter>(Filter.class, this, HbmodelPackage.HB_ANNOTATED_EREFERENCE__FILTER); + } + return filter; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MapKeyManyToMany getMapKeyManyToMany() { + return mapKeyManyToMany; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetMapKeyManyToMany(MapKeyManyToMany newMapKeyManyToMany, NotificationChain msgs) { + MapKeyManyToMany oldMapKeyManyToMany = mapKeyManyToMany; + mapKeyManyToMany = newMapKeyManyToMany; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__MAP_KEY_MANY_TO_MANY, oldMapKeyManyToMany, newMapKeyManyToMany); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setMapKeyManyToMany(MapKeyManyToMany newMapKeyManyToMany) { + if (newMapKeyManyToMany != mapKeyManyToMany) { + NotificationChain msgs = null; + if (mapKeyManyToMany != null) + msgs = ((InternalEObject)mapKeyManyToMany).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__MAP_KEY_MANY_TO_MANY, null, msgs); + if (newMapKeyManyToMany != null) + msgs = ((InternalEObject)newMapKeyManyToMany).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__MAP_KEY_MANY_TO_MANY, null, msgs); + msgs = basicSetMapKeyManyToMany(newMapKeyManyToMany, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__MAP_KEY_MANY_TO_MANY, newMapKeyManyToMany, newMapKeyManyToMany)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Formula getFormula() { + if (formula != null && formula.eIsProxy()) { + InternalEObject oldFormula = (InternalEObject)formula; + formula = (Formula)eResolveProxy(oldFormula); + if (formula != oldFormula) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_EREFERENCE__FORMULA, oldFormula, formula)); + } + } + return formula; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Formula basicGetFormula() { + return formula; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setFormula(Formula newFormula) { + Formula oldFormula = formula; + formula = newFormula; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__FORMULA, oldFormula, formula)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Cache getHbCache() { + return hbCache; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbCache(Cache newHbCache, NotificationChain msgs) { + Cache oldHbCache = hbCache; + hbCache = newHbCache; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CACHE, oldHbCache, newHbCache); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void setHbCache(Cache newHbCache) { + if (newHbCache != hbCache) { + NotificationChain msgs = null; + if (hbCache != null) + msgs = ((InternalEObject)hbCache).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CACHE, null, msgs); + if (newHbCache != null) + msgs = ((InternalEObject)newHbCache).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CACHE, null, msgs); + msgs = basicSetHbCache(newHbCache, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CACHE, newHbCache, newHbCache)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Fetch getHbFetch() { + if (hbFetch != null && hbFetch.eIsProxy()) { + InternalEObject oldHbFetch = (InternalEObject)hbFetch; + hbFetch = (Fetch)eResolveProxy(oldHbFetch); + if (hbFetch != oldHbFetch) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_FETCH, oldHbFetch, hbFetch)); + } + } + return hbFetch; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Fetch basicGetHbFetch() { + return hbFetch; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbFetch(Fetch newHbFetch) { + Fetch oldHbFetch = hbFetch; + hbFetch = newHbFetch; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_FETCH, oldHbFetch, hbFetch)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OnDelete getHbOnDelete() { + if (hbOnDelete != null && hbOnDelete.eIsProxy()) { + InternalEObject oldHbOnDelete = (InternalEObject)hbOnDelete; + hbOnDelete = (OnDelete)eResolveProxy(oldHbOnDelete); + if (hbOnDelete != oldHbOnDelete) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ON_DELETE, oldHbOnDelete, hbOnDelete)); + } + } + return hbOnDelete; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public OnDelete basicGetHbOnDelete() { + return hbOnDelete; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbOnDelete(OnDelete newHbOnDelete) { + OnDelete oldHbOnDelete = hbOnDelete; + hbOnDelete = newHbOnDelete; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ON_DELETE, oldHbOnDelete, hbOnDelete)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NaturalId getNaturalId() { + return naturalId; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNaturalId(NaturalId newNaturalId, NotificationChain msgs) { + NaturalId oldNaturalId = naturalId; + naturalId = newNaturalId; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__NATURAL_ID, oldNaturalId, newNaturalId); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setNaturalId(NaturalId newNaturalId) { + if (newNaturalId != naturalId) { + NotificationChain msgs = null; + if (naturalId != null) + msgs = ((InternalEObject)naturalId).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__NATURAL_ID, null, msgs); + if (newNaturalId != null) + msgs = ((InternalEObject)newNaturalId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__NATURAL_ID, null, msgs); + msgs = basicSetNaturalId(newNaturalId, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__NATURAL_ID, newNaturalId, newNaturalId)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Immutable getImmutable() { + return immutable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetImmutable(Immutable newImmutable, NotificationChain msgs) { + Immutable oldImmutable = immutable; + immutable = newImmutable; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__IMMUTABLE, oldImmutable, newImmutable); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setImmutable(Immutable newImmutable) { + if (newImmutable != immutable) { + NotificationChain msgs = null; + if (immutable != null) + msgs = ((InternalEObject)immutable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__IMMUTABLE, null, msgs); + if (newImmutable != null) + msgs = ((InternalEObject)newImmutable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__IMMUTABLE, null, msgs); + msgs = basicSetImmutable(newImmutable, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__IMMUTABLE, newImmutable, newImmutable)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotFound getNotFound() { + return notFound; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNotFound(NotFound newNotFound, NotificationChain msgs) { + NotFound oldNotFound = notFound; + notFound = newNotFound; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__NOT_FOUND, oldNotFound, newNotFound); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setNotFound(NotFound newNotFound) { + if (newNotFound != notFound) { + NotificationChain msgs = null; + if (notFound != null) + msgs = ((InternalEObject)notFound).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__NOT_FOUND, null, msgs); + if (newNotFound != null) + msgs = ((InternalEObject)newNotFound).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__NOT_FOUND, null, msgs); + msgs = basicSetNotFound(newNotFound, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__NOT_FOUND, newNotFound, newNotFound)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Type getHbType() { + return hbType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetHbType(Type newHbType, NotificationChain msgs) { + Type oldHbType = hbType; + hbType = newHbType; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_TYPE, oldHbType, newHbType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setHbType(Type newHbType) { + if (newHbType != hbType) { + NotificationChain msgs = null; + if (hbType != null) + msgs = ((InternalEObject)hbType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_TYPE, null, msgs); + if (newHbType != null) + msgs = ((InternalEObject)newHbType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_TYPE, null, msgs); + msgs = basicSetHbType(newHbType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_TYPE, newHbType, newHbType)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BatchSize getBatchSize() { + if (batchSize != null && batchSize.eIsProxy()) { + InternalEObject oldBatchSize = (InternalEObject)batchSize; + batchSize = (BatchSize)eResolveProxy(oldBatchSize); + if (batchSize != oldBatchSize) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_EREFERENCE__BATCH_SIZE, oldBatchSize, batchSize)); + } + } + return batchSize; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BatchSize basicGetBatchSize() { + return batchSize; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setBatchSize(BatchSize newBatchSize) { + BatchSize oldBatchSize = batchSize; + batchSize = newBatchSize; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__BATCH_SIZE, oldBatchSize, batchSize)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Any getAny() { + if (any != null && any.eIsProxy()) { + InternalEObject oldAny = (InternalEObject)any; + any = (Any)eResolveProxy(oldAny); + if (any != oldAny) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_EREFERENCE__ANY, oldAny, any)); + } + } + return any; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Any basicGetAny() { + return any; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setAny(Any newAny) { + Any oldAny = any; + any = newAny; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__ANY, oldAny, any)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AnyMetaDef getAnyMetaDef() { + if (anyMetaDef != null && anyMetaDef.eIsProxy()) { + InternalEObject oldAnyMetaDef = (InternalEObject)anyMetaDef; + anyMetaDef = (AnyMetaDef)eResolveProxy(oldAnyMetaDef); + if (anyMetaDef != oldAnyMetaDef) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, HbmodelPackage.HB_ANNOTATED_EREFERENCE__ANY_META_DEF, oldAnyMetaDef, anyMetaDef)); + } + } + return anyMetaDef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public AnyMetaDef basicGetAnyMetaDef() { + return anyMetaDef; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setAnyMetaDef(AnyMetaDef newAnyMetaDef) { + AnyMetaDef oldAnyMetaDef = anyMetaDef; + anyMetaDef = newAnyMetaDef; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, HbmodelPackage.HB_ANNOTATED_EREFERENCE__ANY_META_DEF, oldAnyMetaDef, anyMetaDef)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_WHERE: + return basicSetHbWhere(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLLECTION_OF_ELEMENTS: + return basicSetHbCollectionOfElements(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_MAP_KEY: + return basicSetHbMapKey(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLUMNS: + return ((InternalEList<?>)getHbColumns()).basicRemove(otherEnd, msgs); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CASCADE: + return basicSetHbCascade(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ID_BAG: + return basicSetHbIdBag(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__MAP_KEY_MANY_TO_MANY: + return basicSetMapKeyManyToMany(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CACHE: + return basicSetHbCache(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__NATURAL_ID: + return basicSetNaturalId(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__IMMUTABLE: + return basicSetImmutable(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__NOT_FOUND: + return basicSetNotFound(null, msgs); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_TYPE: + return basicSetHbType(null, 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 HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_WHERE: + return getHbWhere(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLLECTION_OF_ELEMENTS: + return getHbCollectionOfElements(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_MAP_KEY: + return getHbMapKey(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLUMNS: + return getHbColumns(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CASCADE: + return getHbCascade(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ID_BAG: + return getHbIdBag(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_INDEX: + if (resolve) return getHbIndex(); + return basicGetHbIndex(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__FILTER: + return getFilter(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__MAP_KEY_MANY_TO_MANY: + return getMapKeyManyToMany(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__FORMULA: + if (resolve) return getFormula(); + return basicGetFormula(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CACHE: + return getHbCache(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_FETCH: + if (resolve) return getHbFetch(); + return basicGetHbFetch(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ON_DELETE: + if (resolve) return getHbOnDelete(); + return basicGetHbOnDelete(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__NATURAL_ID: + return getNaturalId(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__IMMUTABLE: + return getImmutable(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__NOT_FOUND: + return getNotFound(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_TYPE: + return getHbType(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__BATCH_SIZE: + if (resolve) return getBatchSize(); + return basicGetBatchSize(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__ANY: + if (resolve) return getAny(); + return basicGetAny(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__ANY_META_DEF: + if (resolve) return getAnyMetaDef(); + return basicGetAnyMetaDef(); + } + 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 HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_WHERE: + setHbWhere((Where)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLLECTION_OF_ELEMENTS: + setHbCollectionOfElements((CollectionOfElements)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_MAP_KEY: + setHbMapKey((HbMapKey)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLUMNS: + getHbColumns().clear(); + getHbColumns().addAll((Collection<? extends Column>)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CASCADE: + setHbCascade((Cascade)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ID_BAG: + setHbIdBag((IdBag)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_INDEX: + setHbIndex((Index)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__FILTER: + getFilter().clear(); + getFilter().addAll((Collection<? extends Filter>)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__MAP_KEY_MANY_TO_MANY: + setMapKeyManyToMany((MapKeyManyToMany)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__FORMULA: + setFormula((Formula)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CACHE: + setHbCache((Cache)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_FETCH: + setHbFetch((Fetch)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ON_DELETE: + setHbOnDelete((OnDelete)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__NATURAL_ID: + setNaturalId((NaturalId)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__IMMUTABLE: + setImmutable((Immutable)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__NOT_FOUND: + setNotFound((NotFound)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_TYPE: + setHbType((Type)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__BATCH_SIZE: + setBatchSize((BatchSize)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__ANY: + setAny((Any)newValue); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__ANY_META_DEF: + setAnyMetaDef((AnyMetaDef)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_WHERE: + setHbWhere((Where)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLLECTION_OF_ELEMENTS: + setHbCollectionOfElements((CollectionOfElements)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_MAP_KEY: + setHbMapKey((HbMapKey)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLUMNS: + getHbColumns().clear(); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CASCADE: + setHbCascade((Cascade)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ID_BAG: + setHbIdBag((IdBag)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_INDEX: + setHbIndex((Index)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__FILTER: + getFilter().clear(); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__MAP_KEY_MANY_TO_MANY: + setMapKeyManyToMany((MapKeyManyToMany)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__FORMULA: + setFormula((Formula)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CACHE: + setHbCache((Cache)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_FETCH: + setHbFetch((Fetch)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ON_DELETE: + setHbOnDelete((OnDelete)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__NATURAL_ID: + setNaturalId((NaturalId)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__IMMUTABLE: + setImmutable((Immutable)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__NOT_FOUND: + setNotFound((NotFound)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_TYPE: + setHbType((Type)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__BATCH_SIZE: + setBatchSize((BatchSize)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__ANY: + setAny((Any)null); + return; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__ANY_META_DEF: + setAnyMetaDef((AnyMetaDef)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_WHERE: + return hbWhere != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLLECTION_OF_ELEMENTS: + return hbCollectionOfElements != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_MAP_KEY: + return hbMapKey != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLUMNS: + return hbColumns != null && !hbColumns.isEmpty(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CASCADE: + return hbCascade != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ID_BAG: + return hbIdBag != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_INDEX: + return hbIndex != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__FILTER: + return filter != null && !filter.isEmpty(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__MAP_KEY_MANY_TO_MANY: + return mapKeyManyToMany != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__FORMULA: + return formula != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CACHE: + return hbCache != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_FETCH: + return hbFetch != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ON_DELETE: + return hbOnDelete != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__NATURAL_ID: + return naturalId != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__IMMUTABLE: + return immutable != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__NOT_FOUND: + return notFound != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_TYPE: + return hbType != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__BATCH_SIZE: + return batchSize != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__ANY: + return any != null; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__ANY_META_DEF: + return anyMetaDef != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) { + if (baseClass == HbAnnotatedEModelElement.class) { + switch (derivedFeatureID) { + default: return -1; + } + } + if (baseClass == HbAnnotatedETypeElement.class) { + switch (derivedFeatureID) { + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_WHERE: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_WHERE; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLLECTION_OF_ELEMENTS: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_COLLECTION_OF_ELEMENTS; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_MAP_KEY: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_MAP_KEY; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLUMNS: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_COLUMNS; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CASCADE: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_CASCADE; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ID_BAG: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_ID_BAG; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_INDEX: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_INDEX; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__FILTER: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__FILTER; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__MAP_KEY_MANY_TO_MANY: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__MAP_KEY_MANY_TO_MANY; + case HbmodelPackage.HB_ANNOTATED_EREFERENCE__FORMULA: return HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__FORMULA; + default: return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) { + if (baseClass == HbAnnotatedEModelElement.class) { + switch (baseFeatureID) { + default: return -1; + } + } + if (baseClass == HbAnnotatedETypeElement.class) { + switch (baseFeatureID) { + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_WHERE: return HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_WHERE; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_COLLECTION_OF_ELEMENTS: return HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLLECTION_OF_ELEMENTS; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_MAP_KEY: return HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_MAP_KEY; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_COLUMNS: return HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_COLUMNS; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_CASCADE: return HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_CASCADE; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_ID_BAG: return HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_ID_BAG; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__HB_INDEX: return HbmodelPackage.HB_ANNOTATED_EREFERENCE__HB_INDEX; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__FILTER: return HbmodelPackage.HB_ANNOTATED_EREFERENCE__FILTER; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__MAP_KEY_MANY_TO_MANY: return HbmodelPackage.HB_ANNOTATED_EREFERENCE__MAP_KEY_MANY_TO_MANY; + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT__FORMULA: return HbmodelPackage.HB_ANNOTATED_EREFERENCE__FORMULA; + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + +} // HbAnnotatedEReferenceImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbmodelFactoryImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbmodelFactoryImpl.java new file mode 100755 index 000000000..57d286a71 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbmodelFactoryImpl.java @@ -0,0 +1,146 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbmodelFactoryImpl.java,v 1.7 2010/02/04 11:03:44 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.impl; + +import org.eclipse.emf.ecore.EClass; +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.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelFactory; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class HbmodelFactoryImpl extends EFactoryImpl implements HbmodelFactory { + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static HbmodelFactory init() { + try { + HbmodelFactory theHbmodelFactory = (HbmodelFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/teneo/2006/HbModel"); + if (theHbmodelFactory != null) { + return theHbmodelFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new HbmodelFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbmodelFactoryImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE: return createHbAnnotatedEAttribute(); + case HbmodelPackage.HB_ANNOTATED_ECLASS: return createHbAnnotatedEClass(); + case HbmodelPackage.HB_ANNOTATED_EPACKAGE: return createHbAnnotatedEPackage(); + case HbmodelPackage.HB_ANNOTATED_EREFERENCE: return createHbAnnotatedEReference(); + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE: return createHbAnnotatedEDataType(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbAnnotatedEAttribute createHbAnnotatedEAttribute() { + HbAnnotatedEAttributeImpl hbAnnotatedEAttribute = new HbAnnotatedEAttributeImpl(); + return hbAnnotatedEAttribute; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbAnnotatedEClass createHbAnnotatedEClass() { + HbAnnotatedEClassImpl hbAnnotatedEClass = new HbAnnotatedEClassImpl(); + return hbAnnotatedEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbAnnotatedEPackage createHbAnnotatedEPackage() { + HbAnnotatedEPackageImpl hbAnnotatedEPackage = new HbAnnotatedEPackageImpl(); + return hbAnnotatedEPackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbAnnotatedEReference createHbAnnotatedEReference() { + HbAnnotatedEReferenceImpl hbAnnotatedEReference = new HbAnnotatedEReferenceImpl(); + return hbAnnotatedEReference; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbAnnotatedEDataType createHbAnnotatedEDataType() { + HbAnnotatedEDataTypeImpl hbAnnotatedEDataType = new HbAnnotatedEDataTypeImpl(); + return hbAnnotatedEDataType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbmodelPackage getHbmodelPackage() { + return (HbmodelPackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static HbmodelPackage getPackage() { + return HbmodelPackage.eINSTANCE; + } + +} //HbmodelFactoryImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbmodelPackageImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbmodelPackageImpl.java new file mode 100755 index 000000000..48f4adf5b --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbmodelPackageImpl.java @@ -0,0 +1,884 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbmodelPackageImpl.java,v 1.17 2010/02/04 11:03:44 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.impl.EPackageImpl; +import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage; +import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage; +import org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEModelElement; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelFactory; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class HbmodelPackageImpl extends EPackageImpl implements HbmodelPackage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass hbAnnotatedETypeElementEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass hbAnnotatedEAttributeEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass hbAnnotatedEClassEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass hbAnnotatedEModelElementEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass hbAnnotatedEPackageEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass hbAnnotatedEReferenceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass hbAnnotatedEDataTypeEClass = 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.emf.teneo.hibernate.hbmodel.HbmodelPackage#eNS_URI + * @see #init() + * @generated + */ + private HbmodelPackageImpl() { + super(eNS_URI, HbmodelFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this + * model, and for any others upon which it depends. Simple + * dependencies are satisfied by calling this method on all + * dependent packages before doing anything else. This method drives + * initialization for interdependent packages directly, in parallel + * with this package, itself. + * <p>Of this package and its interdependencies, all packages which + * have not yet been registered by their URI values are first created + * and registered. The packages are then initialized in two steps: + * meta-model objects for all of the packages are created before any + * are initialized, since one package's meta-model objects may refer to + * those of another. + * <p>Invocation of this method will not affect any packages that have + * already been initialized. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static HbmodelPackage init() { + if (isInited) return (HbmodelPackage)EPackage.Registry.INSTANCE.getEPackage(HbmodelPackage.eNS_URI); + + // Obtain or create and register package + HbmodelPackageImpl theHbmodelPackage = (HbmodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof HbmodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new HbmodelPackageImpl()); + + isInited = true; + + // Initialize simple dependencies + PamodelPackage.eINSTANCE.eClass(); + PannotationPackage.eINSTANCE.eClass(); + + // Obtain or create and register interdependencies + HbannotationPackageImpl theHbannotationPackage = (HbannotationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HbannotationPackage.eNS_URI) instanceof HbannotationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HbannotationPackage.eNS_URI) : HbannotationPackage.eINSTANCE); + + // Create package meta-data objects + theHbmodelPackage.createPackageContents(); + theHbannotationPackage.createPackageContents(); + + // Initialize created meta-data + theHbmodelPackage.initializePackageContents(); + theHbannotationPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theHbmodelPackage.freeze(); + + return theHbmodelPackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getHbAnnotatedETypeElement() { + return hbAnnotatedETypeElementEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedETypeElement_HbWhere() { + return (EReference)hbAnnotatedETypeElementEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedETypeElement_HbCollectionOfElements() { + return (EReference)hbAnnotatedETypeElementEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedETypeElement_HbMapKey() { + return (EReference)hbAnnotatedETypeElementEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedETypeElement_HbColumns() { + return (EReference)hbAnnotatedETypeElementEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedETypeElement_HbCascade() { + return (EReference)hbAnnotatedETypeElementEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedETypeElement_HbIdBag() { + return (EReference)hbAnnotatedETypeElementEClass.getEStructuralFeatures().get(5); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedETypeElement_HbIndex() { + return (EReference)hbAnnotatedETypeElementEClass.getEStructuralFeatures().get(6); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedETypeElement_Filter() { + return (EReference)hbAnnotatedETypeElementEClass.getEStructuralFeatures().get(7); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedETypeElement_MapKeyManyToMany() { + return (EReference)hbAnnotatedETypeElementEClass.getEStructuralFeatures().get(8); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedETypeElement_Formula() { + return (EReference)hbAnnotatedETypeElementEClass.getEStructuralFeatures().get(9); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getHbAnnotatedEAttribute() { + return hbAnnotatedEAttributeEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEAttribute_HbType() { + return (EReference)hbAnnotatedEAttributeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEAttribute_Generated() { + return (EReference)hbAnnotatedEAttributeEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEAttribute_NaturalId() { + return (EReference)hbAnnotatedEAttributeEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEAttribute_Any() { + return (EReference)hbAnnotatedEAttributeEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEAttribute_AnyMetaDef() { + return (EReference)hbAnnotatedEAttributeEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getHbAnnotatedEClass() { + return hbAnnotatedEClassEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEClass_HbCache() { + return (EReference)hbAnnotatedEClassEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEClass_HbOnDelete() { + return (EReference)hbAnnotatedEClassEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEClass_HbWhere() { + return (EReference)hbAnnotatedEClassEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEClass_HbProxy() { + return (EReference)hbAnnotatedEClassEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEClass_HbNamedQuery() { + return (EReference)hbAnnotatedEClassEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEClass_FilterDef() { + return (EReference)hbAnnotatedEClassEClass.getEStructuralFeatures().get(5); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEClass_Filter() { + return (EReference)hbAnnotatedEClassEClass.getEStructuralFeatures().get(6); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEClass_DiscriminatorFormula() { + return (EReference)hbAnnotatedEClassEClass.getEStructuralFeatures().get(7); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEClass_ForceDiscriminator() { + return (EReference)hbAnnotatedEClassEClass.getEStructuralFeatures().get(8); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEClass_Immutable() { + return (EReference)hbAnnotatedEClassEClass.getEStructuralFeatures().get(9); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEClass_HbEntity() { + return (EReference)hbAnnotatedEClassEClass.getEStructuralFeatures().get(10); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEClass_BatchSize() { + return (EReference)hbAnnotatedEClassEClass.getEStructuralFeatures().get(11); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getHbAnnotatedEModelElement() { + return hbAnnotatedEModelElementEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getHbAnnotatedEPackage() { + return hbAnnotatedEPackageEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEPackage_HbGenericGenerators() { + return (EReference)hbAnnotatedEPackageEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEPackage_HbTypeDef() { + return (EReference)hbAnnotatedEPackageEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEPackage_HbNamedQuery() { + return (EReference)hbAnnotatedEPackageEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEPackage_FilterDef() { + return (EReference)hbAnnotatedEPackageEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEPackage_AnyMetaDef() { + return (EReference)hbAnnotatedEPackageEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getHbAnnotatedEReference() { + return hbAnnotatedEReferenceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEReference_HbCache() { + return (EReference)hbAnnotatedEReferenceEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEReference_HbFetch() { + return (EReference)hbAnnotatedEReferenceEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEReference_HbOnDelete() { + return (EReference)hbAnnotatedEReferenceEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEReference_NaturalId() { + return (EReference)hbAnnotatedEReferenceEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEReference_Immutable() { + return (EReference)hbAnnotatedEReferenceEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEReference_NotFound() { + return (EReference)hbAnnotatedEReferenceEClass.getEStructuralFeatures().get(5); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEReference_HbType() { + return (EReference)hbAnnotatedEReferenceEClass.getEStructuralFeatures().get(6); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEReference_BatchSize() { + return (EReference)hbAnnotatedEReferenceEClass.getEStructuralFeatures().get(7); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEReference_Any() { + return (EReference)hbAnnotatedEReferenceEClass.getEStructuralFeatures().get(8); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEReference_AnyMetaDef() { + return (EReference)hbAnnotatedEReferenceEClass.getEStructuralFeatures().get(9); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getHbAnnotatedEDataType() { + return hbAnnotatedEDataTypeEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEDataType_HbTypeDef() { + return (EReference)hbAnnotatedEDataTypeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEDataType_HbWhere() { + return (EReference)hbAnnotatedEDataTypeEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEDataType_HbColumns() { + return (EReference)hbAnnotatedEDataTypeEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEDataType_HbIdBag() { + return (EReference)hbAnnotatedEDataTypeEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEDataType_HbIndex() { + return (EReference)hbAnnotatedEDataTypeEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getHbAnnotatedEDataType_HbType() { + return (EReference)hbAnnotatedEDataTypeEClass.getEStructuralFeatures().get(5); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbmodelFactory getHbmodelFactory() { + return (HbmodelFactory)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 + hbAnnotatedETypeElementEClass = createEClass(HB_ANNOTATED_ETYPE_ELEMENT); + createEReference(hbAnnotatedETypeElementEClass, HB_ANNOTATED_ETYPE_ELEMENT__HB_WHERE); + createEReference(hbAnnotatedETypeElementEClass, HB_ANNOTATED_ETYPE_ELEMENT__HB_COLLECTION_OF_ELEMENTS); + createEReference(hbAnnotatedETypeElementEClass, HB_ANNOTATED_ETYPE_ELEMENT__HB_MAP_KEY); + createEReference(hbAnnotatedETypeElementEClass, HB_ANNOTATED_ETYPE_ELEMENT__HB_COLUMNS); + createEReference(hbAnnotatedETypeElementEClass, HB_ANNOTATED_ETYPE_ELEMENT__HB_CASCADE); + createEReference(hbAnnotatedETypeElementEClass, HB_ANNOTATED_ETYPE_ELEMENT__HB_ID_BAG); + createEReference(hbAnnotatedETypeElementEClass, HB_ANNOTATED_ETYPE_ELEMENT__HB_INDEX); + createEReference(hbAnnotatedETypeElementEClass, HB_ANNOTATED_ETYPE_ELEMENT__FILTER); + createEReference(hbAnnotatedETypeElementEClass, HB_ANNOTATED_ETYPE_ELEMENT__MAP_KEY_MANY_TO_MANY); + createEReference(hbAnnotatedETypeElementEClass, HB_ANNOTATED_ETYPE_ELEMENT__FORMULA); + + hbAnnotatedEAttributeEClass = createEClass(HB_ANNOTATED_EATTRIBUTE); + createEReference(hbAnnotatedEAttributeEClass, HB_ANNOTATED_EATTRIBUTE__HB_TYPE); + createEReference(hbAnnotatedEAttributeEClass, HB_ANNOTATED_EATTRIBUTE__GENERATED); + createEReference(hbAnnotatedEAttributeEClass, HB_ANNOTATED_EATTRIBUTE__NATURAL_ID); + createEReference(hbAnnotatedEAttributeEClass, HB_ANNOTATED_EATTRIBUTE__ANY); + createEReference(hbAnnotatedEAttributeEClass, HB_ANNOTATED_EATTRIBUTE__ANY_META_DEF); + + hbAnnotatedEClassEClass = createEClass(HB_ANNOTATED_ECLASS); + createEReference(hbAnnotatedEClassEClass, HB_ANNOTATED_ECLASS__HB_CACHE); + createEReference(hbAnnotatedEClassEClass, HB_ANNOTATED_ECLASS__HB_ON_DELETE); + createEReference(hbAnnotatedEClassEClass, HB_ANNOTATED_ECLASS__HB_WHERE); + createEReference(hbAnnotatedEClassEClass, HB_ANNOTATED_ECLASS__HB_PROXY); + createEReference(hbAnnotatedEClassEClass, HB_ANNOTATED_ECLASS__HB_NAMED_QUERY); + createEReference(hbAnnotatedEClassEClass, HB_ANNOTATED_ECLASS__FILTER_DEF); + createEReference(hbAnnotatedEClassEClass, HB_ANNOTATED_ECLASS__FILTER); + createEReference(hbAnnotatedEClassEClass, HB_ANNOTATED_ECLASS__DISCRIMINATOR_FORMULA); + createEReference(hbAnnotatedEClassEClass, HB_ANNOTATED_ECLASS__FORCE_DISCRIMINATOR); + createEReference(hbAnnotatedEClassEClass, HB_ANNOTATED_ECLASS__IMMUTABLE); + createEReference(hbAnnotatedEClassEClass, HB_ANNOTATED_ECLASS__HB_ENTITY); + createEReference(hbAnnotatedEClassEClass, HB_ANNOTATED_ECLASS__BATCH_SIZE); + + hbAnnotatedEModelElementEClass = createEClass(HB_ANNOTATED_EMODEL_ELEMENT); + + hbAnnotatedEPackageEClass = createEClass(HB_ANNOTATED_EPACKAGE); + createEReference(hbAnnotatedEPackageEClass, HB_ANNOTATED_EPACKAGE__HB_GENERIC_GENERATORS); + createEReference(hbAnnotatedEPackageEClass, HB_ANNOTATED_EPACKAGE__HB_TYPE_DEF); + createEReference(hbAnnotatedEPackageEClass, HB_ANNOTATED_EPACKAGE__HB_NAMED_QUERY); + createEReference(hbAnnotatedEPackageEClass, HB_ANNOTATED_EPACKAGE__FILTER_DEF); + createEReference(hbAnnotatedEPackageEClass, HB_ANNOTATED_EPACKAGE__ANY_META_DEF); + + hbAnnotatedEReferenceEClass = createEClass(HB_ANNOTATED_EREFERENCE); + createEReference(hbAnnotatedEReferenceEClass, HB_ANNOTATED_EREFERENCE__HB_CACHE); + createEReference(hbAnnotatedEReferenceEClass, HB_ANNOTATED_EREFERENCE__HB_FETCH); + createEReference(hbAnnotatedEReferenceEClass, HB_ANNOTATED_EREFERENCE__HB_ON_DELETE); + createEReference(hbAnnotatedEReferenceEClass, HB_ANNOTATED_EREFERENCE__NATURAL_ID); + createEReference(hbAnnotatedEReferenceEClass, HB_ANNOTATED_EREFERENCE__IMMUTABLE); + createEReference(hbAnnotatedEReferenceEClass, HB_ANNOTATED_EREFERENCE__NOT_FOUND); + createEReference(hbAnnotatedEReferenceEClass, HB_ANNOTATED_EREFERENCE__HB_TYPE); + createEReference(hbAnnotatedEReferenceEClass, HB_ANNOTATED_EREFERENCE__BATCH_SIZE); + createEReference(hbAnnotatedEReferenceEClass, HB_ANNOTATED_EREFERENCE__ANY); + createEReference(hbAnnotatedEReferenceEClass, HB_ANNOTATED_EREFERENCE__ANY_META_DEF); + + hbAnnotatedEDataTypeEClass = createEClass(HB_ANNOTATED_EDATA_TYPE); + createEReference(hbAnnotatedEDataTypeEClass, HB_ANNOTATED_EDATA_TYPE__HB_TYPE_DEF); + createEReference(hbAnnotatedEDataTypeEClass, HB_ANNOTATED_EDATA_TYPE__HB_WHERE); + createEReference(hbAnnotatedEDataTypeEClass, HB_ANNOTATED_EDATA_TYPE__HB_COLUMNS); + createEReference(hbAnnotatedEDataTypeEClass, HB_ANNOTATED_EDATA_TYPE__HB_ID_BAG); + createEReference(hbAnnotatedEDataTypeEClass, HB_ANNOTATED_EDATA_TYPE__HB_INDEX); + createEReference(hbAnnotatedEDataTypeEClass, HB_ANNOTATED_EDATA_TYPE__HB_TYPE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + PamodelPackage thePamodelPackage = (PamodelPackage)EPackage.Registry.INSTANCE.getEPackage(PamodelPackage.eNS_URI); + HbannotationPackage theHbannotationPackage = (HbannotationPackage)EPackage.Registry.INSTANCE.getEPackage(HbannotationPackage.eNS_URI); + PannotationPackage thePannotationPackage = (PannotationPackage)EPackage.Registry.INSTANCE.getEPackage(PannotationPackage.eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + hbAnnotatedETypeElementEClass.getESuperTypes().add(thePamodelPackage.getPAnnotatedEStructuralFeature()); + hbAnnotatedETypeElementEClass.getESuperTypes().add(this.getHbAnnotatedEModelElement()); + hbAnnotatedEAttributeEClass.getESuperTypes().add(thePamodelPackage.getPAnnotatedEAttribute()); + hbAnnotatedEAttributeEClass.getESuperTypes().add(this.getHbAnnotatedETypeElement()); + hbAnnotatedEClassEClass.getESuperTypes().add(thePamodelPackage.getPAnnotatedEClass()); + hbAnnotatedEModelElementEClass.getESuperTypes().add(thePamodelPackage.getPAnnotatedEModelElement()); + hbAnnotatedEPackageEClass.getESuperTypes().add(thePamodelPackage.getPAnnotatedEPackage()); + hbAnnotatedEReferenceEClass.getESuperTypes().add(thePamodelPackage.getPAnnotatedEReference()); + hbAnnotatedEReferenceEClass.getESuperTypes().add(this.getHbAnnotatedETypeElement()); + hbAnnotatedEDataTypeEClass.getESuperTypes().add(thePamodelPackage.getPAnnotatedEDataType()); + hbAnnotatedEDataTypeEClass.getESuperTypes().add(this.getHbAnnotatedEModelElement()); + + // Initialize classes and features; add operations and parameters + initEClass(hbAnnotatedETypeElementEClass, HbAnnotatedETypeElement.class, "HbAnnotatedETypeElement", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getHbAnnotatedETypeElement_HbWhere(), theHbannotationPackage.getWhere(), null, "hbWhere", null, 0, 1, HbAnnotatedETypeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedETypeElement_HbCollectionOfElements(), theHbannotationPackage.getCollectionOfElements(), null, "hbCollectionOfElements", null, 0, 1, HbAnnotatedETypeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedETypeElement_HbMapKey(), theHbannotationPackage.getHbMapKey(), null, "hbMapKey", null, 0, 1, HbAnnotatedETypeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedETypeElement_HbColumns(), thePannotationPackage.getColumn(), null, "hbColumns", null, 0, -1, HbAnnotatedETypeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedETypeElement_HbCascade(), theHbannotationPackage.getCascade(), null, "hbCascade", null, 0, 1, HbAnnotatedETypeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedETypeElement_HbIdBag(), theHbannotationPackage.getIdBag(), null, "hbIdBag", null, 0, 1, HbAnnotatedETypeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedETypeElement_HbIndex(), theHbannotationPackage.getIndex(), null, "hbIndex", null, 0, 1, HbAnnotatedETypeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedETypeElement_Filter(), theHbannotationPackage.getFilter(), null, "Filter", null, 0, -1, HbAnnotatedETypeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedETypeElement_MapKeyManyToMany(), theHbannotationPackage.getMapKeyManyToMany(), null, "mapKeyManyToMany", null, 0, 1, HbAnnotatedETypeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedETypeElement_Formula(), theHbannotationPackage.getFormula(), null, "formula", null, 0, 1, HbAnnotatedETypeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(hbAnnotatedEAttributeEClass, HbAnnotatedEAttribute.class, "HbAnnotatedEAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getHbAnnotatedEAttribute_HbType(), theHbannotationPackage.getType(), null, "hbType", null, 0, 1, HbAnnotatedEAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEAttribute_Generated(), theHbannotationPackage.getGenerated(), null, "generated", null, 0, 1, HbAnnotatedEAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEAttribute_NaturalId(), theHbannotationPackage.getNaturalId(), null, "naturalId", null, 0, 1, HbAnnotatedEAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEAttribute_Any(), theHbannotationPackage.getAny(), null, "any", null, 0, 1, HbAnnotatedEAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEAttribute_AnyMetaDef(), theHbannotationPackage.getAnyMetaDef(), null, "anyMetaDef", null, 0, 1, HbAnnotatedEAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(hbAnnotatedEClassEClass, HbAnnotatedEClass.class, "HbAnnotatedEClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getHbAnnotatedEClass_HbCache(), theHbannotationPackage.getCache(), null, "hbCache", null, 0, 1, HbAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEClass_HbOnDelete(), theHbannotationPackage.getOnDelete(), null, "hbOnDelete", null, 0, 1, HbAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEClass_HbWhere(), theHbannotationPackage.getWhere(), null, "hbWhere", null, 0, 1, HbAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEClass_HbProxy(), theHbannotationPackage.getProxy(), null, "hbProxy", null, 0, 1, HbAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEClass_HbNamedQuery(), theHbannotationPackage.getNamedQuery(), null, "hbNamedQuery", null, 0, -1, HbAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEClass_FilterDef(), theHbannotationPackage.getFilterDef(), null, "FilterDef", null, 0, -1, HbAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEClass_Filter(), theHbannotationPackage.getFilter(), null, "Filter", null, 0, -1, HbAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEClass_DiscriminatorFormula(), theHbannotationPackage.getDiscriminatorFormula(), null, "discriminatorFormula", null, 0, 1, HbAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEClass_ForceDiscriminator(), theHbannotationPackage.getForceDiscriminator(), null, "forceDiscriminator", null, 0, 1, HbAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEClass_Immutable(), theHbannotationPackage.getImmutable(), null, "immutable", null, 0, 1, HbAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEClass_HbEntity(), theHbannotationPackage.getHbEntity(), null, "hbEntity", null, 0, 1, HbAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEClass_BatchSize(), theHbannotationPackage.getBatchSize(), null, "batchSize", null, 0, 1, HbAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(hbAnnotatedEModelElementEClass, HbAnnotatedEModelElement.class, "HbAnnotatedEModelElement", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(hbAnnotatedEPackageEClass, HbAnnotatedEPackage.class, "HbAnnotatedEPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getHbAnnotatedEPackage_HbGenericGenerators(), theHbannotationPackage.getGenericGenerator(), null, "hbGenericGenerators", null, 0, -1, HbAnnotatedEPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEPackage_HbTypeDef(), theHbannotationPackage.getTypeDef(), null, "hbTypeDef", null, 0, -1, HbAnnotatedEPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEPackage_HbNamedQuery(), theHbannotationPackage.getNamedQuery(), null, "hbNamedQuery", null, 0, -1, HbAnnotatedEPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEPackage_FilterDef(), theHbannotationPackage.getFilterDef(), null, "FilterDef", null, 0, -1, HbAnnotatedEPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEPackage_AnyMetaDef(), theHbannotationPackage.getAnyMetaDef(), null, "anyMetaDef", null, 0, -1, HbAnnotatedEPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(hbAnnotatedEReferenceEClass, HbAnnotatedEReference.class, "HbAnnotatedEReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getHbAnnotatedEReference_HbCache(), theHbannotationPackage.getCache(), null, "hbCache", null, 0, 1, HbAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEReference_HbFetch(), theHbannotationPackage.getFetch(), null, "hbFetch", null, 0, 1, HbAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEReference_HbOnDelete(), theHbannotationPackage.getOnDelete(), null, "hbOnDelete", null, 0, 1, HbAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEReference_NaturalId(), theHbannotationPackage.getNaturalId(), null, "naturalId", null, 0, 1, HbAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEReference_Immutable(), theHbannotationPackage.getImmutable(), null, "immutable", null, 0, 1, HbAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEReference_NotFound(), theHbannotationPackage.getNotFound(), null, "notFound", null, 0, 1, HbAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEReference_HbType(), theHbannotationPackage.getType(), null, "hbType", null, 0, 1, HbAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEReference_BatchSize(), theHbannotationPackage.getBatchSize(), null, "batchSize", null, 0, 1, HbAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEReference_Any(), theHbannotationPackage.getAny(), null, "any", null, 0, 1, HbAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEReference_AnyMetaDef(), theHbannotationPackage.getAnyMetaDef(), null, "anyMetaDef", null, 0, 1, HbAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(hbAnnotatedEDataTypeEClass, HbAnnotatedEDataType.class, "HbAnnotatedEDataType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getHbAnnotatedEDataType_HbTypeDef(), theHbannotationPackage.getTypeDef(), null, "hbTypeDef", null, 0, 1, HbAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEDataType_HbWhere(), theHbannotationPackage.getWhere(), null, "hbWhere", null, 0, 1, HbAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEDataType_HbColumns(), thePannotationPackage.getColumn(), null, "hbColumns", null, 0, -1, HbAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEDataType_HbIdBag(), theHbannotationPackage.getIdBag(), null, "hbIdBag", null, 0, 1, HbAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEDataType_HbIndex(), theHbannotationPackage.getIndex(), null, "hbIndex", null, 0, 1, HbAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getHbAnnotatedEDataType_HbType(), theHbannotationPackage.getType(), null, "hbType", null, 0, 1, HbAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Create resource + createResource(eNS_URI); + + // Create annotations + // teneo/internal/PersistenceMapping + createPersistenceMappingAnnotations(); + } + + /** + * Initializes the annotations for <b>teneo/internal/PersistenceMapping</b>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void createPersistenceMappingAnnotations() { + String source = "teneo/internal/PersistenceMapping"; + addAnnotation + (getHbAnnotatedETypeElement_HbMapKey(), + source, + new String[] { + "elementName", "hb-map-key" + }); + addAnnotation + (getHbAnnotatedETypeElement_MapKeyManyToMany(), + source, + new String[] { + "elementName", "hb-map-key" + }); + } + +} //HbmodelPackageImpl diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/util/HbmodelAdapterFactory.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/util/HbmodelAdapterFactory.java new file mode 100755 index 000000000..dc61036c9 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/util/HbmodelAdapterFactory.java @@ -0,0 +1,385 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbmodelAdapterFactory.java,v 1.4 2008/06/10 08:24:59 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.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.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement; + +import org.eclipse.emf.teneo.hibernate.hbmodel.*; + +/** + * <!-- 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.emf.teneo.hibernate.hbmodel.HbmodelPackage + * @generated + */ +public class HbmodelAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static HbmodelPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbmodelAdapterFactory() { + if (modelPackage == null) { + modelPackage = HbmodelPackage.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 HbmodelSwitch<Adapter> modelSwitch = + new HbmodelSwitch<Adapter>() { + @Override + public Adapter caseHbAnnotatedETypeElement(HbAnnotatedETypeElement object) { + return createHbAnnotatedETypeElementAdapter(); + } + @Override + public Adapter caseHbAnnotatedEAttribute(HbAnnotatedEAttribute object) { + return createHbAnnotatedEAttributeAdapter(); + } + @Override + public Adapter caseHbAnnotatedEClass(HbAnnotatedEClass object) { + return createHbAnnotatedEClassAdapter(); + } + @Override + public Adapter caseHbAnnotatedEModelElement(HbAnnotatedEModelElement object) { + return createHbAnnotatedEModelElementAdapter(); + } + @Override + public Adapter caseHbAnnotatedEPackage(HbAnnotatedEPackage object) { + return createHbAnnotatedEPackageAdapter(); + } + @Override + public Adapter caseHbAnnotatedEReference(HbAnnotatedEReference object) { + return createHbAnnotatedEReferenceAdapter(); + } + @Override + public Adapter caseHbAnnotatedEDataType(HbAnnotatedEDataType object) { + return createHbAnnotatedEDataTypeAdapter(); + } + @Override + public Adapter casePAnnotatedEModelElement(PAnnotatedEModelElement object) { + return createPAnnotatedEModelElementAdapter(); + } + @Override + public Adapter casePAnnotatedETypedElement(PAnnotatedETypedElement object) { + return createPAnnotatedETypedElementAdapter(); + } + @Override + public Adapter casePAnnotatedEStructuralFeature(PAnnotatedEStructuralFeature object) { + return createPAnnotatedEStructuralFeatureAdapter(); + } + @Override + public Adapter casePAnnotatedEAttribute(PAnnotatedEAttribute object) { + return createPAnnotatedEAttributeAdapter(); + } + @Override + public Adapter casePAnnotatedEClass(PAnnotatedEClass object) { + return createPAnnotatedEClassAdapter(); + } + @Override + public Adapter casePAnnotatedEPackage(PAnnotatedEPackage object) { + return createPAnnotatedEPackageAdapter(); + } + @Override + public Adapter casePAnnotatedEReference(PAnnotatedEReference object) { + return createPAnnotatedEReferenceAdapter(); + } + @Override + public Adapter casePAnnotatedEDataType(PAnnotatedEDataType object) { + return createPAnnotatedEDataTypeAdapter(); + } + @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.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement <em>Hb Annotated EType Element</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.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement + * @generated + */ + public Adapter createHbAnnotatedETypeElementAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute <em>Hb Annotated EAttribute</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.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute + * @generated + */ + public Adapter createHbAnnotatedEAttributeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass <em>Hb Annotated EClass</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.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass + * @generated + */ + public Adapter createHbAnnotatedEClassAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEModelElement <em>Hb Annotated EModel Element</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.emf.teneo.hibernate.hbmodel.HbAnnotatedEModelElement + * @generated + */ + public Adapter createHbAnnotatedEModelElementAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage <em>Hb Annotated EPackage</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.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage + * @generated + */ + public Adapter createHbAnnotatedEPackageAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference <em>Hb Annotated EReference</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.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference + * @generated + */ + public Adapter createHbAnnotatedEReferenceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType <em>Hb Annotated EData Type</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType + * @generated + */ + public Adapter createHbAnnotatedEDataTypeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement <em>PAnnotated EModel Element</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.emf.teneo.annotations.pamodel.PAnnotatedEModelElement + * @generated + */ + public Adapter createPAnnotatedEModelElementAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement <em>PAnnotated ETyped Element</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.emf.teneo.annotations.pamodel.PAnnotatedETypedElement + * @generated + */ + public Adapter createPAnnotatedETypedElementAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature <em>PAnnotated EStructural Feature</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.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature + * @generated + */ + public Adapter createPAnnotatedEStructuralFeatureAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute <em>PAnnotated EAttribute</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.emf.teneo.annotations.pamodel.PAnnotatedEAttribute + * @generated + */ + public Adapter createPAnnotatedEAttributeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass <em>PAnnotated EClass</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.emf.teneo.annotations.pamodel.PAnnotatedEClass + * @generated + */ + public Adapter createPAnnotatedEClassAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage <em>PAnnotated EPackage</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.emf.teneo.annotations.pamodel.PAnnotatedEPackage + * @generated + */ + public Adapter createPAnnotatedEPackageAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference <em>PAnnotated EReference</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.emf.teneo.annotations.pamodel.PAnnotatedEReference + * @generated + */ + public Adapter createPAnnotatedEReferenceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType <em>PAnnotated EData Type</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType + * @generated + */ + public Adapter createPAnnotatedEDataTypeAdapter() { + 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; + } + +} //HbmodelAdapterFactory diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/util/HbmodelSwitch.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/util/HbmodelSwitch.java new file mode 100755 index 000000000..886c9f058 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/util/HbmodelSwitch.java @@ -0,0 +1,409 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbmodelSwitch.java,v 1.2 2007/11/14 16:38:34 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.util; + +import java.util.List; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement; + +import org.eclipse.emf.teneo.hibernate.hbmodel.*; + +/** + * <!-- 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.emf.teneo.hibernate.hbmodel.HbmodelPackage + * @generated + */ +public class HbmodelSwitch<T> { + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static HbmodelPackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public HbmodelSwitch() { + if (modelPackage == null) { + modelPackage = HbmodelPackage.eINSTANCE; + } + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + public T doSwitch(EObject theEObject) { + return doSwitch(theEObject.eClass(), theEObject); + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + protected T doSwitch(EClass theEClass, EObject theEObject) { + if (theEClass.eContainer() == modelPackage) { + return doSwitch(theEClass.getClassifierID(), theEObject); + } + else { + List<EClass> eSuperTypes = theEClass.getESuperTypes(); + return + eSuperTypes.isEmpty() ? + defaultCase(theEObject) : + doSwitch(eSuperTypes.get(0), theEObject); + } + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case HbmodelPackage.HB_ANNOTATED_ETYPE_ELEMENT: { + HbAnnotatedETypeElement hbAnnotatedETypeElement = (HbAnnotatedETypeElement)theEObject; + T result = caseHbAnnotatedETypeElement(hbAnnotatedETypeElement); + if (result == null) result = casePAnnotatedEStructuralFeature(hbAnnotatedETypeElement); + if (result == null) result = caseHbAnnotatedEModelElement(hbAnnotatedETypeElement); + if (result == null) result = casePAnnotatedETypedElement(hbAnnotatedETypeElement); + if (result == null) result = casePAnnotatedEModelElement(hbAnnotatedETypeElement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbmodelPackage.HB_ANNOTATED_EATTRIBUTE: { + HbAnnotatedEAttribute hbAnnotatedEAttribute = (HbAnnotatedEAttribute)theEObject; + T result = caseHbAnnotatedEAttribute(hbAnnotatedEAttribute); + if (result == null) result = casePAnnotatedEAttribute(hbAnnotatedEAttribute); + if (result == null) result = caseHbAnnotatedETypeElement(hbAnnotatedEAttribute); + if (result == null) result = casePAnnotatedEStructuralFeature(hbAnnotatedEAttribute); + if (result == null) result = caseHbAnnotatedEModelElement(hbAnnotatedEAttribute); + if (result == null) result = casePAnnotatedETypedElement(hbAnnotatedEAttribute); + if (result == null) result = casePAnnotatedEModelElement(hbAnnotatedEAttribute); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbmodelPackage.HB_ANNOTATED_ECLASS: { + HbAnnotatedEClass hbAnnotatedEClass = (HbAnnotatedEClass)theEObject; + T result = caseHbAnnotatedEClass(hbAnnotatedEClass); + if (result == null) result = casePAnnotatedEClass(hbAnnotatedEClass); + if (result == null) result = casePAnnotatedEModelElement(hbAnnotatedEClass); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbmodelPackage.HB_ANNOTATED_EMODEL_ELEMENT: { + HbAnnotatedEModelElement hbAnnotatedEModelElement = (HbAnnotatedEModelElement)theEObject; + T result = caseHbAnnotatedEModelElement(hbAnnotatedEModelElement); + if (result == null) result = casePAnnotatedEModelElement(hbAnnotatedEModelElement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbmodelPackage.HB_ANNOTATED_EPACKAGE: { + HbAnnotatedEPackage hbAnnotatedEPackage = (HbAnnotatedEPackage)theEObject; + T result = caseHbAnnotatedEPackage(hbAnnotatedEPackage); + if (result == null) result = casePAnnotatedEPackage(hbAnnotatedEPackage); + if (result == null) result = casePAnnotatedEModelElement(hbAnnotatedEPackage); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbmodelPackage.HB_ANNOTATED_EREFERENCE: { + HbAnnotatedEReference hbAnnotatedEReference = (HbAnnotatedEReference)theEObject; + T result = caseHbAnnotatedEReference(hbAnnotatedEReference); + if (result == null) result = casePAnnotatedEReference(hbAnnotatedEReference); + if (result == null) result = caseHbAnnotatedETypeElement(hbAnnotatedEReference); + if (result == null) result = casePAnnotatedEStructuralFeature(hbAnnotatedEReference); + if (result == null) result = caseHbAnnotatedEModelElement(hbAnnotatedEReference); + if (result == null) result = casePAnnotatedETypedElement(hbAnnotatedEReference); + if (result == null) result = casePAnnotatedEModelElement(hbAnnotatedEReference); + if (result == null) result = defaultCase(theEObject); + return result; + } + case HbmodelPackage.HB_ANNOTATED_EDATA_TYPE: { + HbAnnotatedEDataType hbAnnotatedEDataType = (HbAnnotatedEDataType)theEObject; + T result = caseHbAnnotatedEDataType(hbAnnotatedEDataType); + if (result == null) result = casePAnnotatedEDataType(hbAnnotatedEDataType); + if (result == null) result = caseHbAnnotatedEModelElement(hbAnnotatedEDataType); + if (result == null) result = casePAnnotatedEModelElement(hbAnnotatedEDataType); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Hb Annotated EType Element</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>Hb Annotated EType Element</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseHbAnnotatedETypeElement(HbAnnotatedETypeElement object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Hb Annotated EAttribute</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>Hb Annotated EAttribute</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseHbAnnotatedEAttribute(HbAnnotatedEAttribute object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Hb Annotated EClass</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>Hb Annotated EClass</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseHbAnnotatedEClass(HbAnnotatedEClass object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Hb Annotated EModel Element</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>Hb Annotated EModel Element</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseHbAnnotatedEModelElement(HbAnnotatedEModelElement object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Hb Annotated EPackage</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>Hb Annotated EPackage</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseHbAnnotatedEPackage(HbAnnotatedEPackage object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Hb Annotated EReference</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>Hb Annotated EReference</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseHbAnnotatedEReference(HbAnnotatedEReference object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Hb Annotated EData Type</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Hb Annotated EData Type</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseHbAnnotatedEDataType(HbAnnotatedEDataType object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>PAnnotated EModel Element</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>PAnnotated EModel Element</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePAnnotatedEModelElement(PAnnotatedEModelElement object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>PAnnotated ETyped Element</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>PAnnotated ETyped Element</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePAnnotatedETypedElement(PAnnotatedETypedElement object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>PAnnotated EStructural Feature</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>PAnnotated EStructural Feature</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePAnnotatedEStructuralFeature(PAnnotatedEStructuralFeature object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>PAnnotated EAttribute</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>PAnnotated EAttribute</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePAnnotatedEAttribute(PAnnotatedEAttribute object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>PAnnotated EClass</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>PAnnotated EClass</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePAnnotatedEClass(PAnnotatedEClass object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>PAnnotated EPackage</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>PAnnotated EPackage</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePAnnotatedEPackage(PAnnotatedEPackage object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>PAnnotated EReference</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>PAnnotated EReference</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePAnnotatedEReference(PAnnotatedEReference object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>PAnnotated EData Type</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>PAnnotated EData Type</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePAnnotatedEDataType(PAnnotatedEDataType 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 + */ + public T defaultCase(EObject object) { + return null; + } + +} //HbmodelSwitch diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEAttributeValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEAttributeValidator.java new file mode 100755 index 000000000..8732c548e --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEAttributeValidator.java @@ -0,0 +1,24 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEAttributeValidator.java,v 1.2 2007/07/11 17:35:11 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.validation; + +import org.eclipse.emf.teneo.hibernate.hbannotation.Generated; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface HbAnnotatedEAttributeValidator { + boolean validate(); + + boolean validateHbType(Type value); + + boolean validateGenerated(Generated value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEClassValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEClassValidator.java new file mode 100755 index 000000000..0b30e73fd --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEClassValidator.java @@ -0,0 +1,40 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEClassValidator.java,v 1.6 2008/04/23 15:44:25 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.validation; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete; +import org.eclipse.emf.teneo.hibernate.hbannotation.Proxy; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface HbAnnotatedEClassValidator { + boolean validate(); + + boolean validateHbCache(Cache value); + + boolean validateHbOnDelete(OnDelete value); + + boolean validateHbWhere(Where value); + + boolean validateHbProxy(Proxy value); + + boolean validateHbNamedQuery(EList<NamedQuery> value); + + boolean validateFilterDef(EList<FilterDef> value); + + boolean validateFilter(EList<Filter> value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEDataTypeValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEDataTypeValidator.java new file mode 100755 index 000000000..e95432706 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEDataTypeValidator.java @@ -0,0 +1,34 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEDataTypeValidator.java,v 1.2 2007/11/14 16:38:34 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.validation; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface HbAnnotatedEDataTypeValidator { + boolean validate(); + + boolean validateHbTypeDef(TypeDef value); + + boolean validateHbWhere(Where value); + + boolean validateHbColumns(EList<Column> value); + + boolean validateHbIdBag(IdBag value); + + boolean validateHbIndex(Index value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEModelElementValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEModelElementValidator.java new file mode 100755 index 000000000..6ec7d6ab4 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEModelElementValidator.java @@ -0,0 +1,19 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEModelElementValidator.java,v 1.1 2007/02/08 23:13:13 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.validation; + + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEModelElement}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface HbAnnotatedEModelElementValidator { + boolean validate(); + +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEPackageValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEPackageValidator.java new file mode 100755 index 000000000..f1cc0b51f --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEPackageValidator.java @@ -0,0 +1,31 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEPackageValidator.java,v 1.3 2008/04/23 15:44:25 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.validation; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator; +import org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface HbAnnotatedEPackageValidator { + boolean validate(); + + boolean validateHbGenericGenerators(EList<GenericGenerator> value); + boolean validateHbTypeDef(EList<TypeDef> value); + + boolean validateHbNamedQuery(EList<NamedQuery> value); + + boolean validateFilterDef(EList<FilterDef> value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEReferenceValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEReferenceValidator.java new file mode 100755 index 000000000..35bfe78df --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEReferenceValidator.java @@ -0,0 +1,26 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedEReferenceValidator.java,v 1.2 2007/03/04 21:18:07 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.validation; + +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.Fetch; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface HbAnnotatedEReferenceValidator { + boolean validate(); + + boolean validateHbCache(Cache value); + boolean validateHbFetch(Fetch value); + + boolean validateHbOnDelete(OnDelete value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedETypeElementValidator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedETypeElementValidator.java new file mode 100755 index 000000000..2f699db16 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedETypeElementValidator.java @@ -0,0 +1,40 @@ +/** + * <copyright> + * </copyright> + * + * $Id: HbAnnotatedETypeElementValidator.java,v 1.3 2008/04/23 15:44:25 mtaal Exp $ + */ +package org.eclipse.emf.teneo.hibernate.hbmodel.validation; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.teneo.annotations.pannotation.Column; + +import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade; +import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.MapKey; +import org.eclipse.emf.teneo.hibernate.hbannotation.Where; + +/** + * A sample validator interface for {@link org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface HbAnnotatedETypeElementValidator { + boolean validate(); + + boolean validateHbWhere(Where value); + boolean validateHbCollectionOfElements(CollectionOfElements value); + boolean validateHbMapKey(MapKey value); + boolean validateHbColumns(EList<Column> value); + boolean validateHbCascade(Cascade value); + boolean validateHbIdBag(IdBag value); + + boolean validateHbIndex(Index value); + + boolean validateFilter(EList<Filter> value); +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java new file mode 100755 index 000000000..685675f29 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java @@ -0,0 +1,962 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal </copyright> $Id: + * AbstractAssociationMapper.java,v 1.17 2007/04/17 15:49:50 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pannotation.CascadeType; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.annotations.pannotation.FetchType; +import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn; +import org.eclipse.emf.teneo.annotations.pannotation.JoinTable; +import org.eclipse.emf.teneo.annotations.pannotation.MapKey; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType; +import org.eclipse.emf.teneo.hibernate.hbannotation.IdBag; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; +import org.eclipse.emf.teneo.hibernate.hbannotation.Type; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement; +import org.eclipse.emf.teneo.mapping.strategy.SQLNameStrategy; +import org.eclipse.emf.teneo.mapping.strategy.impl.ClassicSQLNameStrategy; +import org.eclipse.emf.teneo.simpledom.Element; +import org.eclipse.emf.teneo.util.StoreUtil; + +/** + * Class contains different convenience methods which are of use for association + * mapping. + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public abstract class AbstractAssociationMapper extends AbstractMapper { + + /** Logger */ + private static final Log log = LogFactory + .getLog(AbstractAssociationMapper.class); + + /** + * @return + */ + protected Element addOneToOne(PAnnotatedEReference aReference, + String assocName, String targetEntity) { + final PAnnotatedEClass referedToAClass = aReference.getAReferenceType(); + final Element element; + if (referedToAClass.isOnlyMapAsEntity() + || !getHbmContext().forceUseOfInstance(referedToAClass)) { + element = getHbmContext().getCurrent().addElement("one-to-one") + .addAttribute("name", assocName) + .addAttribute("entity-name", targetEntity); + } else { + element = getHbmContext() + .getCurrent() + .addElement("one-to-one") + .addAttribute("name", assocName) + .addAttribute( + "class", + getHbmContext().getInstanceClassName( + referedToAClass.getModelEClass())); + } + + if (aReference instanceof HbAnnotatedEReference) { + final HbAnnotatedEReference hae = (HbAnnotatedEReference) aReference; + if (hae.getHbFetch() != null) { + element.addAttribute("fetch", hae.getHbFetch().getValue() + .getName().toLowerCase()); + } + } + return element; + } + + // translates jpa CascadeType to HbCascadeType + protected List<HbCascadeType> getCascades(Cascade cascade, + List<CascadeType> cascades) { + if (cascade != null) { + return cascade.getValue(); + } + return convertCascade(cascades); + } + + protected List<HbCascadeType> convertCascade(List<CascadeType> cascades) { + final List<HbCascadeType> res = new ArrayList<HbCascadeType>(); + for (CascadeType ct : cascades) { + if (ct == CascadeType.ALL) { + res.add(HbCascadeType.ALL); + } else if (ct == CascadeType.MERGE) { + res.add(HbCascadeType.MERGE); + } else if (ct == CascadeType.PERSIST) { + res.add(HbCascadeType.PERSIST); + res.add(HbCascadeType.SAVE_UPDATE); + res.add(HbCascadeType.LOCK); + } else if (ct == CascadeType.REFRESH) { + res.add(HbCascadeType.REFRESH); + } else if (ct == CascadeType.REMOVE) { + res.add(HbCascadeType.REMOVE); + } else if (ct == CascadeType.NONE) { + return new ArrayList<HbCascadeType>(); + } + } + return res; + } + + /** Adds a manytoone tag to the current element of the hbmcontext */ + protected Element addManyToOne(Element currentParent, + PAnnotatedEReference aReference, String referedTo, + boolean isPartOfKey) { + final String assocName = getHbmContext().getPropertyName( + aReference.getModelEReference()); + log.debug("addManyToOne " + assocName + "/" + referedTo); + + final String tagName; + if (((HbAnnotatedEReference) aReference).getHbType() != null) { + tagName = "property"; + final Element element = currentParent.addElement(tagName) + .addAttribute("name", assocName); + final Type hbType = ((HbAnnotatedEReference) aReference) + .getHbType(); + final List<Parameter> params = hbType.getParameters(); + if (params == null || params.isEmpty()) { + element.addAttribute("type", hbType.getType()); + } else { + final Element typeElement = element.addElement("type") + .addAttribute("name", hbType.getType()); + for (Parameter param : params) { + typeElement.addElement("param") + .addAttribute("name", param.getName()) + .addText(param.getValue()); + } + } + return element; + } else if (isPartOfKey) { + tagName = "key-many-to-one"; + } else { + tagName = "many-to-one"; + } + + final EClass referedToEClass = aReference.getModelEReference() + .getEReferenceType(); + final PAnnotatedEClass referedToAClass = aReference.getPaModel() + .getPAnnotated(referedToEClass); + final Element element; + if (referedToAClass.isOnlyMapAsEntity() + || !getHbmContext().forceUseOfInstance(referedToAClass)) { + element = currentParent.addElement(tagName) + .addAttribute("name", assocName) + .addAttribute("entity-name", referedTo); + } else { + element = currentParent + .addElement(tagName) + .addAttribute("name", assocName) + .addAttribute( + "class", + getHbmContext().getInstanceClassName( + referedToEClass)); + } + + if (aReference instanceof HbAnnotatedEReference) { + final HbAnnotatedEReference hae = (HbAnnotatedEReference) aReference; + if (hae.getHbFetch() != null) { + element.addAttribute("fetch", hae.getHbFetch().getValue() + .getName().toLowerCase()); + } + } + + return element; + } + + /** + * Adds joincolumns to the associationElement, sets the insert and update + * attributes of the associationElement on the basis of the + * insertable/updatable attributes of the joinColumns. Note that the + * joinColumns list can be empty. forcenullable is set to true when a + * feature map entry is being processed. + */ + protected void addJoinColumns(PAnnotatedEReference per, + Element associationElement, List<JoinColumn> joinColumns, + boolean forceNullable) { + log.debug("addJoinColumns " + associationElement.getName() + + "/ no of joincolumns" + joinColumns.size()); + + // assumption is that if one column is not insertable then the + // association is + // not insertable, same for updatable + boolean insertable = true; + boolean updatable = true; + + for (JoinColumn joinColumn : joinColumns) { + log.debug("JoinColumn " + joinColumn.getName()); + + Element columnElement = associationElement + .addElement("column") + .addAttribute( + "not-null", + (joinColumn.isNullable() && joinColumn + .isSetNullable()) || forceNullable ? "false" + : "true") + .addAttribute("unique", + joinColumn.isUnique() ? "true" : "false"); + if (joinColumn.getName() != null) { + + columnElement + .addAttribute( + "name", + getHbmContext().trunc(joinColumn, + joinColumn.getName())); + final String uc = getHbmContext().getUniqueConstraintKey( + joinColumn.getName()); + if (uc != null) { + columnElement.addAttribute("unique-key", uc); + } + } + + final Index index = ((HbAnnotatedETypeElement) per).getHbIndex(); + if (index != null) { + columnElement.addAttribute("index", index.getName()); + } + + // keep track if all joinColumns are insertable/updatable for in + // that case the + // associationElement is also insertable/updatable or not + insertable &= joinColumn.isInsertable(); + updatable &= joinColumn.isUpdatable(); + + // disabled this because not-null is specified as optional on the + // many-to-one tag + // also unique is more difficult + // associationElement.addAttribute("not-null", + // !joinColumn.isNullable() ? "true" : "false"); + // associationElement.addAttribute("unique", joinColumn.isUnique() ? + // "true" : "false"); + // if + // (joinColumn.eIsSet(PannotationPackage.eINSTANCE.getJoinColumn_ReferencedColumnName())) + // TODO is this foreign key ? + // MT: see the property-ref in hibernate, is used when the reference + // is not on the primary key + // of the target table but on some other column + + // MT: TODO add check on not insertable/updatable which is strange + // for a joincolumn, this check + // is present in onetomany mapper + + // --- JJH + addCommentElement(per.getModelEReference(), columnElement); + // --- JJH + + if (joinColumn.getReferencedColumnName() != null) { + String propName = null; + final String colName = joinColumn.getReferencedColumnName(); + for (PAnnotatedEStructuralFeature pef : per.getPaEClass() + .getPaEStructuralFeatures()) { + if (pef instanceof PAnnotatedEReference) { + final PAnnotatedEReference paEreference = (PAnnotatedEReference) pef; + // set a default, by looking for the efeature name + if (pef.getModelElement().getName().equals(colName) + && propName == null) { + propName = getHbmContext().getPropertyName( + paEreference.getModelEReference()); + } + // use the columnname, that's according to the standard + if (paEreference.getColumn() != null + && paEreference.getColumn().getName() + .equals(colName)) { + propName = getHbmContext().getPropertyName( + paEreference.getModelEReference()); + } + } + } + if (propName != null) { + associationElement.addAttribute("property-ref", propName); + } else { + log.warn("No property found for the referencedColumnName " + + colName + " and EReference " + + per.getModelElement().getName()); + } + } + + } + // ugly but effective + if (associationElement.getName().compareTo("map-key-many-to-many") != 0 + && associationElement.getName().compareTo("join") != 0 + && associationElement.getName().compareTo("key-many-to-one") != 0) { + associationElement.addAttribute("insert", + Boolean.toString(insertable)); + associationElement.addAttribute("update", + Boolean.toString(updatable)); + } + } + + /** + * Creates cascades for onetoone/manytoone, they differ from many relations + * because no delete-orphan is supported. + * + * @param associationElement + * : the element to which the cascades are added. + * @param cascade + * : list of cascade annotation types + */ + protected void addCascadesForSingle(Element associationElement, + List<HbCascadeType> cascades) { + addCascades(associationElement, cascades, false); + } + + /** + * Adds a foreign key attribute to the collection element, if the aFeature + * has a foreign key + */ + protected void addForeignKeyAttribute(Element manyElement, + PAnnotatedEStructuralFeature aFeature) { + if (aFeature.getForeignKey() != null) { + manyElement.addAttribute("foreign-key", aFeature.getForeignKey() + .getName()); + } + } + + /** + * Creates cascades for onetomany, it differs from single relations because + * delete-orphan is supported when cascade=all + * + * @param associationElement + * : the element to which the cascades are added. + * @param cascade + * : list of cascade annotation types + */ + protected void addCascadesForMany(Element associationElement, + List<HbCascadeType> cascades) { + addCascades(associationElement, cascades, true); + } + + /** + * Sets the lazy attribute of the associationElement based on the fetchtype. + */ + protected void addFetchType(Element associationElement, FetchType fetch) { + if (fetch == null) { + return; + } + // TODO: when proxies are supported the below should be changed! + if (FetchType.EXTRA.equals(fetch)) { + associationElement.addAttribute("lazy", "extra"); + } else { + associationElement.addAttribute("lazy", + FetchType.LAZY.equals(fetch) ? "true" : "false"); + } + } + + protected void addLazyProxy(Element element, FetchType fetch, + PAnnotatedEReference paReference) { + final HbAnnotatedEClass haClass = (HbAnnotatedEClass) paReference + .getAReferenceType(); + + boolean lazyFetch = fetch == null || fetch == FetchType.LAZY; + boolean doProxy = lazyFetch + && (haClass.getHbProxy() != null && haClass.getHbProxy() + .isLazy()); + if (doProxy && lazyFetch) { + element.addAttribute("lazy", "proxy"); + } else { + element.addAttribute("lazy", "false"); + } + } + + /** + * Adds a listindex element with the column name set to the give collection + * element. + */ + protected void addListIndex(Element collElement, + PAnnotatedEStructuralFeature aFeature) { + // TODO use column name generator + String name = getIndexColumnName(aFeature); + + log.debug("Add list index " + name + " to " + + aFeature.getModelEStructuralFeature().getName()); + + collElement.addElement("list-index").addAttribute("column", + getHbmContext().trunc(aFeature.getListIndexColumn(), name)); + } + + protected String getIndexColumnName(PAnnotatedEStructuralFeature aFeature) { + final SQLNameStrategy sqlNameStrategy = getHbmContext() + .getExtensionManager().getExtension(SQLNameStrategy.class); + if (aFeature.getListIndexColumn() != null) { + return aFeature.getListIndexColumn().getName(); + } + if (sqlNameStrategy instanceof ClassicSQLNameStrategy) { + return ((ClassicSQLNameStrategy) sqlNameStrategy) + .getIndexColumnName(aFeature); + } else { + return getHbmContext().getPersistenceOptions() + .getSQLColumnNamePrefix() + + (aFeature.getPaEClass().getModelEClass().getName() + "_" + + aFeature.getModelEStructuralFeature().getName() + "_IDX") + .toUpperCase(); + } + } + + /** + * Adds a map-key element with the column name set to the give selected + * column element. + */ + // bugzilla 238515 + // protected void addMapKey(Element collElement, + // PAnnotatedEStructuralFeature aFeature, MapKey + // mapKey) { + // + // log.debug("Add map key " + mapKey.getName() + " to " + + // aFeature.getModelEStructuralFeature().getName()); + // + // // now, we add the column type. this is a required field + // final EStructuralFeature keyFeature = + // ((EReference) + // aFeature.getModelElement()).getEReferenceType().getEStructuralFeature("key"); + // if (keyFeature instanceof EReference) { + // final PAnnotatedEClass referedAClass = + // aFeature.getPaModel().getPAnnotated(((EReference) + // keyFeature).getEReferenceType()); + // if (referedAClass.isOnlyMapAsEntity() || + // !getHbmContext().forceUseOfInstance(referedAClass)) { + // final String entityName = hbmContext.getEntityName(((EReference) + // keyFeature).getEReferenceType()); + // collElement.addElement("map-key-many-to-many").addAttribute("entity-name", + // entityName); + // } else { + // collElement.addElement("map-key-many-to-many").addAttribute("class", + // getHbmContext().getInstanceClassName(referedAClass.getModelEClass())); + // } + // } else { + // final PAnnotatedEAttribute paAttribute = + // (PAnnotatedEAttribute) aFeature.getPaModel().getPAnnotated(keyFeature); + // final Element mapKeyElement = + // collElement.addElement("map-key").addAttribute("column", + // getHbmContext().trunc(mapKey.getName())); + // setType(paAttribute, mapKeyElement); + // } + // // "type", attr.getEType().getInstanceClassName()); + // } + /** + * Add a mapkey taking into account if the key is an entity or a simple type + */ + protected void addMapKey(Element collElement, PAnnotatedEReference aref) { + final EReference eref = aref.getModelEReference(); + final HbAnnotatedEReference hbRef = (HbAnnotatedEReference) aref; + final EStructuralFeature keyFeature = eref.getEReferenceType() + .getEStructuralFeature("key"); + + if (hbRef.getHbMapKey() != null && hbRef.getMapKey() != null) { + log.warn("The EReference " + + aref.getModelElement().getName() + + " has both a javax.persistence.MapKey as well as a hibernate MapKey annotation this is not correct, only one of the two should be used."); + } + + if (keyFeature == null) { + throw new IllegalArgumentException("The EFeature " + eref.getName() + + " of EClass " + eref.getEContainingClass().getName() + + " does not have a keyfeature. " + + "Are you sure that this feature is an EMap"); + } + + if (hbRef.getHbMapKey() != null) { + final org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey mapKey = hbRef + .getHbMapKey(); + final PAnnotatedEAttribute paAttribute = (PAnnotatedEAttribute) aref + .getPaModel().getPAnnotated(keyFeature); + final Element mapKeyElement = collElement.addElement("map-key"); + if (mapKey.getColumns() != null && mapKey.getColumns().size() > 0) { + addColumnsAndFormula(mapKeyElement, aref, mapKey.getColumns(), + false, false, false, false); + } + setType(paAttribute, mapKeyElement); + } else if (hbRef.getMapKey() != null) { + final MapKey mapKey = hbRef.getMapKey(); + final PAnnotatedEAttribute paAttribute = (PAnnotatedEAttribute) aref + .getPaModel().getPAnnotated(keyFeature); + final Element mapKeyElement = collElement.addElement("map-key") + .addAttribute( + "column", + getHbmContext().trunc(hbRef.getMapKey(), + mapKey.getName())); + setType(paAttribute, mapKeyElement); + } else if (hbRef.getMapKeyManyToMany() != null) { + final MapKeyManyToMany mkm = hbRef.getMapKeyManyToMany(); + final PAnnotatedEClass referedAClass = aref.getPaModel() + .getPAnnotated( + ((EReference) keyFeature).getEReferenceType()); + final Element mkmElement = collElement + .addElement("map-key-many-to-many"); + if (referedAClass.isOnlyMapAsEntity() + || !getHbmContext().forceUseOfInstance(referedAClass)) { + final String entityName = mkm.getTargetEntity() != null ? mkm + .getTargetEntity() : hbmContext + .getEntityName(((EReference) keyFeature) + .getEReferenceType()); + mkmElement.addAttribute("entity-name", entityName); + } else { + mkmElement.addAttribute("class", getHbmContext() + .getInstanceClassName(referedAClass.getModelEClass())); + } + if (mkm.getJoinColumns() != null && mkm.getJoinColumns().size() > 0) { + addJoinColumns(hbRef, mkmElement, mkm.getJoinColumns(), false); + } + } else if (keyFeature instanceof EReference) { + final PAnnotatedEClass referedAClass = aref.getPaModel() + .getPAnnotated( + ((EReference) keyFeature).getEReferenceType()); + if (referedAClass.isOnlyMapAsEntity() + || !getHbmContext().forceUseOfInstance(referedAClass)) { + final String entityName = hbmContext + .getEntityName(((EReference) keyFeature) + .getEReferenceType()); + collElement.addElement("map-key-many-to-many").addAttribute( + "entity-name", entityName); + } else { + collElement.addElement("map-key-many-to-many").addAttribute( + "class", + getHbmContext().getInstanceClassName( + referedAClass.getModelEClass())); + } + } else { + // final String type = + // hbType(aref.getPaModel().getPAnnotated((EAttribute) feature)); + final Element mapKey = collElement.addElement("map-key"); // .addAttribute("type", + // type); + final PAnnotatedEAttribute paAttribute = aref.getPaModel() + .getPAnnotated((EAttribute) keyFeature); + setType(paAttribute, mapKey); + } + } + + /** + * @return a newly added hibernate for given collection + * @deprecated use addCollectionElement(PAnnotatedEStructuralFeature) + * instead. protected Element addCollectionElement(String name, + * boolean isIndexed) { return + * getHbmContext().getCurrent().addElement(isIndexed ? "list" : + * "bag").addAttribute("name", name); // .addAttribute("access", + * "org.eclipse.emf.teneo.hibernate.mapping.elist.EListPropertyAccessor" + * ); } + */ + + /** + * Creates a Hibernate collection element: + * <ul> + * <li>"<list>" if the collection is indexed. + * <li>"<bag>" if the collection is not indexed. + * <li>"<idbag>" if the collection is not indexed and has an IdBag + * annotation. + * </ul> + * + * @param hbFeature + * The structural feature for which to create collection. + * @return The collection element. + */ + protected Element addCollectionElement( + PAnnotatedEStructuralFeature paFeature) { + final Element collectionElement; + HbAnnotatedETypeElement hbFeature = (HbAnnotatedETypeElement) paFeature; + final IdBag idBag = hbFeature.getHbIdBag(); + + final EStructuralFeature estruct = paFeature + .getModelEStructuralFeature(); + final boolean isArray = estruct instanceof EAttribute + && estruct.getEType().getInstanceClass() != null + && estruct.getEType().getInstanceClass().isArray(); + final boolean isMap = StoreUtil.isMap(estruct) + && getHbmContext().isMapEMapAsTrueMap(); + + // disabled following check because it also failed for many eattribute + // which even with a onetomany + // do not create a onetomany tag + // if (paFeature.getOneToMany() != null && paFeature.getJoinTable() == + // null && idBag != null) { + // throw new MappingException("Cannot use one-to-many attribute mapping + // without jointable in combination with + // IdBag."); + // } + final boolean hasOrderBy = paFeature instanceof PAnnotatedEReference + && ((PAnnotatedEReference) paFeature).getOrderBy() != null; + final boolean hasWhereClause = paFeature instanceof PAnnotatedEReference + && ((HbAnnotatedEReference) paFeature).getHbWhere() != null; + + if (isArray) { // array type + collectionElement = getHbmContext().getCurrent() + .addElement("array"); + } else if (isMap) { + collectionElement = getHbmContext().getCurrent().addElement("map"); + } else if (idBag != null) { + collectionElement = getHbmContext().getCurrent() + .addElement("idbag"); + } else if (getHbmContext().isGeneratedByEMF() + && hbFeature.getOneToMany() != null + && hbFeature.getOneToMany().isList()) { + if (hasOrderBy && hbFeature.getOneToMany().isIndexed()) { + log.warn("One to many ereference has indexed=true and has orderby set. Ignoring indexed and using orderby, assuming set " + + hbFeature); + } + + if (hasOrderBy || !hbFeature.getOneToMany().isIndexed()) { + collectionElement = getHbmContext().getCurrent().addElement( + "bag"); + } else { + collectionElement = getHbmContext().getCurrent().addElement( + "list"); + } + } else if (!getHbmContext().isGeneratedByEMF() + && hbFeature.getOneToMany() != null) { + if (hasOrderBy && hbFeature.getOneToMany().isIndexed()) { + log.warn("One to many ereference has indexed=true and has orderby set. " + + "Ignoring indexed and using orderby, assuming set " + + hbFeature); + } + + if (!hbFeature.getOneToMany().isList() || hasOrderBy) { + collectionElement = getHbmContext().getCurrent().addElement( + "set"); + } else if (hbFeature.getOneToMany().isList() + && !hbFeature.getOneToMany().isIndexed()) { + collectionElement = getHbmContext().getCurrent().addElement( + "bag"); + } else { + collectionElement = getHbmContext().getCurrent().addElement( + "list"); + } + } else if (hbFeature instanceof PAnnotatedEReference + && ((PAnnotatedEReference) hbFeature).getManyToMany() != null + && ((PAnnotatedEReference) hbFeature).getManyToMany().isList()) { + collectionElement = getHbmContext().getCurrent().addElement("list"); + } else { + collectionElement = getHbmContext().getCurrent().addElement("bag"); + } + + collectionElement.addAttribute( + "name", + getHbmContext().getPropertyName( + hbFeature.getModelEStructuralFeature())); + if (idBag != null) { + final String generator = (idBag.getGenerator() == null ? "increment" + : idBag.getGenerator()); + final String type = (idBag.getType() == null ? "long" : idBag + .getType()); + // if (false && idBag.getTable() != null) { + // collectionElement.addAttribute("table", idBag.getTable()); + // } + final Element collectionIdElement = collectionElement + .addElement("collection-id"); + collectionIdElement.addAttribute("column", + hbmContext.getIdbagIDColumnName()); + collectionIdElement.addAttribute("type", type); + + collectionIdElement.addElement("generator").addAttribute("class", + generator); + } + + if (hbFeature instanceof HbAnnotatedEReference) { + final HbAnnotatedEReference hae = (HbAnnotatedEReference) hbFeature; + if (hae.getHbFetch() != null) { + collectionElement.addAttribute("fetch", hae.getHbFetch() + .getValue().getName().toLowerCase()); + } + } + + if (hasOrderBy) { + final PAnnotatedEClass aClass = ((PAnnotatedEReference) paFeature) + .getAReferenceType(); + final String orderByValue = ((PAnnotatedEReference) paFeature) + .getOrderBy().getValue(); + final String name; + if (orderByValue != null && orderByValue.contains("(")) { + // a sql function, just copy it completely + name = orderByValue; + } else { + name = getColumnNameForOrderBy(aClass, + ((PAnnotatedEReference) paFeature).getOrderBy() + .getValue()); + } + collectionElement.addAttribute("order-by", name); + } + + if (hasWhereClause) { + collectionElement.addAttribute("where", + ((HbAnnotatedEReference) paFeature).getHbWhere() + .getClause()); + } + + final boolean hasBatchSize = paFeature instanceof HbAnnotatedEReference + && ((HbAnnotatedEReference) paFeature).getBatchSize() != null; + + if (hasBatchSize) { + collectionElement.addAttribute("batch-size", "" + + ((HbAnnotatedEReference) paFeature).getBatchSize() + .getSize()); + } + + return collectionElement; + } + + // returns the column name of a certain feature in the target entity + protected String getColumnNameForOrderBy(PAnnotatedEClass aClass, + String orderBy) { + // handle the case of multiple features separated by commas + final StringBuilder sb = new StringBuilder(); + String[] orderBys = null; + if (orderBy != null) { + orderBys = orderBy.split(","); + } else { + // empty orderBy, get an efeature with the id annotation and use + // that + for (PAnnotatedEStructuralFeature aFeature : getAllFeatures(aClass)) { + if (aFeature instanceof PAnnotatedEAttribute) { + final PAnnotatedEAttribute aAttribute = (PAnnotatedEAttribute) aFeature; + if (aAttribute.getId() != null) { + orderBys = new String[1]; + orderBys[0] = aAttribute.getModelEAttribute().getName(); + break; + } + } + } + if (orderBys == null) { + throw new MappingException( + "Orderby column can not be determined for association with elements of aClass " + + aClass); + } + } + for (String ob : orderBys) { + // handle direction asc/desc + ob = ob.trim(); + String direction = " asc"; + if (ob.indexOf(" ") != -1) { + final int index = ob.lastIndexOf(" "); + direction = ob.substring(index); + ob = ob.substring(0, index).trim(); + if (ob.trim().startsWith(getHbmContext().getEscapeCharacter())) { + ob = ob.trim().substring( + getHbmContext().getEscapeCharacter().length()); + } + if (ob.trim().endsWith(getHbmContext().getEscapeCharacter())) { + ob = ob.trim().substring( + 0, + ob.trim().length() + - getHbmContext().getEscapeCharacter() + .length()); + } + } + boolean found = false; + for (PAnnotatedEStructuralFeature aFeature : getAllFeatures(aClass)) { + if (aFeature.getModelElement().getName().compareTo(ob) == 0) { + if (aFeature instanceof PAnnotatedEReference) { + throw new MappingException( + "Feature " + + ob + + " is an ereference, onle eattribute is supported"); + } + found = true; + final PAnnotatedEAttribute attr = (PAnnotatedEAttribute) aFeature; + final List<Column> cs = getColumns(attr); + if (cs.isEmpty()) { + if (sb.length() > 0) { + sb.append(","); + } + sb.append(escapeName(getColumnName(attr)) + direction); + } else { + for (Column c : cs) { + if (sb.length() > 0) { + sb.append(","); + } + sb.append(escapeName(c.getName()) + direction); + } + } + } + } + if (!found) { + throw new MappingException("Feature " + ob + + " not found in eclass " + + aClass.getModelEClass().getName()); + } + } + return sb.toString(); + } + + private String escapeName(String name) { + // assume it also ends with it... + if (name.startsWith(getHbmContext().getEscapeCharacter())) { + return name; + } + return getHbmContext().getEscapeCharacter() + name + + getHbmContext().getEscapeCharacter(); + } + + /** + * Add Element element in given collection element. + */ + protected Element addElementElement(Element collElement, + PAnnotatedEStructuralFeature paFeature, List<Column> columns, + String targetEntity) { + final Element elElement; + // if (targetEntity == null || paAttribute.getEnumerated() != null || + // StoreUtil.isQName(paAttribute.getModelEAttribute())) { + // MT: the target type name is ignored for a many element, it is always + // recomputed + elElement = collElement.addElement("element"); + setType(paFeature, elElement); + // } else { // in this case the defaultannotator has set the + // targetentity! + // elElement = collElement.addElement("element").addAttribute("type", + // targetEntity); + // } + if (columns != null && columns.size() > 0) { + addColumnsAndFormula(elElement, paFeature, columns, getHbmContext() + .isCurrentElementFeatureMap(), true); + } + return elElement; + } + + /** + * Adds columns to a key element. Also sets update on the key element based + * on the values in the columns. + */ + protected void addKeyColumns(HbAnnotatedETypeElement per, + Element keyElement, List<JoinColumn> joinColumns) { + log.debug("Adding key columns"); + boolean setUpdatable = false; + boolean isUpdatable = false; + for (JoinColumn joinColumn : joinColumns) { + log.debug("Column " + joinColumn.getName()); + + if (!setUpdatable && keyElement.getName().compareTo("key") == 0) { + isUpdatable = joinColumn.isUpdatable(); + keyElement.addAttribute("update", isUpdatable ? "true" + : "false"); + setUpdatable = true; + } + + // these checks are disabled because they do not apply in case the + // join column + // is added to a join table + if (!joinColumn.isInsertable()) { + log.error("Unsupported non insertable join column in " + + joinColumn); + throw new MappingException( + "Unsupported non insertable join column", joinColumn); + } + if (setUpdatable && joinColumn.isUpdatable() != isUpdatable) { + log.error("Unsupported join column updatable in " + joinColumn); + throw new MappingException("Unsupported join column updatable", + joinColumn); + } + + final Element ce = keyElement + .addElement("column") + .addAttribute( + "name", + getHbmContext().trunc(joinColumn, + joinColumn.getName())) + .addAttribute("not-null", + joinColumn.isNullable() ? "false" : "true") + .addAttribute("unique", + joinColumn.isUnique() ? "true" : "false"); + + // --- JJH, adapted by Martin Taal + addCommentElement(per.getModelElement(), ce); + // --- JJH + + if (per != null) { // is null in case of jointables + final Index index = (per).getHbIndex(); + if (index != null) { + ce.addAttribute("index", index.getName()); + } + } + + if (joinColumn.getReferencedColumnName() != null) { + String propName = null; + final String colName = joinColumn.getReferencedColumnName(); + for (PAnnotatedEStructuralFeature pef : per.getPaEClass() + .getPaEStructuralFeatures()) { + // set a default, by looking for the efeature name + if (pef.getModelElement().getName().equals(colName) + && propName == null) { + propName = getHbmContext().getPropertyName( + pef.getModelEStructuralFeature()); + } + // use the columnname, that's according to the standard + if (pef.getColumn() != null + && pef.getColumn().getName().equals(colName)) { + propName = getHbmContext().getPropertyName( + pef.getModelEStructuralFeature()); + } + } + if (propName != null) { + keyElement.addAttribute("property-ref", propName); + } else { + log.warn("No property found for the referencedColumnName " + + colName + " and EReference " + + per.getModelElement().getName()); + } + } + + // bz247939, after disabling these lines it all seemed to work fine + // if (joinColumn.getTable() != null) { + // log.error("Unsupported secondary table in " + joinColumn); + // throw new MappingException("Unsupported secondary table", + // joinColumn); + // } + + if (joinColumn.getColumnDefinition() != null) { + log.error("Unsupported column definition in " + joinColumn); + throw new MappingException("Unsupported column definition", + joinColumn); + } + } + // TODO jc.getReferencedColumnName(); + } + + /** + * Adds a jointable and possible joincolumns to the passed key element. + * + * @param collElement + * @param joinTable + */ + protected void addJoinTable(HbAnnotatedETypeElement hbAnnotatedElement, + Element collElement, Element keyElement, JoinTable joinTable) { + if (joinTable == null) { + log.debug("No joinTable"); + return; + } + if (joinTable.getCatalog() != null) { + collElement.addAttribute("catalog", joinTable.getCatalog()); + } + if (joinTable.getSchema() != null) { + collElement.addAttribute("schema", joinTable.getSchema()); + } + if (joinTable.getName() != null) { + collElement.addAttribute("table", + getHbmContext().trunc(joinTable, joinTable.getName())); + } + if (joinTable.getUniqueConstraints().size() > 0) { + log.error("Unsupported unique constraints in " + joinTable); + throw new MappingException("Unsupported unique constraints", + joinTable); + } + addKeyColumns(hbAnnotatedElement, keyElement, + joinTable.getJoinColumns()/* + * == null ? new ArrayList() : + * (List)joinTable. getJoinColumns + * ().getValue() + */); + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractMapper.java new file mode 100755 index 000000000..37f536660 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractMapper.java @@ -0,0 +1,971 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal Brian + * Vetter </copyright> $Id: AbstractMapper.java,v 1.55 2011/03/17 09:21:35 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EClassifier; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EModelElement; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.xml.type.XMLTypePackage; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.annotations.pannotation.EnumType; +import org.eclipse.emf.teneo.annotations.pannotation.Enumerated; +import org.eclipse.emf.teneo.annotations.pannotation.External; +import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn; +import org.eclipse.emf.teneo.annotations.pannotation.PannotationFactory; +import org.eclipse.emf.teneo.annotations.pannotation.TemporalType; +import org.eclipse.emf.teneo.hibernate.hbannotation.Any; +import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Cache; +import org.eclipse.emf.teneo.hibernate.hbannotation.Filter; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationFactory; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement; +import org.eclipse.emf.teneo.mapping.strategy.EntityNameStrategy; +import org.eclipse.emf.teneo.simpledom.Element; +import org.eclipse.emf.teneo.util.EcoreDataTypes; +import org.eclipse.emf.teneo.util.StoreUtil; + +/** + * Base class for all mapping classes. Provides access to the hbmcontext. + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public abstract class AbstractMapper { + /** The list of types which translate to a hibernate types */ + private static final String[] TEMPORAL_TYPE_NAMES; + + /** Initialize TEMPORAL_TYPE_NAMES */ + static { + TEMPORAL_TYPE_NAMES = new String[TemporalType.VALUES.size()]; + TEMPORAL_TYPE_NAMES[TemporalType.DATE.getValue()] = "date"; + TEMPORAL_TYPE_NAMES[TemporalType.TIME.getValue()] = "time"; + TEMPORAL_TYPE_NAMES[TemporalType.TIMESTAMP.getValue()] = "timestamp"; + } + + /** Returns the correct temporal type for hibernate */ + private static String hbType(TemporalType temporalType) { + return TEMPORAL_TYPE_NAMES[temporalType != null ? temporalType + .getValue() : TemporalType.TIMESTAMP.getValue()]; + } + + /** logs it all */ + // private static final Log log = LogFactory.getLog(AbstractMapper.class); + /** return the opposite of an association */ + protected PAnnotatedEReference getOtherSide(PAnnotatedEReference paReference) { + // TODO assuming that mappedBy coincide with opposite, check in + // validation + if (paReference.getModelEReference().getEOpposite() == null) { + return null; + } + return paReference.getPaModel().getPAnnotated( + paReference.getModelEReference().getEOpposite()); + } + + /** The mapping context of this mapping action */ + protected MappingContext hbmContext; + + /** + * @return The mapping context used by this mapper + */ + protected MappingContext getHbmContext() { + return hbmContext; + } + + /** Set the hbm context */ + protected void setHbmContext(MappingContext hbmContext) { + this.hbmContext = hbmContext; + } + + protected void addAccessor(Element element, String propertyHandler) { + if (propertyHandler != null && propertyHandler.length() > 0) { + element.addAttribute("access", hbmContext.getPropertyHandlerName()); + } + } + + protected void addAccessor(Element element) { + addAccessor(element, hbmContext.getPropertyHandlerName()); + } + + protected void setType(PAnnotatedEStructuralFeature paFeature, + Element propElement) { + if (paFeature instanceof PAnnotatedEAttribute) { + setType((PAnnotatedEAttribute) paFeature, propElement); + } else { + setType((PAnnotatedEReference) paFeature, propElement); + } + } + + /** Handles the External annotation */ + protected void setType(PAnnotatedEReference paReference, Element propElement) { + final External external = paReference.getExternal(); + if (external == null) { + throw new MappingException( + "External annotation not set on eReference " + + StoreUtil.toString(paReference + .getModelEReference())); + } + + final Element typeElement = propElement.addElement("type"); + if (external.getType() == null) { // standard external + typeElement.addAttribute("name", getHbmContext() + .getExternalUserType()); + } else { + typeElement.addAttribute("name", external.getType()); + } + typeElement + .addElement("param") + .addAttribute("name", HbMapperConstants.ECLASS_NAME_META) + .addText( + paReference.getModelEReference().getEReferenceType() + .getName()); + typeElement + .addElement("param") + .addAttribute("name", HbMapperConstants.EPACKAGE_PARAM) + .addText( + paReference.getModelEReference().getEReferenceType() + .getEPackage().getNsURI()); + + } + + /** Handles the type or typedef annotations */ + protected void setType(PAnnotatedEAttribute paAttribute, Element propElement) { + + // handle the type annotation + final HbAnnotatedEAttribute hea = (HbAnnotatedEAttribute) paAttribute; + final EDataType ed = (EDataType) hea.getModelEAttribute().getEType(); + final HbAnnotatedEDataType hed = (HbAnnotatedEDataType) hea + .getPaModel().getPAnnotated(ed); + + final String name; + final List<Parameter> params; + if (hea.getHbType() != null) { + name = hea.getHbType().getType(); + params = hea.getHbType().getParameters(); + } else if (hed != null && hed.getHbType() != null) { + name = hed.getHbType().getType(); + params = hed.getHbType().getParameters(); + } else if (hed != null && hed.getHbTypeDef() != null) { + name = hed.getHbTypeDef().getName(); + params = null; + } else { + name = null; + params = null; + } + if (name != null) { + if (params == null || params.isEmpty()) { + // simple + propElement.addAttribute("type", name); + } else { + final Element typeElement = propElement.addElement("type") + .addAttribute("name", name); + for (Parameter param : params) { + typeElement.addElement("param") + .addAttribute("name", param.getName()) + .addText(param.getValue()); + } + } + } else if (paAttribute.getEnumerated() != null) { + handleEnumType(paAttribute, propElement); + } else if (StoreUtil.isQName(paAttribute.getModelEAttribute())) { + propElement.addAttribute("type", + "org.eclipse.emf.teneo.hibernate.mapping.QNameUserType"); + } else { + final String hType = hbType(paAttribute); + if (hType != null) { + propElement.addAttribute("type", hType); + } else { + final Element typeElement = propElement.addElement("type") + .addAttribute("name", hbmContext.getDefaultUserType()); + typeElement + .addElement("param") + .addAttribute("name", HbMapperConstants.EDATATYPE_PARAM) + .addText( + paAttribute.getModelEAttribute() + .getEAttributeType().getName()); + typeElement + .addElement("param") + .addAttribute("name", HbMapperConstants.EPACKAGE_PARAM) + .addText( + paAttribute.getModelEAttribute().getEType() + .getEPackage().getNsURI()); + } + } + } + + /** Handle the enum type */ + private void handleEnumType(PAnnotatedEAttribute paAttribute, + Element propElement) { + final Enumerated enumerated = paAttribute.getEnumerated(); + assert (enumerated != null); + final EAttribute eattr = paAttribute.getModelEAttribute(); + final EClassifier eclassifier = eattr.getEType(); + if (!getHbmContext().isGeneratedByEMF() + && getHbmContext().getInstanceClass(eclassifier) != null) { + final Class<?> instanceClass = getHbmContext().getInstanceClass( + eclassifier); + final Element typeElement = propElement.addElement("type") + .addAttribute("name", getEnumUserType(enumerated)); + typeElement.addElement("param") + .addAttribute("name", HbMapperConstants.ENUM_CLASS_PARAM) + .addText(instanceClass.getName()); + typeElement.addElement("param") + .addAttribute("name", HbMapperConstants.ECLASSIFIER_PARAM) + .addText(eclassifier.getName()); + typeElement.addElement("param") + .addAttribute("name", HbMapperConstants.EPACKAGE_PARAM) + .addText(eclassifier.getEPackage().getNsURI()); + } else if (getHbmContext().isGeneratedByEMF() + && eclassifier.getInstanceClass() != null) { + final Element typeElement = propElement.addElement("type") + .addAttribute("name", getEnumUserType(enumerated)); + typeElement.addElement("param") + .addAttribute("name", HbMapperConstants.ENUM_CLASS_PARAM) + .addText(eclassifier.getInstanceClass().getName()); + typeElement.addElement("param") + .addAttribute("name", HbMapperConstants.ECLASSIFIER_PARAM) + .addText(eclassifier.getName()); + typeElement.addElement("param") + .addAttribute("name", HbMapperConstants.EPACKAGE_PARAM) + .addText(eclassifier.getEPackage().getNsURI()); + } else { // must be emf dynamic + final Element typeElement = propElement.addElement("type") + .addAttribute("name", hbDynamicEnumType(enumerated)); + typeElement.addElement("param") + .addAttribute("name", HbMapperConstants.ECLASSIFIER_PARAM) + .addText(eclassifier.getName()); + typeElement.addElement("param") + .addAttribute("name", HbMapperConstants.EPACKAGE_PARAM) + .addText(eclassifier.getEPackage().getNsURI()); + } + } + + // gather the pafeatures of the supertypes also + protected List<PAnnotatedEStructuralFeature> getAllFeatures( + PAnnotatedEClass componentAClass) { + final ArrayList<PAnnotatedEStructuralFeature> result = new ArrayList<PAnnotatedEStructuralFeature>(); + result.addAll(componentAClass.getPaEStructuralFeatures()); + for (EClass eClass : componentAClass.getModelEClass().getESuperTypes()) { + final PAnnotatedEClass aSuperClass = componentAClass.getPaModel() + .getPAnnotated(eClass); + if (aSuperClass != null) { + result.addAll(getAllFeatures(aSuperClass)); + } + } + return result; + } + + /** + * @return Returns the hibernate name for the given Ecore data type. + * @throws MappingException + * if no corresponding hb type is defined. + */ + protected String hbType(PAnnotatedEAttribute paAttribute) { + final EAttribute eAttribute = paAttribute.getModelEAttribute(); + final HbAnnotatedEDataType hed = (HbAnnotatedEDataType) paAttribute + .getPaModel().getPAnnotated(eAttribute.getEAttributeType()); + final EDataType eDataType = paAttribute.getModelEAttribute() + .getEAttributeType(); + if (hed != null && hed.getHbTypeDef() != null) { + return hed.getHbTypeDef().getName(); + } else if (paAttribute.getLob() != null) { + if (EcoreDataTypes.INSTANCE.isByteArray(eDataType)) { + return "binary"; + } else if (EcoreDataTypes.INSTANCE.isEString(eDataType)) { + return "text"; + } else { + throw new MappingException( + "Lob annotations can only be used with Strings or byte arrays. " + + "Attribute is of type: " + eDataType); + } + } else if (EcoreDataTypes.INSTANCE.isEWrapper(eDataType) + || EcoreDataTypes.INSTANCE.isEPrimitive(eDataType)) { + return eDataType.getInstanceClassName(); + } else if (EcoreDataTypes.INSTANCE.isEString(eDataType)) { + return eDataType.getInstanceClassName(); + } else if (EcoreDataTypes.INSTANCE.isEDateTime(eDataType) + || (paAttribute.getTemporal() != null && paAttribute + .getTemporal().getValue().getValue() == TemporalType.TIMESTAMP_VALUE)) { + return getEDateTimeClass(paAttribute); + } else if (EcoreDataTypes.INSTANCE.isETime(eDataType) + || (paAttribute.getTemporal() != null && paAttribute + .getTemporal().getValue().getValue() == TemporalType.TIME_VALUE)) { + return getETimeClass(paAttribute); + } else if (EcoreDataTypes.INSTANCE.isEDuration(eDataType)) { + return hbmContext.getDurationType(); + } else if (EcoreDataTypes.INSTANCE.isEDate(eDataType, getHbmContext() + .getPersistenceOptions()) + || (paAttribute.getTemporal() != null && paAttribute + .getTemporal().getValue().getValue() == TemporalType.DATE_VALUE)) { + return getEDateClass(paAttribute); + } else if (eDataType.getInstanceClass() != null + && eDataType.getInstanceClass() == Object.class) { + // null forces caller to use usertype + return null; // "org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType"; + // } else if (eDataType.getInstanceClass() != null) { + // return eDataType.getInstanceClassName(); + } else { + final String result = EcoreDataTypes.INSTANCE + .getTargetTypeName(paAttribute); + if (result.compareTo(Object.class.getName()) == 0) { + // all edatatypes are translatable to a string, done by caller + return null; // "org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType"; + } + return result; + } + } + + /** Returns the type name of a many attribute */ + protected String getTargetTypeName(PAnnotatedEAttribute aAttribute) { + final EAttribute eAttribute = aAttribute.getModelEAttribute(); + // check on equality on object.class is used for listunion simpleunions + final Class<?> instanceClass = eAttribute.getEAttributeType() + .getInstanceClass(); + if (instanceClass != null && !Object.class.equals(instanceClass) + && !List.class.equals(instanceClass)) { + if (instanceClass.isArray()) { + // get rid of the [] at the end + return eAttribute + .getEType() + .getInstanceClassName() + .substring( + 0, + eAttribute.getEType().getInstanceClassName() + .length() - 2); + } + return instanceClass.getName(); + } else { + // the type is hidden somewhere deep get it + // the edatatype is the java.util.list + // it has an itemType which is the name of the element edatatype + // which contains the instanceclass + // takes also into account inheritance between datatypes + // NOTE the otm.targetentity can consist of a comma delimited list + // of target + // entities this is required for listunion types but is not + // according to the ejb3 spec! + ArrayList<EClassifier> eclassifiers = EcoreDataTypes.INSTANCE + .getItemTypes((EDataType) eAttribute.getEType()); + if (eclassifiers.size() > 0) { + StringBuffer result = new StringBuffer(); + for (int i = 0; i < eclassifiers.size(); i++) { + final EClassifier eclassifier = eclassifiers.get(i); + if (i > 0) { + result.append(","); + } + result.append(eclassifier.getInstanceClassName()); + } + return result.toString(); + } else { + return Object.class.getName(); + } + } + } + + /** + * Returns the correct enum primitive hibernate type, for Elver this is a + * hibernate user type. + */ + public String getEnumUserType(Enumerated enumerated) { + if (EnumType.STRING == enumerated.getValue()) { + return getHbmContext().getEnumUserType(); + } else { + return getHbmContext().getEnumIntegerUserType(); + } + } + + /** + * Returns the correct enum primitive hibernate type, for Elver this is a + * hibernate user type. + */ + protected String hbDynamicEnumType(Enumerated enumerated) { + if (EnumType.STRING == enumerated.getValue()) { + return getHbmContext().getDynamicEnumUserType(); + } else { + return getHbmContext().getDynamicEnumIntegerUserType(); + } + } + + /* + * @return The name of the java class needed to map the date type + */ + public String getEDateClass(PAnnotatedEAttribute paAttribute) { + final EDataType eDataType = paAttribute.getModelEAttribute() + .getEAttributeType(); + + assert (EcoreDataTypes.INSTANCE.isEDate(eDataType, getHbmContext() + .getPersistenceOptions())); + + if (XMLTypePackage.eINSTANCE.getDate().equals(eDataType)) { + return getHbmContext().getXSDDateUserType(); + } + + if (paAttribute.getTemporal() != null) { + final TemporalType tt = paAttribute.getTemporal().getValue(); + return hbType(tt); + } + + // only override if the user did not specify a more specific class + if (EcoreDataTypes.INSTANCE.isEDate(eDataType, getHbmContext() + .getPersistenceOptions())) { + // EMF returns an XSD Date type as an Object instance. go figure. + // note that I would prefer to use the class instance to get the + // name + // but for other reasons I do not want to have references to the + // org.eclipse.emf.teneo.hibernate plugin. + return getHbmContext().getXSDDateUserType(); + } + + // TODO: should it not use the eDataType.getInstanceClass()? Hmm if the + // user + // really wants a different mapping he/she should use maybe a usertype?? + return Date.class.getName(); + } + + /* + * @return The name of the java class needed to map the time type + */ + public String getETimeClass(PAnnotatedEAttribute paAttribute) { + final EDataType eDataType = paAttribute.getModelEAttribute() + .getEAttributeType(); + + if (XMLTypePackage.eINSTANCE.getTime().equals(eDataType)) { + return getHbmContext().getXSDTimeUserType(); + } + + if (paAttribute.getTemporal() != null) { + final TemporalType tt = paAttribute.getTemporal().getValue(); + return hbType(tt); + } + + // bugzilla 277546 + if (eDataType.getInstanceClass() != null + && Timestamp.class.isAssignableFrom(eDataType + .getInstanceClass())) { + return eDataType.getInstanceClass().getName(); + } + + if (EcoreDataTypes.INSTANCE.isETime(eDataType)) { + // EMF returns an XSD Date type as an Object instance. go figure. + // note that I would prefer to use the class instance to get the + // name + // but for other reasons I do not want to have references to the + // org.eclipse.emf.teneo.hibernate plugin. + return getHbmContext().getXSDTimeUserType(); + } + + // TODO: should it not use the eDataType.getInstanceClass()? Hmm if the + // user + // really wants a different mapping he/she should use maybe a usertype?? + return Timestamp.class.getName(); + } + + /* + * @return The name of the java class needed to map the datetime/timestamp + * type + */ + public String getEDateTimeClass(PAnnotatedEAttribute paAttribute) { + final EDataType eDataType = paAttribute.getModelEAttribute() + .getEAttributeType(); + + assert (EcoreDataTypes.INSTANCE.isEDateTime(eDataType)); + + if (XMLTypePackage.eINSTANCE.getDateTime().equals(eDataType)) { + return getHbmContext().getXSDDateTimeUserType(); + } + + if (paAttribute.getTemporal() != null) { + final TemporalType tt = paAttribute.getTemporal().getValue(); + return hbType(tt); + } + + // bugzilla 277546 + if (eDataType.getInstanceClass() != null + && Date.class.isAssignableFrom(eDataType.getInstanceClass())) { + return eDataType.getInstanceClass().getName(); + } + + if (EcoreDataTypes.INSTANCE.isEDateTime(eDataType)) { + // EMF returns an XSD Date type as an Object instance. go figure. + // note that I would prefer to use the class instance to get the + // name + // but for other reasons I do not want to have references to the + // org.eclipse.emf.teneo.hibernate plugin. + return getHbmContext().getXSDDateTimeUserType(); + } + + // TODO: should it not use the eDataType.getInstanceClass()? Hmm if the + // user + // really wants a different mapping he/she should use maybe a usertype?? + return Timestamp.class.getName(); + } + + /** + * Returns the (possibly overridden) JoinColumns annotations for the given + * reference or an empty list if no JoinColumns were defined. + */ + protected List<JoinColumn> getJoinColumns(PAnnotatedEReference paReference) { + List<JoinColumn> joinColumns = getHbmContext().getAssociationOverrides( + paReference); + if (joinColumns == null) { + joinColumns = paReference.getJoinColumns(); + } + if (joinColumns == null) { + return new ArrayList<JoinColumn>(); + } + return joinColumns; + } + + /** Adds a cache element */ + protected void addCacheElement(Element parent, Cache cache) { + // translate to hibernate specific notation + final String usage = cache.getUsage().getName().toLowerCase() + .replaceAll("_", "-"); + + Element cacheElement = parent.addElement("cache").addAttribute("usage", + usage); + if (cache.getRegion() != null) { + cacheElement.addAttribute("region", cache.getRegion()); + } + if (cache.getInclude() != null) { + cacheElement.addAttribute("include", cache.getInclude()); + } + parent.remove(cacheElement); + parent.add(0, cacheElement); + } + + /** Same as above only handles multiple columns */ + protected void addColumnsAndFormula(Element propertyElement, + PAnnotatedEStructuralFeature pef, List<Column> columns, + boolean isNullable, boolean setColumnAttributesInProperty) { + addColumnsAndFormula(propertyElement, pef, columns, isNullable, + setColumnAttributesInProperty, false, false); + } + + /** Same as above only handles multiple columns */ + protected void addColumnsAndFormula(Element propertyElement, + PAnnotatedEStructuralFeature pef, List<Column> columns, + boolean isNullable, boolean setColumnAttributesInProperty, + boolean isUnique, boolean isIdProperty) { + // if no columns set then use some default + final HbAnnotatedETypeElement hbFeature = (HbAnnotatedETypeElement) pef; + if (columns.isEmpty() && hbFeature.getFormula() == null) { + final Column col = PannotationFactory.eINSTANCE.createColumn(); + col.setName(getColumnName(pef)); + col.setNullable(isNullable); + if (isIdProperty) { + col.setUnique(false); + } else { + col.setUnique(isUnique); + } + + if (pef instanceof HbAnnotatedEAttribute + && ((HbAnnotatedEAttribute) pef).getGenerated() != null + && ((HbAnnotatedEAttribute) pef).getGenerated().getValue() != null + && ((HbAnnotatedEAttribute) pef).getGenerated().getValue() != GenerationTime.NEVER) { + col.setInsertable(false); + col.setUpdatable(false); + } + + columns.add(col); + } + // if only one id column then it is not nullable! + if (isIdProperty && columns.size() == 1 + && pef.getPaEClass().getIdClass() == null) { + columns.get(0).setNullable(false); + // set to false, see bugzilla 280169 + columns.get(0).setUnique(false); + } + + for (Column column : columns) { + addColumn(propertyElement, pef, column, isNullable, + setColumnAttributesInProperty); + } + + // do the formula part + if (hbFeature.getFormula() != null) { + propertyElement.addElement("formula").addText( + hbFeature.getFormula().getValue()); + } + } + + protected String getColumnName(PAnnotatedEStructuralFeature pef) { + if (getHbmContext().getEmbeddingFeature() != null) { // embedded + // TODO: check illegal, embedded component can not really have an id + final PAnnotatedEStructuralFeature embeddingFeature = getHbmContext() + .getEmbeddingFeature(); + return getHbmContext().getSqlNameStrategy().getColumnName(pef, + embeddingFeature.getModelEStructuralFeature().getName()); + } else { + return getHbmContext().getSqlNameStrategy() + .getColumnName(pef, null); + } + } + + /** + * Add a comment element, if the eModelElement has documentation, returns + * the comment element + */ + protected Element addCommentElement(EModelElement eModelElement, + Element hbmElement) { + if (hbmContext.getMaximumCommentLength() == 0) { + return null; + } + final String commentData = EcoreUtil.getDocumentation(eModelElement); + if (commentData != null) { + final Element comment = hbmElement.addElement("comment"); + String commentText = commentData.replace('\'', ' ').replace('"', + ' '); + if (commentText.length() > hbmContext.getMaximumCommentLength()) { + commentText = commentText.substring(0, + hbmContext.getMaximumCommentLength()); + } + comment.addText(commentText); + return comment; + } + return null; + } + + /** Adds anytype columns */ + protected List<Column> getAnyTypeColumns(String featureName, + boolean isNullable) { + final ArrayList<Column> result = new ArrayList<Column>(); + final Column typeColumn = PannotationFactory.eINSTANCE.createColumn(); + typeColumn.setName(hbmContext.trunc(null, featureName + "_type")); + typeColumn.setNullable(isNullable); + result.add(typeColumn); + final Column idColumn = PannotationFactory.eINSTANCE.createColumn(); + idColumn.setName(hbmContext.trunc(null, featureName + "_id")); + idColumn.setNullable(isNullable); + result.add(idColumn); + return result; + } + + /** + * Returns the (possibly overridden) columns annotation for the given + * attribute. + */ + protected List<Column> getColumns(PAnnotatedEStructuralFeature paFeature) { + final Column defaultColumn = paFeature.getColumn(); + final Column oc = getHbmContext().getAttributeOverride(paFeature); + + if (oc != null) { + final ArrayList<Column> result = new ArrayList<Column>(); + result.add(oc); + return result; + } + // try multiple columns + final HbAnnotatedETypeElement hae = (HbAnnotatedETypeElement) paFeature; + if (hae.getHbColumns().size() > 0) { + return hae.getHbColumns(); + } + final ArrayList<Column> result = new ArrayList<Column>(); + if (defaultColumn != null) { + result.add(defaultColumn); + } + return result; + } + + /** Sets property attributes on the basis of the column */ + private void addColumn(Element propertyElement, + PAnnotatedEStructuralFeature pef, Column column, + boolean isNullable, boolean setColumnAttributesInProperty) { + if (column != null) { + if (setColumnAttributesInProperty) { + // this is not the nicest place to do this + if (propertyElement.getName().compareTo("property") == 0 + || propertyElement.getName().compareTo("many-to-one") == 0) { + propertyElement.addAttribute("insert", + column.isInsertable() ? "true" : "false"); + propertyElement.addAttribute("update", + column.isUpdatable() ? "true" : "false"); + } + // MT: I think that the column nullability should not be used + // for setting not-null + // on the property, this is already specified by the optional + // attribute on the + // basic annotation. Maybe a check can be used instead to detect + // inconsistenties + // in the column attributes and the basic ann. + // Note that the ejb3 spec says that optional should be + // disregarded for primitive + // types which I + // do not understand. + // I disabled it for now to ignore for the test cases. + // MT05032006: After some more thought the column nullability + // can be used in case of + // single table inheritance mapping + if (!propertyElement.getName().equals("any")) { + propertyElement.addAttribute("not-null", isNullable + || column.isNullable() ? "false" : "true"); + } + propertyElement.addAttribute("unique", + column.isUnique() ? "true" : "false"); + } + addColumnElement(propertyElement, pef, column, isNullable); + } + } + + protected void mapFilter(Element parentElement, List<Filter> filters) { + for (Filter filter : filters) { + final Element filterElement = parentElement.addElement("filter"); + filterElement.addAttribute("name", filter.getName()); + if (filter.getCondition() != null) { + filterElement.addAttribute("condition", filter.getCondition()); + } + } + } + + /** + * Creates cascades for onetoone/manytoone, they differ from many relations + * because no delete-orphan is supported. + * + * @param associationElement + * : the element to which the cascades are added. + * @param cascade + * : list of cascade annotation types + * @param addDeleteOrphan + * : if true then delete-orphan is added in case of cascade all + */ + protected void addCascades(Element associationElement, + List<HbCascadeType> cascades, boolean addDeleteOrphan) { + if (!cascades.isEmpty()) { + StringBuffer sb = new StringBuffer(); + for (HbCascadeType cascade : cascades) { + if (cascade == HbCascadeType.ALL) { + sb.append("all,"); // assuming all appears alone + if (addDeleteOrphan) { + // note comma at the end is trimmed off below + sb.append("delete-orphan,"); + } + break; + } else if (cascade == HbCascadeType.PERSIST) { + sb.append("persist,"); + } else if (cascade == HbCascadeType.MERGE) { + sb.append("merge,"); + } else if (cascade == HbCascadeType.REFRESH) { + sb.append("refresh,"); + } else if (cascade == HbCascadeType.REMOVE) { + sb.append("delete,"); + } else if (cascade == HbCascadeType.DELETE) { + sb.append("delete,"); + } else if (cascade == HbCascadeType.DELETE_ORPHAN) { + sb.append("delete-orphan,"); + } else if (cascade == HbCascadeType.EVICT) { + sb.append("evict,"); + } else if (cascade == HbCascadeType.LOCK) { + sb.append("lock,"); + } else if (cascade == HbCascadeType.REPLICATE) { + sb.append("replicate,"); + } else if (cascade == HbCascadeType.SAVE_UPDATE) { + sb.append("save-update,"); + } else { + throw new MappingException("Cascade " + cascade.getName() + + " not supported"); + } + } + associationElement.addAttribute("cascade", + sb.substring(0, sb.length() - 1)); + } + } + + /** + * Create an any Element + */ + public Element createAny(String name, + PAnnotatedEStructuralFeature paFeature, Any any, + AnyMetaDef anyMetaDef, boolean isMany) { + + final AnyMetaDef localAnyMetaDef; + if (anyMetaDef == null) { + localAnyMetaDef = HbannotationFactory.eINSTANCE.createAnyMetaDef(); + localAnyMetaDef.setIdType("long"); + } else { + localAnyMetaDef = anyMetaDef; + } + final Any localAny; + if (any == null) { + localAny = HbannotationFactory.eINSTANCE.createAny(); + } else { + localAny = any; + } + + final String tagName; + if (isMany) { + tagName = "many-to-any"; + } else { + tagName = "any"; + } + + // don't know how to create an element, so add an remove it... + final Element anyElement = getHbmContext().getCurrent() + .addElement(tagName) + .addAttribute("id-type", localAnyMetaDef.getIdType()) + .addAttribute("meta-type", localAnyMetaDef.getMetaType()); + getHbmContext().getCurrent().remove(anyElement); + + if (!isMany) { + anyElement.addAttribute("name", name); + final List<HbCascadeType> cascades = new ArrayList<HbCascadeType>(); + if (paFeature instanceof HbAnnotatedEReference) { + if (((HbAnnotatedEReference) paFeature).getHbCascade() == null) { + cascades.add(HbCascadeType.ALL); + } else { + cascades.addAll(((HbAnnotatedEReference) paFeature) + .getHbCascade().getValue()); + } + } else { + cascades.add(HbCascadeType.ALL); + } + addCascades(anyElement, cascades, isMany); + } + + final List<Column> columns = new ArrayList<Column>(); + if (localAny.getMetaColumn() != null) { + columns.add(localAny.getMetaColumn()); + } else { + final Column typeColumn = PannotationFactory.eINSTANCE + .createColumn(); + // bugzilla 294201, trunc is also done later in addColumn + // typeColumn.setName(hbmContext.trunc(paFeature.getModelEStructuralFeature().getName() + // + "_type")); + typeColumn.setName(paFeature.getModelEStructuralFeature().getName() + + "_type"); + typeColumn.setNullable(localAny.isOptional()); + columns.add(typeColumn); + } + + if (paFeature.getColumn() != null) { + columns.add(paFeature.getColumn()); + } else { + final Column idColumn = PannotationFactory.eINSTANCE.createColumn(); + // bugzilla 294201, trunc is also done later in addColumn + // idColumn.setName(hbmContext.trunc(paFeature.getModelEStructuralFeature().getName() + // + "_id")); + idColumn.setName(paFeature.getModelEStructuralFeature().getName() + + "_id"); + idColumn.setNullable(localAny.isOptional()); + columns.add(idColumn); + } + addColumnsAndFormula(anyElement, paFeature, columns, paFeature + .getModelEStructuralFeature().isRequired(), false); + return anyElement; + } + + /** + * Add a columnelement to the property, takes into account length, precision + * etc. forceNullable is set when the feature belongs to a featuremap + */ + private void addColumnElement(Element propertyElement, + PAnnotatedEStructuralFeature pef, Column column, + boolean forceNullable) { + if (column != null) { + Element columnElement = propertyElement + .addElement("column") + .addAttribute( + "not-null", + column.isNullable() || forceNullable ? "false" + : "true") + .addAttribute("unique", + column.isUnique() ? "true" : "false"); + final String name; + if (column.getName() != null) { + name = column.getName(); + } else { + if (getHbmContext().getEmbeddingFeature() != null) { // embedded + // TODO: check illegal, embedded component can not really + // have an id + final PAnnotatedEStructuralFeature embeddingFeature = getHbmContext() + .getEmbeddingFeature(); + name = getHbmContext().getSqlNameStrategy().getColumnName( + pef, + embeddingFeature.getModelEStructuralFeature() + .getName()); + } else { + name = getHbmContext().getSqlNameStrategy().getColumnName( + pef, null); + } + } + if (column.getUniqueKey() != null) { + columnElement.addAttribute("unique-key", column.getUniqueKey()); + } + columnElement.addAttribute("name", + getHbmContext().trunc(column, name)); + if (column.isSetLength()) { + columnElement.addAttribute("length", + Integer.toString(column.getLength())); + } + if (column.isSetPrecision()) { + columnElement.addAttribute("precision", + Integer.toString(column.getPrecision())); + } + if (column.isSetScale()) { + columnElement.addAttribute("scale", + Integer.toString(column.getScale())); + } + if (column.getColumnDefinition() != null) { + columnElement.addAttribute("sql-type", + column.getColumnDefinition()); + } + final String uc = getHbmContext().getUniqueConstraintKey(name); + if (uc != null) { + columnElement.addAttribute("unique-key", uc); + } + if (pef instanceof HbAnnotatedETypeElement + && ((HbAnnotatedETypeElement) pef).getHbIndex() != null) { + final Index index = ((HbAnnotatedETypeElement) pef) + .getHbIndex(); + columnElement.addAttribute("index", index.getName()); + } + + // --- JJH, adapted by MT + addCommentElement(pef.getModelElement(), columnElement); + // --- JJH + } + } + + /** Add the ondelete mapping to the key */ + protected void handleOndelete(Element keyElement, OnDelete onDelete) { + // if (true || onDelete == null) { + // return; + // } + // + // if (onDelete.getAction().equals(OnDeleteAction.CASCADE)) { + // keyElement.addAttribute("on-delete", "cascade"); + // } else { + // keyElement.addAttribute("on-delete", "noaction"); + // } + } + + /** Returns true if the target is the general EObject type */ + protected boolean isEObject(String typeName) { + if (typeName == null) { + return false; + } + return typeName.compareTo(EntityNameStrategy.EOBJECT_ECLASS_NAME) == 0; + } +}
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/BasicMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/BasicMapper.java new file mode 100755 index 000000000..ea3bd89db --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/BasicMapper.java @@ -0,0 +1,293 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal + * </copyright> $Id: BasicMapper.java,v 1.37 2010/02/04 11:03:49 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.util.List; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.util.FeatureMapUtil; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pannotation.Basic; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.annotations.pannotation.FetchType; +import org.eclipse.emf.teneo.annotations.pannotation.ManyToOne; +import org.eclipse.emf.teneo.annotations.pannotation.PannotationFactory; +import org.eclipse.emf.teneo.annotations.pannotation.TemporalType; +import org.eclipse.emf.teneo.extension.ExtensionPoint; +import org.eclipse.emf.teneo.hibernate.hbannotation.Index; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement; +import org.eclipse.emf.teneo.simpledom.Element; + +/** + * Maps a basic element to its mapping Context. + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class BasicMapper extends AbstractMapper implements ExtensionPoint { + + /** Log it all */ + private static final Log log = LogFactory.getLog(BasicMapper.class); + + /** + * Generate hb mapping for the given basic attribute. + */ + public void processBasic(PAnnotatedEAttribute paAttribute) { + if (FeatureMapUtil.isFeatureMap(paAttribute.getModelEAttribute())) { + processFeatureMap(paAttribute); + return; + } + log.debug("processBasic " + paAttribute.getModelEAttribute().getName()); + + final EAttribute eattr = paAttribute.getModelEAttribute(); + final String attrName = getHbmContext().getPropertyName(eattr); + final Element propElement = getHbmContext().getCurrent().addElement("property").addAttribute("name", attrName); + + Basic basic = paAttribute.getBasic(); + if (basic == null) { + basic = PannotationFactory.eINSTANCE.createBasic(); + } + + propElement.addAttribute("lazy", FetchType.LAZY.equals(basic.getFetch()) ? "true" : "false"); + addColumnsAndFormula(propElement, paAttribute, getColumns(paAttribute), isNullable(basic, paAttribute), true); + // todo check: not-null is also set in the call to addcolumns, decide + // were to do what! + final boolean isNullable = isNullable(basic, paAttribute); + propElement.addAttribute("not-null", isNullable ? "false" : "true"); + setType(paAttribute, propElement); + + if (((HbAnnotatedEAttribute) paAttribute).getGenerated() != null + && ((HbAnnotatedEAttribute) paAttribute).getGenerated().getValue() != null) { + propElement.addAttribute("generated", ((HbAnnotatedEAttribute) paAttribute).getGenerated().getValue() + .getName().toLowerCase()); + } + + if (((HbAnnotatedEAttribute) paAttribute).getHbIndex() != null) { + final Index index = ((HbAnnotatedEAttribute) paAttribute).getHbIndex(); + propElement.addAttribute("index", index.getName()); + } + + addAccessor(propElement); + addNaturalId((HbAnnotatedEAttribute) paAttribute, propElement); + } + + public void processFeatureMap(PAnnotatedEAttribute paAttribute) { + if (getHbmContext().getPersistenceOptions().isMapFeatureMapAsComponent()) { + final String name = getHbmContext().getPropertyName(paAttribute.getModelEAttribute()); + final FeatureMapMapping fmm = new FeatureMapMapping(getHbmContext(), paAttribute); + final Element element = getHbmContext().getCurrent().addElement("component").addAttribute("name", name); + fmm.setCompositeElement(element); + fmm.process(); + } else { + FeatureMapMapping fmm = new FeatureMapMapping(getHbmContext(), paAttribute); + getHbmContext().addFeatureMapMapper(fmm); + final String name = getHbmContext().getPropertyName(paAttribute.getModelEAttribute()); + getHbmContext().getCurrent().addElement("many-to-one").addAttribute("name", name).addAttribute( + "entity-name", fmm.getEntityName()).addAttribute("cascade", "all") + .addAttribute("not-null", "false"); + } + } + + /** Processes an EReference which should be stored as an URI */ + public void processExternalEReference(PAnnotatedEReference paReference) { + log.debug("processExternal " + paReference.getModelEReference().getName()); + + final EReference eref = paReference.getModelEReference(); + final String propName = getHbmContext().getPropertyName(eref); + final Element propElement = getHbmContext().getCurrent().addElement("property").addAttribute("name", propName); + + ManyToOne mto = paReference.getManyToOne(); + if (mto == null) { + mto = PannotationFactory.eINSTANCE.createManyToOne(); + } + + propElement.addAttribute("lazy", FetchType.LAZY.equals(mto.getFetch()) ? "true" : "false"); + final boolean isNullable = isNullable(mto, paReference); + addColumnsAndFormula(propElement, paReference, getColumns(paReference), isNullable, true); + // todo check: not-null is also set in the call to addcolumns, decide + // were to do what! + propElement.addAttribute("not-null", isNullable ? "false" : "true"); + setType(paReference, propElement); + + if (((HbAnnotatedETypeElement) paReference).getHbIndex() != null) { + final Index index = ((HbAnnotatedETypeElement) paReference).getHbIndex(); + propElement.addAttribute("index", index.getName()); + } + + addAccessor(propElement); + } + + /** + * Generate hb mapping for the given temporal attribute. + */ + public void processTemporal(PAnnotatedEAttribute paAttribute) { + log.debug("processTemporal " + paAttribute.getModelEAttribute().getName()); + + TemporalType tt = paAttribute.getTemporal().getValue(); + final String attrName = getHbmContext().getPropertyName(paAttribute.getModelEAttribute()); + log.debug("addProperty: " + attrName + " temporal " + tt.getName()); + + final Element propElement = getHbmContext().getCurrent().addElement("property").addAttribute("name", attrName); + + Basic basic = paAttribute.getBasic(); + if (basic == null) { + basic = PannotationFactory.eINSTANCE.createBasic(); + } + + propElement.addAttribute("lazy", FetchType.LAZY.equals(basic.getFetch()) ? "true" : "false"); + addColumnsAndFormula(propElement, paAttribute, getColumns(paAttribute), isNullable(basic, paAttribute), true); + // todo check: not-null is also set in the call to addcolumns, decide + // were to do what! + propElement.addAttribute("not-null", isNullable(basic, paAttribute) ? "false" : "true"); + + if (((HbAnnotatedEAttribute) paAttribute).getGenerated() != null + && ((HbAnnotatedEAttribute) paAttribute).getGenerated().getValue() != null) { + propElement.addAttribute("generated", ((HbAnnotatedEAttribute) paAttribute).getGenerated().getValue() + .getName().toLowerCase()); + } + + // #191463 + setType(paAttribute, propElement); + + addAccessor(propElement); + addNaturalId((HbAnnotatedEAttribute) paAttribute, propElement); + } + + /** + * Generate hb mapping for the given lob attribute. + */ + public void processLob(PAnnotatedEAttribute paAttribute) { + final EAttribute eAttribute = paAttribute.getModelEAttribute(); + log.debug("processLob " + eAttribute.getName()); + + final Element propElement = getHbmContext().getCurrent().addElement("property"); + propElement.addAttribute("name", getHbmContext().getPropertyName(eAttribute)); + + Basic basic = paAttribute.getBasic(); + if (basic == null) { + basic = PannotationFactory.eINSTANCE.createBasic(); + } + + propElement.addAttribute("lazy", FetchType.LAZY.equals(basic.getFetch()) ? "true" : "false"); + addColumnsAndFormula(propElement, paAttribute, getColumns(paAttribute), isNullable(basic, paAttribute), true); + final boolean isNullable = isNullable(basic, paAttribute); +// final boolean isNullable2 = isNullable(basic, paAttribute); + propElement.addAttribute("not-null", isNullable ? "false" : "true"); + setType(paAttribute, propElement); + + addAccessor(propElement); + addNaturalId((HbAnnotatedEAttribute) paAttribute, propElement); + } + + /** + * Generate hb mapping for the given enum attribute. + */ + public void processEnum(PAnnotatedEAttribute paAttribute) { + log.debug("processEnum " + paAttribute.getModelEAttribute()); + + Basic basic = paAttribute.getBasic(); + if (basic == null) { + basic = PannotationFactory.eINSTANCE.createBasic(); + } + + final List<Column> columns = getColumns(paAttribute); + final Element propElement = getHbmContext().getCurrent().addElement("property").addAttribute("name", + getHbmContext().getPropertyName(paAttribute.getModelEAttribute())); + propElement.addAttribute("lazy", FetchType.LAZY.equals(basic.getFetch()) ? "true" : "false"); + propElement.addAttribute("not-null", isNullable(basic, paAttribute) ? "false" : "true"); + addColumnsAndFormula(propElement, paAttribute, columns, isNullable(basic, paAttribute) + || getHbmContext().isCurrentElementFeatureMap(), true); + setType(paAttribute, propElement); + + addAccessor(propElement); + addNaturalId((HbAnnotatedEAttribute) paAttribute, propElement); + } + + /** + * Generate hb mapping for the given version attribute. + */ + public void processVersion(PAnnotatedEAttribute paAttribute) { + if (log.isDebugEnabled()) { + log.debug("Generating version for " + paAttribute.getModelEAttribute().getName()); + } + final EAttribute eAttribute = paAttribute.getModelEAttribute(); + final Element propElement = getHbmContext().getCurrent().addElement("version").addAttribute("name", + eAttribute.getName()); + List<Column> columns = getColumns(paAttribute); + if (columns.size() > 1) { + log.warn("Version has more than one attribute, only using the first one, eclass: " + + paAttribute.getModelEAttribute().getEContainingClass().getName()); + } + addColumnsAndFormula(propElement, paAttribute, columns, getHbmContext().isCurrentElementFeatureMap(), false); + setType(paAttribute, propElement); + + addAccessor(propElement, hbmContext.getVersionPropertyHandlerName()); + addNaturalId((HbAnnotatedEAttribute) paAttribute, propElement); + } + + protected void addNaturalId(HbAnnotatedEAttribute hbAttr, Element element) { + + if (hbAttr.getNaturalId() != null) { + element + .addAttribute(HbMapperConstants.NATURAL_ID_ATTR, Boolean + .toString(hbAttr.getNaturalId().isMutable())); + } + + } + + /** + * Ignore transient attributes. + */ + public void processTransient(PAnnotatedEStructuralFeature paFeature) { + if (log.isDebugEnabled()) { + log.debug("Skipping transient feature for " + paFeature.getModelEStructuralFeature().getName()); + } + } + + /** + * A prop is nullable if the basic is optional or the feature is part of a featuremap. The last reason is because + * featuremapentries will have all the features of the featuremap with only one of them filled. + */ + private boolean isNullable(Basic basic, PAnnotatedEAttribute aattr) { + // actually aattr.getColumn() should never be null as the default + // annotator + // always adds columns... + // has been changed from this commented code to the code below because + // of bugzilla: 224536 which gives the column annotation precedence + // over the basis annotation. + // return getHbmContext().isForceOptional() || basic.isOptional() || + // getHbmContext().isCurrentElementFeatureMap() && + // (aattr.getColumn() != null || aattr.getColumn().isNullable()); + return getHbmContext().isDoForceOptional(aattr) + || ((aattr.getColumn() == null || !aattr.getColumn().isSetNullable()) && basic.isOptional()) + || getHbmContext().isCurrentElementFeatureMap() + || (aattr.getColumn() != null && aattr.getColumn().isNullable()); + } + + private boolean isNullable(ManyToOne mto, PAnnotatedEStructuralFeature paFeature) { + // actually aattr.getColumn() should never be null as the default + // annotator + // always adds columns... + // has been changed from this commented code to the code below because + // of bugzilla: 224536 which gives the column annotation precedence + // over the basis annotation. + // return getHbmContext().isForceOptional() || basic.isOptional() || + // getHbmContext().isCurrentElementFeatureMap() && + // (aattr.getColumn() != null || aattr.getColumn().isNullable()); + return getHbmContext().isDoForceOptional(paFeature) + || ((paFeature.getColumn() == null || !paFeature.getColumn().isSetNullable()) && mto.isOptional()) + || getHbmContext().isCurrentElementFeatureMap() + || (paFeature.getColumn() != null && paFeature.getColumn().isNullable()); + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/EmbeddedMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/EmbeddedMapper.java new file mode 100755 index 000000000..f937d7765 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/EmbeddedMapper.java @@ -0,0 +1,140 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: EmbeddedMapper.java,v 1.20 2010/08/18 12:21:13 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.extension.ExtensionPoint; +import org.eclipse.emf.teneo.simpledom.Element; + +/** + * Maps Embedded properties. + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class EmbeddedMapper extends AbstractMapper implements ExtensionPoint { + + // the logger + private static final Log log = LogFactory.getLog(EmbeddedMapper.class); + + /** + * Process Embedded object + */ + public void process(PAnnotatedEReference paReference) { + log.debug("Processing embedded: " + paReference.toString()); + + // push the current overrides + getHbmContext().pushOverrideOnStack(); + // and add our own + getHbmContext().addAttributeOverrides( + paReference.getAttributeOverrides()); + getHbmContext().addAssociationOverrides( + paReference.getAssociationOverrides()); + + // push the feature is used for automatic renaming + getHbmContext().pushEmbeddingFeature(paReference); + try { + // make a difference between a many-to-one component and + // multi-component + if (paReference.getManyToOne() != null) { + processSingleEmbedded(paReference, paReference + .getModelEReference().getEReferenceType()); + } else if (paReference.getOneToOne() != null) { + processSingleEmbedded(paReference, paReference + .getModelEReference().getEReferenceType()); + } else { + if (paReference.getManyToMany() != null) { + throw new MappingException( + "ManyToMany can not be combined with Embedded " + + paReference); + } else if (paReference.getOneToMany() == null) { + throw new MappingException( + "OneToMany must be set for embedded elist type: " + + paReference); + } + + // only one to many + processMultiEmbedded(paReference); + } + } finally { + // and continue with the previous set of overrides + getHbmContext().popOverrideStack(); + getHbmContext().popEmbeddingFeature(); + } + } + + /** Process a many-to-one component */ + private void processSingleEmbedded(PAnnotatedEReference paReference, + EClass target) { + log.debug("Processing single embedded: " + paReference.toString()); + + final Element componentElement = getHbmContext().getCurrent() + .addElement("component").addAttribute("name", + paReference.getModelEReference().getName()); + + // todo: change recognizing a component to using metadata! + // then the class tag can point to a real impl. class@ + componentElement.addAttribute("class", getHbmContext() + .getInstanceClassName(target)); // implClass + + final Element meta1 = new Element("meta"); + meta1.addAttribute("attribute", HbMapperConstants.ECLASS_NAME_META).addText(paReference.getEReferenceType().getName()); + meta1.addAttribute("inherit", "false"); + + final Element meta2 = new Element("meta"); + meta2.addAttribute("attribute", HbMapperConstants.EPACKAGE_META).addText( + paReference.getEReferenceType().getEPackage().getNsURI()); + meta1.addAttribute("inherit", "false"); + componentElement.addElement(meta1); + componentElement.addElement(meta2); + + // . + // getName + // ( + // ) + // ) + // ; + getHbmContext().setCurrent(componentElement); + try { + // process the features of the target + final PAnnotatedEClass componentAClass = paReference.getPaModel() + .getPAnnotated( + paReference.getModelEReference() + .getEReferenceType()); + + getHbmContext().processFeatures(getAllFeatures(componentAClass)); + } finally { + getHbmContext().setCurrent(componentElement.getParent()); + } + + addAccessor(componentElement, hbmContext + .getComponentPropertyHandlerName()); + } + + /** Process a list of components */ + private void processMultiEmbedded(PAnnotatedEReference paReference) { + log.debug("Processing multi embedded: " + paReference.toString()); + + // let the featureprocessor handle this, the one to many is handled by + // the OneToManyMapper + getHbmContext().getFeatureMapper().getOneToManyMapper().process( + paReference); + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/EntityMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/EntityMapper.java new file mode 100755 index 000000000..cdbda5053 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/EntityMapper.java @@ -0,0 +1,871 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal + * </copyright> $Id: EntityMapper.java,v 1.55 2011/10/29 06:13:50 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.teneo.Constants; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn; +import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType; +import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorValue; +import org.eclipse.emf.teneo.annotations.pannotation.InheritanceType; +import org.eclipse.emf.teneo.annotations.pannotation.PannotationFactory; +import org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn; +import org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable; +import org.eclipse.emf.teneo.annotations.pannotation.Table; +import org.eclipse.emf.teneo.extension.ExtensionPoint; +import org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula; +import org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity; +import org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass; +import org.eclipse.emf.teneo.simpledom.DocumentHelper; +import org.eclipse.emf.teneo.simpledom.Element; + +/** + * Maps the entity and its features, also takes care of embedded superclass + * mapping. + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class EntityMapper extends AbstractMapper implements ExtensionPoint { + + /** Log it all */ + private static final Log log = LogFactory.getLog(EntityMapper.class); + + /** Convenience maps to inheritance strategy names and discriminator types */ + private static final String[] INHERITANCE_STRATEGY_NAMES; + + private static final String[] DISCRIMINATOR_TYPE_NAMES; + + /** Initialize the global arrays */ + static { + INHERITANCE_STRATEGY_NAMES = new String[InheritanceType.VALUES.size()]; + INHERITANCE_STRATEGY_NAMES[InheritanceType.JOINED.getValue()] = "joined-subclass"; + INHERITANCE_STRATEGY_NAMES[InheritanceType.SINGLE_TABLE.getValue()] = "subclass"; + INHERITANCE_STRATEGY_NAMES[InheritanceType.TABLE_PER_CLASS.getValue()] = "union-subclass"; + + DISCRIMINATOR_TYPE_NAMES = new String[DiscriminatorType.VALUES.size()]; + DISCRIMINATOR_TYPE_NAMES[DiscriminatorType.CHAR.getValue()] = "character"; + DISCRIMINATOR_TYPE_NAMES[DiscriminatorType.INTEGER.getValue()] = "integer"; + DISCRIMINATOR_TYPE_NAMES[DiscriminatorType.STRING.getValue()] = "string"; + } + + // Key used for grouping properties to the primary and secondary tables. + private final String PRIMARY_TABLE_KEY = null; + + /** + * @return Return the name used by hibernate to denote the given inheritance + * type. If the argument is null, the default inheritance type + * (SINGLE_TABLE) is used instead. + */ + private static String hbInheritanceName(InheritanceType inheritanceType) { + return EntityMapper.INHERITANCE_STRATEGY_NAMES[inheritanceType != null ? inheritanceType + .getValue() : InheritanceType.SINGLE_TABLE.getValue()]; + } + + /** + * @return Return the name used by hibernate for the given dicriminator type + */ + private static String hbDiscriminatorType(DiscriminatorType dType) { + return EntityMapper.DISCRIMINATOR_TYPE_NAMES[dType == null ? DiscriminatorType.STRING + .getValue() : dType.getValue()]; + } + + /** + * @return Returns a new hibernate element for the given entity. + */ + private Element createEntity(PAnnotatedEClass entity, + InheritanceType inhStrategy, PAnnotatedEClass superEntity, + DiscriminatorValue dValue, Table table) { + // determine what type of hibernate tag should be used + final InheritanceType inheritanceStrategy = inhStrategy != null ? inhStrategy + : InheritanceType.SINGLE_TABLE; + final EClass eclass = entity.getModelEClass(); + final String hbClassName; + if (entity.getEavMapping() != null) { + hbClassName = EntityMapper + .hbInheritanceName(InheritanceType.SINGLE_TABLE); + } else if (superEntity == null) { + hbClassName = "class"; + } else { + hbClassName = EntityMapper.hbInheritanceName(inheritanceStrategy); + } + + log.debug("Creating entity tag " + hbClassName); + + final Element target; + + final String entityName = getHbmContext().getEntityName(eclass); + final String isAbstractStr = eclass.isAbstract() ? "true" : "false"; + final boolean doProxy = ((HbAnnotatedEClass) entity).getHbProxy() != null + && ((HbAnnotatedEClass) entity).getHbProxy().isLazy(); + if (entity.isOnlyMapAsEntity()) { + target = getHbmContext().getCurrent().addElement(hbClassName) + .addAttribute("entity-name", entityName) + .addAttribute("abstract", isAbstractStr) + .addAttribute("lazy", "false"); + + // note for composite ids the name must be set always! + // entity.getAnnotatedEClass().getInstanceClass() != null) { // + // || + // entity.getAnnotatedEClass().getInstanceClass() != null || + if (hasCompositeID(entity)) { // only for this specific case + // it is + // required to have the impl.name + target.addAttribute("name", hbmContext + .getInstanceClassName(entity.getModelEClass())); + } + } else if (getHbmContext().forceUseOfInstance(entity)) { + + final Element importElement = new Element("import"); + + importElement.addAttribute("class", + hbmContext.getInstanceClassName(entity.getModelEClass())) + .addAttribute("rename", entityName); + getHbmContext().getCurrent().add(getImportIndex(), importElement); + + target = getHbmContext() + .getCurrent() + .addElement(hbClassName) + .addAttribute( + "name", + hbmContext.getInstanceClassName(entity + .getModelEClass())) + .addAttribute("abstract", isAbstractStr) + .addAttribute("lazy", doProxy ? "true" : "false"); + } else { + // don't specify the name as it is a dynamic eobject + if (getHbmContext().getInstanceClass(entity.getModelEClass()) == null) { + target = getHbmContext().getCurrent().addElement(hbClassName) + .addAttribute("entity-name", entityName) + .addAttribute("abstract", isAbstractStr) + .addAttribute("lazy", doProxy ? "true" : "false"); + } else { + target = getHbmContext() + .getCurrent() + .addElement(hbClassName) + .addAttribute( + "name", + hbmContext.getInstanceClassName(entity + .getModelEClass())) + .addAttribute("entity-name", entityName) + .addAttribute("abstract", isAbstractStr) + .addAttribute("lazy", doProxy ? "true" : "false"); + } + } + + final HbAnnotatedEClass hbEntity = (HbAnnotatedEClass) entity; + // TODO: the immutable on the eclass should be removed as it is now + // covered through the HbEntity + if (superEntity == null && hbEntity.getImmutable() != null) { + target.addAttribute("mutable", "false"); + } + + if (hbEntity.getBatchSize() != null) { + target.addAttribute("batch-size", "" + + hbEntity.getBatchSize().getSize()); + } + + if (hbEntity.getHbEntity() != null) { + final HbEntity hbEntityAnnon = hbEntity.getHbEntity(); + if (superEntity == null) { + if (!hbEntityAnnon.isMutable() + && target.getAttributeValue("mutable") == null) { + target.addAttribute("mutable", "false"); + } + if (hbEntityAnnon.getPolymorphism() != null) { + target.addAttribute("polymorphism", hbEntityAnnon + .getPolymorphism().getName().toLowerCase()); + } + if (hbEntityAnnon.getOptimisticLock() != null) { + target.addAttribute("optimistic-lock", hbEntityAnnon + .getOptimisticLock().getName().toLowerCase()); + } + } + if (hbEntityAnnon.isDynamicInsert()) { + target.addAttribute("dynamic-insert", "true"); + } + if (hbEntityAnnon.isDynamicUpdate()) { + target.addAttribute("dynamic-update", "true"); + } + if (hbEntityAnnon.isSelectBeforeUpdate()) { + target.addAttribute("select-before-update", "true"); + } + if (hbEntityAnnon.getPersister() != null) { + target.addAttribute("persister", hbEntityAnnon.getPersister()); + } + + } + + if (superEntity != null) { + final String extendsEntity; + if (superEntity.isOnlyMapAsEntity() + || !getHbmContext().forceUseOfInstance(superEntity)) { + extendsEntity = getHbmContext().getEntityName( + superEntity.getModelEClass()); + } else { + extendsEntity = getHbmContext().getInstanceClassName( + superEntity.getModelEClass()); + } + target.addAttribute("extends", extendsEntity); + log.debug("Extends " + extendsEntity); + } + + if (entity.getEavMapping() != null) { + if (superEntity == null) { + target.addAttribute("extends", + Constants.EAV_EOBJECT_ENTITY_NAME); + } + + target.addAttribute("discriminator-value", dValue.getValue()); + + if (((HbAnnotatedEClass) entity).getHbProxy() != null + && ((HbAnnotatedEClass) entity).getHbProxy() + .getProxyClass() != null) { + final String proxyInterfaceName = ((HbAnnotatedEClass) entity) + .getHbProxy().getProxyClass(); + target.addAttribute("proxy", proxyInterfaceName); + } + // stop here for eav + return target; + } + + if (dValue != null + && !target.getName().equals( + INHERITANCE_STRATEGY_NAMES[InheritanceType.JOINED + .getValue()]) + && !target.getName().equals( + InheritanceType.TABLE_PER_CLASS.getValue())) { + target.addAttribute("discriminator-value", dValue.getValue()); + log.debug("DValue " + dValue.getValue()); + } + + if (table != null + && hbClassName + .compareTo(INHERITANCE_STRATEGY_NAMES[InheritanceType.SINGLE_TABLE + .getValue()]) == 0) { + log.warn("EClass/Entity (" + + entityName + + ") is mapped as subclass in a single table with its superclass but it also has a table annotation. This table annotation is ignored."); + } else if (table != null) { + if (table.getName() != null) { + target.addAttribute("table", + getHbmContext().trunc(table, table.getName(), false)); + log.debug("Table " + table.getName()); + } + if (table.getSchema() != null) { + target.addAttribute("schema", + getHbmContext().trunc(table.getSchema(), false)); + log.debug("Schema " + table.getSchema()); + } + if (table.getCatalog() != null) { + target.addAttribute("catalog", + getHbmContext().trunc(table.getCatalog(), false)); + log.debug("Catalog " + table.getCatalog()); + } + } + + if (((HbAnnotatedEClass) entity).getHbWhere() != null) { + target.addAttribute("where", ((HbAnnotatedEClass) entity) + .getHbWhere().getClause()); + } + + if (((HbAnnotatedEClass) entity).getHbProxy() != null + && ((HbAnnotatedEClass) entity).getHbProxy().getProxyClass() != null) { + final String proxyInterfaceName = ((HbAnnotatedEClass) entity) + .getHbProxy().getProxyClass(); + target.addAttribute("proxy", proxyInterfaceName); + } + + return target; + } + + /** Return index were to place the import */ + protected int getImportIndex() { + final List<?> children = getHbmContext().getCurrent().getChildren(); + int defaultResult = 0; + for (int i = 0; i < children.size(); i++) { + final Element e = (Element) children.get(i); + final String name = e.getName(); + if (name.compareTo("class") == 0 || name.compareTo("subclass") == 0 + || name.compareTo("joined-subclass") == 0 + || name.compareTo("union-subclass") == 0) { + return i; + } + if (name.compareTo("typedef") == 0 || name.compareTo("meta") == 0) { + defaultResult = i + 1; + } + } + return defaultResult; + } + + /** Returns true if this entity or one of its superclasses has an idclass */ + private boolean hasCompositeID(PAnnotatedEClass aClass) { + if (aClass.getIdClass() != null) { + return true; + } + if (aClass.getPaSuperEntity() != null) { + return hasCompositeID(aClass.getPaSuperEntity()); + } + for (PAnnotatedEClass superAClass : aClass.getPaMappedSupers()) { + if (hasCompositeID(superAClass)) { + return true; + } + } + { + List<PAnnotatedEStructuralFeature> features = aClass + .getPaEStructuralFeatures(); + for (PAnnotatedEStructuralFeature feature : features) { + if (feature instanceof PAnnotatedEReference + && ((PAnnotatedEReference) feature).getEmbeddedId() != null) { + return true; + } + } + } + return false; + } + + /** + * Maps the given entity in its hbm context. + */ + public void processEntity(PAnnotatedEClass entity) { + if (log.isDebugEnabled()) { + log.debug("Mapping Entity " + entity); + } + + final HbAnnotatedEClass hbEntity = (HbAnnotatedEClass) entity; + Element entityElement = createEntity(entity, + entity.getInheritanceStrategy(), entity.getPaSuperEntity(), + entity.getDiscriminatorValue(), entity.getTable()); + + if (entity.getEavMapping() != null) { + return; + } + + final MappingContext mc = getHbmContext(); + + mc.setCurrent(entityElement); + mc.setCurrentTable(entity.getTable()); + // MT: moved to processFeatures method because this should be done after + // the id + // element has been placed + + if (entity.getPaSuperEntity() == null + && entity.getPrimaryKeyJoinColumns() != null + && entity.getPrimaryKeyJoinColumns().size() > 0) { + log.warn("This entity (" + + entity.getEntity().getName() + + " is the root in the class hierarchy and " + + "has a pk joincolum annotation, this is not correct, ignoring pk joincolumn annotation"); + } else if (InheritanceType.SINGLE_TABLE.equals(entity + .getInheritanceStrategy()) + && entity.getPrimaryKeyJoinColumns() != null + && entity.getPrimaryKeyJoinColumns().size() > 0) { + log.warn("Single table inheritance strategy (entity " + + entity.getEntity().getName() + + ", primary key join column annotation is ignored for subclass"); + } else if (entity.getPrimaryKeyJoinColumns() != null + && entity.getPrimaryKeyJoinColumns().size() > 0) { + addPrimaryKeyJoinColumn(entity.getPrimaryKeyJoinColumns(), entity); + } else if (entity.getPaSuperEntity() != null + && InheritanceType.JOINED.equals(entity + .getInheritanceStrategy())) { + final ArrayList<PrimaryKeyJoinColumn> list = new ArrayList<PrimaryKeyJoinColumn>(); + final PrimaryKeyJoinColumn pkjc = PannotationFactory.eINSTANCE + .createPrimaryKeyJoinColumn(); + final String entityName = mc.getEntityName(entity.getModelEClass()); + mc.trunc(pkjc, entityName + "id"); // TODO improve name + // creation here + list.add(pkjc); + addPrimaryKeyJoinColumn(list, entity); + } + + try { + final List<PAnnotatedEStructuralFeature> inheritedFeatures = mc + .getInheritedFeatures(entity); + + mc.setForceOptional(entity.getPaSuperEntity() != null + && (entity.getInheritanceStrategy() == null || InheritanceType.SINGLE_TABLE + .equals(entity.getInheritanceStrategy()))); + + mc.pushOverrideOnStack(); + mc.addAttributeOverrides(entity.getAttributeOverrides()); + mc.addAssociationOverrides(entity.getAssociationOverrides()); + + if (inheritedFeatures.size() > 0) { + log.debug("There are " + inheritedFeatures.size() + + " inherited features "); + } + + try { + processFeatures(inheritedFeatures); + + final EList<SecondaryTable> secondaryTables = entity + .getSecondaryTables(); + if (secondaryTables == null || secondaryTables.isEmpty()) { + // Process features normally. + processFeatures(entity.getPaEStructuralFeatures()); + } else { + // Special processing needed for secondary tables. + processSecondaryTables(secondaryTables, entity); + } + } finally { + mc.popOverrideStack(); + } + } finally { + mc.setForceOptional(false); + mc.setCurrentTable(null); + Element idElement = entityElement.element("id"); + if (idElement == null) { + idElement = entityElement.element("composite-id"); + } + + // create a synthetic id for roots + if (idElement == null && entity.getPaSuperEntity() == null + && entity.getPaMappedSupers().size() == 0) { + idElement = IdMapper.addSyntheticId(hbmContext, entityElement); + } else if (mc.mustAddSyntheticID(entity)) { + idElement = IdMapper.addSyntheticId(hbmContext, entityElement); + } else { + addAccessor(idElement, hbmContext.getIdPropertyHandlerName()); + } + + if (idElement != null) { + int index = entityElement.indexOf(idElement) + 1; + + if (((HbAnnotatedEClass) entity).getDiscriminatorFormula() != null) { + entityElement.add( + index++, + createDiscriminatorElement( + hbEntity.getDiscriminatorFormula(), + entity.getDiscriminatorColumn(), + hbEntity.getForceDiscriminator() != null)); + } else if (entity.getDiscriminatorColumn() != null) { + // add discriminator element immediately after id element + entityElement.add( + index++, + createDiscriminatorElement( + entity.getDiscriminatorColumn(), + hbEntity.getForceDiscriminator() != null)); + } + + // create and/or move version element (if present) immediately + // after discriminator + Element versionElement = entityElement.element("version"); + if (versionElement == null) { + versionElement = addVersionProperty(hbEntity); + } + + if (null != versionElement) { // In case this is not versioned + entityElement.remove(versionElement); + entityElement.add(index, versionElement); + } + } + + mapFilter(entityElement, ((HbAnnotatedEClass) entity).getFilter()); + + mc.setCurrent(entityElement.getParent()); + + // now process the featuremap entries if any + processFeatureMapFeatures(); + int index = 1 + entityElement.getChildren().indexOf(idElement); + // check if there is a discriminator, if so put it behind that one + if (entityElement.element("discriminator") != null) { + final Element elem = entityElement.element("discriminator"); + index = 1 + entityElement.getChildren().indexOf(elem); + } + + handleNaturalId(entityElement, index); + } + + // initially the comment is placed at the back, move it to the front + final Element comment = addCommentElement(entity.getModelEClass(), + entityElement); + if (comment != null) { + entityElement.remove(comment); + entityElement.add(0, comment); + } + + // place the tuplizer at the front + mc.addTuplizerElement(entityElement, entity); + + if ((entity.getPaSuperEntity() == null || entity.getPaSuperEntity() + .getMappedSuperclass() != null) + && ((HbAnnotatedEClass) entity).getHbCache() != null) { + // then add the cache at the front + addCacheElement(entityElement, + ((HbAnnotatedEClass) entity).getHbCache()); + } + + // and add the metas at the front + final Element meta1 = new Element("meta"); + meta1.addAttribute("attribute", HbMapperConstants.ECLASS_NAME_META) + .addText(entity.getModelEClass().getName()); + meta1.addAttribute("inherit", "false"); + final Element meta2 = new Element("meta"); + meta2.addAttribute("attribute", HbMapperConstants.EPACKAGE_META) + .addText(entity.getModelEClass().getEPackage().getNsURI()); + meta2.addAttribute("inherit", "false"); + + entityElement.add(0, meta1); + entityElement.add(1, meta2); + + // and move the joins to the back + final List<Element> toMove = new ArrayList<Element>(); + for (Element elem : entityElement.getChildren()) { + if (elem.getName().equals("join")) { + toMove.add(elem); + } + } + entityElement.getChildren().removeAll(toMove); + entityElement.getChildren().addAll(toMove); + + } + + // reorganize the elements which have a natural-id inside a natural-id tag + protected void handleNaturalId(Element parentElement, int index) { + log.debug("Checking for natural-ids"); + final List<Element> naturalIdElements = new ArrayList<Element>(); + boolean mutable = false; + for (Element element : parentElement.getChildren()) { + String value; + if ((value = element + .getAttributeValue(HbMapperConstants.NATURAL_ID_ATTR)) != null) { + if (naturalIdElements.isEmpty()) { + log.debug("Found natural-id, mutable: " + mutable); + mutable = Boolean.parseBoolean(value); + } + naturalIdElements.add(element); + element.removeAttribute(HbMapperConstants.NATURAL_ID_ATTR); + } + } + if (!naturalIdElements.isEmpty()) { + log.debug("Found " + + naturalIdElements.size() + + " naturalid properies, putting them inside a natural-id tag"); + parentElement.getChildren().removeAll(naturalIdElements); + final Element naturalId = parentElement.addElement("natural-id"); + // remove it again to place it at the correct position a little + // lower + parentElement.remove(naturalId); + naturalId.addAttribute("mutable", Boolean.toString(mutable)); + parentElement.add(index, naturalId); + naturalId.getChildren().addAll(naturalIdElements); + for (Element element : naturalIdElements) { + element.setParent(naturalId); + } + } + } + + /** Process the featuremap entries */ + private void processFeatureMapFeatures() { + // this is a while and for loop, in the for loop the features of a + // feature map + // are processed, these features can again be a featuremap which are + // added + // to the featuremapmappers in the context, therefore this process walks + // on + List<FeatureMapMapping> featureMapMappers = getHbmContext() + .getClearFeatureMapMappers(); + while (featureMapMappers.size() > 0) { + + for (FeatureMapMapping fmm : featureMapMappers) { + fmm.process(); + } + + // read again because the fmm.process can result in new feature map + // mappings + featureMapMappers = getHbmContext().getClearFeatureMapMappers(); + } + } + + /** + * Process the features of the mapped superclass so that they are added to + * the current mapping + */ + protected void processMappedSuper(PAnnotatedEClass paMappedSuper) { + processFeatures(paMappedSuper.getPaEStructuralFeatures()); + } + + /** process the features of the annotated eclass */ + protected void processFeatures(List<PAnnotatedEStructuralFeature> features) { + for (PAnnotatedEStructuralFeature annotatedEStructuralFeature : features) { + processFeature(annotatedEStructuralFeature); + } + } + + /** Process secondary tables. */ + protected void processSecondaryTables(List<SecondaryTable> secondaryTables, + PAnnotatedEClass entity) { + // Group features by primary and secondary tables. + // For the primary table we use null as the surrogate key. (HashMap + // allows null keys.) + final Set<String> tableNames = new HashSet<String>(); + tableNames.add(PRIMARY_TABLE_KEY); + for (SecondaryTable secondaryTable : secondaryTables) { + tableNames.add(secondaryTable.getName()); + } + final Map<String, List<PAnnotatedEStructuralFeature>> featuresByTable = new HashMap<String, List<PAnnotatedEStructuralFeature>>(); + for (PAnnotatedEStructuralFeature feature : entity + .getPaEStructuralFeatures()) { + // find the table for the feature + final String tableName = getHbmContext().getSecondaryTableName( + feature); + // if there put it in the correct list + if (!tableNames.contains(tableName)) { + final String message = "Feature \"" + + feature.getModelElement().getName() + + "\" was mapped to undeclared secondary table \"" + + tableName + "\"."; + log.error(message); + throw new MappingException(message); + } + List<PAnnotatedEStructuralFeature> featuresInTable = featuresByTable + .get(tableName); + if (featuresInTable == null) { + featuresInTable = new ArrayList<PAnnotatedEStructuralFeature>(); + featuresByTable.put(tableName, featuresInTable); + } + featuresInTable.add(feature); + } + + // Process features in primary table. + { + final List<PAnnotatedEStructuralFeature> featuresInTable = featuresByTable + .get(PRIMARY_TABLE_KEY); + // can happen if there are only secondarytable features and no + // primary table + // features see bugzilla 235949 + if (featuresInTable != null) { + for (PAnnotatedEStructuralFeature feature : featuresInTable) { + processFeature(feature); + } + } + } + // Process features in secondary tables. + for (SecondaryTable secondaryTable : secondaryTables) { + if (!featuresByTable.containsKey(secondaryTable.getName())) { + // The table was listed in the SecondaryTable annotation, but no + // features were actually mapped to this + // table. + log.warn("No features mapped to secondary table " + + secondaryTable.getName()); + continue; + } + final List<PAnnotatedEStructuralFeature> featuresInTable = featuresByTable + .get(secondaryTable.getName()); + + // Create <join> element + // See + // http://www.hibernate.org/hib_docs/v3/reference/en/html/mapping.html#mapping-declaration + // -join + final Element joinElement = getHbmContext().getCurrent() + .addElement("join"); + joinElement.addAttribute( + "table", + getHbmContext().trunc( + secondaryTable.getName().toUpperCase(), false)); + log.debug("Mapping features to secondary table \"" + + secondaryTable.getName() + "\""); + if (secondaryTable.getCatalog() != null) { + joinElement + .addAttribute("catalog", secondaryTable.getCatalog()); + } + if (secondaryTable.getSchema() != null) { + joinElement.addAttribute("schema", secondaryTable.getSchema()); + } + entity.getModelEClass().getEIDAttribute(); + final List<PrimaryKeyJoinColumn> pkJoinColumns = secondaryTable + .getPkJoinColumns(); + final Element keyElement = joinElement.addElement("key"); + for (PrimaryKeyJoinColumn pkJoinColumn : pkJoinColumns) { + keyElement.addElement("column").addAttribute( + "name", + getHbmContext().trunc(pkJoinColumn, + pkJoinColumn.getName())); + } + handleOndelete(keyElement, + ((HbAnnotatedEClass) entity).getHbOnDelete()); + + // Process features in this secondary table. + try { + getHbmContext().setCurrent(joinElement); + getHbmContext().setCurrentSecondaryTable(secondaryTable); + for (PAnnotatedEStructuralFeature feature : featuresInTable) { + processFeature(feature); + } + } finally { + getHbmContext().setCurrentSecondaryTable(null); + getHbmContext().setCurrent(joinElement.getParent()); + } + } + } + + /** Process one feature */ + protected void processFeature(PAnnotatedEStructuralFeature paFeature) { + hbmContext.getFeatureMapper().process(paFeature); + } + + /** + * Adds a key element to the current entity mapping, is for example used to + * join to the super class table. + */ + private void addPrimaryKeyJoinColumn(List<PrimaryKeyJoinColumn> pkJCs, + PAnnotatedEClass entity) { + log.debug("Adding primary key join column"); + + final Element jcElement = getHbmContext().getCurrent() + .addElement("key"); + handleOndelete(jcElement, ((HbAnnotatedEClass) entity).getHbOnDelete()); + + for (PrimaryKeyJoinColumn pkJC : pkJCs) { + final Element columnElement = jcElement.addElement("column"); + + if (pkJC.getColumnDefinition() != null) { + log.error("Unsupported column definition in primary key join column " + + pkJC); + throw new MappingException( + "Unsupported column definition in primary key join column", + pkJC); + } + + if (pkJC.getName() != null) { + columnElement.addAttribute("name", + getHbmContext().trunc(pkJC, pkJC.getName())); + } + if (pkJC.getReferencedColumnName() != null) { + columnElement.addAttribute("property-ref", + pkJC.getReferencedColumnName()); + } + } + } + + /** + * Creates a discriminator element and returns it, so the caller should add + * it to the parent element + */ + private Element createDiscriminatorElement(DiscriminatorColumn dColumn, + boolean force) { + Element dcElement = DocumentHelper.createElement("discriminator"); + if (dColumn.getColumn() != null) { + final Column col = dColumn.getColumn(); + final Element colElement = dcElement.addElement("column"); + colElement.addAttribute("name", + getHbmContext().trunc(dColumn, col.getName())); + if (col.getIndex() != null) { + colElement.addAttribute("index", col.getIndex()); + } + if (hbDiscriminatorType(dColumn.getDiscriminatorType()).equals( + "string") + && col.getLength() > 0) { + colElement.addAttribute("length", + Integer.toString(col.getLength())); + } + if (!col.isNullable()) { + colElement.addAttribute("not-null", "true"); + } + } else if (dColumn.getName() != null) { + dcElement.addAttribute("column", + getHbmContext().trunc(dColumn, dColumn.getName())); + } + dcElement.addAttribute("type", + hbDiscriminatorType(dColumn.getDiscriminatorType())); + + if (force) { + dcElement.addAttribute("force", "true"); + } + + if (dColumn.isSetLength() && log.isDebugEnabled()) { + log.debug("Ignoring length for discriminator column " + dColumn); + } + + if (dColumn.getColumnDefinition() != null) { + log.error("Unsupported column definition in discriminator column " + + dColumn); + throw new MappingException( + "Unsupported column definition in discriminator column", + dColumn); + } + return dcElement; + } + + // note dc can be null + private Element createDiscriminatorElement(DiscriminatorFormula formula, + DiscriminatorColumn dc, boolean force) { + Element dcElement = DocumentHelper.createElement("discriminator"); + dcElement.addAttribute("formula", formula.getValue()); + + if (force) { + dcElement.addAttribute("force", "true"); + } + + if (dc != null && dc.getDiscriminatorType() != null) { + dcElement.addAttribute("type", + hbDiscriminatorType(dc.getDiscriminatorType())); + } + return dcElement; + } + + /** + * Add a synthetic version if the entity does not define one + */ + private Element addVersionProperty(HbAnnotatedEClass aClass) { + assert (getHbmContext().getCurrent().element("version") == null); + + if (!getHbmContext().alwaysVersion()) { + return null; + } + + // if none optimistic lock then return + if (aClass.getHbEntity() != null + && aClass.getHbEntity().getOptimisticLock() != null + && aClass.getHbEntity().getOptimisticLock() + .equals(OptimisticLockType.NONE)) { + return null; + } + + final boolean skipVersionOnImmutable = !getHbmContext() + .getPersistenceOptions() + .isDiscriminatorVersionOnImmutableEClass(); + if (aClass.getImmutable() != null && skipVersionOnImmutable) { + return null; + } + + // note specific accessor is required because version accessor is not + // retrieved through + // emf tuplizer + final Element versionElement = getHbmContext().getCurrent() + .addElement("version") + .addAttribute("name", getHbmContext().getVersionColumnName()) + .addAttribute("column", getHbmContext().getVersionColumnName()); + final Element meta = new Element("meta"); + meta.addAttribute("attribute", HbMapperConstants.VERSION_META).addText( + "true"); + meta.addAttribute("inherit", "false"); + versionElement.add(0, meta); + + versionElement.addAttribute("access", getHbmContext() + .getSyntheticVersionPropertyHandlerName()); + + return versionElement; + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/FeatureMapMapping.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/FeatureMapMapping.java new file mode 100755 index 000000000..b56b8f7ea --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/FeatureMapMapping.java @@ -0,0 +1,193 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal + * </copyright> $Id: FeatureMapMapping.java,v 1.23 2010/08/18 12:21:14 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.util.ExtendedMetaData; +import org.eclipse.emf.ecore.util.FeatureMapUtil; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pannotation.Id; +import org.eclipse.emf.teneo.annotations.pannotation.Transient; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute; +import org.eclipse.emf.teneo.simpledom.Element; +import org.eclipse.emf.teneo.util.StoreUtil; + +/** + * The feature map mapping handles the mapping of a feature map feature, this includes group and mixed types. It is + * created for each feature map feature during the mapping of the features of an entity. At the end of the entity + * processing the feature map mapping instances are used to create a hibernate specific mapping and add it to the + * resulting document. + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class FeatureMapMapping extends AbstractMapper { + + /** Log it here */ + private static final Log log = LogFactory.getLog(FeatureMapMapping.class); + + /** The annotated feature which is a feature map */ + private final PAnnotatedEAttribute paAttribute; + + /** The mapping context */ + private final MappingContext hbmContext; + + private Element compositeElement; + + /** + * @param hbmContext + * The context in which the mapping takes place + */ + public FeatureMapMapping(MappingContext hbmContext, PAnnotatedEAttribute paAttribute) { + super.setHbmContext(hbmContext); + log.debug("Created featuremap mapping instance for " + paAttribute); + this.hbmContext = hbmContext; + this.paAttribute = paAttribute; + final EAttribute eattr = paAttribute.getModelEAttribute(); + assert (FeatureMapUtil.isFeatureMap(eattr)); + } + + /** Returns the entityName */ + public String getEntityName() { + return StoreUtil.getEntityName(paAttribute.getModelEAttribute()); + } + + /** Processes the features of this featuremap entry */ + public void process() { + final String entityName = StoreUtil.getEntityName(paAttribute.getModelEAttribute()); + log.debug("Processing feature map feature: " + entityName); + Element mainElement; + if (getHbmContext().getPersistenceOptions().isMapFeatureMapAsComponent()) { + mainElement = getCompositeElement(); + + mainElement.addElement("meta").addAttribute("attribute", HbMapperConstants.FEATUREMAP_META).addAttribute("inherit", "false").addText( + hbmContext.getEntityNameStrategy().toEntityName( + paAttribute.getModelEAttribute().getEContainingClass())); + } else { + mainElement = hbmContext.getCurrent().addElement("class").addAttribute("entity-name", entityName) + .addAttribute("lazy", "false").addAttribute("table", + hbmContext.trunc(entityName.toUpperCase(), false)); + + mainElement.addElement("meta").addAttribute("attribute", HbMapperConstants.FEATUREMAP_META).addAttribute("inherit", "false").addText( + hbmContext.getEntityNameStrategy().toEntityName( + paAttribute.getModelEAttribute().getEContainingClass())); + + // TODO: check if id of parent can be used instead + mainElement.addElement("id").addAttribute("type", "long").addElement("generator").addAttribute("class", + "native"); + + if (hbmContext.alwaysVersion()) { + final Element versionElement = mainElement.addElement("version").addAttribute("name", + hbmContext.getVersionColumnName()).addAttribute("access", + "org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"); + final Element meta = new Element("meta"); + meta.addAttribute("attribute", HbMapperConstants.VERSION_META).addText("true"); + meta.addAttribute("inherit", "false"); + versionElement.add(0, meta); + } + } + + final FeatureMapper fp = hbmContext.getFeatureMapper(); + hbmContext.setCurrent(mainElement); + hbmContext.setCurrentElementFeatureMap(true); + if (getHbmContext().getPersistenceOptions().isMapFeatureMapAsComponent()) { + mainElement.addElement("tuplizer").addAttribute("entity-mode", "pojo").addAttribute("class", + getHbmContext().getComponentFeatureMapTuplizer()); + mainElement.addElement("tuplizer").addAttribute("entity-mode", "dynamic-map").addAttribute("class", + getHbmContext().getComponentFeatureMapTuplizer()); + } + + mainElement.addElement("property").addAttribute("name", HbMapperConstants.PROPERTY_FEATURE).addAttribute( + "type", "java.lang.String"); + + // and now process the features of this group + final PAnnotatedEClass paClass = paAttribute.getPaEClass(); + final boolean isWildCard = StoreUtil.isWildCard(paAttribute.getModelEAttribute()); + final boolean isMixed = StoreUtil.isMixed(paAttribute.getModelEAttribute()); + if (isWildCard) { + addWildCardFeatureMapping(mainElement, paAttribute); + } else { + hbmContext.setNamePrefix(paAttribute.getModelEAttribute().getName() + "_"); + for (PAnnotatedEStructuralFeature paFeature : paClass.getPaEStructuralFeatures()) { + EStructuralFeature eFeature = paFeature.getModelEStructuralFeature(); + final EStructuralFeature modelGroupFeature = ExtendedMetaData.INSTANCE.getGroup(eFeature); + final boolean isEFeatureMixed = StoreUtil.isMixed(eFeature); + // note with mixed everyone is part of the group except the + // mixed feature itself + if ((isMixed && !isEFeatureMixed) + || (modelGroupFeature != null && modelGroupFeature == paAttribute.getModelEStructuralFeature())) { + log.debug("Feature " + StoreUtil.toString(eFeature) + " belongs to this featuremap"); + + // continue if it is a id + Id id = null; + if (paFeature instanceof PAnnotatedEAttribute && ((PAnnotatedEAttribute) paFeature).getId() != null) { + // Feature is an id, temporarily removing the id, otherwise + // the fm gets confused + id = ((PAnnotatedEAttribute) paFeature).getId(); + ((PAnnotatedEAttribute) paFeature).setId(null); + } + + // temporarily remove the transient otherwise the feature is not + // processed + Transient tt = paFeature.getTransient(); + paFeature.setTransient(null); + try { + fp.process(paFeature); + } finally { + // and set the temp values back + paFeature.setTransient(tt); + if (id != null) { + ((PAnnotatedEAttribute) paFeature).setId(id); + } + } + } + } + hbmContext.setNamePrefix(""); + } + + if (StoreUtil.isMixed(paAttribute.getModelEAttribute())) { + mainElement.addElement("property").addAttribute("name", HbMapperConstants.PROPERTY_MIXED_TEXT) + .addAttribute("type", "java.lang.String"); + mainElement.addElement("property").addAttribute("name", HbMapperConstants.PROPERTY_MIXED_CDATA) + .addAttribute("type", "java.lang.String"); + mainElement.addElement("property").addAttribute("name", HbMapperConstants.PROPERTY_MIXED_COMMENT) + .addAttribute("type", "java.lang.String"); + } + hbmContext.setCurrent(mainElement.getParent()); + hbmContext.setCurrentElementFeatureMap(false); + log.debug("Finished processing featuremap"); + } + + private void addWildCardFeatureMapping(Element mainElement, PAnnotatedEStructuralFeature paFeature) { + mainElement.addElement("property").addAttribute("name", + paFeature.getModelEStructuralFeature().getName() + "_" + HbMapperConstants.PROPERTY_ANY_PRIMITIVE) + .addAttribute("type", "java.lang.String"); + final HbAnnotatedEAttribute hbAttribute = (HbAnnotatedEAttribute) paAttribute; + final String assocName = getHbmContext().getPropertyName(paFeature.getModelEStructuralFeature()); + mainElement.addElement(createAny(assocName + "_" + HbMapperConstants.PROPERTY_ANY_REFERENCE, paFeature, + hbAttribute.getAny(), hbAttribute.getAnyMetaDef(), false)); + } + + /** Returns the eattribute */ + public EAttribute getEAttribute() { + return paAttribute.getModelEAttribute(); + } + + public Element getCompositeElement() { + return compositeElement; + } + + public void setCompositeElement(Element compositeElement) { + this.compositeElement = compositeElement; + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/FeatureMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/FeatureMapper.java new file mode 100755 index 000000000..315e26743 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/FeatureMapper.java @@ -0,0 +1,279 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: FeatureMapper.java,v 1.10 2008/12/16 20:40:29 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage; +import org.eclipse.emf.teneo.extension.ExtensionPoint; + +/** + * Dispatch events to the appropriate Mapper. + * + * @author <a href="mailto:marchign at elver.org">Davide Marchignoli</a> + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class FeatureMapper implements ExtensionPoint { + + /** Switch features for the annotated eattribute */ + private static final EStructuralFeature[] PAEATTRIBUTE_DISCR_FEATURES = new EStructuralFeature[] { + PamodelPackage.eINSTANCE.getPAnnotatedEModelElement_Transient(), + PamodelPackage.eINSTANCE.getPAnnotatedEAttribute_Id(), + PamodelPackage.eINSTANCE.getPAnnotatedEAttribute_Basic(), + PamodelPackage.eINSTANCE.getPAnnotatedETypedElement_OneToMany(), + PamodelPackage.eINSTANCE.getPAnnotatedEAttribute_Version() }; + + /** Switch features for the annotated ereference */ + private static final EStructuralFeature[] PAEREFERENCE_DISCR_FEATURES = new EStructuralFeature[] { + PamodelPackage.eINSTANCE.getPAnnotatedEReference_External(), + PamodelPackage.eINSTANCE.getPAnnotatedEModelElement_Transient(), + PamodelPackage.eINSTANCE.getPAnnotatedETypedElement_OneToMany(), + PamodelPackage.eINSTANCE.getPAnnotatedEReference_Embedded(), + PamodelPackage.eINSTANCE.getPAnnotatedEReference_EmbeddedId(), + PamodelPackage.eINSTANCE.getPAnnotatedEReference_ManyToMany(), + PamodelPackage.eINSTANCE.getPAnnotatedEReference_ManyToOne(), + PamodelPackage.eINSTANCE.getPAnnotatedEReference_OneToOne() }; + + /** + * Different Mappers used in the switches below, each Mapper handles a + * specific annotation case + */ + private BasicMapper basicMapper = null; + + private EmbeddedMapper embeddedMapper = null; + + private IdMapper idMapper = null; + + private ManyToManyMapper manyToManyMapper = null; + + private ManyToOneMapper manyToOneMapper = null; + + private ManyAttributeMapper manyAttributeMapper = null; + + private OneToManyMapper oneToManyMapper = null; + + private OneToOneMapper oneToOneMapper = null; + + private ManyExternalReferenceMapper manyExternalReferenceMapper; + + private MappingContext hbmContext = null; + + /** + * Used to signal the end of a class or mapped superclass. public void end() + * { if (nestedBegin <= 0) throw new + * IllegalStateException("Unexpected end"); nestedBegin--; if (idStrategy != + * null) idStrategy.end(); // can happen in case of featuremap if + * (nestedBegin == 0) idStrategy = null; } + */ + + /** Find the feature to switch on */ + public static final EStructuralFeature getSwitchFeature(EObject eObject, + EStructuralFeature[] features) { + for (EStructuralFeature element : features) { + if (eObject.eIsSet(element)) { + return element; + } + } + return null; + } + + /** + * Used to process the given feature. + * + * @see org.eclipse.emf.teneo.annotations.builder.DelegatingBuilder#process(org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature) + */ + public void process(PAnnotatedEStructuralFeature paFeature) { + hbmContext.setCurrentFeature(paFeature); + if (paFeature instanceof PAnnotatedEAttribute) { + processPAnnotatedEAttribute((PAnnotatedEAttribute) paFeature); + } else { + processPAnnotatedEReference((PAnnotatedEReference) paFeature); + } + hbmContext.setCurrentFeature(null); + } + + /** Process the eattribute */ + private void processPAnnotatedEAttribute( + PAnnotatedEAttribute pAnnotatedEAttribute) { + final EStructuralFeature discrFeature; + if (pAnnotatedEAttribute.getAnnotations().isEmpty()) { + discrFeature = PamodelPackage.eINSTANCE + .getPAnnotatedEAttribute_Basic(); + } else { + discrFeature = getSwitchFeature(pAnnotatedEAttribute, + PAEATTRIBUTE_DISCR_FEATURES); + } + if (discrFeature == null) { + throw new MappingException("Can not map this paElement", + pAnnotatedEAttribute); + } else { + switch (discrFeature.getFeatureID()) { + case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__TRANSIENT: + basicMapper.processTransient(pAnnotatedEAttribute); + break; + case PamodelPackage.PANNOTATED_EATTRIBUTE__BASIC: + caseBasic(pAnnotatedEAttribute); + // if (result == null) result = + // caseProperty(pAnnotatedEAttribute); + break; + case PamodelPackage.PANNOTATED_EATTRIBUTE__ID: + idMapper.processIdProperty(pAnnotatedEAttribute); + break; + case PamodelPackage.PANNOTATED_EATTRIBUTE__ONE_TO_MANY: + manyAttributeMapper.processManyAttribute(pAnnotatedEAttribute); + break; + case PamodelPackage.PANNOTATED_EATTRIBUTE__VERSION: + basicMapper.processVersion(pAnnotatedEAttribute); + break; + default: + throw new AssertionError("unexpected case"); + } + } + } + + /** Process the ereference */ + private void processPAnnotatedEReference( + PAnnotatedEReference pAnnotatedEReference) { + final EStructuralFeature discrFeature; + if (pAnnotatedEReference.getAnnotations().isEmpty()) { + discrFeature = PamodelPackage.eINSTANCE + .getPAnnotatedEReference_Embedded(); + } else { + discrFeature = getSwitchFeature(pAnnotatedEReference, + PAEREFERENCE_DISCR_FEATURES); + } + if (discrFeature == null) { + throw new MappingException("Can not map this paElement", + pAnnotatedEReference); + } else { + switch (discrFeature.getFeatureID()) { + case PamodelPackage.PANNOTATED_EREFERENCE__EXTERNAL: + if (pAnnotatedEReference.getModelEReference().isMany()) { + manyExternalReferenceMapper + .processManyReference(pAnnotatedEReference); + } else { + basicMapper.processExternalEReference(pAnnotatedEReference); + } + break; + case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__TRANSIENT: + basicMapper.processTransient(pAnnotatedEReference); + break; + case PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED: + embeddedMapper.process(pAnnotatedEReference); + break; + case PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED_ID: + idMapper.processEmbeddedId(pAnnotatedEReference); + break; + case PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_MANY: + manyToManyMapper.process(pAnnotatedEReference); + break; + case PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_ONE: + manyToOneMapper.process(pAnnotatedEReference); + break; + case PamodelPackage.PANNOTATED_EREFERENCE__ONE_TO_MANY: + oneToManyMapper.process(pAnnotatedEReference); + break; + case PamodelPackage.PANNOTATED_EREFERENCE__ONE_TO_ONE: + oneToOneMapper.process(pAnnotatedEReference); + break; + default: + throw new AssertionError("unexpected case"); + } + } + } + + /** Handle basic annotation, is basic, enumerated, temporal */ + public Object caseBasic(PAnnotatedEAttribute paAttribute) { + if (paAttribute.getEnumerated() != null) { + basicMapper.processEnum(paAttribute); + } else if (paAttribute.getLob() != null) { + basicMapper.processLob(paAttribute); + } else if (paAttribute.getTemporal() != null) { + basicMapper.processTemporal(paAttribute); + } else { + basicMapper.processBasic(paAttribute); + } + return Boolean.TRUE; + } + + public Object defaultCase(EObject object) { + throw new IllegalArgumentException("Unexpected argument " + object); + } + + public void setBasicMapper(BasicMapper basicMapper) { + this.basicMapper = basicMapper; + } + + public void setEmbeddedMapper(EmbeddedMapper embeddedMapper) { + this.embeddedMapper = embeddedMapper; + } + + public void setIdMapper(IdMapper idMapper) { + this.idMapper = idMapper; + } + + public void setManyToManyMapper(ManyToManyMapper manyToManyMapper) { + this.manyToManyMapper = manyToManyMapper; + } + + public void setManyToOneMapper(ManyToOneMapper manyToOneMapper) { + this.manyToOneMapper = manyToOneMapper; + } + + public void setManyAttributeMapper(ManyAttributeMapper manyAttributeMapper) { + this.manyAttributeMapper = manyAttributeMapper; + } + + public void setOneToManyMapper(OneToManyMapper oneToManyMapper) { + this.oneToManyMapper = oneToManyMapper; + } + + public OneToManyMapper getOneToManyMapper() { + return oneToManyMapper; + } + + public void setOneToOneMapper(OneToOneMapper oneToOneMapper) { + this.oneToOneMapper = oneToOneMapper; + } + + /** + * @param hbmContext + * the hbmContext to set + */ + public void setHbmContext(MappingContext hbmContext) { + this.hbmContext = hbmContext; + } + + /** + * @return the manyExternalReferenceMapper + */ + public ManyExternalReferenceMapper getManyExternalReferenceMapper() { + return manyExternalReferenceMapper; + } + + /** + * @param manyExternalReferenceMapper + * the manyExternalReferenceMapper to set + */ + public void setManyExternalReferenceMapper( + ManyExternalReferenceMapper manyExternalReferenceMapper) { + this.manyExternalReferenceMapper = manyExternalReferenceMapper; + } +}
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/GenerateHBM.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/GenerateHBM.java new file mode 100755 index 000000000..29a5bc41c --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/GenerateHBM.java @@ -0,0 +1,145 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal + * </copyright> $Id: GenerateHBM.java,v 1.17 2010/02/04 11:03:48 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.Properties; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.teneo.PersistenceOptions; +import org.eclipse.emf.teneo.TeneoException; +import org.eclipse.emf.teneo.annotations.mapper.PersistenceMappingBuilder; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel; +import org.eclipse.emf.teneo.extension.ExtensionManager; +import org.eclipse.emf.teneo.extension.ExtensionManagerFactory; + +/** + * Class is responsible for generating the hbm file. Is run through a launcher + * therefore the main methods. + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.17 $ + */ + +public class GenerateHBM { + /** The logger for this class */ + private static Log log = LogFactory.getLog(GenerateHBM.class); + + /** Parses the args and generates a hbm file */ + public static void main(String[] args) { + // decode the args + Properties options = new Properties(); + ArrayList<String> ecores = new ArrayList<String>(); + String targetFileName = null; + for (int i = 0; i < args.length; i++) { + if (i == 0) { + targetFileName = args[0]; + } else if (args[i].startsWith("+")) { // option + final String[] keyValue = args[i].substring(1).split(","); + options.put(keyValue[0], keyValue[1]); + } else if (args[i].startsWith("-")) { // epackage classnames + final String[] epacks = args[i].substring(1).split(","); + + // the epackages load them all, hope for the best + // when loading the epackage should be loaded + for (String element : epacks) { + try { + log.debug("Loading class " + element + + " should be an epackage"); + + Class<?> epack = Class.forName(element); + if (!EPackage.class.isAssignableFrom(epack)) { + log + .warn("HBM Generator found " + + epack.getName() + + " but this is not an EPackage, ignoring it"); + } + } catch (Throwable t) { // ignore everything but log it + log.error("Exception while instantiating " + element + + ", message: " + t.getMessage()); + } + } + } else { + ecores.add(args[i]); + } + } + + createORMapperFile(targetFileName, ecores.toArray(new String[ecores + .size()]), options); + } + + /** Creates the mapping file */ + private static void createORMapperFile(String targetFileName, + String[] ecores, Properties options) { + try { + // get the first ecore file + File firstEcore = new File(ecores[0]); + File file = new File(firstEcore.getParentFile(), targetFileName); + final File archiveFile = new File(firstEcore.getParentFile(), + targetFileName + "_old"); + + if (file.exists()) { + if (archiveFile.exists()) { + archiveFile.delete(); + } + copyFile(file, archiveFile); + file.delete(); + } + file.createNewFile(); + + final ExtensionManager extensionManager = ExtensionManagerFactory + .getInstance().create(); + MappingUtil.registerHbExtensions(extensionManager); + + final PersistenceOptions po = extensionManager.getExtension( + PersistenceOptions.class, new Object[] { options }); + final PAnnotatedModel paModel = extensionManager.getExtension( + PersistenceMappingBuilder.class).buildMapping(ecores, po, + extensionManager); + final HibernateMappingGenerator hmg = extensionManager + .getExtension(HibernateMappingGenerator.class); + hmg.setPersistenceOptions(po); + FileWriter writer = new FileWriter(file); + writer.write(hmg.generateToString(paModel)); + writer.flush(); + } catch (IOException e) { + log.error(e); + throw new TeneoException( + "IOException when creating or mapping file", e); + } + } + + /** Copies a file */ + public static void copyFile(File src, File dst) throws IOException { + if (!dst.exists()) { + dst.createNewFile(); + } + + InputStream in = new FileInputStream(src); + OutputStream out = new FileOutputStream(dst); + + // Transfer bytes from in to out + byte[] buf = new byte[1024]; + int len; + while ((len = in.read(buf)) > 0) { + out.write(buf, 0, len); + } + in.close(); + out.close(); + } +}
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/HbMapperConstants.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/HbMapperConstants.java new file mode 100755 index 000000000..64b579a5b --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/HbMapperConstants.java @@ -0,0 +1,74 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: HbMapperConstants.java,v 1.12 2009/06/28 02:05:07 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +/** + * AnnotationUtil used by the hibernate mapper + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.12 $ + */ +public class HbMapperConstants { + // the natural-id, the value of the attribute is mutable true/false + public static final String NATURAL_ID_ATTR = "natural-id"; + + /** The expected parameter name which contains the enum class name */ + public static final String ENUM_CLASS_PARAM = "enumClass"; + + /** The expected parameter name which contains the enum class name */ + public static final String EPACKAGE_PARAM = "epackage"; + + public static final String ECLASSIFIER_PARAM = "eclassifier"; + + /** + * Name of the Hibernate type param that holds the name of the EMF attribute for the EMF custom data type. + */ + public static final String EDATATYPE_PARAM = "edatatype"; + + /** Name used for the feature property in the featuremap entry */ + public static final String PROPERTY_FEATURE = "fme_feature"; + + /** Name used for the text property in a mixed featuremap entry */ + public static final String PROPERTY_MIXED_TEXT = "fme_mixed_text"; + + /** Name used for the text property in a mixed featuremap entry */ + public static final String PROPERTY_MIXED_COMMENT = "fme_mixed_comment"; + + /** Name used for the text property in a mixed featuremap entry */ + public static final String PROPERTY_MIXED_CDATA = "fme_mixed_cdata"; + + /** Name used for the primitive value in a wildcard feature map */ + public static final String PROPERTY_ANY_PRIMITIVE = "fme_any_data"; + + /** Name used for the reference value in a wildcard feature map */ + public static final String PROPERTY_ANY_REFERENCE = "fme_any_reference"; + + /** Used to tag an entity as a featuremap */ + public static final String FEATUREMAP_META = "featureMap"; + + /** Name used for the eclass meta data */ + public static final String ECLASS_NAME_META = "eclassName"; + + /** Name used for the epackage meta data */ + public static final String EPACKAGE_META = "epackage"; + + /** The meta attribute for a synthetic id */ + public static final String ID_META = "syntheticId"; + + /** The meta attribute for a synthetic version */ + public static final String VERSION_META = "syntheticVersion"; +}
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/HibernateMappingGenerator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/HibernateMappingGenerator.java new file mode 100755 index 000000000..b2d1888cd --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/HibernateMappingGenerator.java @@ -0,0 +1,378 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * Michael Kanaley, TIBCO Software Inc., custom type handling + * </copyright> + * + * $Id: HibernateMappingGenerator.java,v 1.24 2009/03/07 21:15:19 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.teneo.PersistenceOptions; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel; +import org.eclipse.emf.teneo.annotations.pannotation.PannotationFactory; +import org.eclipse.emf.teneo.extension.ExtensionManager; +import org.eclipse.emf.teneo.extension.ExtensionManagerAware; +import org.eclipse.emf.teneo.extension.ExtensionPoint; +import org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery; +import org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; +import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage; +import org.eclipse.emf.teneo.mapping.strategy.impl.ClassicEntityNameStrategy; +import org.eclipse.emf.teneo.simpledom.Document; +import org.eclipse.emf.teneo.simpledom.DocumentHelper; +import org.eclipse.emf.teneo.simpledom.Element; +import org.eclipse.emf.teneo.util.StoreUtil; + +/** + * The main starting point for generating a hibernate mapping from a PAnnotated + * model. + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class HibernateMappingGenerator implements ExtensionPoint, + ExtensionManagerAware { + + /** The logger */ + private static final Log log = LogFactory + .getLog(HibernateMappingGenerator.class); + + /** The list of processed annotated classes */ + private Set<PAnnotatedEClass> processedPAClasses = null; + + /** the mapping context */ + private MappingContext hbmContext; + + /** The extensionManager */ + private ExtensionManager extensionManager; + + /** The persistenceoptions */ + private PersistenceOptions persistenceOptions; + + /** + * Register the entity names in context. + */ + protected void initEntityNames(MappingContext hbmContext, + PAnnotatedModel paModel) { + for (PAnnotatedEPackage pae : paModel.getPaEPackages()) { + for (PAnnotatedEClass paClass : pae.getPaEClasses()) { + if (paClass.getEntity() != null) { + hbmContext.setEntityName(paClass.getModelEClass(), + getEntityName(paClass)); + } + } + } + } + + /** + * @return Returns the entity name for the given paClass + */ + protected String getEntityName(PAnnotatedEClass paClass) { + final EClass eclass = paClass.getModelEClass(); + + String name = paClass.getEntity().getName(); + if (name == null) { + // TODO sure we do not need package here? + // MT: I think for 99.9% of the cases there are no name clashes but + // it is possible to + // that a package name is required to make things unique. This can + // be done in a next + // release as an + // optional feature. + name = hbmContext.getEntityNameStrategy().toEntityName(eclass); + } + return name; + } + + /** Generate a hibernate mapping xml document from the pamodel */ + public Document generate(PAnnotatedModel paModel) throws MappingException { + if (log.isDebugEnabled()) { + log.debug("Geneting Hibernate mapping for " + paModel); + } + try { + this.hbmContext = getExtensionManager().getExtension( + MappingContext.class); + this.hbmContext.setMappingProperties(getPersistenceOptions()); + hbmContext.setPaModel(paModel); + hbmContext.beginDocument(createDocument()); + initEntityNames(hbmContext, paModel); + processTypedefs(paModel); + processPersistentClasses(paModel); + // Process Named Queries + // Added by PhaneeshN + // This will emit the named query implementation into the mapping + // based on model annotation @NamedQuery(name={name}, + // query={query}); + // Named queries can be parameterized + for (PAnnotatedEPackage paPackage : paModel.getPaEPackages()) { + processPANamedQueries(paPackage); + for (PAnnotatedEClass paEClass : paPackage.getPaEClasses()) { + processPANamedQueries(paEClass); + } + } + return hbmContext.endDocument(); + } catch (MappingException exc) { + throw new MappingException("Hibernate mapping generation failed", + exc); + } + } + + /** + * Generate the hibernate mapping xml as a string + */ + public String generateToString(PAnnotatedModel annotatedModel) + throws MappingException { + return generate(annotatedModel).emitXML(); + } + + /** + * @return Returns an empty document used as template for the genration. + */ + protected Document createDocument() { + Document mappingDoc = new Document(); + mappingDoc + .setDocType("<!DOCTYPE hibernate-mapping PUBLIC \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\" " + + "\"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">"); + mappingDoc.setRoot(DocumentHelper.createElement("hibernate-mapping")); + // set auto-import is false if the default eclass naming strategy is not + // used + if (!(hbmContext.getEntityNameStrategy() instanceof ClassicEntityNameStrategy)) { + log + .debug("Setting auto-import=false because eclassnamingstrategy is not the defaulteclassnamestrategy"); + mappingDoc.getRoot().addAttribute("auto-import", "false"); + } + return mappingDoc; + } + + /** Process all annotated classes of the pamodel */ + protected void processPersistentClasses(PAnnotatedModel paModel) { + try { + processedPAClasses = new HashSet<PAnnotatedEClass>(); + for (PAnnotatedEPackage paPackage : paModel.getPaEPackages()) { + for (PAnnotatedEClass paEClass : paPackage.getPaEClasses()) { + // here, we eliminate map.enties + if (!hbmContext.isMapEMapAsTrueMap() + || !StoreUtil.isMapEntry(paEClass.getModelEClass())) { + processPAClass(paEClass); + + } + mapFilterDef(hbmContext.getCurrent(), + ((HbAnnotatedEClass) paEClass).getFilterDef()); + } + mapFilterDef(hbmContext.getCurrent(), + ((HbAnnotatedEPackage) paPackage).getFilterDef()); + } + } finally { + processedPAClasses = null; + } + } + + protected void mapFilterDef(Element parentElement, + List<FilterDef> filterDefs) { + for (FilterDef fd : filterDefs) { + final Element fdElement = parentElement.addElement("filter-def"); + fdElement.addAttribute("name", fd.getName()); + if (fd.getDefaultCondition() != null) { + fdElement.addAttribute("condition", fd.getDefaultCondition()); + } + for (ParamDef pd : fd.getParameters()) { + final Element pdElement = fdElement.addElement("filter-param"); + pdElement.addAttribute("name", pd.getName()); + pdElement.addAttribute("type", pd.getType()); + } + } + } + + /** + * Process the given class, ensures that processing order is consistent with + * inheritance order. The given paEClass is added to the processedPAClasses. + */ + protected void processPAClass(PAnnotatedEClass paEClass) { + if (processedPAClasses.add(paEClass)) { + // also mapped superclasses can have an entity but ignore them here + if (paEClass.getEntity() != null + && paEClass.getMappedSuperclass() == null) { + // this is a persistent entity + PAnnotatedEClass paSuperEntity = paEClass.getPaSuperEntity(); + if (paSuperEntity != null) { + // enforce processing order consistent with inheritance + // order + processPAClass(paSuperEntity); + } + + // ignore the map entries which do not have an explicit entity + if (paEClass.getModelEClass().getInstanceClass() == Map.Entry.class + && paEClass.getEntity() == null) { + log.debug("Ignoring " + paEClass.getModelEClass().getName() + + " ignored, is a map entry"); + paEClass.setTransient(PannotationFactory.eINSTANCE + .createTransient()); + return; + } + + hbmContext.setCurrentEClass(paEClass.getModelEClass()); + hbmContext.getEntityMapper().processEntity(paEClass); + + } else if (log.isDebugEnabled()) { + log.debug("Skipping non-persistent class " + paEClass); + } + } + } + + /** + * Processes the typedef annotations and creates corresponding typedef + * instances in the mapping. + */ + protected void processTypedefs(PAnnotatedModel paModel) { + // Walk thru all the packages looking for custom EDataTypes. + for (PAnnotatedEPackage annotatedEPackage : paModel.getPaEPackages()) { + HbAnnotatedEPackage paPackage = (HbAnnotatedEPackage) annotatedEPackage; + + // handle the typedefs + for (TypeDef td : paPackage.getHbTypeDef()) { + emitTypeDef(td); + } + + // Walk thru all the classifiers of the given package. + for (PAnnotatedEDataType annotatedEDataType : paPackage + .getPaEDataTypes()) { + final HbAnnotatedEDataType hed = (HbAnnotatedEDataType) annotatedEDataType; + if (hed.getHbTypeDef() != null) { + emitTypeDef(hed.getHbTypeDef()); + } + } + } + } + + /** + * Process the given class and declare named queries that are annotated as + * Model Annotations + * + * @author PhaneeshN <a + * href="mailto:phaneesh.nagararaja@sos.sungard.com">phaneesh + * .nagararaja@sos.sungard.com</a> <a + * href="http://www.sungardhe.com">SunGard Higher Education</a> + */ + protected void processPANamedQueries(PAnnotatedEClass paEClass) { + // TODO: Should be refactored into a NamedQueryMapper Extension and + // register it into + // extension Manager + if (log.isDebugEnabled()) { + log.debug("Processing Queries for " + + paEClass.getModelEClass().getName()); + } + if (log.isDebugEnabled()) { + log + .debug("********************** Named Queries ***************************"); + for (NamedQuery namedQuery : ((HbAnnotatedEClass) paEClass) + .getHbNamedQuery()) { + log.info(namedQuery.getName() + ":" + namedQuery.getQuery()); + } + log + .debug("****************************************************************"); + } + for (NamedQuery namedQuery : ((HbAnnotatedEClass) paEClass) + .getHbNamedQuery()) { + final Element target = this.hbmContext.getCurrent().addElement( + "query"); + target.addAttribute("name", namedQuery.getName()); + target.addText("<![CDATA[" + namedQuery.getQuery() + "]]>"); + } + } + + protected void processPANamedQueries(PAnnotatedEPackage paEPackage) { + // TODO: Should be refactored into a NamedQueryMapper Extension and + // register it into + // extension Manager + if (log.isDebugEnabled()) { + log.debug("Processing Queries for " + + paEPackage.getModelEPackage().getName()); + } + if (log.isDebugEnabled()) { + log + .debug("********************** Named Queries ***************************"); + for (NamedQuery namedQuery : ((HbAnnotatedEPackage) paEPackage) + .getHbNamedQuery()) { + log.info(namedQuery.getName() + ":" + namedQuery.getQuery()); + } + log + .debug("****************************************************************"); + } + for (NamedQuery namedQuery : ((HbAnnotatedEPackage) paEPackage) + .getHbNamedQuery()) { + final Element target = this.hbmContext.getCurrent().addElement( + "query"); + target.addAttribute("name", namedQuery.getName()); + target.addText("<![CDATA[" + namedQuery.getQuery() + "]]>"); + } + } + + /** Emit a typedef */ + protected void emitTypeDef(TypeDef td) { + final Element target = this.hbmContext.getCurrent().addElement( + "typedef"); + target.addAttribute("name", td.getName()); + target.addAttribute("class", td.getTypeClass()); + for (Parameter param : td.getParameters()) { + target.addElement("param").addAttribute("name", param.getName()) + .addText(param.getValue()); + } + } + + /** + * @return the extensionManager + */ + public ExtensionManager getExtensionManager() { + return extensionManager; + } + + /** + * @param extensionManager + * the extensionManager to set + */ + public void setExtensionManager(ExtensionManager extensionManager) { + + // set the default extensions for mapping in the extensionManager + + this.extensionManager = extensionManager; + } + + /** + * @return the persistenceOptions + */ + public PersistenceOptions getPersistenceOptions() { + return persistenceOptions; + } + + /** + * @param persistenceOptions + * the persistenceOptions to set + */ + public void setPersistenceOptions(PersistenceOptions persistenceOptions) { + this.persistenceOptions = persistenceOptions; + } +}
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/IdMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/IdMapper.java new file mode 100755 index 000000000..64f490fbc --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/IdMapper.java @@ -0,0 +1,415 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal Davide Marchignoli + * </copyright> $Id: IdMapper.java,v 1.33 2010/08/18 12:21:13 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.util.List; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EClassifier; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.impl.DynamicEObjectImpl; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue; +import org.eclipse.emf.teneo.annotations.pannotation.GenerationType; +import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn; +import org.eclipse.emf.teneo.annotations.pannotation.ManyToOne; +import org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator; +import org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator; +import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator; +import org.eclipse.emf.teneo.extension.ExtensionPoint; +import org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator; +import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEPackage; +import org.eclipse.emf.teneo.simpledom.DocumentHelper; +import org.eclipse.emf.teneo.simpledom.Element; + +/** + * Mapper generating id entry for Hibernate from PAnnotatedElements. Throws an error if called for non-root entities. + * + * @author <a href="mailto:marchign at elver.org">Davide Marchignoli</a> + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class IdMapper extends AbstractAssociationMapper implements ExtensionPoint { + + /** The logger */ + private static final Log log = LogFactory.getLog(IdMapper.class); + + /** the hibernate generator class names */ + private static final String[] GENERATOR_CLASS_NAMES; + + /** initializes the hibernate class names array */ + static { + GENERATOR_CLASS_NAMES = new String[GenerationType.VALUES.size()]; + GENERATOR_CLASS_NAMES[GenerationType.AUTO.getValue()] = "native"; + GENERATOR_CLASS_NAMES[GenerationType.IDENTITY.getValue()] = "identity"; + GENERATOR_CLASS_NAMES[GenerationType.SEQUENCE.getValue()] = "sequence"; + GENERATOR_CLASS_NAMES[GenerationType.TABLE.getValue()] = "hilo"; + GENERATOR_CLASS_NAMES[GenerationType.SEQUENCESTYLE.getValue()] = "org.hibernate.id.enhanced.SequenceStyleGenerator"; + GENERATOR_CLASS_NAMES[GenerationType.ASSIGNED.getValue()] = "assigned"; + } + + /** Util method to create an id or composite-id element */ + public static Element getCreateIdElement(Element entityElement, PAnnotatedEClass aClass) { + if (aClass.getIdClass() != null) { // composite id + Element element = entityElement.element("composite-id"); + if (element == null) { + element = DocumentHelper.createElement("composite-id").addAttribute("class", + aClass.getIdClass().getValue()).addAttribute("mapped", "true"); + entityElement.add(0, element); + } + return element; + } else { + Element element = entityElement.element("id"); + if (element == null) { + element = DocumentHelper.createElement("id"); + entityElement.add(0, element); + } + return element; + } + } + + /** + * Add synthetic id to the class + */ + public static Element addSyntheticId(MappingContext mc, Element entityElement) { + if (entityElement.element("id") != null || entityElement.element("composite-id") != null) { + throw new MappingException("Syntheticid should only be called if there is no id element"); + } + + final Element idElement = DocumentHelper.createElement("id"); + entityElement.add(0, idElement); + idElement.addAttribute("type", "long"). + // NOTE: the name is also set so that the property name can be + // used later to identify an id prop, + // TODO: improve this + addAttribute("name", mc.getIdColumnName()).addAttribute("column", mc.getIdColumnName()).addElement( + "generator").addAttribute("class", "native"); + + final Element meta = new Element("meta"); + meta.addAttribute("attribute", HbMapperConstants.ID_META).addText("true"); + meta.addAttribute("inherit", "false"); + idElement.add(0, meta); + + if (mc.getSyntheticIdPropertyHandlerName() != null) { + idElement.addAttribute("access", mc.getSyntheticIdPropertyHandlerName()); + } + + return idElement; + } + + /** + * @return Returns the hibernate generator class for the given strategy. + */ + private static String hbGeneratorClass(GenerationType strategy) { + return IdMapper.GENERATOR_CLASS_NAMES[strategy != null ? strategy.getValue() : GenerationType.AUTO.getValue()]; + } + + /** + * Process embedded id. + */ + public void processEmbeddedId(PAnnotatedEReference aReference) { + final EReference eReference = aReference.getModelEReference(); + final PAnnotatedEClass aClass = aReference.getPaModel().getPAnnotated(eReference.getEReferenceType()); + final Element compositeIdElement = DocumentHelper.createElement("composite-id"); + getHbmContext().getCurrent().add(0, compositeIdElement); + compositeIdElement.addAttribute("name", eReference.getName()); + String className = getHbmContext().getInstanceClassName(aClass.getModelEClass()); + if (className.equals(DynamicEObjectImpl.class.getName())) { + // note, can't use the class instance to get the class name because the + // runtime hibernate plugin might not be available + className = "org.eclipse.emf.teneo.hibernate.mapping.SerializableDynamicEObjectImpl"; + } + + compositeIdElement.addAttribute("class", className); + getHbmContext().setCurrent(compositeIdElement); + + final Element meta1 = new Element("meta"); + meta1.addAttribute("attribute", HbMapperConstants.ECLASS_NAME_META).addText(eReference.getEReferenceType().getName()); + meta1.addAttribute("inherit", "false"); + final Element meta2 = new Element("meta"); + meta2.addAttribute("attribute", HbMapperConstants.EPACKAGE_META).addText( + eReference.getEReferenceType().getEPackage().getNsURI()); + meta2.addAttribute("inherit", "false"); + compositeIdElement.addElement(meta1); + compositeIdElement.addElement(meta2); + + compositeIdElement.addAttribute("access", "org.eclipse.emf.teneo.hibernate.mapping.property.EReferencePropertyHandler"); + + for (PAnnotatedEStructuralFeature aFeature : aClass.getPaEStructuralFeatures()) { + if (aFeature instanceof PAnnotatedEAttribute) { + PAnnotatedEAttribute aAttribute = (PAnnotatedEAttribute) aFeature; + final Element keyPropertyElement = compositeIdElement.addElement("key-property"); + keyPropertyElement.addAttribute("name", aFeature.getModelEStructuralFeature().getName()); + addColumnsAndFormula(keyPropertyElement, aAttribute, getColumns(aAttribute), getHbmContext() + .isCurrentElementFeatureMap(), false); + setType(aAttribute, keyPropertyElement); + +// keyPropertyElement.addAttribute("access", "org.eclipse.emf.teneo.hibernate.mapping.property.EAttributePropertyHandler"); + } else if (aFeature instanceof PAnnotatedEReference + && !((PAnnotatedEReference) aFeature).getModelEReference().isMany()) { + addKeyManyToOne(compositeIdElement, (PAnnotatedEReference) aFeature); + } + } + getHbmContext().setCurrent(compositeIdElement.getParent()); + + addAccessor(compositeIdElement, hbmContext.getComponentPropertyHandlerName()); + } + + private void addKeyManyToOne(Element currentParent, PAnnotatedEReference paReference) { + log.debug("Process many-to-one " + paReference); + + final List<JoinColumn> jcs = getJoinColumns(paReference); + + final EClass referedTo = paReference.getModelEReference().getEReferenceType(); + final ManyToOne mto = paReference.getManyToOne(); + String targetName = mto.getTargetEntity(); + if (targetName == null) { + targetName = getHbmContext().getEntityName(referedTo); + } + + log.debug("Target " + targetName); + + final Element associationElement = addManyToOne(currentParent, paReference, targetName, true); + + addForeignKeyAttribute(associationElement, paReference); + addLazyProxy(associationElement, mto.getFetch(), paReference); + + addJoinColumns(paReference, associationElement, jcs, getHbmContext().isDoForceOptional(paReference) + || mto.isOptional() || getHbmContext().isCurrentElementFeatureMap()); + + // MT: TODO; the characteristic of the other side should be checked (if + // present), if the otherside is a onetoone + // then this + // should be set to true. But then this is then handled by a + // bidirectional onetoone (I think). + // if (joinColumns.isEmpty()) + // associationElement.addAttribute("unique", "true"); + } + + /** + * Add property to the mapped id element + */ + public void processIdProperty(PAnnotatedEAttribute id) { + final PAnnotatedEClass aClass = id.getPaEClass(); + + // check precondition + if (aClass.getPaSuperEntity() != null && aClass.getPaSuperEntity().hasIdAnnotatedFeature()) { + log + .error("The annotated eclass: " + + aClass + + " has an id-annotated feature: " + + id + + " while it has a " + + "superclass/type, id properties should always be specified in the top of the inheritance structure"); + throw new MappingException( + "The annotated eclass: " + + aClass + + " has an id-annotated feature: " + + id + + " while it has a " + + "superclass/type, id properties should always be specified in the top of the inheritance structure"); + } + + final EAttribute eAttribute = id.getModelEAttribute(); + final List<Column> columns = getColumns(id); + final GeneratedValue generatedValue = id.getGeneratedValue(); + + // if (column != null && column.getColumnDefinition() != null) { + // // TODO support + // log.error("Unsupported, ColumnDefinition in " + column); + // throw new MappingException("Unsupported, ColumnDefinition", column); + // } + // if (column != null && column.getTable() != null) { + // // TODO support + // log.error("Unsupported, SecondaryTable in " + column); + // throw new MappingException("Unsupported, SecondaryTable", column); + // } + + final Element idElement = getCreateIdElement(getHbmContext().getCurrent(), aClass); + final boolean isCompositeId = aClass.getIdClass() != null; + + final Element usedIdElement; + if (isCompositeId) { + usedIdElement = idElement.addElement("key-property"); + } else { + usedIdElement = idElement; + } + + // if idclass != null then this is a composite id which can not have a + // unique constraint + // on an id column + addColumnsAndFormula(usedIdElement, id, columns, false, false, aClass.getIdClass() == null, true); + + usedIdElement.addAttribute("name", eAttribute.getName()); + if (id.getEnumerated() == null) { + setType(id, usedIdElement); + + if (eAttribute.getDefaultValue() != null) { + usedIdElement.addAttribute("unsaved-value", eAttribute.getDefaultValue().toString()); + } else if (eAttribute.getEType().getDefaultValue() != null) { + usedIdElement.addAttribute("unsaved-value", eAttribute.getEType().getDefaultValue().toString()); + } + + } else { // enumerated id + final EClassifier eclassifier = id.getModelEAttribute().getEType(); + if (!getHbmContext().isGeneratedByEMF() && !getHbmContext().isDynamic(eclassifier)) { + final String typeName = getEnumUserType(id.getEnumerated()); + final Class<?> instanceClass = getHbmContext().getInstanceClass(eclassifier); + usedIdElement.addElement("type").addAttribute("name", typeName).addElement("param").addAttribute( + "name", "enumClassName").addText(instanceClass.getName()); + } else if (!getHbmContext().isGeneratedByEMF() && getHbmContext().isDynamic(eclassifier)) { + throw new UnsupportedOperationException("DYNAMIC WITH ENUM ID NOT YET SUPPORTED"); + } else if (id.getModelEAttribute().getEType().getInstanceClass() != null) { + usedIdElement.addElement("type").addAttribute("name", getEnumUserType(id.getEnumerated())).addElement( + "param").addAttribute("name", HbMapperConstants.ENUM_CLASS_PARAM).addText( + eAttribute.getEType().getInstanceClass().getName()); + } else { + final Element typeElement = usedIdElement.addElement("type").addAttribute("name", + hbDynamicEnumType(id.getEnumerated())); + typeElement.addElement("param").addAttribute("name", HbMapperConstants.ECLASSIFIER_PARAM).addText( + id.getModelEAttribute().getEType().getName()); + typeElement.addElement("param").addAttribute("name", HbMapperConstants.EPACKAGE_PARAM).addText( + id.getModelEAttribute().getEType().getEPackage().getNsURI()); + } + } + + // TODO define what to do for unsettable id attribute (unlikely, maybe + // error) + + if (generatedValue != null) { + if (isCompositeId) { + throw new MappingException("Composite id can not have a generated value " + + id.getModelEAttribute().getEContainingClass().getName() + "/" + + id.getModelEAttribute().getName()); + } + + final Element generatorElement = usedIdElement.addElement("generator"); + + GenericGenerator gg; + if (generatedValue.getGenerator() != null + && (gg = getGenericGenerator(id.getPaModel(), generatedValue.getGenerator())) != null) { + log.debug("GenericGenerator the strategy in the GeneratedValue is ignored (if even set)"); + generatorElement.addAttribute("class", gg.getStrategy()); + if (gg.getParameters() != null) { + for (Parameter param : gg.getParameters()) { + generatorElement.addElement("param").addAttribute("name", param.getName()).addText( + param.getValue()); + } + } + } else if (GenerationType.IDENTITY.equals(generatedValue.getStrategy())) { + generatorElement.addAttribute("class", "identity"); + } else if (GenerationType.TABLE.equals(generatedValue.getStrategy())) { + generatorElement.addAttribute("class", IdMapper.hbGeneratorClass(generatedValue.getStrategy())); + if (generatedValue.getGenerator() != null) { // table + // generator + final TableGenerator tg = id.getPaModel().getTableGenerator(id.getModelEAttribute(), + generatedValue.getGenerator()); + generatorElement.addElement("param").addAttribute("name", "table").setText( + (tg.getTable() != null ? tg.getTable() : "uid_table")); // externalize + generatorElement.addElement("param").addAttribute("name", "column").setText( + tg.getValueColumnName() != null ? tg.getValueColumnName() : "next_hi_value_column"); // externalize + generatorElement.addElement("param").addAttribute("name", "max_lo").setText( + (tg.getAllocationSize() - 1) + ""); + } else { + generatorElement.addElement("param").addAttribute("name", "table").setText("uid_table"); // externalize + generatorElement.addElement("param").addAttribute("name", "column").setText("next_hi_value_column"); // externalize + } + } else if (GenerationType.SEQUENCE.equals(generatedValue.getStrategy())) { + if (generatedValue.getGenerator() != null) { + final SequenceGenerator sg = id.getPaModel().getSequenceGenerator(id.getModelEAttribute(), + generatedValue.getGenerator()); + if (sg.isSetAllocationSize()) { + generatorElement.addAttribute("class", "seqhilo"); + generatorElement.addElement("param").addAttribute("name", "sequence").setText( + sg.getSequenceName()); + // generatorElement.addElement("param").addAttribute("name", + // "initialValue").setText( + // Integer.toString(sg.getInitialValue())); + generatorElement.addElement("param").addAttribute("name", "max_lo").setText( + Integer.toString(sg.getAllocationSize() - 1)); + } else { + generatorElement.addAttribute("class", IdMapper.hbGeneratorClass(generatedValue.getStrategy())); + generatorElement.addElement("param").addAttribute("name", "sequence").setText( + sg.getSequenceName()); + } + } else { + generatorElement.addAttribute("class", IdMapper.hbGeneratorClass(generatedValue.getStrategy())); + } + } else if (GenerationType.SEQUENCESTYLE.equals(generatedValue.getStrategy())) { + generatorElement.addAttribute("class", IdMapper.hbGeneratorClass(generatedValue.getStrategy())); + if (generatedValue.getGenerator() != null) { + final SequenceStyleGenerator sg = id.getPaModel().getSequenceStyleGenerator( + id.getModelEAttribute(), generatedValue.getGenerator()); + generatorElement.addElement("param").addAttribute("name", "sequence_name").setText( + sg.getSequenceName()); + generatorElement.addElement("param").addAttribute("name", "optimizer").setText( + sg.getOptimizer().getName().toLowerCase()); + generatorElement.addElement("param").addAttribute("name", "initial_value").setText( + Integer.toString(sg.getInitialValue())); + generatorElement.addElement("param").addAttribute("name", "increment_size").setText( + Integer.toString(sg.getIncrementSize())); + } + } else { + generatorElement.addAttribute("class", IdMapper.hbGeneratorClass(generatedValue.getStrategy())); + } + } else { + // check if there is a one-to-one with pk + checkAddForeignGenerator(idElement, aClass); + } + } + + // check if one of the ereferences has a one-to-one and a + // primarykeyjoincolumn + // then use a special generator + protected boolean checkAddForeignGenerator(Element idElement, PAnnotatedEClass aClass) { + for (PAnnotatedEStructuralFeature aFeature : aClass.getPaEStructuralFeatures()) { + if (aFeature instanceof PAnnotatedEReference) { + final PAnnotatedEReference aReference = (PAnnotatedEReference) aFeature; + if (aReference.getOneToOne() != null && !aReference.getPrimaryKeyJoinColumns().isEmpty()) { + final Element genElement = idElement.addElement("generator"); + genElement.addAttribute("class", "foreign"); + final Element paramElement = genElement.addElement("param"); + paramElement.addAttribute("name", "property"); + paramElement.addText(aReference.getModelElement().getName()); + return true; + } + } + } + return false; + } + + /** + * Returns a sequence generator on the basis of its name, if not found then null is returned. + */ + public GenericGenerator getGenericGenerator(PAnnotatedModel paModel, String name) { + for (PAnnotatedEPackage annotatedEPackage : paModel.getPaEPackages()) { + final HbAnnotatedEPackage pae = (HbAnnotatedEPackage) annotatedEPackage; + for (GenericGenerator gg : pae.getHbGenericGenerators()) { + if (gg.getName() != null && gg.getName().compareTo(name) == 0) { + if (gg.getStrategy() == null) { + throw new MappingException("The GenericGenerator: " + name + " has no strategy defined!"); + } + + return gg; + } + } + } + log.debug("No GenericGenerator defined under name: " + name); + return null; + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyAttributeMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyAttributeMapper.java new file mode 100755 index 000000000..aba48cb91 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyAttributeMapper.java @@ -0,0 +1,114 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal + * </copyright> $Id: ManyAttributeMapper.java,v 1.27 2009/11/02 18:14:18 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.util.FeatureMapUtil; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn; +import org.eclipse.emf.teneo.annotations.pannotation.JoinTable; +import org.eclipse.emf.teneo.annotations.pannotation.OneToMany; +import org.eclipse.emf.teneo.extension.ExtensionPoint; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement; +import org.eclipse.emf.teneo.simpledom.Element; + +/** + * Maps many valued attributes. + * <p> + * Assumes that the given {@link PAnnotatedEAttribute} is normal, i.e. + * <ul> + * <li>it is a {@link PAnnotatedEReference}; + * <li>it has a {@link OneToMany} annotation; + * <li>oneToMany.getCascade() is ALL + * <li>oneToMany.getTargetEntity is not specified + * <li>the {@link OneToMany} annotation have the following attributes set: + * <li>TODO which is the meaning of a column annotation? Can it have one? + * </ul> + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class ManyAttributeMapper extends AbstractAssociationMapper implements ExtensionPoint { + + /** The logger */ + private static final Log log = LogFactory.getLog(ManyAttributeMapper.class); + + /** + * Process a many=true EAttribute + */ + public void processManyAttribute(PAnnotatedEAttribute paAttribute) { + if (log.isDebugEnabled()) { + log.debug("Generating many valued attribute mapping for " + paAttribute); + } + + final HbAnnotatedEAttribute hbAttribute = (HbAnnotatedEAttribute) paAttribute; + final EAttribute eattr = paAttribute.getModelEAttribute(); + + final boolean isArray = eattr.getEType().getInstanceClass() != null + && eattr.getEType().getInstanceClass().isArray(); + + final Element collElement = addCollectionElement(paAttribute); + final Element keyElement = collElement.addElement("key"); + + final JoinTable jt = paAttribute.getJoinTable(); + final List<JoinColumn> jcs = paAttribute.getJoinColumns() == null ? new ArrayList<JoinColumn>() : paAttribute + .getJoinColumns(); + final OneToMany otm = paAttribute.getOneToMany(); + + if (jt != null) { + addJoinTable(hbAttribute, collElement, keyElement, jt); + addKeyColumns(hbAttribute, keyElement, jcs); + } else { + // TODO should we also add joinColumns annotation? + addKeyColumns(hbAttribute, keyElement, jcs); + } + + if (!otm.isIndexed() && isArray) { + log.warn("One to many is not indexed but this is an array, force=ing index column!"); + } + + if ((otm.isIndexed() || isArray) && hbAttribute.getHbIdBag() == null) { + addListIndex(collElement, paAttribute); + } + + if (!isArray) { + addFetchType(collElement, otm.getFetch()); + } + addCascadesForMany(collElement, getCascades(hbAttribute.getHbCascade(), otm.getCascade())); + + if (FeatureMapUtil.isFeatureMap(paAttribute.getModelEAttribute())) { + if (getHbmContext().getPersistenceOptions().isMapFeatureMapAsComponent()) { + final Element curElement = getHbmContext().getCurrent(); + FeatureMapMapping fmm = new FeatureMapMapping(getHbmContext(), paAttribute); + Element element = collElement.addElement("composite-element").addAttribute("class", + getHbmContext().getFeatureMapEntryClassName()); + fmm.setCompositeElement(element); + fmm.process(); + getHbmContext().setCurrent(curElement); + // composite-element class="DeliveryAttempt"> + } else { + FeatureMapMapping fmm = new FeatureMapMapping(getHbmContext(), paAttribute); + getHbmContext().addFeatureMapMapper(fmm); + collElement.addElement("one-to-many").addAttribute("entity-name", fmm.getEntityName()); + } + } else { + addElementElement(collElement, paAttribute, getColumns(paAttribute), otm.getTargetEntity()); + } + + addAccessor(collElement); + + mapFilter(collElement, ((HbAnnotatedETypeElement) paAttribute).getFilter()); + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyExternalReferenceMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyExternalReferenceMapper.java new file mode 100755 index 000000000..2cb976aae --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyExternalReferenceMapper.java @@ -0,0 +1,79 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal + * </copyright> $Id: ManyExternalReferenceMapper.java,v 1.1 2008/12/16 20:40:29 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn; +import org.eclipse.emf.teneo.annotations.pannotation.JoinTable; +import org.eclipse.emf.teneo.annotations.pannotation.OneToMany; +import org.eclipse.emf.teneo.extension.ExtensionPoint; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement; +import org.eclipse.emf.teneo.simpledom.Element; + +/** + * Maps ereference with isMany is true which should be stored as an URI. + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class ManyExternalReferenceMapper extends AbstractAssociationMapper + implements ExtensionPoint { + + private static final Log log = LogFactory + .getLog(ManyExternalReferenceMapper.class); + + /** + * Process a many=true EReference with URI attribute. + */ + public void processManyReference(PAnnotatedEReference paReference) { + if (log.isDebugEnabled()) { + log.debug("Generating many valued attribute mapping for " + + paReference); + } + + final HbAnnotatedEReference hbReference = (HbAnnotatedEReference) paReference; + + final Element collElement = addCollectionElement(paReference); + final Element keyElement = collElement.addElement("key"); + + final JoinTable jt = paReference.getJoinTable(); + final List<JoinColumn> jcs = paReference.getJoinColumns() == null ? new ArrayList<JoinColumn>() + : paReference.getJoinColumns(); + final OneToMany otm = paReference.getOneToMany(); + + if (jt != null) { + addJoinTable(hbReference, collElement, keyElement, jt); + addKeyColumns(hbReference, keyElement, jcs); + } else { + // TODO should we also add joinColumns annotation? + addKeyColumns(hbReference, keyElement, jcs); + } + + if (otm.isIndexed() && hbReference.getHbIdBag() == null) { + addListIndex(collElement, paReference); + } + + addFetchType(collElement, otm.getFetch()); + addCascadesForMany(collElement, getCascades(hbReference.getHbCascade(), + otm.getCascade())); + + addElementElement(collElement, paReference, getColumns(paReference), + otm.getTargetEntity()); + + addAccessor(collElement); + + mapFilter(collElement, ((HbAnnotatedETypeElement) hbReference) + .getFilter()); + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyToManyMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyToManyMapper.java new file mode 100755 index 000000000..aab8029df --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyToManyMapper.java @@ -0,0 +1,166 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal + * </copyright> $Id: ManyToManyMapper.java,v 1.33 2011/02/21 06:39:57 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn; +import org.eclipse.emf.teneo.annotations.pannotation.JoinTable; +import org.eclipse.emf.teneo.annotations.pannotation.ManyToMany; +import org.eclipse.emf.teneo.extension.ExtensionPoint; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement; +import org.eclipse.emf.teneo.simpledom.Element; +import org.eclipse.emf.teneo.util.StoreUtil; + +/** + * Maps a many to many relation. + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class ManyToManyMapper extends AbstractAssociationMapper implements + ExtensionPoint { + + /** Logger */ + private static final Log log = LogFactory.getLog(ManyToManyMapper.class); + + /** + * Process a many to many for all cases + */ + public void process(PAnnotatedEReference paReference) { + log.debug("Creating many-to-many for " + paReference); + + final HbAnnotatedEReference hbReference = (HbAnnotatedEReference) paReference; + final EReference eref = paReference.getModelEReference(); + final JoinTable jt = hbReference.getJoinTable(); + final ManyToMany mtm = hbReference.getManyToMany(); + + if (jt == null) { + throw new MappingException("Jointable is mandatory " + + StoreUtil.toString(eref)); + } + + final Element collElement = addCollectionElement(hbReference); + + if (hbReference.getImmutable() != null) { + collElement.addAttribute("mutable", "false"); + } + + if (((HbAnnotatedEReference) paReference).getHbCache() != null) { + addCacheElement(collElement, + ((HbAnnotatedEReference) paReference).getHbCache()); + } + + final Element keyElement = collElement.addElement("key"); + handleOndelete(keyElement, hbReference.getHbOnDelete()); + + boolean isMap = StoreUtil.isMap(eref) + && getHbmContext().isMapEMapAsTrueMap(); + if (mtm.isIndexed() && hbReference.getHbIdBag() == null) { + // now we check if it is a list or a map + if (hbReference.getMapKey() != null + || hbReference.getHbMapKey() != null + || hbReference.getMapKeyManyToMany() != null) { + addMapKey(collElement, paReference); + } else if (isMap) { + addMapKey(collElement, hbReference); + } else { + addListIndex(collElement, hbReference); + } + } + + addFetchType(collElement, mtm.getFetch()); + addCascades(collElement, + getCascades(hbReference.getHbCascade(), mtm.getCascade()), + false); + + final PAnnotatedEClass referedToAClass = hbReference + .getAReferenceType(); + String targetName = mtm.getTargetEntity(); + if (targetName == null) { + targetName = getHbmContext().getEntityName( + hbReference.getEReferenceType()); + } + log.debug("Target entity-name " + targetName); + + final Element mtmElement; + if (referedToAClass.isOnlyMapAsEntity() + || !getHbmContext().forceUseOfInstance(referedToAClass)) { + mtmElement = collElement.addElement("many-to-many") + .addAttribute("entity-name", targetName) + .addAttribute("unique", "false"); + } else { + mtmElement = collElement + .addElement("many-to-many") + .addAttribute( + "class", + getHbmContext().getInstanceClassName( + hbReference.getEReferenceType())) + .addAttribute("unique", "false"); + } + + if (hbReference.getNotFound() != null) { + mtmElement.addAttribute("not-found", hbReference.getNotFound() + .getAction().getName().toLowerCase()); + } + + addForeignKeyAttribute(mtmElement, hbReference); + + // inverse is not supported by indexed lists + if ((!mtm.isIndexed() && hbReference.getHbIdBag() == null && mtm + .getMappedBy() != null)) { + // note inverse is required for many-to-many to work, otherwise + // hibernate will insert + // both sides of the relation twice. + collElement.addAttribute("inverse", "true"); + } else if (mtm.getMappedBy() != null && mtm.isIndexed()) { + log.warn("Indexed is true but indexed is not supported for inverse=true and many-to-many, not setting inverse=true"); + } + + // check for a special case that mapped by is set on both sides + // should always be unequal to null + if (hbReference.getModelEReference().getEOpposite() != null) { + final PAnnotatedEReference aOpposite = hbReference.getPaModel() + .getPAnnotated( + hbReference.getModelEReference().getEOpposite()); + if (aOpposite.getManyToMany() != null + && aOpposite.getManyToMany().getMappedBy() != null + && mtm.getMappedBy() != null) { + log.error("Mappedby is set on both sides of the many-to-many relation, this does not work, see the efeature: " + + hbReference.getModelElement().toString() + + ". Ignoring the mappedby in this efeature"); + mtm.setMappedBy(null); + } + } + + addJoinTable(hbReference, collElement, keyElement, jt); + if (jt.getInverseJoinColumns() != null) { + for (JoinColumn joinColumn : jt.getInverseJoinColumns()) { + mtmElement + .addElement("column") + .addAttribute( + "name", + getHbmContext().trunc(joinColumn, + joinColumn.getName())) + .addAttribute("not-null", + joinColumn.isNullable() ? "false" : "true") + .addAttribute("unique", + joinColumn.isUnique() ? "true" : "false"); + } + } + + addAccessor(collElement); + + mapFilter(collElement, + ((HbAnnotatedETypeElement) paReference).getFilter()); + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyToOneMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyToOneMapper.java new file mode 100755 index 000000000..4d2c7a082 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyToOneMapper.java @@ -0,0 +1,180 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal + * </copyright> $Id: ManyToOneMapper.java,v 1.38 2011/02/21 06:39:57 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.util.List; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pannotation.FetchType; +import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn; +import org.eclipse.emf.teneo.annotations.pannotation.JoinTable; +import org.eclipse.emf.teneo.annotations.pannotation.ManyToOne; +import org.eclipse.emf.teneo.extension.ExtensionPoint; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement; +import org.eclipse.emf.teneo.simpledom.Element; + +/** + * Maps a {@link ManyToOne} element to its {@link MappingContext}. + * <p> + * Assumes that the given {@link PAnnotatedEStructuralFeature} is a normal + * ManyToOne, i.e. + * <ul> + * <li>it is a {@link PAnnotatedEReference}; + * <li>it has a {@link ManyToOne} annotation; + * </ul> + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class ManyToOneMapper extends AbstractAssociationMapper implements + ExtensionPoint { + + /** Log it */ + private static final Log log = LogFactory.getLog(ManyToOneMapper.class); + + /** + * Generate the hb mapping for the given reference and annotations. + */ + public void process(PAnnotatedEReference paReference) { + log.debug("Process many-to-one " + paReference); + + final HbAnnotatedEReference hbReference = (HbAnnotatedEReference) paReference; + + final List<JoinColumn> jcs = getJoinColumns(paReference); + + final EClass referedTo = paReference.getModelEReference() + .getEReferenceType(); + final ManyToOne mto = paReference.getManyToOne(); + String targetName = mto.getTargetEntity(); + if (targetName == null) { + targetName = getHbmContext().getEntityName(referedTo); + } + + final boolean isAny = hbReference.getAny() != null + || hbReference.getAnyMetaDef() != null || isEObject(targetName); + if (isAny) { + final String assocName = getHbmContext().getPropertyName( + hbReference.getModelEStructuralFeature()); + final Element anyElement = createAny(assocName, hbReference, + hbReference.getAny(), hbReference.getAnyMetaDef(), false); + getHbmContext().getCurrent().add(anyElement); + return; + } + + log.debug("Target " + targetName); + + JoinTable joinTable = null; + PAnnotatedEReference aOpposite = null; + if (paReference.getModelEReference().getEOpposite() != null) { + aOpposite = paReference.getPaModel().getPAnnotated( + paReference.getModelEReference().getEOpposite()); + if (aOpposite.getOneToMany() != null + && (!aOpposite.getOneToMany().isList() || aOpposite + .getOneToMany().getFetch().equals(FetchType.EXTRA)) + && aOpposite.getJoinTable() != null) { + joinTable = aOpposite.getJoinTable(); + } + } + + final Element currentElement; + if (joinTable != null) { + final boolean addInverse = aOpposite != null + && aOpposite.getOneToMany() != null + && aOpposite.getOneToMany().getMappedBy() == null + && !aOpposite.getOneToMany().getFetch() + .equals(FetchType.EXTRA); + + currentElement = getHbmContext() + .getCurrent() + .addElement("join") + .addAttribute( + "table", + getHbmContext().trunc(joinTable, + joinTable.getName())) + .addAttribute("inverse", Boolean.toString(addInverse)) + .addAttribute("optional", + Boolean.toString(mto.isOptional())); + + } else { + currentElement = getHbmContext().getCurrent(); + } + + if (joinTable != null) { + final Element keyElement = currentElement.addElement("key"); + addKeyColumns((HbAnnotatedETypeElement) paReference, keyElement, + joinTable.getInverseJoinColumns()); + } + + final Element associationElement = addManyToOne(currentElement, + paReference, targetName, false); + addAccessor(associationElement); + + final boolean isProperty = hbReference.getHbType() != null; + addLazyProxy(associationElement, mto.getFetch(), paReference); + if (!isProperty && hbReference.getNaturalId() != null) { + associationElement.addAttribute(HbMapperConstants.NATURAL_ID_ATTR, + Boolean.toString(hbReference.getNaturalId().isMutable())); + } + + if (!isProperty && joinTable != null) { + addJoinColumns(paReference, associationElement, + joinTable.getJoinColumns(), mto.isOptional() + || getHbmContext().isDoForceOptional(paReference) + || getHbmContext().isCurrentElementFeatureMap()); + } + + if (!isProperty) { + addCascadesForSingle(associationElement, + getCascades(hbReference.getHbCascade(), mto.getCascade())); + } + + if (hbReference.getHbFetch() != null) { + associationElement.addAttribute("fetch", hbReference.getHbFetch() + .getValue().getName().toLowerCase()); + } + + final boolean nullable = getHbmContext().isDoForceOptional(paReference) + || mto.isOptional() + || getHbmContext().isCurrentElementFeatureMap(); + + if (!isProperty) { + addForeignKeyAttribute(associationElement, paReference); + addLazyProxy(associationElement, mto.getFetch(), paReference); + + if (joinTable == null) { + addJoinColumns(paReference, associationElement, jcs, nullable); + associationElement.addAttribute("not-null", nullable ? "false" + : "true"); + } + } else if (isProperty) { + associationElement.addAttribute("not-null", nullable ? "false" + : "true"); + } + + // note that the reference must be required, nullable and unique columns + // are not supported + // by ms sql server + // because ms sql server also sees null as a value + if (paReference.getModelEReference().isContainment() && !nullable) { + associationElement.addAttribute("unique", "true"); + } + + // MT: TODO; the characteristic of the other side should be checked (if + // present), if the otherside is a onetoone + // then this + // should be set to true. But then this is then handled by a + // bidirectional onetoone (I think). + // if (joinColumns.isEmpty()) + // associationElement.addAttribute("unique", "true"); + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingContext.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingContext.java new file mode 100755 index 000000000..415e70621 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingContext.java @@ -0,0 +1,916 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal + * </copyright> $Id: MappingContext.java,v 1.39 2011/04/26 18:41:15 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EClassifier; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.impl.DynamicEObjectImpl; +import org.eclipse.emf.teneo.PersistenceOptions; +import org.eclipse.emf.teneo.annotations.mapper.AbstractProcessingContext; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel; +import org.eclipse.emf.teneo.annotations.pannotation.Column; +import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn; +import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation; +import org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable; +import org.eclipse.emf.teneo.annotations.pannotation.Table; +import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint; +import org.eclipse.emf.teneo.ecore.EModelResolver; +import org.eclipse.emf.teneo.extension.ExtensionInitializable; +import org.eclipse.emf.teneo.extension.ExtensionManager; +import org.eclipse.emf.teneo.extension.ExtensionManagerAware; +import org.eclipse.emf.teneo.extension.ExtensionPoint; +import org.eclipse.emf.teneo.mapping.strategy.EntityNameStrategy; +import org.eclipse.emf.teneo.mapping.strategy.SQLNameStrategy; +import org.eclipse.emf.teneo.simpledom.Document; +import org.eclipse.emf.teneo.simpledom.Element; + +/** + * Maps a basic attribute with many=true, e.g. list of simpletypes. + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.39 $ + */ +public class MappingContext extends AbstractProcessingContext implements + ExtensionPoint, ExtensionInitializable, ExtensionManagerAware { + + /** The xml document to which all elements are added */ + private Document mappingDoc; + + /** The current element, normally a class element */ + private Element currentElement; + + /** Mapping from eclass to entity name */ + private Map<EClass, String> entityNames = null; + + /** + * Keeps track of the list of featuremapmappers created for the current + * entity + */ + private final List<FeatureMapMapping> featureMapMappers = new ArrayList<FeatureMapMapping>(); + + /** The list of eattributes for which a featuremap mapping was created */ + private final List<EAttribute> handledFeatureMapEAttributes = new ArrayList<EAttribute>(); + + /** the mapper used for features */ + private FeatureMapper featureMapper; + + /** + * Is the current element a mixed or a feature map, in this case all + * features should be not required. TODO: check, does this work with + * embedded components in a feature map? + */ + private boolean currentElementFeatureMap = false; + + /** The current table element is set when an entity starts */ + private Table currentTable = null; + + /** + * The current column prefix, is used in case of multiple mixed types in one + * eclass. + */ + private String namePrefix = ""; + + /** The current secondary table being processed. May be null. */ + private SecondaryTable currentSecondaryTable = null; + + /** The current eclass */ + protected EClass currentEClass = null; + + /** The current efeature being processed */ + protected EStructuralFeature currentEFeature = null; + protected PAnnotatedEStructuralFeature currentAFeature = null; + + /** The entity mapper */ + private EntityMapper entityMapper; + + /** The extensionmanager used */ + private ExtensionManager extensionManager; + + /** The option to qualify entity names */ + private EntityNameStrategy entityNameStrategy = null; + + /** Version column name */ + private String versionColumnName = null; + + /** ID column name */ + private String idColumnName = null; + + /** Maximum column name */ + protected int maximumSqlNameLength = -1; + + /** The sql case strategy */ + protected SQLNameStrategy sqlNameStrategy; + + /** The escape character string used for escaping sql names */ + protected String escapeCharacter; + + private boolean adaptManualNames = false; + + /** + * Set force optional, force optional is used in case a subclass is stored + * in the same table as its superclass, in this case all properties of the + * subclass are denoted as optional. + */ + private boolean forceOptional = false; + + // Options + private boolean alwaysVersion; + private boolean isMapEMapAsTrueMap; + private String idbagIDColumnName = "ID"; + + // The pa model for which this is all done, is set when generation starts + private PAnnotatedModel paModel = null; + + // The maximum comment length allowed + private int maximumCommentLength = 0; + + private PersistenceOptions persistenceOptions; + + /** Returns the entitymapper */ + public EntityMapper getEntityMapper() { + return entityMapper; + } + + /** Set relevant properties */ + protected void setMappingProperties(PersistenceOptions po) { + versionColumnName = po.getVersionColumnName(); + idColumnName = po.getIdColumnName(); + maximumSqlNameLength = po.getMaximumSqlNameLength(); + adaptManualNames = po.isAutoAdaptManualSQLNames(); + alwaysVersion = po.getAlwaysVersion(); + isMapEMapAsTrueMap = po.isMapEMapAsTrueMap(); + idbagIDColumnName = po.getIDBagIDColumnName(); + maximumCommentLength = po.getMaximumCommentLength(); + escapeCharacter = po.getSqlNameEscapeCharacter(); + persistenceOptions = po; + } + + /** Return the concrete impl. class */ + protected String getInstanceClassName(EClass eClass) { + final Class<?> clz = getInstanceClass(eClass); + if (clz != null) { + return clz.getName(); + } + log.debug("Instance class for eclass " + eClass.getName() + " is null "); + return DynamicEObjectImpl.class.getName(); + } + + /** Return the concrete impl. class, if none is found then null is returned */ + protected Class<?> getInstanceClass(EClassifier eclassifier) { + return EModelResolver.instance().getJavaClass(eclassifier); + } + + /** + * @return Returns the entity name for the given entity EClass. + */ + public String getEntityName(EClass entityEClass) { + return getEntityName(entityEClass, true); + } + + /** + * @return Returns the entity name for the given entity EClass. + */ + public String getEntityName(EClass entityEClass, boolean throwCheckException) { + String name = entityNames.get(entityEClass); + if (name == null) { + final Class<?> implClass = getInstanceClass(entityEClass); + if (implClass != null) { + name = implClass.getName(); + } + } + if (throwCheckException && name == null) { + throw new IllegalStateException( + "An entity name has not been registered for " + + entityEClass); + } + return name; + } + + /** Set an entityname for a eclass */ + public void setEntityName(EClass entityEClass, String entityName) { + entityNames.put(entityEClass, entityName); + } + + /** Start a document */ + public void beginDocument(Document draft) { + mappingDoc = draft; + currentElement = draft.getRoot(); + entityNames = new HashMap<EClass, String>(); + } + + /** Finished creating the document */ + public Document endDocument() { + Document builtDocument = mappingDoc; + mappingDoc = null; + currentElement = null; + entityNames = null; + return builtDocument; + } + + /** The current element to which new elements are added */ + public Element getCurrent() { + return currentElement; + } + + /** Set the current element to which new elements are added */ + public void setCurrent(Element newCurrent) { + this.currentElement = newCurrent; + } + + public String getComponentFeatureMapTuplizer() { + return "org.eclipse.emf.teneo.hibernate.mapping.elist.FeatureMapEntryComponentTuplizer"; + } + + /** + * Note this call will also clear the current list of featuremappers; + * + * @return the featureMapMappers gathered during the entity processing + */ + public List<FeatureMapMapping> getClearFeatureMapMappers() { + final ArrayList<FeatureMapMapping> result = new ArrayList<FeatureMapMapping>( + featureMapMappers); // clone + // the + // list! + featureMapMappers.clear(); + return result; + } + + /** + * @param Adds + * a featureMapMapper to the featuremapp mapper list + */ + public void addFeatureMapMapper(FeatureMapMapping featureMapMapper) { + if (!handledFeatureMapEAttributes.contains(featureMapMapper + .getEAttribute())) { + featureMapMappers.add(featureMapMapper); + handledFeatureMapEAttributes.add(featureMapMapper.getEAttribute()); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.eclipse.emf.teneo.extension.ExtensionInitializable#initializeExtension + * () + */ + public void initializeExtension() { + featureMapper = createFeatureMapper(); + entityMapper = getExtensionManager().getExtension(EntityMapper.class); + entityMapper.setHbmContext(this); + } + + /** + * @return The builder used by entity mapped that maps features to hbm. + */ + private FeatureMapper createFeatureMapper() { + final FeatureMapper featureMapper = getExtensionManager().getExtension( + FeatureMapper.class); + featureMapper.setHbmContext(this); + + featureMapper.setBasicMapper(createMapper(BasicMapper.class)); + featureMapper + .setManyAttributeMapper(createMapper(ManyAttributeMapper.class)); + featureMapper.setEmbeddedMapper(createMapper(EmbeddedMapper.class)); + featureMapper.setIdMapper(createMapper(IdMapper.class)); + featureMapper.setManyToManyMapper(createMapper(ManyToManyMapper.class)); + featureMapper.setManyToOneMapper(createMapper(ManyToOneMapper.class)); + featureMapper.setOneToManyMapper(createMapper(OneToManyMapper.class)); + featureMapper.setOneToOneMapper(createMapper(OneToOneMapper.class)); + featureMapper + .setManyExternalReferenceMapper(createMapper(ManyExternalReferenceMapper.class)); + return featureMapper; + } + + protected <T> T createMapper(Class<T> clz) { + final T t = getExtensionManager().getExtension(clz); + ((AbstractMapper) t).setHbmContext(this); + return t; + } + + /** process the features of the annotated eclass */ + protected void processFeatures(List<PAnnotatedEStructuralFeature> features) { + for (PAnnotatedEStructuralFeature annotatedEStructuralFeature : features) { + entityMapper.processFeature(annotatedEStructuralFeature); + } + } + + /** + * @return the featureMapper + */ + public FeatureMapper getFeatureMapper() { + return featureMapper; + } + + public String getFeatureMapEntryClassName() { + return "org.eclipse.emf.teneo.hibernate.mapping.elist.HibernateFeatureMapEntry"; + } + + /** + * @return the currentElementFeatureMap + */ + public boolean isCurrentElementFeatureMap() { + return currentElementFeatureMap; + } + + /** + * @param currentElementFeatureMap + * the currentElementFeatureMap to set + */ + public void setCurrentElementFeatureMap(boolean currentElementFeatureMap) { + this.currentElementFeatureMap = currentElementFeatureMap; + } + + /** + * @return the currentTable + */ + public Table getCurrentTable() { + return currentTable; + } + + /** + * @param currentTable + * the currentTable to set + */ + public void setCurrentTable(Table currentTable) { + this.currentTable = currentTable; + } + + /** + * @param currentSecondaryTable + */ + public void setCurrentSecondaryTable(SecondaryTable currentSecondaryTable) { + this.currentSecondaryTable = currentSecondaryTable; + } + + /** Get unique constraint key. */ + public String getUniqueConstraintKey(String colName) { + // Obtain UniqueConstraints from secondary or primary table. + List<UniqueConstraint> uniqueConstraints = null; + if (currentSecondaryTable != null) { + uniqueConstraints = currentSecondaryTable.getUniqueConstraints(); + } else if (currentTable != null) { + uniqueConstraints = currentTable.getUniqueConstraints(); + } + if (uniqueConstraints == null) { + return null; + } + + // NOTE: Hibernate does not support one column being part of multiple + // unique constraints. + for (int i = 0, n = uniqueConstraints.size(); i < n; i++) { + UniqueConstraint uniqueConstraint = uniqueConstraints.get(i); + if (uniqueConstraint.getColumnNames().contains(colName)) { + return "c" + i; + } + + } + return null; + } + + /** + * @return the versionColumnName + */ + public String getVersionColumnName() { + return versionColumnName; + } + + /** + * @param versionColumnName + * the versionColumnName to set + */ + public void setVersionColumnName(String versionColumnName) { + this.versionColumnName = versionColumnName; + } + + /** + * @return the maximumColumnNameLength + */ + public int getMaximumColumnNameLength() { + return maximumSqlNameLength; + } + + /** + * @return true if {@link PersistenceOptions#isAutoAdaptManualSQLNames()} is + * true or if the {@link PAnnotation#isGenerated()} is true. + */ + protected boolean doTrunc(PAnnotation pAnnotation) { + if (adaptManualNames) { + return true; + } + return pAnnotation.isGenerated(); + } + + /** + * @deprecated use {@link #trunc(PAnnotation, String)} + */ + protected String trunc(String name) { + return trunc(null, name, true); + } + + /** + * @deprecated use {@link #trunc(PAnnotation, String, boolean)} + */ + protected String trunc(String truncName, boolean truncPrefix) { + return trunc(null, truncName, truncPrefix); + } + + /** + * Calls {@link #trunc(PAnnotation, String, boolean)} with the last + * parameter set to true. + */ + protected String trunc(PAnnotation pAnnotation, String name) { + return trunc(pAnnotation, name, true); + } + + /** + * Utility method to truncate a column/table name. This method also repairs + * the name if an efeature was inherited and really belongs to another + * eclass. In this case jointables and join keys must be renamed to the new + * eclass. TODO: handle the case that the jointable/columns were set + * manually. This procedure will override them (only applies in case of + * multiple inheritance/mappedsuperclass). This renaming is required for the + * case that an ereference is inherited from a mapped superclass, in this + * case the join-column of the e-reference will be placed in another table. + * If one ereference is inherited by multiple subtypes then this goes wrong + * because they then all share the same join column with foreign keys + * relating it to different tables, and multiple foreign keys on one column + * can not point to different directions. + * + * This method is also called for table names. + * + */ + protected String trunc(PAnnotation pAnnotation, String truncName, + boolean truncPrefix) { + if (pAnnotation != null && !doTrunc(pAnnotation)) { + if (!truncName.startsWith(escapeCharacter) + && !truncName.endsWith(escapeCharacter)) { + return escapeCharacter + truncName + escapeCharacter; + } + return truncName; + } + + // see bugzilla 225818 + // in case of attributeoverride then do not repair the name + final String useName; + // method is also called for table names + if (currentAFeature != null) { + boolean override = false; + if (currentAFeature instanceof PAnnotatedEAttribute) { + override = getAttributeOverride(currentAFeature) != null; + } else { + override = getAssociationOverrides((PAnnotatedEReference) currentAFeature) != null; + } + + final String otherEntityName = getEntityName( + currentEFeature.getEContainingClass(), false); + // if the current name starts with the name of the mapped superclass + // then + // change it back to the current eclass, do not do this in case of + // override + if (!override + && currentEFeature.getEContainingClass() != currentEClass + && otherEntityName != null + && truncName.toUpperCase().startsWith( + otherEntityName.toUpperCase())) { + log.debug("Replacing name of table/joincolumn " + truncName); + // get rid of the first part + useName = getNamePrefix() + + getEntityName(currentEClass) + + truncName + .substring(getEntityName( + currentEFeature.getEContainingClass()) + .length()); + log.debug("with " + useName + " because efeature is inherited"); + log.debug("This renaming does not work in case of manually specified joincolumn/table names and mappedsuperclass or multiple inheritance!"); + } else { + useName = getNamePrefix() + truncName; + } + } else { + useName = getNamePrefix() + truncName; + } + + if (escapeCharacter.length() > 0 + && useName.indexOf(escapeCharacter) == 0) { + return getSqlNameStrategy().convert(useName, false); + } + + return escapeCharacter + getSqlNameStrategy().convert(useName, false) + + escapeCharacter; + + } + + /** + * @return the idColumnName + */ + public String getIdColumnName() { + return idColumnName; + } + + /** Return the alwaysversion option */ + public boolean alwaysVersion() { + return alwaysVersion; + } + + /** Returns the list of eattrs, note list is updated outside of this object */ + public List<EAttribute> getHandledFeatureMapEAttributes() { + return handledFeatureMapEAttributes; + } + + /** Returns the correct property name */ + public String getPropertyName(EStructuralFeature ef) { + return ef.getName(); + } + + /** Return the version property handler */ + public String getSyntheticVersionPropertyHandlerName() { + return "org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler"; + } + + /** Return the id property handler */ + public String getSyntheticIdPropertyHandlerName() { + return "org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler"; + } + + /** Return the standard property handler */ + public String getPropertyHandlerName() { + return ""; + } + + /** Return the version property handler for a normal version field */ + public String getVersionPropertyHandlerName() { + return ""; + } + + /** Return the id property handler for a normal id property handler */ + public String getIdPropertyHandlerName() { + return ""; + } + + /** Return the component property handler */ + public String getComponentPropertyHandlerName() { + return ""; + } + + /** Is this a dynamic eclass, i.e. it has no instanceclass */ + public boolean isDynamic(EClassifier eclassifier) { + return !EModelResolver.instance().hasImplementationClass(eclassifier); + } + + /** + * Use the implementation name as the mapping and never use entity-mapping, + * always false in this implementation + */ + public boolean forceUseOfInstance(PAnnotatedEClass aclass) { + return false; + } + + /** + * Returns true if the instance classes have been generated by emf. For + * Teneo this is always the case. Overriders can support a different + * generation strategy. + */ + public boolean isGeneratedByEMF() { + return true; + } + + /** + * There are four cases: EMF generated, EMF Dynamic, Easy EMF Generated, + * Easy EMF Dynamic public boolean isEasyEMFGenerated(EClassifier + * eclassifier) { return + * EModelResolver.instance().hasImplementationClass(eclassifier); } public + * boolean isEasyEMFDynamic(EClassifier eclassifier) { return + * !isEasyEMFGenerated(eclassifier) && + * EModelResolver.instance().isRegistered( eclassifier.getEPackage()); } + * public boolean isEMFGenerated(EClassifier eclassifier) { return + * eclassifier.getInstanceClass() != null; } + */ + // + // public boolean isEMFDynamic(EClassifier eclassifier) { + // return !isEasyEMFDynamic(eclassifier) && !isEMFGenerated(eclassifier); + // } + // + // /** Return the impl class */ + // public Class<?> getImpl(EClassifier eclassifier) { + // return EModelResolver.instance().getJavaClass(eclassifier); + // } + // + // /** Check if this is an entity (so without an impl class) */ + // public boolean hasImpl(PAnnotatedEStructuralFeature af) { + // return EModelResolver.instance().hasImplementationClass( + // af.getAnnotatedEStructuralFeature().getEContainingClass()); + // } + /** Add a tuplizer element or not */ + public void addTuplizerElement(Element entityElement, + PAnnotatedEClass aclass) { + } + + /** Returns the enumusertype class name */ + public String getEnumUserType() { + return "org.eclipse.emf.teneo.hibernate.mapping.ENumUserType"; + } + + /** Returns the xml duration class name */ + public String getDurationType() { + return "org.eclipse.emf.teneo.hibernate.mapping.XSDDuration"; + } + + /** Returns the enum user type integer name */ + public String getEnumIntegerUserType() { + return "org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType"; + } + + /** Returns the enumusertype class name for the dynamic case */ + public String getDynamicEnumUserType() { + return "org.eclipse.emf.teneo.hibernate.mapping.DynamicENumUserType"; + } + + /** Returns the user type used to persist external references */ + public String getExternalUserType() { + return "org.eclipse.emf.teneo.hibernate.mapping.ExternalType"; + } + + /** Returns the enum user type integer name for the dynamic case */ + public String getDynamicEnumIntegerUserType() { + return "org.eclipse.emf.teneo.hibernate.mapping.DynamicENumUserIntegerType"; + } + + /** Return the default user type */ + public String getDefaultUserType() { + return "org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType"; + } + + /** Returns the default any type */ + public String getAnytype() { + return "org.eclipse.emf.teneo.hibernate.mapping.AnyEObjectType"; + } + + /** Returns the usertype used to handle the xsd date */ + public String getXSDDateUserType() { + // --- JJH + return persistenceOptions.getUserXSDDateType(); + // return "org.eclipse.emf.teneo.hibernate.mapping.XSDDate"; + // --- JJH + } + + /** Returns the usertype used to handle the xsd time */ + public String getXSDTimeUserType() { + // --- JJH + return persistenceOptions.getUserXSDTime(); + // return "org.eclipse.emf.teneo.hibernate.mapping.XSDDateTime"; + // --- JJH + } + + /** Returns the usertype used to handle the xsd datetime */ + public String getXSDDateTimeUserType() { + // --- JJH + return persistenceOptions.getUserXSDDateTime(); + // return "org.eclipse.emf.teneo.hibernate.mapping.XSDDateTime"; + // --- JJH + } + + /** + * @return the eclassNameStrategy + */ + public EntityNameStrategy getEntityNameStrategy() { + if (entityNameStrategy == null) { + entityNameStrategy = getExtensionManager().getExtension( + EntityNameStrategy.class); + entityNameStrategy.setPaModel(getPaModel()); // this call is not + // really required + // but + // for safety reasons + } + return entityNameStrategy; + } + + /** + * @return the isMapEMapAsTrueMap + */ + public boolean isMapEMapAsTrueMap() { + return isMapEMapAsTrueMap; + } + + /** + * @return the currentEClass + */ + public EClass getCurrentEClass() { + return currentEClass; + } + + /** + * @param currentEClass + * the currentEClass to set + */ + public void setCurrentEClass(EClass currentEClass) { + this.currentEClass = currentEClass; + } + + /** + * @return the currentEFeature + */ + public EStructuralFeature getCurrentEFeature() { + return currentEFeature; + } + + /** + * @param currentEFeature + * the currentEFeature to set + */ + public void setCurrentFeature(PAnnotatedEStructuralFeature currentFeature) { + this.currentAFeature = currentFeature; + this.currentEFeature = currentFeature == null ? null : currentFeature + .getModelEStructuralFeature(); + } + + /** + * @return the idbagIDColumnName + */ + public String getIdbagIDColumnName() { + return idbagIDColumnName; + } + + /** + * @return the forceOptional + */ + public boolean isDoForceOptional(PAnnotatedEStructuralFeature aFeature) { + final boolean hasSecondaryTable = getSecondaryTableName(aFeature) != null; + return !hasSecondaryTable && forceOptional; + } + + /** + * @param forceOptional + * the forceOptional to set + */ + public void setForceOptional(boolean forceOptional) { + this.forceOptional = forceOptional; + } + + /** + * @return the paModel + */ + public PAnnotatedModel getPaModel() { + return paModel; + } + + /** + * @param paModel + * the paModel to set + */ + public void setPaModel(PAnnotatedModel paModel) { + this.paModel = paModel; + } + + /** + * @return the extensionManager + */ + public ExtensionManager getExtensionManager() { + return extensionManager; + } + + /** + * @param extensionManager + * the extensionManager to set + */ + public void setExtensionManager(ExtensionManager extensionManager) { + this.extensionManager = extensionManager; + } + + /** + * @return the sqlNameStrategy + */ + public SQLNameStrategy getSqlNameStrategy() { + if (sqlNameStrategy == null) { + sqlNameStrategy = getExtensionManager().getExtension( + SQLNameStrategy.class); + } + return sqlNameStrategy; + } + + /** + * @return the maximumCommentLength + */ + public int getMaximumCommentLength() { + return maximumCommentLength; + } + + /** + * @return the namePrefix + */ + public String getNamePrefix() { + return namePrefix; + } + + /** + * @param namePrefix + * the namePrefix to set + */ + public void setNamePrefix(String namePrefix) { + this.namePrefix = namePrefix; + } + + /** + * @return the escapeCharacter + */ + public String getEscapeCharacter() { + return escapeCharacter; + } + + /** + * @param escapeCharacter + * the escapeCharacter to set + */ + public void setEscapeCharacter(String escapeCharacter) { + this.escapeCharacter = escapeCharacter; + } + + /** + * @return the persistenceOptions + */ + public PersistenceOptions getPersistenceOptions() { + return persistenceOptions; + } + + /** + * Returns the table name from the column annotation or the joincolumn + * annotation Also takes associationoverride or attributeoverride into + * account + */ + public String getSecondaryTableName(PAnnotatedEStructuralFeature pef) { + String tableName = null; + + if (pef instanceof PAnnotatedEAttribute) { + final PAnnotatedEAttribute pea = (PAnnotatedEAttribute) pef; + Column c = getAttributeOverride(pea); + if (c == null) { + c = pef.getColumn(); + } + if (c != null) { + tableName = c.getTable(); + } + } else { + final PAnnotatedEReference per = (PAnnotatedEReference) pef; + pushOverrideOnStack(); + addAttributeOverrides(per.getAttributeOverrides()); + addAssociationOverrides(per.getAssociationOverrides()); + + try { + if (per.getEmbedded() != null) { + // check the embedded efeatures + // take the first feature of the target type + // assume that they are all handled in the same table + final EClass eClass = per.getModelEReference() + .getEReferenceType(); + for (EAttribute ea : eClass.getEAllAttributes()) { + final Column c = getAttributeOverride(ea.getName()); + if (c != null && c.getTable() != null) { + return c.getTable(); + } + } + for (EReference er : eClass.getEAllReferences()) { + final List<JoinColumn> jcs = getAssociationOverrides(er + .getName()); + if (jcs != null && jcs.size() > 0) { + return jcs.get(0).getTable(); + } + } + } else { + List<JoinColumn> jcs = getAssociationOverrides(per); + if (jcs == null || jcs.size() == 0) { + jcs = per.getJoinColumns(); + } + if (jcs != null && jcs.size() > 0) { + for (JoinColumn jc : jcs) { + if (jc.getTable() != null) { + tableName = jc.getTable(); + break; + } + } + } + } + } finally { + popOverrideStack(); + } + } + return tableName; + } + +}
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingException.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingException.java new file mode 100755 index 000000000..0573c0af5 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingException.java @@ -0,0 +1,61 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal + * </copyright> $Id: MappingException.java,v 1.8 2009/03/07 21:15:19 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.teneo.TeneoException; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement; +import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation; + +/** + * Exception used to signal errors in mapping TODO is there an elver hierarchy + * of exceptions? MT: no there is no real hierarchy, I tend to use have one + * general exception which always logs the exception + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class MappingException extends TeneoException { + + /** + * Generated Serial ID + */ + private static final long serialVersionUID = 7816794038091161326L; + + /** Logger */ + private static final Log log = LogFactory.getLog(MappingException.class); + + public MappingException(String msg) { + super(msg); + log.error("EXCEPTION: " + msg + " CAUSE "); + } + + /** Constructor */ + public MappingException(String msg, PAnnotatedEModelElement paElement) { + super(msg + ", " + paElement); + log.error("EXCEPTION: " + msg + " element " + + paElement.getModelElement().getName()); + } + + public MappingException(String msg, Exception cause) { + super(msg, cause); + log.error("EXCEPTION: " + msg + " CAUSE " + cause.getClass().getName()); + } + + public MappingException(String msg, PAnnotation pAnnotation) { + super(msg + ", " + pAnnotation); + log.error("EXCEPTION: " + + msg + + " element " + + pAnnotation.eClass().getName() + + " " + + (pAnnotation.getEModelElement() != null ? pAnnotation + .getEModelElement().eClass().getName() : "")); + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingUtil.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingUtil.java new file mode 100755 index 000000000..791babb40 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingUtil.java @@ -0,0 +1,139 @@ +/** + * <copyright> + * + * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal + * </copyright> + * + * $Id: MappingUtil.java,v 1.7 2008/12/16 20:40:29 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.util.Properties; + +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.teneo.PersistenceOptions; +import org.eclipse.emf.teneo.annotations.mapper.BasicPamodelBuilder; +import org.eclipse.emf.teneo.annotations.mapper.EClassAnnotator; +import org.eclipse.emf.teneo.annotations.mapper.EDataTypeAnnotator; +import org.eclipse.emf.teneo.annotations.mapper.EFeatureAnnotator; +import org.eclipse.emf.teneo.annotations.mapper.ManyToOneReferenceAnnotator; +import org.eclipse.emf.teneo.annotations.mapper.OneToManyAttributeAnnotator; +import org.eclipse.emf.teneo.annotations.mapper.OneToManyReferenceAnnotator; +import org.eclipse.emf.teneo.annotations.mapper.OneToOneReferenceAnnotator; +import org.eclipse.emf.teneo.annotations.mapper.PersistenceMappingBuilder; +import org.eclipse.emf.teneo.annotations.mapper.SingleAttributeAnnotator; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel; +import org.eclipse.emf.teneo.annotations.parser.EAnnotationParserImporter; +import org.eclipse.emf.teneo.annotations.xml.XmlPersistenceMapper; +import org.eclipse.emf.teneo.extension.ExtensionManager; +import org.eclipse.emf.teneo.extension.ExtensionManagerFactory; +import org.eclipse.emf.teneo.extension.ExtensionUtil; +import org.eclipse.emf.teneo.hibernate.annotations.HbAnnotationModelBuilder; +import org.eclipse.emf.teneo.hibernate.annotations.HbEAnnotationParserImporter; +import org.eclipse.emf.teneo.hibernate.annotations.HbEClassAnnotator; +import org.eclipse.emf.teneo.hibernate.annotations.HbEDataTypeAnnotator; +import org.eclipse.emf.teneo.hibernate.annotations.HbEFeatureAnnotator; +import org.eclipse.emf.teneo.hibernate.annotations.HbManyToOneReferenceAnnotator; +import org.eclipse.emf.teneo.hibernate.annotations.HbOneToManyAttributeAnnotator; +import org.eclipse.emf.teneo.hibernate.annotations.HbOneToManyReferenceAnnotator; +import org.eclipse.emf.teneo.hibernate.annotations.HbOneToOneReferenceAnnotator; +import org.eclipse.emf.teneo.hibernate.annotations.HbSingleAttributeAnnotator; +import org.eclipse.emf.teneo.hibernate.annotations.HbXmlPersistenceMapper; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement; + +/** + * Contains some utility methods. + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.7 $ + */ +public class MappingUtil { + + /** + * Separate utility method, generates a hibernate mapping for a set of + * epackages and options. The hibernate.hbm.xml is returned as a string. The + * mapping is not registered or used in any other way by Elver. + */ + public static String generateMapping(EPackage[] epackages, Properties props) { + final ExtensionManager extensionManager = ExtensionManagerFactory + .getInstance().create(); + return generateMapping(epackages, props, extensionManager); + } + + public static String generateMapping(EPackage[] epackages, + Properties props, ExtensionManager extensionManager) { + registerHbExtensions(extensionManager); + + // DCB: Use Hibernate-specific annotation processing mechanism. This + // allows use of + // Hibernate-specific annotations. + final PersistenceOptions po = extensionManager.getExtension( + PersistenceOptions.class, new Object[] { props }); + final PAnnotatedModel paModel = extensionManager.getExtension( + PersistenceMappingBuilder.class).buildMapping(epackages, po, + extensionManager); + final HibernateMappingGenerator hmg = extensionManager + .getExtension(HibernateMappingGenerator.class); + hmg.setPersistenceOptions(po); + return hmg.generateToString(paModel); + } + + /** + * Determine the collection element set, bag or list. Only used in case + * Teneo operates for non-emf code + */ + public static String getCollectionElement(HbAnnotatedETypeElement hbFeature) { + final boolean hasOrderBy = hbFeature instanceof PAnnotatedEReference + && ((PAnnotatedEReference) hbFeature).getOrderBy() != null; + + if (!hbFeature.getOneToMany().isList() || hasOrderBy) { + return "set"; + } else if (hbFeature.getOneToMany().isList() + && !hbFeature.getOneToMany().isIndexed()) { + return "bag"; + } else { + return "list"; + } + } + + /** Registers default hb extensions */ + public static void registerHbExtensions(ExtensionManager extensionManager) { + extensionManager.registerExtension(ExtensionUtil.createExtension( + BasicPamodelBuilder.class, HbAnnotationModelBuilder.class)); + extensionManager.registerExtension(ExtensionUtil.createExtension( + EAnnotationParserImporter.class, + HbEAnnotationParserImporter.class)); + extensionManager.registerExtension(ExtensionUtil.createExtension( + XmlPersistenceMapper.class, HbXmlPersistenceMapper.class)); + extensionManager.registerExtension(ExtensionUtil.createExtension( + SingleAttributeAnnotator.class, + HbSingleAttributeAnnotator.class)); + extensionManager.registerExtension(ExtensionUtil.createExtension( + EClassAnnotator.class, HbEClassAnnotator.class)); + extensionManager.registerExtension(ExtensionUtil.createExtension( + EFeatureAnnotator.class, HbEFeatureAnnotator.class)); + extensionManager.registerExtension(ExtensionUtil.createExtension( + OneToManyAttributeAnnotator.class, + HbOneToManyAttributeAnnotator.class)); + extensionManager.registerExtension(ExtensionUtil.createExtension( + EDataTypeAnnotator.class, HbEDataTypeAnnotator.class)); + extensionManager.registerExtension(ExtensionUtil.createExtension( + OneToManyReferenceAnnotator.class, + HbOneToManyReferenceAnnotator.class)); + extensionManager.registerExtension(ExtensionUtil.createExtension( + OneToOneReferenceAnnotator.class, + HbOneToOneReferenceAnnotator.class)); + extensionManager.registerExtension(ExtensionUtil.createExtension( + ManyToOneReferenceAnnotator.class, + HbManyToOneReferenceAnnotator.class)); + } +}
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/OneToManyMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/OneToManyMapper.java new file mode 100755 index 000000000..e90753cc4 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/OneToManyMapper.java @@ -0,0 +1,430 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal + * </copyright> $Id: OneToManyMapper.java,v 1.44 2010/03/25 00:12:42 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pannotation.FetchType; +import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn; +import org.eclipse.emf.teneo.annotations.pannotation.JoinTable; +import org.eclipse.emf.teneo.annotations.pannotation.OneToMany; +import org.eclipse.emf.teneo.extension.ExtensionPoint; +import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedETypeElement; +import org.eclipse.emf.teneo.simpledom.Element; +import org.eclipse.emf.teneo.util.StoreUtil; + +/** + * Maps a OneToMany element to its mapping Context. + * <p> + * Assumes that the given {@link PAnnotatedEStructuralFeature} is normal, i.e. + * <ul> + * <li>it is a {@link PAnnotatedEReference}; + * <li>it has a {@link OneToMany} annotation; + * <li>TODO + * </ul> + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class OneToManyMapper extends AbstractAssociationMapper implements + ExtensionPoint { + + /** The log */ + private static final Log log = LogFactory.getLog(OneToManyMapper.class); + + /** Process the paReference */ + public void process(PAnnotatedEReference paReference) { + // TODO assuming it coincides with specified targetEntity, correct? + // Guaranteed by validation? + if (getOtherSide(paReference) == null) { + processOtMUni(paReference); + // mappedBy is not set anymore because it controls inverse + // see bugzilla 242479 + // } else if + // (!paReference.getOneToMany().eIsSet(PannotationPackage.eINSTANCE.getOneToMany_MappedBy + // () + // )) { + // throw new MappingException( + // "The many side of a bidirectional one to many association must be the owning side", + // paReference); + } else { + // MT: TODO add check, in this case unique should always true + // because an child can only occur once within + // the collection because + // of the bidirectional behavior. + processOtMBidiInverse(paReference); + } + } + + /** + * joinTable.getInverseJoinColumns must be null TODO choose appropriate + * mapping according to the presence of JoinTable + */ + private void processOtMUni(PAnnotatedEReference paReference) { + if (log.isDebugEnabled()) { + log.debug("Generating one to many unidirectional mapping for " + + paReference); + } + + final HbAnnotatedEReference hbReference = (HbAnnotatedEReference) paReference; + final EReference eref = hbReference.getModelEReference(); + final EClass refType = eref.getEReferenceType(); + final PAnnotatedEClass referedToAClass = hbReference + .getAReferenceType(); + boolean isMap = StoreUtil.isMap(eref) + && getHbmContext().isMapEMapAsTrueMap(); + + // TODO add isUnique on interface + // TODO request EMF team to deal correctly with unique attribute on + // EReferences + final Element collElement = addCollectionElement(paReference); + addAccessor(collElement); + + if (hbReference.getImmutable() != null) { + collElement.addAttribute("mutable", "false"); + } + + if (((HbAnnotatedEReference) paReference).getHbCache() != null) { + addCacheElement(collElement, ((HbAnnotatedEReference) paReference) + .getHbCache()); + } + + // .getAnnotatedElement().getName(), + // paReference.getIndexed() != null && + // paReference.getIndexed().isValue()); + final Element keyElement = collElement.addElement("key"); + handleOndelete(keyElement, hbReference.getHbOnDelete()); + + // TODO: throw error if both jointable and joincolumns have been set + final List<JoinColumn> jcs = getJoinColumns(paReference); + final JoinTable jt = paReference.getJoinTable(); + if (jt != null) { + addJoinTable(hbReference, collElement, keyElement, jt); + } else { + addKeyColumns(hbReference, keyElement, jcs); + } + + final OneToMany otm = hbReference.getOneToMany(); + if (hbReference.getHbIdBag() != null) { + log.debug("Setting indexed=false because is an idbag"); + otm.setIndexed(false); + } + + // a special case see here: + // http://forum.hibernate.org/viewtopic.php?p=2383090 + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=242479 + if (!otm.isIndexed() && hbReference.getHbIdBag() == null + && otm.getMappedBy() != null) { + collElement.addAttribute("inverse", "true"); + } else if (otm.getFetch().equals(FetchType.EXTRA)) { + collElement.addAttribute("inverse", "true"); + } + + boolean isMapValueIsEntity = false; + if (hbReference.getHbIdBag() == null && otm.isList()) { + // now we check if it is a list or a map + final EClass eclass = eref.getEReferenceType(); + if (hbReference.getMapKey() != null + || hbReference.getHbMapKey() != null + || hbReference.getMapKeyManyToMany() != null) { + isMapValueIsEntity = (eclass.getEStructuralFeature("value") instanceof EReference); + addMapKey(collElement, paReference); + } else if (isMap) { + isMapValueIsEntity = (eclass.getEStructuralFeature("value") instanceof EReference); + addMapKey(collElement, hbReference); + } else if (collElement.getName().compareTo("list") == 0) { // otm.isIndexed() + addListIndex(collElement, paReference); + } + } + + final CollectionOfElements coe = hbReference + .getHbCollectionOfElements(); + + // TODO OneToMany and CollectionOfElements are mutually exclusive. + // Should throw exception if both there? + addFetchType(collElement, (null != coe) ? coe.getFetch() : otm + .getFetch()); + addCascadesForMany(collElement, getCascades(hbReference.getHbCascade(), + otm.getCascade())); + List<JoinColumn> inverseJoinColumns = jt != null + && jt.getInverseJoinColumns() != null ? jt + .getInverseJoinColumns() : new ArrayList<JoinColumn>(); + + String targetName = null; + + targetName = otm.getTargetEntity(); + // final boolean isEasyEMFGenerated = + // getHbmContext().isEasyEMFGenerated(refType); + if (targetName == null) { + targetName = getHbmContext().getEntityName(refType); + } + + // MT a manytomany is only required in case of unique=false, note that + // the ejb3 spec states that for uni otm + // always a jointable should be + // used (as a default). This is however to heavy for cases were a + // jointable is not required at all. Also + // hibernate supports uni otm without join table. + if (hbReference.getEmbedded() != null) { + addCompositeElement(collElement, hbReference); + } else if (isMap && !isMapValueIsEntity) { + final EClass eclass = eref.getEReferenceType(); + final EAttribute valueEAttribute = (EAttribute) eclass + .getEStructuralFeature("value"); + final PAnnotatedEAttribute valuePAttribute = paReference + .getPaModel().getPAnnotated(valueEAttribute); + addElementElement(collElement, valuePAttribute, + getColumns(valuePAttribute), otm.getTargetEntity()); + } else if (!isEObject(targetName) && jt != null) { + // A m2m forces a join table, note that isunique does not completely + // follow the semantics of emf, unique on + // an otm means that an element can only occur once in the table, if + // unique is false then you in effect have + // a + // mtm relation + // because an item can occur twice or more in the list. + // To force a jointable on a real otm a jointable annotation should + // be specified. + final Element mtm = addManyToMany(hbReference, referedToAClass, + collElement, targetName, inverseJoinColumns, otm.isUnique()); + addForeignKeyAttribute(mtm, paReference); + + if (hbReference.getNotFound() != null) { + mtm.addAttribute("not-found", hbReference.getNotFound() + .getAction().getName().toLowerCase()); + } + } else { + final Element otmElement = addOneToMany(paReference, + referedToAClass, collElement, eref.getName(), targetName); + addForeignKeyAttribute(keyElement, paReference); + + if (hbReference.getNotFound() != null) { + otmElement.addAttribute("not-found", hbReference.getNotFound() + .getAction().getName().toLowerCase()); + } + } + + mapFilter(collElement, ((HbAnnotatedETypeElement) paReference) + .getFilter()); + } + + /** + * Process bidirectional one-to-many + */ + private void processOtMBidiInverse(PAnnotatedEReference paReference) { + if (log.isDebugEnabled()) { + log + .debug("Generating one to many bidirectional inverse mapping for " + + paReference); + } + + // final Element collElement = + // addCollectionElement(paReference.getAnnotatedElement().getName(), + // paReference.isIndexed()); + final Element collElement = addCollectionElement(paReference); + addAccessor(collElement); + final EReference eref = paReference.getModelEReference(); + final HbAnnotatedEReference hbReference = (HbAnnotatedEReference) paReference; + final PAnnotatedEClass referedToAClass = hbReference + .getAReferenceType(); + + if (hbReference.getHbCache() != null) { + addCacheElement(collElement, hbReference.getHbCache()); + } + + if (hbReference.getImmutable() != null) { + collElement.addAttribute("mutable", "false"); + } + + // MT: note inverse does not work correctly with hibernate for indexed + // collections, see 7.3.3 of the hibernate + // manual 3.1.1 + final OneToMany otm = paReference.getOneToMany(); + if (!otm.isIndexed() && otm.getMappedBy() != null + && hbReference.getHbIdBag() == null) { + collElement.addAttribute("inverse", "true"); + } else if (otm.getFetch().equals(FetchType.EXTRA)) { + collElement.addAttribute("inverse", "true"); + } else { + log.debug("Inverse is not set on purpose for indexed collections"); + } + + final Element keyElement = collElement.addElement("key"); + handleOndelete(keyElement, ((HbAnnotatedEReference) paReference) + .getHbOnDelete()); + + final List<JoinColumn> jcs = getJoinColumns(paReference); + final JoinTable jt = paReference.getJoinTable(); + if (jt != null) { + addJoinTable(hbReference, collElement, keyElement, jt); + } else { + addKeyColumns(hbReference, keyElement, jcs); + } + + addFetchType(collElement, otm.getFetch()); + addCascadesForMany(collElement, getCascades(hbReference.getHbCascade(), + otm.getCascade())); + + boolean isMap = StoreUtil.isMap(eref) + && getHbmContext().isMapEMapAsTrueMap(); + boolean isMapValueIsEntity = false; + if (hbReference.getHbIdBag() == null && otm.isList()) { + // now we check if it is a list or a map + if (hbReference.getMapKey() != null + || hbReference.getHbMapKey() != null + || hbReference.getMapKeyManyToMany() != null) { + addMapKey(collElement, paReference); + } else if (isMap) { + final EClass eclass = eref.getEReferenceType(); + isMapValueIsEntity = (eclass.getEStructuralFeature("value") instanceof EReference); + addMapKey(collElement, hbReference); + } else if (collElement.getName().compareTo("list") == 0) { // otm.isIndexed() + addListIndex(collElement, paReference); + } + } + + String targetName = otm.getTargetEntity(); + if (targetName == null) { + targetName = getHbmContext() + .getEntityName(eref.getEReferenceType()); + } + + if (paReference.getEmbedded() != null) { + addCompositeElement(collElement, paReference); + } else if (isMap && !isMapValueIsEntity) { + final EClass eclass = eref.getEReferenceType(); + final EAttribute valueEAttribute = (EAttribute) eclass + .getEStructuralFeature("value"); + final PAnnotatedEAttribute valuePAttribute = paReference + .getPaModel().getPAnnotated(valueEAttribute); + addElementElement(collElement, valuePAttribute, + getColumns(valuePAttribute), otm.getTargetEntity()); + } else if (jt != null) { + final List<JoinColumn> inverseJoinColumns = jt != null + && jt.getInverseJoinColumns() != null ? jt + .getInverseJoinColumns() : new ArrayList<JoinColumn>(); + + final Element mtm = addManyToMany(hbReference, referedToAClass, + collElement, targetName, inverseJoinColumns, otm.isUnique()); + addForeignKeyAttribute(mtm, paReference); + if (hbReference.getNotFound() != null) { + mtm.addAttribute("not-found", hbReference.getNotFound() + .getAction().getName().toLowerCase()); + } + + } else { + final Element otmElement = addOneToMany(paReference, + referedToAClass, collElement, eref.getName(), targetName); + addForeignKeyAttribute(keyElement, paReference); + if (hbReference.getNotFound() != null) { + otmElement.addAttribute("not-found", hbReference.getNotFound() + .getAction().getName().toLowerCase()); + } + } + + mapFilter(collElement, ((HbAnnotatedETypeElement) paReference) + .getFilter()); + } + + /** + * Creates a onetomany element. + * + * @param collElement + * @param targetEntity + */ + protected Element addOneToMany(PAnnotatedEReference paReference, + PAnnotatedEClass referedToAClass, Element collElement, + String featureName, String targetEntity) { + final HbAnnotatedEReference hbReference = (HbAnnotatedEReference) paReference; + if (isEObject(targetEntity) || hbReference.getAny() != null + || hbReference.getAnyMetaDef() != null) { // anytype + final String assocName = getHbmContext().getPropertyName( + hbReference.getModelEStructuralFeature()); + return collElement.add(createAny(assocName, hbReference, + hbReference.getAny(), hbReference.getAnyMetaDef(), true)); + } else { + String tag = "one-to-many"; + if (((HbAnnotatedEReference) paReference).getHbIdBag() != null) { + tag = "many-to-many"; + } + + if (referedToAClass.isOnlyMapAsEntity() + || !getHbmContext().forceUseOfInstance(referedToAClass)) { + return collElement.addElement(tag).addAttribute("entity-name", + targetEntity); + } else { + return collElement.addElement(tag).addAttribute( + "class", + getHbmContext().getInstanceClassName( + referedToAClass.getModelEClass())); + } + } + } + + /** + * Creates a many-to-many to handle the unidirectional manytomany. A + * unidirectional manytomany is now specified using the one to many + * annotation while its implementation has a join table. + */ + private Element addManyToMany(HbAnnotatedEReference hbReference, + PAnnotatedEClass referedToAClass, Element collElement, + String targetEntity, List<JoinColumn> invJoinColumns, boolean unique) { + final Element manyToMany; + if (referedToAClass.isOnlyMapAsEntity() + || !getHbmContext().forceUseOfInstance(referedToAClass)) { + manyToMany = collElement.addElement("many-to-many").addAttribute( + "entity-name", targetEntity).addAttribute("unique", + unique ? "true" : "false"); + } else { + manyToMany = collElement.addElement("many-to-many").addAttribute( + "class", + getHbmContext().getInstanceClassName( + referedToAClass.getModelEClass())).addAttribute( + "unique", unique ? "true" : "false"); + } + addKeyColumns(hbReference, manyToMany, invJoinColumns); // pass null for + // jointable + + return manyToMany; + } + + /** Add composite-element */ + private Element addCompositeElement(Element collElement, + PAnnotatedEReference paReference) { + // TODO: handle nested components: nested-composite-element + final Element componentElement = collElement.addElement( + "composite-element").addAttribute( + "class", + getHbmContext().getInstanceClassName( + paReference.getEReferenceType())); + getHbmContext().setCurrent(componentElement); + + try { + // process the features of the target + final PAnnotatedEClass componentAClass = paReference + .getAReferenceType(); + getHbmContext().processFeatures( + componentAClass.getPaEStructuralFeatures()); + } finally { + getHbmContext().setCurrent(collElement.getParent()); + } + return componentElement; + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/OneToOneMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/OneToOneMapper.java new file mode 100755 index 000000000..5787ccd37 --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/OneToOneMapper.java @@ -0,0 +1,198 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal + * </copyright> $Id: OneToOneMapper.java,v 1.36 2009/06/28 02:05:07 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper; + +import java.util.List; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature; +import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn; +import org.eclipse.emf.teneo.annotations.pannotation.OneToOne; +import org.eclipse.emf.teneo.extension.ExtensionPoint; +import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference; +import org.eclipse.emf.teneo.simpledom.Element; + +/** + * Maps a {@link OneToOne} element to its {@link MappingContext}. + * <p> + * Assumes that the given {@link PAnnotatedEStructuralFeature} is a normal OneToOne, i.e. + * <ul> + * <li>it is a {@link PAnnotatedEReference}; + * <li>it has a {@link OneToOne} annotation; + * <li>each attribute on the {@link OneToOne} annotation is set possibly except for {@link OneToOne#getMappedBy()}; + * <li>TODO requirements on JoinColumns/PrimaryKeyJoinColumn + * </ul> + * + * @author <a href="mailto:mtaal at elver.org">Martin Taal</a> + */ +public class OneToOneMapper extends AbstractAssociationMapper implements ExtensionPoint { + + private static final Log log = LogFactory.getLog(OneToOneMapper.class); + + /** Process the one-to-one */ + public void process(PAnnotatedEReference paReference) { + final PAnnotatedEReference opposite = getOtherSide(paReference); + + if (opposite != null) { + // handle the case of a primary key one-to-one + if (!paReference.getPrimaryKeyJoinColumns().isEmpty() + || (opposite != null && !opposite.getPrimaryKeyJoinColumns().isEmpty())) { + createOneToOne(paReference); + } else { + // For a non-pk one-to-one, one side is mapped as oto, and the + // other as mto. + // the oto is the one with the mappedBy attribute + if (paReference.getOneToOne().getMappedBy() != null) { + createOneToOne(paReference); + } else { + createManyToOne(paReference); + } + } + } else { // can this case occur? A non-bidirectional one-to-one? + createManyToOne(paReference); + } + + // if (opposite == null || + // paReference.getOneToOne().eIsSet(PannotationPackage.eINSTANCE.getOneToOne_MappedBy())) + // { + // if (!paReference.getPrimaryKeyJoinColumns().isEmpty() || + // (opposite != null && !opposite.getPrimaryKeyJoinColumns().isEmpty())) + // { + // createOneToOne(paReference); + // } else if + // (paReference.getOneToOne().eIsSet(PannotationPackage.eINSTANCE.getOneToOne_MappedBy())) + // { + // createOneToOne(paReference); + // } else { + // createManyToOne(paReference); + // } + // } else { + // createOneToOne(paReference); + // } + } + + /** Create hibernate many-to-one mapping */ + private void createManyToOne(PAnnotatedEReference paReference) { + log.debug("Generating many to one mapping for onetoone" + paReference); + + final OneToOne oto = paReference.getOneToOne(); + final EReference eref = paReference.getModelEReference(); + String specifiedName = oto.getTargetEntity(); + + if (specifiedName == null) { + specifiedName = getHbmContext().getEntityName(eref.getEReferenceType()); + } + + final HbAnnotatedEReference hbReference = (HbAnnotatedEReference) paReference; + + final boolean isAny = hbReference.getAny() != null || hbReference.getAnyMetaDef() != null + || isEObject(oto.getTargetEntity()); + if (isAny) { + final String assocName = getHbmContext().getPropertyName(hbReference.getModelEStructuralFeature()); + final Element anyElement = createAny(assocName, hbReference, hbReference.getAny(), hbReference + .getAnyMetaDef(), false); + getHbmContext().getCurrent().add(anyElement); + return; + } + + final Element associationElement = addManyToOne(getHbmContext().getCurrent(), paReference, specifiedName, false); + addAccessor(associationElement); + + addCascadesForSingle(associationElement, getCascades(hbReference.getHbCascade(), oto.getCascade())); + + final boolean isNullable = (oto.isOptional() || getHbmContext().isDoForceOptional(paReference) || getHbmContext() + .isCurrentElementFeatureMap()); + + associationElement.addAttribute("not-null", (isNullable ? "false" : "true")); + + addLazyProxy(associationElement, oto.getFetch(), paReference); + + if (hbReference.getHbFetch() != null) { + associationElement.addAttribute("fetch", hbReference.getHbFetch().getValue().getName().toLowerCase()); + } + + addForeignKeyAttribute(associationElement, paReference); + addLazyProxy(associationElement, oto.getFetch(), paReference); + final List<JoinColumn> joinColumns = getJoinColumns(paReference); + addJoinColumns(paReference, associationElement, joinColumns, isNullable); + + // apparently sql server does not like a unique constraint on a + // nullable column + // null values also seem to be seen as a unique value. + if (!isNullable) { + associationElement.addAttribute("unique", "true"); + } + } + + /** Create hibernate one-to-one mapping */ + private void createOneToOne(PAnnotatedEReference paReference) { + if (log.isDebugEnabled()) { + log.debug("Generating one to one bidirectional inverse mapping for " + paReference); + } + + final OneToOne oto = paReference.getOneToOne(); + String targetName = oto.getTargetEntity(); + if (targetName == null) { + targetName = getHbmContext().getEntityName(paReference.getEReferenceType()); + } + + final HbAnnotatedEReference hbReference = (HbAnnotatedEReference) paReference; + final EReference eref = paReference.getModelEReference(); + final EReference otherSide = eref.getEOpposite(); + final Element associationElement = addOneToOne(paReference, getHbmContext().getPropertyName(eref), targetName); + addAccessor(associationElement); + + addForeignKeyAttribute(associationElement, paReference); + addCascadesForSingle(associationElement, getCascades(hbReference.getHbCascade(), oto.getCascade())); + addLazyProxy(associationElement, oto.getFetch(), paReference); + + if (hbReference.getHbFetch() != null) { + associationElement.addAttribute("fetch", hbReference.getHbFetch().getValue().getName().toLowerCase()); + } + + // add the other-side + final boolean primaryKeyJoin = !paReference.getPrimaryKeyJoinColumns().isEmpty() + || (otherSide != null && !getOtherSide(paReference).getPrimaryKeyJoinColumns().isEmpty()); + + if (!primaryKeyJoin && otherSide != null && oto.getMappedBy() != null) { + associationElement.addAttribute("property-ref", getHbmContext().getPropertyName(otherSide)); + } + + // apparently is always allowed for a one-to-one, if it is bidirectional + // if (paReference.getPrimaryKeyJoinColumns().size() > 0) { + + // place constrained when: + // 1) this side has a primary key join column annotation + boolean addConstrained = !paReference.getPrimaryKeyJoinColumns().isEmpty(); + if (!addConstrained && otherSide == null) { + // 2) there is no other side and it is mandatory see here: + // http://www.hibernate.org/162.html + addConstrained = eref.isRequired(); + } else if (!addConstrained && otherSide != null) { + // 3) the most difficult one, the other side must be a many-to-one + // this is the case when it does not have a pk join column and + // mappedby is + // null, or when it has a many-to-one annotation. + final PAnnotatedEReference aOpposite = paReference.getPaModel().getPAnnotated(otherSide); + addConstrained = aOpposite.getManyToOne() != null && eref.isRequired(); + if (!addConstrained) { + addConstrained = eref.isRequired() && aOpposite.getPrimaryKeyJoinColumns().isEmpty() + && aOpposite.getOneToOne() != null && aOpposite.getOneToOne().getMappedBy() == null; + } + } + + if (addConstrained) { + associationElement.addAttribute("constrained", "true"); + } + // } + } +} diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/classic/ClassicMappingContext.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/classic/ClassicMappingContext.java new file mode 100755 index 000000000..0f9fb857c --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/classic/ClassicMappingContext.java @@ -0,0 +1,131 @@ +/** + * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights + * reserved. This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v1.0 which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal + * </copyright> $Id: ClassicMappingContext.java,v 1.8 2011/04/26 18:41:49 mtaal Exp $ + */ + +package org.eclipse.emf.teneo.hibernate.mapper.classic; + +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute; +import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference; +import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation; +import org.eclipse.emf.teneo.hibernate.mapper.MappingContext; + +/** + * Maps a basic attribute with many=true, e.g. list of simpletypes. + * + * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> + * @version $Revision: 1.8 $ + */ +public class ClassicMappingContext extends MappingContext { + + /** + * Utilit method to truncate a column/table name. This method also repairs + * the name if an efeature was inherited and really belongs to another + * eclass. In this case jointables and join keys must be renamed to the new + * eclass. TODO: handle the case that the jointable/columns were set + * manually. This procedure will override them (only applies in case of + * multiple inheritance/mappedsuperclass). + * + * This renaming is required for the case that an ereference is inherited + * from a mapped superclass, in this case the join-column of the e-reference + * will be placed in another table. If one ereference is inherited by + * multiple subtypes then this goes wrong because they then all share the + * same join column with foreign keys relating it to different tables, and + * multiple foreign keys on one column can not point to different + * directions. + * + * TODO: is really only required for eattributes TODO: it ignores + * attributeoverrides + */ + @Override + protected String trunc(PAnnotation pAnnotation, String truncName, + boolean truncSuffix) { + if (pAnnotation != null && !doTrunc(pAnnotation)) { + if (!truncName.startsWith(escapeCharacter) + && !truncName.endsWith(escapeCharacter)) { + return escapeCharacter + truncName + escapeCharacter; + } + return truncName; + } + final String useName; + // currentEFeature is null in the beginning + if (currentAFeature != null) { + boolean override = false; + if (currentAFeature instanceof PAnnotatedEAttribute) { + override = getAttributeOverride((PAnnotatedEAttribute) currentAFeature) != null; + } else { + override = getAssociationOverrides((PAnnotatedEReference) currentAFeature) != null; + } + + final String otherEntityName = getEntityName( + currentEFeature.getEContainingClass(), false); + // if the current name starts with the name of the mapped superclass + // then + // change it back to the current eclass, do not do this in case of + // override + if (!override + && currentEFeature.getEContainingClass() != currentEClass + && otherEntityName != null + && truncName.toUpperCase().startsWith( + otherEntityName.toUpperCase())) { + log.debug("Replacing name of table/joincolumn " + truncName); + // get rid of the first part + useName = getEntityName(currentEClass) + + truncName + .substring(getEntityName( + currentEFeature.getEContainingClass()) + .length()); + log.debug("with " + useName + " because efeature is inherited"); + log.debug("This renaming does not work in case of manually specified joincolumn/table names and mappedsuperclass or multiple inheritance!"); + } else { + useName = truncName; + } + } else { + useName = truncName; + } + + if (maximumSqlNameLength == -1) { + return escape(useName); + } + if (useName.length() < maximumSqlNameLength) { + return escape(useName); + } + + // truncate the part before the last _ because this is often the suffix + final int underscore = useName.lastIndexOf('_'); + if (truncSuffix && underscore != -1 && underscore > 0) { + final String usStr = useName.substring(underscore); + if ((maximumSqlNameLength - usStr.length()) < 0) { + return escape(useName); + } + return escape(useName.substring(0, + maximumSqlNameLength - usStr.length()) + + usStr); + } + + return escape(useName.substring(0, maximumSqlNameLength)); + } + + /** Escape the column name */ + protected String escape(String name) { + if (getEscapeCharacter().length() == 0 + || name.indexOf(getEscapeCharacter()) == 0) { + return getSqlNameStrategy().convert(name); + } + + return getEscapeCharacter() + getSqlNameStrategy().convert(name) + + getEscapeCharacter(); + } + + /** + * @deprecated use {@link #trunc(PAnnotation, String, boolean)} + */ + @Deprecated + protected String trunc(String truncName, boolean truncSuffix) { + return trunc(null, truncName, truncSuffix); + } + +}
\ No newline at end of file diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/text/description.txt b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/text/description.txt new file mode 100755 index 000000000..e436edbdd --- /dev/null +++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/text/description.txt @@ -0,0 +1,254 @@ +Model Hbannotation + +This model description is not a real EMF artifact. It was generated by the +org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's +code generator can be extended. +This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + +Contains packages: + hbannotation <http://www.eclipse.org/emf/teneo/2006/HbAnnotation> + hbmodel <http://www.eclipse.org/emf/teneo/2006/HbModel> + +Package hbannotation <http://www.eclipse.org/emf/teneo/2006/HbAnnotation> + + Class HbAnnotation -> PAnnotation + + Class Cascade -> HbAnnotation + Attribute value : HbCascadeType<<0..*>> + + Class CollectionOfElements -> HbAnnotation + Attribute targetElement : EString + Attribute fetch : FetchType + + Class HbMapKey -> HbAnnotation + Reference columns : Column<<0..*>> + + Class Parameter -> HbAnnotation + Attribute name : EString<<1..1>> + Attribute value : EString<<1..1>> + + Class Type -> HbAnnotation + Attribute type : EString<<1..1>> + Reference parameters : Parameter<<0..*>> + + Class Where -> HbAnnotation + Attribute clause : EString + + Class IdBag -> HbAnnotation + Attribute generator : EString + Attribute type : EString + Attribute table : EString + + Class GenericGenerator -> HbAnnotation + Attribute name : EString<<1..1>> + Attribute strategy : EString<<1..1>> + Reference parameters : Parameter<<0..*>> + + Class Cache -> HbAnnotation + Attribute usage : CacheConcurrencyStrategy + Attribute region : EString + Attribute include : EString + + Class TypeDef -> HbAnnotation + Attribute name : EString<<1..1>> + Reference parameters : Parameter<<0..*>> + Attribute typeClass : EString<<1..1>> + + Class Fetch -> HbAnnotation + Attribute value : HbFetchType + + Class OnDelete -> HbAnnotation + Attribute action : OnDeleteAction + + Class Proxy -> HbAnnotation + Attribute proxyClass : EString + Attribute lazy : EBoolean + + Class Index -> HbAnnotation + Attribute name : EString + Attribute columnNames : EString<<0..*>> + + Class Generated -> HbAnnotation + Attribute value : GenerationTime + + Class NamedQuery -> HbAnnotation + Attribute name : EString + Attribute query : EString + + Class Filter -> HbAnnotation + Attribute name : EString<<1..1>> + Attribute condition : EString + + Class ParamDef -> HbAnnotation + Attribute name : EString<<1..1>> + Attribute type : EString<<1..1>> + + Class FilterDef -> HbAnnotation + Attribute name : EString<<1..1>> + Attribute defaultCondition : EString + Reference parameters : ParamDef<<0..*>> + + Class DiscriminatorFormula -> HbAnnotation + Attribute value : EString + + Class NaturalId -> HbAnnotation + Attribute mutable : EBoolean<<1..1>> + + Class MapKeyManyToMany -> HbAnnotation + Reference joinColumns : JoinColumn<<0..*>> + Attribute targetEntity : EString + + Class ForceDiscriminator -> HbAnnotation + + Class Immutable -> HbAnnotation + + Class Formula -> HbAnnotation + Attribute value : EString + + Class NotFound -> HbAnnotation + Attribute action : NotFoundAction<<1..1>> + + Class HbEntity -> HbAnnotation + Attribute dynamicInsert : EBoolean + Attribute dynamicUpdate : EBoolean + Attribute selectBeforeUpdate : EBoolean + Attribute mutable : EBoolean + Attribute persister : EString + Attribute optimisticLock : OptimisticLockType + Attribute polymorphism : PolymorphismType + + Class BatchSize -> HbAnnotation + Attribute size : EInt<<1..1>> + + Class Any -> HbAnnotation + Attribute metaDef : EString + Reference metaColumn : Column + Attribute fetch : FetchType + Attribute optional : EBoolean + + Class MetaValue -> HbAnnotation + Attribute targetEntity : EString + Attribute value : EString + + Class AnyMetaDef -> HbAnnotation + Attribute name : EString + Attribute metaType : EString + Attribute idType : EString<<1..1>> + Reference metaValues : MetaValue<<0..*>> + + Class HbTable -> HbAnnotation + Attribute appliesTo : EString<<1..1>> + Reference indexes : Index<<0..*>> + + Enum CacheConcurrencyStrategy + Literal NONE = 0 + Literal READ_ONLY = 1 + Literal NONSTRICT_READ_WRITE = 2 + Literal READ_WRITE = 3 + Literal TRANSACTIONAL = 4 + + Enum HbFetchType + Literal JOIN = 0 + Literal SELECT = 1 + Literal SUBSELECT = 2 + + Enum OnDeleteAction + Literal NO_ACTION = 0 + Literal CASCADE = 1 + + Enum GenerationTime + Literal NEVER = 0 + Literal INSERT = 1 + Literal ALWAYS = 2 + + Enum NotFoundAction + Literal EXCEPTION = 0 + Literal IGNORE = 1 + + Enum OptimisticLockType + Literal ALL = 0 + Literal DIRTY = 1 + Literal NONE = 2 + Literal VERSION = 3 + + Enum PolymorphismType + Literal IMPLICIT = 0 + Literal EXPLICIT = 1 + + Enum HbCascadeType + Literal ALL = 0 + Literal PERSIST = 1 + Literal MERGE = 2 + Literal REMOVE = 3 + Literal REFRESH = 4 + Literal DELETE = 5 + Literal SAVE_UPDATE = 6 + Literal REPLICATE = 7 + Literal DELETE_ORPHAN = 8 + Literal LOCK = 9 + Literal EVICT = 10 + +Package hbmodel <http://www.eclipse.org/emf/teneo/2006/HbModel> + + Class HbAnnotatedETypeElement -> PAnnotatedEStructuralFeature, HbAnnotatedEModelElement + Reference hbWhere : Where + Reference hbCollectionOfElements : CollectionOfElements + Reference hbMapKey : HbMapKey + Reference hbColumns : Column<<0..*>> + Reference hbCascade : Cascade + Reference hbIdBag : IdBag + Reference hbIndex : Index + Reference Filter : Filter<<0..*>> + Reference mapKeyManyToMany : MapKeyManyToMany + Reference formula : Formula + + Class HbAnnotatedEAttribute -> PAnnotatedEAttribute, HbAnnotatedETypeElement + Reference hbType : Type + Reference generated : Generated + Reference naturalId : NaturalId + Reference any : Any + Reference anyMetaDef : AnyMetaDef + + Class HbAnnotatedEClass -> PAnnotatedEClass + Reference hbCache : Cache + Reference hbOnDelete : OnDelete + Reference hbWhere : Where + Reference hbProxy : Proxy + Reference hbNamedQuery : NamedQuery<<0..*>> + Reference FilterDef : FilterDef<<0..*>> + Reference Filter : Filter<<0..*>> + Reference discriminatorFormula : DiscriminatorFormula + Reference forceDiscriminator : ForceDiscriminator + Reference immutable : Immutable + Reference hbEntity : HbEntity + Reference batchSize : BatchSize + Reference hbTable : HbTable + + Class HbAnnotatedEModelElement -> PAnnotatedEModelElement + + Class HbAnnotatedEPackage -> PAnnotatedEPackage + Reference hbGenericGenerators : GenericGenerator<<0..*>> + Reference hbTypeDef : TypeDef<<0..*>> + Reference hbNamedQuery : NamedQuery<<0..*>> + Reference FilterDef : FilterDef<<0..*>> + Reference anyMetaDef : AnyMetaDef<<0..*>> + + Class HbAnnotatedEReference -> PAnnotatedEReference, HbAnnotatedETypeElement + Reference hbCache : Cache + Reference hbFetch : Fetch + Reference hbOnDelete : OnDelete + Reference naturalId : NaturalId + Reference immutable : Immutable + Reference notFound : NotFound + Reference hbType : Type + Reference batchSize : BatchSize + Reference any : Any + Reference anyMetaDef : AnyMetaDef + + Class HbAnnotatedEDataType -> PAnnotatedEDataType, HbAnnotatedEModelElement + Reference hbTypeDef : TypeDef + Reference hbWhere : Where + Reference hbColumns : Column<<0..*>> + Reference hbIdBag : IdBag + Reference hbIndex : Index + Reference hbType : Type |