Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Taal2013-06-02 04:13:12 -0400
committerMartin Taal2013-06-02 04:13:12 -0400
commit7b04ca6099a669b533c4b886ab99bd673e9270a2 (patch)
tree7f65a4eae76885a60e0fa2c81986c181f0bcc982 /generator/org.eclipse.emf.texo.orm
parenta2d257a2805a4f22330dbbb55ccac0599186457d (diff)
downloadorg.eclipse.emf.texo-7b04ca6099a669b533c4b886ab99bd673e9270a2.tar.gz
org.eclipse.emf.texo-7b04ca6099a669b533c4b886ab99bd673e9270a2.tar.xz
org.eclipse.emf.texo-7b04ca6099a669b533c4b886ab99bd673e9270a2.zip
Fixes issue 409134
Diffstat (limited to 'generator/org.eclipse.emf.texo.orm')
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/model/eclipselink_orm.xsd14
-rw-r--r--generator/org.eclipse.emf.texo.orm/model/orm.ecore296
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AccessMethods.java2
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AdditionalCriteria.java82
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Array.java75
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AssociationOverride.java14
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Attributes.java12
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Basic.java12
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BasicMap.java74
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BatchFetch.java61
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BatchFetchType.java52
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Cache.java156
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CacheIsolationType.java86
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CacheKeyType.java63
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CascadeType.java4
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ChangeTracking.java37
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ClassExtractor.java100
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CollectionTable.java29
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Column.java28
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ColumnResult.java10
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Converter.java32
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CopyPolicy.java48
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Customizer.java44
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/DiscriminatorColumn.java16
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EclipselinkCollectionTable.java109
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Embeddable.java18
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Embedded.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EmbeddedId.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Entity.java24
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityListener.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityMappingsType.java45
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityResult.java14
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FetchAttribute.java18
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FetchGroup.java36
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FieldResult.java12
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/GeneratedValue.java12
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/HashPartitioning.java91
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Id.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/IdClass.java10
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Index.java65
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Inheritance.java10
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/InstantiationCopyPolicy.java35
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/JoinColumn.java24
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/JoinTable.java49
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Lob.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ManyToMany.java16
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ManyToOne.java16
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKey.java10
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKeyClass.java10
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKeyColumn.java28
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Multitenant.java22
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MultitenantType.java31
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedPlsqlStoredFunctionQuery.java95
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedPlsqlStoredProcedureQuery.java95
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedQuery.java16
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedStoredFunctionQuery.java92
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedStoredProcedureQuery.java110
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ObjectTypeConverter.java64
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OneToMany.java16
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OneToOne.java20
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OrderColumn.java18
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Partitioning.java65
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PersistenceUnitDefaults.java38
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PersistenceUnitMetadata.java12
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PinnedPartitioning.java44
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlParameter.java118
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlRecord.java73
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlTable.java73
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostLoad.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostPersist.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostRemove.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostUpdate.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrePersist.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PreRemove.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PreUpdate.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrimaryKey.java66
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrimaryKeyJoinColumn.java14
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Property.java46
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/QueryHint.java12
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RangePartition.java47
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RangePartitioning.java109
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ReplicationPartitioning.java49
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ReturnInsert.java26
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RoundRobinPartitioning.java67
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/SecondaryTable.java47
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/SqlResultSetMapping.java14
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/StoredProcedureParameter.java83
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Struct.java60
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Structure.java43
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Table.java45
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TableGenerator.java57
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TenantDiscriminator.java85
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TimeOfDay.java50
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Transformation.java74
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Transient.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TypeConverter.java44
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/UnionPartitioning.java65
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ValuePartition.java44
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ValuePartitioning.java100
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Version.java6
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/CollectionTableImpl.java42
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/CustomizerImpl.java158
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/EclipselinkCollectionTableImpl.java42
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/EntityListenersImpl.java141
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/JoinTableImpl.java42
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/SecondaryTableImpl.java42
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/TableGeneratorImpl.java42
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/TableImpl.java42
-rw-r--r--generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/orm.ecore18
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotator/EReferenceORMAnnotator.java13
-rwxr-xr-xgenerator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotator/StandardORMGenerator.java59
111 files changed, 2788 insertions, 2185 deletions
diff --git a/generator/org.eclipse.emf.texo.orm/model/eclipselink_orm.xsd b/generator/org.eclipse.emf.texo.orm/model/eclipselink_orm.xsd
index d890a815..96a312a0 100755
--- a/generator/org.eclipse.emf.texo.orm/model/eclipselink_orm.xsd
+++ b/generator/org.eclipse.emf.texo.orm/model/eclipselink_orm.xsd
@@ -37,7 +37,7 @@
<!-- Java Persistence API object-relational mapping file schema -->
<xsd:schema targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
xmlns:orm="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="2.3">
<xsd:annotation>
@@ -1554,7 +1554,7 @@
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="catalog" type="xsd:string" />
<xsd:attribute name="schema" type="xsd:string" />
- <xsd:attribute name="creation-suffix" type="xsd:string" />
+ <xsd:attribute name="creation-suffix" ecore:unsettable="true" type="xsd:string" />
</xsd:complexType>
<!-- **************************************************** -->
@@ -1617,7 +1617,7 @@
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="catalog" type="xsd:string" />
<xsd:attribute name="schema" type="xsd:string" />
- <xsd:attribute name="creation-suffix" type="xsd:string" />
+ <xsd:attribute name="creation-suffix" ecore:unsettable="true" type="xsd:string" />
</xsd:complexType>
@@ -3239,7 +3239,7 @@
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="catalog" type="xsd:string" />
<xsd:attribute name="schema" type="xsd:string" />
- <xsd:attribute name="creation-suffix" type="xsd:string" />
+ <xsd:attribute name="creation-suffix" ecore:unsettable="true" type="xsd:string" />
</xsd:complexType>
<!-- **************************************************** -->
@@ -4977,7 +4977,7 @@
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:attribute name="catalog" type="xsd:string" />
<xsd:attribute name="schema" type="xsd:string" />
- <xsd:attribute name="creation-suffix" type="xsd:string" />
+ <xsd:attribute name="creation-suffix" ecore:unsettable="true" type="xsd:string" />
</xsd:complexType>
<!-- **************************************************** -->
@@ -5322,7 +5322,7 @@
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="catalog" type="xsd:string" />
<xsd:attribute name="schema" type="xsd:string" />
- <xsd:attribute name="creation-suffix" type="xsd:string" />
+ <xsd:attribute name="creation-suffix" ecore:unsettable="true" type="xsd:string" />
</xsd:complexType>
<!-- **************************************************** -->
@@ -5409,7 +5409,7 @@
<xsd:attribute name="table" type="xsd:string" />
<xsd:attribute name="catalog" type="xsd:string" />
<xsd:attribute name="schema" type="xsd:string" />
- <xsd:attribute name="creation-suffix" type="xsd:string" />
+ <xsd:attribute name="creation-suffix" ecore:unsettable="true" type="xsd:string" />
<xsd:attribute name="pk-column-name" type="xsd:string" />
<xsd:attribute name="value-column-name" type="xsd:string" />
<xsd:attribute name="pk-column-value" type="xsd:string" />
diff --git a/generator/org.eclipse.emf.texo.orm/model/orm.ecore b/generator/org.eclipse.emf.texo.orm/model/orm.ecore
index 628a7c9d..56b731a4 100644
--- a/generator/org.eclipse.emf.texo.orm/model/orm.ecore
+++ b/generator/org.eclipse.emf.texo.orm/model/orm.ecore
@@ -3,11 +3,11 @@
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="orm" nsURI="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
nsPrefix="orm">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; @(#)eclipselink_orm_2_3.xsd 2.3 March 23 2011&#xA; &#xA;&#xA;&#xA; This is the XML Schema for the native Eclipselink XML mapping file&#xA; The file may be named &quot;META-INF/eclipselink-orm.xml&quot; in the persistence&#xA; archive or it may be named some other name which would be&#xA; used to locate the file as resource on the classpath.&#xA; Object/relational mapping files must indicate the object/relational&#xA; mapping file schema by using the persistence namespace:&#xA;&#xA; http://www.eclipse.org/eclipselink/xsds/persistence/orm&#xA;&#xA; and indicate the version of the schema by using the version element as shown below:&#xA;&#xA; &lt;entity-mappings xmlns=&quot;http://www.eclipse.org/eclipselink/xsds/persistence/orm&quot;&#xA; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&#xA; xsi:schemaLocation=&quot;http://www.eclipse.org/eclipselink/xsds/persistence/orm &#xA; eclipselink_orm_2_3.xsd&#xA; version=&quot;2.3&quot;>&#xA; ...&#xA; &lt;/entity-mappings>&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#x9;&#x9;&#x9;@(#)eclipselink_orm_2_3.xsd 2.3 March 23 2011&#xA;&#x9;&#x9;&#xA;&#xA;&#xA; This is the XML Schema for the native Eclipselink XML mapping file&#xA; The file may be named &quot;META-INF/eclipselink-orm.xml&quot; in the persistence&#xA; archive or it may be named some other name which would be&#xA; used to locate the file as resource on the classpath.&#xA; Object/relational mapping files must indicate the object/relational&#xA; mapping file schema by using the persistence namespace:&#xA;&#xA; http://www.eclipse.org/eclipselink/xsds/persistence/orm&#xA;&#xA; and indicate the version of the schema by using the version element as shown below:&#xA;&#xA; &lt;entity-mappings xmlns=&quot;http://www.eclipse.org/eclipselink/xsds/persistence/orm&quot;&#xA; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&#xA; xsi:schemaLocation=&quot;http://www.eclipse.org/eclipselink/xsds/persistence/orm &#xA; eclipselink_orm_2_3.xsd&#xA; version=&quot;2.3&quot;>&#xA; ...&#xA; &lt;/entity-mappings>&#xA;&#xA; "/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="AccessMethods">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="access-methods"/>
@@ -30,7 +30,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="AccessType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; This element determines how the persistence provider accesses the&#xA; state of an entity or embedded object.&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;This element determines how the persistence provider accesses the&#xA;&#x9;&#x9;&#x9;&#x9;state of an entity or embedded object.&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="access-type"/>
@@ -47,7 +47,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AdditionalCriteria">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /**&#xA; * An additional criteria can be specified at the Entity or MappedSuperclass &#xA; * level. When specified at the mapped superclass level, it applies to all &#xA; * inheriting entities unless those entities define their own additional &#xA; * criteria, at which point the additional criteria from the mapped superclass &#xA; * is ignored. &#xA; *&#xA; * The additional criteria supports any valid JPQL string and must use 'this' &#xA; * as an alias to form your additional criteria. E.G.,&#xA; * &#xA; * @Entity&#xA; * @AdditionalCriteria(&quot;this.nut.size = :NUT_SIZE and this.nut.color = :NUT_COLOR&quot;)&#xA; * public class Bolt {...}&#xA; * &#xA; * Additional criteria parameters are also accepted and are set through &#xA; * properties on the entity manager factory, or on an entity manager. When set &#xA; * on the entity manager, the properties must be set before any query execution&#xA; * and should not be changed for the life span of that entity manager.&#xA; * &#xA; * Properties set on the entity manager will override those similarly named &#xA; * properties set on the entity manager factory.&#xA; *&#xA; * Additional criteria is not supported with any native queries.&#xA; * &#xA; * @author Guy Pelletier&#xA; * @since EclipseLink 2.2&#xA; **&#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface AdditionalCriteria {&#xA; /**&#xA; * (Required) The JPQL fragment to use as the additional criteria.&#xA; **&#xA; String value();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* An additional criteria can be specified at the Entity or&#xA;&#x9;&#x9;&#x9;&#x9;MappedSuperclass&#xA;&#x9;&#x9;&#x9;&#x9;* level. When specified at the mapped superclass level, it applies to&#xA;&#x9;&#x9;&#x9;&#x9;all&#xA;&#x9;&#x9;&#x9;&#x9;* inheriting entities unless those entities define their own&#xA;&#x9;&#x9;&#x9;&#x9;additional&#xA;&#x9;&#x9;&#x9;&#x9;* criteria, at which point the additional criteria from the mapped&#xA;&#x9;&#x9;&#x9;&#x9;superclass&#xA;&#x9;&#x9;&#x9;&#x9;* is ignored.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* The additional criteria supports any valid JPQL string and must use&#xA;&#x9;&#x9;&#x9;&#x9;'this'&#xA;&#x9;&#x9;&#x9;&#x9;* as an alias to form your additional criteria. E.G.,&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @Entity&#xA;&#x9;&#x9;&#x9;&#x9;* @AdditionalCriteria(&quot;this.nut.size = :NUT_SIZE and this.nut.color =&#xA;&#x9;&#x9;&#x9;&#x9;:NUT_COLOR&quot;)&#xA;&#x9;&#x9;&#x9;&#x9;* public class Bolt {...}&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Additional criteria parameters are also accepted and are set&#xA;&#x9;&#x9;&#x9;&#x9;through&#xA;&#x9;&#x9;&#x9;&#x9;* properties on the entity manager factory, or on an entity manager.&#xA;&#x9;&#x9;&#x9;&#x9;When set&#xA;&#x9;&#x9;&#x9;&#x9;* on the entity manager, the properties must be set before any query&#xA;&#x9;&#x9;&#x9;&#x9;execution&#xA;&#x9;&#x9;&#x9;&#x9;* and should not be changed for the life span of that entity manager.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Properties set on the entity manager will override those similarly&#xA;&#x9;&#x9;&#x9;&#x9;named&#xA;&#x9;&#x9;&#x9;&#x9;* properties set on the entity manager factory.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Additional criteria is not supported with any native queries.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @author Guy Pelletier&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.2&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface AdditionalCriteria {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The JPQL fragment to use as the additional criteria.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String value();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="additional-criteria"/>
@@ -64,7 +64,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Array">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; /** &#xA; * Array types are extended object-relational data-types supported by some databases.&#xA; * Array types are user define types in the database such as VARRAY types on Oracle.&#xA; * Arrays can contains basic types (VARCHAR) or other Struct types, and can be stored in&#xA; * a column or in a Struct type.&#xA; * This annotation can be defined on a collection attribute that is&#xA; * persisted to an Array type. The collection can be of basic types, or embeddable&#xA; * class mapped using a Struct.&#xA; * &#xA; * @see org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor&#xA; * @see org.eclipse.persistence.mappings.structures.ArrayMapping&#xA; * @see org.eclipse.persistence.mappings.structures.ObjectArrayMapping&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.3&#xA; **&#xA; @Target({METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface Array {&#xA; /**&#xA; * (Optional) The basic or embeddable class that is the element&#xA; * type of the collection. This element is optional only if the&#xA; * collection field or property is defined using Java generics,&#xA; * and must be specified otherwise. It defaults to the&#xA; * paramterized type of the collection when defined using&#xA; * generics.&#xA; **&#xA; Class targetClass() default void.class;&#xA; &#xA; /**&#xA; * (Required) The database name of the database array structure type.&#xA; **&#xA; String databaseType();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Array types are extended object-relational data-types supported by&#xA;&#x9;&#x9;&#x9;&#x9;some databases.&#xA;&#x9;&#x9;&#x9;&#x9;* Array types are user define types in the database such as VARRAY&#xA;&#x9;&#x9;&#x9;&#x9;types on Oracle.&#xA;&#x9;&#x9;&#x9;&#x9;* Arrays can contains basic types (VARCHAR) or other Struct types,&#xA;&#x9;&#x9;&#x9;&#x9;and can be stored in&#xA;&#x9;&#x9;&#x9;&#x9;* a column or in a Struct type.&#xA;&#x9;&#x9;&#x9;&#x9;* This annotation can be defined on a collection attribute that is&#xA;&#x9;&#x9;&#x9;&#x9;* persisted to an Array type. The collection can be of basic types,&#xA;&#x9;&#x9;&#x9;&#x9;or embeddable&#xA;&#x9;&#x9;&#x9;&#x9;* class mapped using a Struct.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor&#xA;&#x9;&#x9;&#x9;&#x9;* @see org.eclipse.persistence.mappings.structures.ArrayMapping&#xA;&#x9;&#x9;&#x9;&#x9;* @see org.eclipse.persistence.mappings.structures.ObjectArrayMapping&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.3&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Array {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The basic or embeddable class that is the element&#xA;&#x9;&#x9;&#x9;&#x9;* type of the collection. This element is optional only if the&#xA;&#x9;&#x9;&#x9;&#x9;* collection field or property is defined using Java generics,&#xA;&#x9;&#x9;&#x9;&#x9;* and must be specified otherwise. It defaults to the&#xA;&#x9;&#x9;&#x9;&#x9;* paramterized type of the collection when defined using&#xA;&#x9;&#x9;&#x9;&#x9;* generics.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class targetClass() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The database name of the database array structure type.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String databaseType();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="array"/>
@@ -205,7 +205,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AssociationOverride">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface AssociationOverride {&#xA; String name();&#xA; JoinColumn[] joinColumns() default{};&#xA; JoinTable joinTable() default @JoinTable;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface AssociationOverride {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#x9;&#x9;&#x9;&#x9;JoinColumn[] joinColumns() default{};&#xA;&#x9;&#x9;&#x9;&#x9;JoinTable joinTable() default @JoinTable;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="association-override"/>
@@ -243,7 +243,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AttributeOverride">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface AttributeOverride {&#xA; String name();&#xA; Column column();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface AttributeOverride {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#x9;&#x9;&#x9;&#x9;Column column();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="attribute-override"/>
@@ -273,7 +273,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Attributes">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; This element contains the entity field or property mappings.&#xA; It may be sparsely populated to include only a subset of the&#xA; fields or properties. If metadata-complete for the entity is true&#xA; then the remainder of the attributes will be defaulted according&#xA; to the default rules.&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;This element contains the entity field or property mappings.&#xA;&#x9;&#x9;&#x9;&#x9;It may be sparsely populated to include only a subset of the&#xA;&#x9;&#x9;&#x9;&#x9;fields or properties. If metadata-complete for the entity is true&#xA;&#x9;&#x9;&#x9;&#x9;then the remainder of the attributes will be defaulted according&#xA;&#x9;&#x9;&#x9;&#x9;to the default rules.&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="attributes"/>
@@ -425,7 +425,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Basic">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface Basic {&#xA; FetchType fetch() default EAGER;&#xA; boolean optional() default true;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Basic {&#xA;&#x9;&#x9;&#x9;&#x9;FetchType fetch() default EAGER;&#xA;&#x9;&#x9;&#x9;&#x9;boolean optional() default true;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="basic"/>
@@ -607,7 +607,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BasicCollection">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface BasicCollection {&#xA; /**&#xA; * (Optional) Defines whether the value of the field or property &#xA; * should be lazily loaded or must be eagerly fetched. The EAGER &#xA; * strategy is a requirement on the persistence provider runtime that &#xA; * the value must be eagerly fetched. The LAZY strategy is a hint to &#xA; * the persistence provider runtime. If not specified, defaults to &#xA; * LAZY.&#xA; **&#xA; FetchType fetch() default LAZY; &#xA; &#xA; /**&#xA; * (Optional) The name of the value column that holds the direct &#xA; * collection data. Defaults to the property or field name.&#xA; **&#xA; Column valueColumn() default @Column;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface BasicCollection {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Defines whether the value of the field or property&#xA;&#x9;&#x9;&#x9;&#x9;* should be lazily loaded or must be eagerly fetched. The EAGER&#xA;&#x9;&#x9;&#x9;&#x9;* strategy is a requirement on the persistence provider runtime that&#xA;&#x9;&#x9;&#x9;&#x9;* the value must be eagerly fetched. The LAZY strategy is a hint to&#xA;&#x9;&#x9;&#x9;&#x9;* the persistence provider runtime. If not specified, defaults to&#xA;&#x9;&#x9;&#x9;&#x9;* LAZY.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;FetchType fetch() default LAZY;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The name of the value column that holds the direct&#xA;&#x9;&#x9;&#x9;&#x9;* collection data. Defaults to the property or field name.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Column valueColumn() default @Column;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="basic-collection"/>
@@ -731,7 +731,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BasicMap">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface BasicMap {&#xA; /**&#xA; * (Optional) Defines whether the value of the field or property &#xA; * should be lazily loaded or must be eagerly fetched. The EAGER &#xA; * strategy is a requirement on the persistence provider runtime that &#xA; * the value must be eagerly fetched. The LAZY strategy is a hint to &#xA; * the persistence provider runtime. If not specified, defaults to &#xA; * LAZY.&#xA; **&#xA; FetchType fetch() default LAZY;&#xA;&#xA; /**&#xA; * (Optional) The name of the data column that holds the direct map &#xA; * key. If the name on te key column is &quot;&quot;, the name will default to:&#xA; * the name of the property or field; &quot;_KEY&quot;.&#xA; **&#xA; Column keyColumn() default @Column;&#xA;&#xA; /**&#xA; * (Optional) Specify the key converter. Default is equivalent to &#xA; * specifying @Convert(&quot;none&quot;), meaning no converter will be added to &#xA; * the direct map key.&#xA; **&#xA; Convert keyConverter() default @Convert;&#xA;&#xA; /**&#xA; * (Optional) The name of the data column that holds the direct &#xA; * collection data. Defaults to the property or field name.&#xA; **&#xA; Column valueColumn() default @Column;&#xA;&#xA; /**&#xA; * (Optional) Specify the value converter. Default is equivalent to &#xA; * specifying @Convert(&quot;none&quot;), meaning no converter will be added to &#xA; * the value column mapping.&#xA; **&#xA; Convert valueConverter() default @Convert;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface BasicMap {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Defines whether the value of the field or property&#xA;&#x9;&#x9;&#x9;&#x9;* should be lazily loaded or must be eagerly fetched. The EAGER&#xA;&#x9;&#x9;&#x9;&#x9;* strategy is a requirement on the persistence provider runtime that&#xA;&#x9;&#x9;&#x9;&#x9;* the value must be eagerly fetched. The LAZY strategy is a hint to&#xA;&#x9;&#x9;&#x9;&#x9;* the persistence provider runtime. If not specified, defaults to&#xA;&#x9;&#x9;&#x9;&#x9;* LAZY.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;FetchType fetch() default LAZY;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The name of the data column that holds the direct map&#xA;&#x9;&#x9;&#x9;&#x9;* key. If the name on te key column is &quot;&quot;, the name will default to:&#xA;&#x9;&#x9;&#x9;&#x9;* the name of the property or field; &quot;_KEY&quot;.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Column keyColumn() default @Column;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Specify the key converter. Default is equivalent to&#xA;&#x9;&#x9;&#x9;&#x9;* specifying @Convert(&quot;none&quot;), meaning no converter will be added to&#xA;&#x9;&#x9;&#x9;&#x9;* the direct map key.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Convert keyConverter() default @Convert;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The name of the data column that holds the direct&#xA;&#x9;&#x9;&#x9;&#x9;* collection data. Defaults to the property or field name.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Column valueColumn() default @Column;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Specify the value converter. Default is equivalent to&#xA;&#x9;&#x9;&#x9;&#x9;* specifying @Convert(&quot;none&quot;), meaning no converter will be added to&#xA;&#x9;&#x9;&#x9;&#x9;* the value column mapping.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Convert valueConverter() default @Convert;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="basic-map"/>
@@ -885,7 +885,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BatchFetch">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; /**&#xA; * A BatchFetch annotation can be used on any relationship mapping,&#xA; * (OneToOne, ManyToOne, OneToMany, ManyToMany, ElementCollection, BasicCollection, BasicMap).&#xA; * It allows the related objects to be batch read in a single query.&#xA; * Batch fetching can also be set at the query level, and it is &#xA; * normally recommended to do so as all queries may not require batching.&#xA; * &#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.1&#xA; **&#xA; @Target({METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface BatchFetch {&#xA; /**&#xA; * (Optional) The type of batch-fetch to use.&#xA; * Either JOIN, EXISTS or IN.&#xA; * JOIN is the default.&#xA; ** &#xA; BatchFetchType value() default BatchFetchType.JOIN;&#xA; &#xA; /**&#xA; * Define the default batch fetch size.&#xA; * This is only used for IN type batch reading and defines&#xA; * the number of keys used in each IN clause.&#xA; * The default size is 256, or the query's pageSize for cursor queries.&#xA; **&#xA; int size() default -1;&#xA; }&#xA; "/>
+ <details key="documentation" value="&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A BatchFetch annotation can be used on any relationship mapping,&#xA;&#x9;&#x9;&#x9;&#x9;* (OneToOne, ManyToOne, OneToMany, ManyToMany, ElementCollection,&#xA;&#x9;&#x9;&#x9;&#x9;BasicCollection, BasicMap).&#xA;&#x9;&#x9;&#x9;&#x9;* It allows the related objects to be batch read in a single query.&#xA;&#x9;&#x9;&#x9;&#x9;* Batch fetching can also be set at the query level, and it is&#xA;&#x9;&#x9;&#x9;&#x9;* normally recommended to do so as all queries may not require&#xA;&#x9;&#x9;&#x9;&#x9;batching.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.1&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface BatchFetch {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The type of batch-fetch to use.&#xA;&#x9;&#x9;&#x9;&#x9;* Either JOIN, EXISTS or IN.&#xA;&#x9;&#x9;&#x9;&#x9;* JOIN is the default.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;BatchFetchType value() default BatchFetchType.JOIN;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Define the default batch fetch size.&#xA;&#x9;&#x9;&#x9;&#x9;* This is only used for IN type batch reading and defines&#xA;&#x9;&#x9;&#x9;&#x9;* the number of keys used in each IN clause.&#xA;&#x9;&#x9;&#x9;&#x9;* The default size is 256, or the query's pageSize for cursor&#xA;&#x9;&#x9;&#x9;&#x9;queries.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;int size() default -1;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="batch-fetch"/>
@@ -907,7 +907,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="BatchFetchType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; public enum BatchFetchType {&#xA; /**&#xA; * This is the default form of batch reading.&#xA; * The original query's selection criteria is joined with the batch query.&#xA; **&#xA; JOIN,&#xA; &#xA; /**&#xA; * This uses an SQL EXISTS and a sub-select in the batch query instead of a join.&#xA; * This has the advantage of not requiring an SQL DISTINCT which can have issues&#xA; * with LOBs, or may be more efficient for some types of queries or on some databases.&#xA; **&#xA; EXISTS,&#xA; &#xA; /**&#xA; * This uses an SQL IN clause in the batch query passing in the source object Ids.&#xA; * This has the advantage of only selecting the objects not already contained in the cache,&#xA; * and can work better with cursors, or if joins cannot be used.&#xA; * This may only work for singleton Ids on some databases.&#xA; **&#xA; IN &#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#x9;&#x9;&#x9;&#x9;public enum BatchFetchType {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* This is the default form of batch reading.&#xA;&#x9;&#x9;&#x9;&#x9;* The original query's selection criteria is joined with the batch&#xA;&#x9;&#x9;&#x9;&#x9;query.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;JOIN,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* This uses an SQL EXISTS and a sub-select in the batch query instead&#xA;&#x9;&#x9;&#x9;&#x9;of a join.&#xA;&#x9;&#x9;&#x9;&#x9;* This has the advantage of not requiring an SQL DISTINCT which can&#xA;&#x9;&#x9;&#x9;&#x9;have issues&#xA;&#x9;&#x9;&#x9;&#x9;* with LOBs, or may be more efficient for some types of queries or on&#xA;&#x9;&#x9;&#x9;&#x9;some databases.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;EXISTS,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* This uses an SQL IN clause in the batch query passing in the source&#xA;&#x9;&#x9;&#x9;&#x9;object Ids.&#xA;&#x9;&#x9;&#x9;&#x9;* This has the advantage of only selecting the objects not already&#xA;&#x9;&#x9;&#x9;&#x9;contained in the cache,&#xA;&#x9;&#x9;&#x9;&#x9;* and can work better with cursors, or if joins cannot be used.&#xA;&#x9;&#x9;&#x9;&#x9;* This may only work for singleton Ids on some databases.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;IN&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="batch-fetch-type"/>
@@ -924,7 +924,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Cache">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * The Cache annotation is used to set an &#xA; * org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy &#xA; * which sets objects in EclipseLink's identity maps to be invalid &#xA; * following given rules. By default in EclipseLink, objects do not &#xA; * expire in the cache. Several different policies are available to &#xA; * allow objects to expire.&#xA; * &#xA; * @see org.eclipse.persistence.annotations.CacheType&#xA; * &#xA; * A Cache anotation may be defined on an Entity or MappedSuperclass. &#xA; * In the case of inheritance, a Cache annotation should only be defined &#xA; * on the root of the inheritance hierarchy.&#xA; **&#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface Cache {&#xA; /**&#xA; * (Optional) The type of cache to use.&#xA; ** &#xA; CacheType type() default SOFT_WEAK;&#xA;&#xA; /**&#xA; * (Optional) The size of cache to use.&#xA; ** &#xA; int size() default 100;&#xA;&#xA; /**&#xA; * (Optional) Cached instances in the shared cache,&#xA; * or only a per EntityManager isolated cache.&#xA; * The default is shared.&#xA; * @deprecated As of Eclipselink 2.2. See the attribute 'isolation'&#xA; ** &#xA; @Deprecated&#xA; boolean shared() default true;&#xA; &#xA; /**&#xA; * (Optional) Controls the level of caching this Entity will use.&#xA; * The default is CacheIsolationType.SHARED which has EclipseLink&#xA; * Caching all Entities in the Shared Cache.&#xA; * @see org.eclipse.persistence.config.CacheIsolationType&#xA; **&#xA; CacheIsolationType isolation() default SHARED;&#xA;&#xA; /**&#xA; * (Optional) Expire cached instance after a fix period of time (ms). &#xA; * Queries executed against the cache after this will be forced back &#xA; * to the database for a refreshed copy&#xA; ** &#xA; int expiry() default -1; // minus one is no expiry.&#xA;&#xA; /**&#xA; * (Optional) Expire cached instance a specific time of day. Queries &#xA; * executed against the cache after this will be forced back to the &#xA; * database for a refreshed copy&#xA; ** &#xA; TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false);&#xA;&#xA; /**&#xA; * (Optional) Force all queries that go to the database to always &#xA; * refresh the cache.&#xA; ** &#xA; boolean alwaysRefresh() default false;&#xA;&#xA; /**&#xA; * (Optional) For all queries that go to the database, refresh the&#xA; * cache only if the data received from the database by a query is &#xA; * newer than the data in the cache (as determined by the optimistic &#xA; * locking field)&#xA; ** &#xA; boolean refreshOnlyIfNewer() default false;&#xA;&#xA; /**&#xA; * (Optional) Setting to true will force all queries to bypass the &#xA; * cache for hits but still resolve against the cache for identity. &#xA; * This forces all queries to hit the database.&#xA; ** &#xA; boolean disableHits() default false;&#xA;&#xA; /**&#xA; * (Optional) The cache coordination mode.&#xA; ** &#xA; CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The Cache annotation is used to set an&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* which sets objects in EclipseLink's identity maps to be invalid&#xA;&#x9;&#x9;&#x9;&#x9;* following given rules. By default in EclipseLink, objects do not&#xA;&#x9;&#x9;&#x9;&#x9;* expire in the cache. Several different policies are available to&#xA;&#x9;&#x9;&#x9;&#x9;* allow objects to expire.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see org.eclipse.persistence.annotations.CacheType&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* A Cache anotation may be defined on an Entity or MappedSuperclass.&#xA;&#x9;&#x9;&#x9;&#x9;* In the case of inheritance, a Cache annotation should only be&#xA;&#x9;&#x9;&#x9;&#x9;defined&#xA;&#x9;&#x9;&#x9;&#x9;* on the root of the inheritance hierarchy.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Cache {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The type of cache to use.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;CacheType type() default SOFT_WEAK;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The size of cache to use.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;int size() default 100;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Cached instances in the shared cache,&#xA;&#x9;&#x9;&#x9;&#x9;* or only a per EntityManager isolated cache.&#xA;&#x9;&#x9;&#x9;&#x9;* The default is shared.&#xA;&#x9;&#x9;&#x9;&#x9;* @deprecated As of Eclipselink 2.2. See the attribute 'isolation'&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Deprecated&#xA;&#x9;&#x9;&#x9;&#x9;boolean shared() default true;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Controls the level of caching this Entity will use.&#xA;&#x9;&#x9;&#x9;&#x9;* The default is CacheIsolationType.SHARED which has EclipseLink&#xA;&#x9;&#x9;&#x9;&#x9;* Caching all Entities in the Shared Cache.&#xA;&#x9;&#x9;&#x9;&#x9;* @see org.eclipse.persistence.config.CacheIsolationType&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;CacheIsolationType isolation() default SHARED;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Expire cached instance after a fix period of time (ms).&#xA;&#x9;&#x9;&#x9;&#x9;* Queries executed against the cache after this will be forced back&#xA;&#x9;&#x9;&#x9;&#x9;* to the database for a refreshed copy&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;int expiry() default -1; // minus one is no expiry.&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Expire cached instance a specific time of day. Queries&#xA;&#x9;&#x9;&#x9;&#x9;* executed against the cache after this will be forced back to the&#xA;&#x9;&#x9;&#x9;&#x9;* database for a refreshed copy&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false);&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Force all queries that go to the database to always&#xA;&#x9;&#x9;&#x9;&#x9;* refresh the cache.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean alwaysRefresh() default false;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) For all queries that go to the database, refresh the&#xA;&#x9;&#x9;&#x9;&#x9;* cache only if the data received from the database by a query is&#xA;&#x9;&#x9;&#x9;&#x9;* newer than the data in the cache (as determined by the optimistic&#xA;&#x9;&#x9;&#x9;&#x9;* locking field)&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean refreshOnlyIfNewer() default false;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Setting to true will force all queries to bypass the&#xA;&#x9;&#x9;&#x9;&#x9;* cache for hits but still resolve against the cache for identity.&#xA;&#x9;&#x9;&#x9;&#x9;* This forces all queries to hit the database.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean disableHits() default false;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The cache coordination mode.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="cache"/>
@@ -1003,7 +1003,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="CacheCoordinationType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * An enum that is used within the Cache annotation.&#xA; * &#xA; * @see org.eclipse.persistence.annotations.Cache &#xA; ** &#xA; public enum CacheCoordinationType {&#xA; /**&#xA; * Sends a list of changed objects including data about the changes.&#xA; * This data is merged into the receiving cache.&#xA; **&#xA; SEND_OBJECT_CHANGES,&#xA;&#xA; /**&#xA; * Sends a list of the identities of the objects that have changed. &#xA; * The receiving cache invalidates the objects (rather than changing &#xA; * any of the data)&#xA; **&#xA; INVALIDATE_CHANGED_OBJECTS,&#xA;&#xA; /**&#xA; * Same as SEND_OBJECT_CHANGES except it also includes any newly&#xA; * created objects from the transaction.&#xA; **&#xA; SEND_NEW_OBJECTS_WITH_CHANGES,&#xA;&#xA; /**&#xA; * Does no cache coordination.&#xA; **&#xA; NONE&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* An enum that is used within the Cache annotation.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see org.eclipse.persistence.annotations.Cache&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;public enum CacheCoordinationType {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Sends a list of changed objects including data about the changes.&#xA;&#x9;&#x9;&#x9;&#x9;* This data is merged into the receiving cache.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;SEND_OBJECT_CHANGES,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Sends a list of the identities of the objects that have changed.&#xA;&#x9;&#x9;&#x9;&#x9;* The receiving cache invalidates the objects (rather than changing&#xA;&#x9;&#x9;&#x9;&#x9;* any of the data)&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;INVALIDATE_CHANGED_OBJECTS,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Same as SEND_OBJECT_CHANGES except it also includes any newly&#xA;&#x9;&#x9;&#x9;&#x9;* created objects from the transaction.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;SEND_NEW_OBJECTS_WITH_CHANGES,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Does no cache coordination.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;NONE&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="cache-coordination-type"/>
@@ -1021,7 +1021,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CacheInterceptor">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE}) @Retention(RUNTIME)&#xA; public @interface CacheInterceptor {&#xA; Class value();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface CacheInterceptor {&#xA;&#x9;&#x9;&#x9;&#x9;Class value();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="cache-interceptor"/>
@@ -1036,7 +1036,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="CacheIsolationType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; /**&#xA; * Options for how Entity instances should be shared within an EclipseLink Persistence Unit / ServerSession&#xA; * @see ClassDescriptor#setCacheIsolationType(CacheIsolationType)&#xA; * @author Gordon Yorke&#xA; * @since EclipseLink 2.2&#xA; **&#xA; public enum CacheIsolationType {&#xA; &#xA; /**&#xA; * Entity instances will be cached within the EntityManagerFactory/ServerSession level.&#xA; * Any user queries for shared cache instances (ie Read-Only query hint) will return an Entity&#xA; * instance that may be shared by multiple clients. &#xA; * &#xA; * This setting is the default isolation level.&#xA; **&#xA; SHARED,&#xA; &#xA; /**&#xA; * Entity state information will be cached in the shared cache but Entity&#xA; * instances will not be shared. Any user queries for shared cache instances&#xA; * (ie Read-Only query hint) will return a new Entity instance with the cached state.&#xA; * This will ensure the instance is &lt;i>protected&lt;/i> from any concurrent&#xA; * state change.&#xA; **&#xA; PROTECTED,&#xA; &#xA; /**&#xA; * The Entity and its data is not stored in the shared cache but is&#xA; * &lt;i>isolated&lt;/i> to the Persistence Context/UnitOfWork or&#xA; * IsolatedClientSession. This setting effectively disables second level&#xA; * caching for this entity and should be used when users do not want caching for&#xA; * a particular Entity.&#xA; **&#xA; ISOLATED;&#xA; &#xA; }&#xA; "/>
+ <details key="documentation" value="&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Options for how Entity instances should be shared within an&#xA;&#x9;&#x9;&#x9;&#x9;EclipseLink Persistence Unit / ServerSession&#xA;&#x9;&#x9;&#x9;&#x9;* @see ClassDescriptor#setCacheIsolationType(CacheIsolationType)&#xA;&#x9;&#x9;&#x9;&#x9;* @author Gordon Yorke&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.2&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;public enum CacheIsolationType {&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Entity instances will be cached within the&#xA;&#x9;&#x9;&#x9;&#x9;EntityManagerFactory/ServerSession level.&#xA;&#x9;&#x9;&#x9;&#x9;* Any user queries for shared cache instances (ie Read-Only query&#xA;&#x9;&#x9;&#x9;&#x9;hint) will return an Entity&#xA;&#x9;&#x9;&#x9;&#x9;* instance that may be shared by multiple clients.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* This setting is the default isolation level.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;SHARED,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Entity state information will be cached in the shared cache but&#xA;&#x9;&#x9;&#x9;&#x9;Entity&#xA;&#x9;&#x9;&#x9;&#x9;* instances will not be shared. Any user queries for shared cache&#xA;&#x9;&#x9;&#x9;&#x9;instances&#xA;&#x9;&#x9;&#x9;&#x9;* (ie Read-Only query hint) will return a new Entity instance with&#xA;&#x9;&#x9;&#x9;&#x9;the cached state.&#xA;&#x9;&#x9;&#x9;&#x9;* This will ensure the instance is&#xA;&#x9;&#x9;&#x9;&#x9;&lt;i>protected&lt;/i>&#xA;&#x9;&#x9;&#x9;&#x9;from any concurrent&#xA;&#x9;&#x9;&#x9;&#x9;* state change.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;PROTECTED,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The Entity and its data is not stored in the shared cache but is&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;&lt;i>isolated&lt;/i>&#xA;&#x9;&#x9;&#x9;&#x9;to the Persistence Context/UnitOfWork or&#xA;&#x9;&#x9;&#x9;&#x9;* IsolatedClientSession. This setting effectively disables second&#xA;&#x9;&#x9;&#x9;&#x9;level&#xA;&#x9;&#x9;&#x9;&#x9;* caching for this entity and should be used when users do not want&#xA;&#x9;&#x9;&#x9;&#x9;caching for&#xA;&#x9;&#x9;&#x9;&#x9;* a particular Entity.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;ISOLATED;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="cache-isolation-type"/>
@@ -1053,7 +1053,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="CacheKeyType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; /**&#xA; * Configures what type of Id value is used to store the object in the cache.&#xA; * This can either be the basic Id value for simple singleton Ids,&#xA; * or an optimized CacheKey type.&#xA; * &#xA; * @see PrimaryKey#cacheKeyType()&#xA; * @see ClassDescriptor#setCacheKeyType(CacheKeyType)&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.1&#xA; **&#xA; public enum CacheKeyType {&#xA; /**&#xA; * This can only be used for simple singleton Ids, such as long/int/String.&#xA; * This is the default for simple singleton Ids.&#xA; **&#xA; ID_VALUE,&#xA; &#xA; /**&#xA; * Optimized cache key type that allows composite and complex values.&#xA; * This is the default for composite or complex Ids.&#xA; **&#xA; CACHE_KEY,&#xA; &#xA; /**&#xA; * The cache key type is automatically configured depending on what is optimal for the class.&#xA; **&#xA; AUTO&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Configures what type of Id value is used to store the object in the&#xA;&#x9;&#x9;&#x9;&#x9;cache.&#xA;&#x9;&#x9;&#x9;&#x9;* This can either be the basic Id value for simple singleton Ids,&#xA;&#x9;&#x9;&#x9;&#x9;* or an optimized CacheKey type.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see PrimaryKey#cacheKeyType()&#xA;&#x9;&#x9;&#x9;&#x9;* @see ClassDescriptor#setCacheKeyType(CacheKeyType)&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.1&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;public enum CacheKeyType {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* This can only be used for simple singleton Ids, such as&#xA;&#x9;&#x9;&#x9;&#x9;long/int/String.&#xA;&#x9;&#x9;&#x9;&#x9;* This is the default for simple singleton Ids.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;ID_VALUE,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Optimized cache key type that allows composite and complex values.&#xA;&#x9;&#x9;&#x9;&#x9;* This is the default for composite or complex Ids.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;CACHE_KEY,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The cache key type is automatically configured depending on what is&#xA;&#x9;&#x9;&#x9;&#x9;optimal for the class.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;AUTO&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="cache-key-type"/>
@@ -1070,7 +1070,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="CacheType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * The CacheType enum is used with the Cache annotation for a &#xA; * persistent class. It defines the type of IdentityMap/Cache used for &#xA; * the class. By default the SOFT_WEAK cache type is used.&#xA; * &#xA; * @see org.eclipse.persistence.annotations.Cache &#xA; **&#xA; public enum CacheType {&#xA; /**&#xA; * Provides full caching and guaranteed identity. Caches all objects&#xA; * and does not remove them. &#xA; * WARNING: This method may be memory intensive when many objects are &#xA; * read.&#xA; **&#xA; FULL,&#xA;&#xA; /**&#xA; * Similar to the FULL identity map except that the map holds the&#xA; * objects using weak references. This method allows full garbage&#xA; * collection and provides full caching and guaranteed identity.&#xA; **&#xA; WEAK,&#xA;&#xA; /**&#xA; * Similar to the FULL identity map except that the map holds the&#xA; * objects using soft references. This method allows full garbage&#xA; * collection when memory is low and provides full caching and&#xA; * guaranteed identity.&#xA; **&#xA; SOFT,&#xA;&#xA; /**&#xA; * Similar to the WEAK identity map except that it maintains a&#xA; * most-frequently-used sub-cache. The size of the sub-cache is&#xA; * proportional to the size of the identity map as specified by&#xA; * descriptor's setIdentityMapSize() method. The sub-cache&#xA; * uses soft references to ensure that these objects are&#xA; * garbage-collected only if the system is low on memory.&#xA; **&#xA; SOFT_WEAK,&#xA;&#xA; /**&#xA; * Identical to the soft cache weak (SOFT_WEAK) identity map except &#xA; * that it uses hard references in the sub-cache. Use this identity &#xA; * map if soft references do not behave properly on your platform.&#xA; **&#xA; HARD_WEAK,&#xA;&#xA; /**&#xA; * A cache identity map maintains a fixed number of objects&#xA; * specified by the application. Objects are removed from the cache&#xA; * on a least-recently-used basis. This method allows object&#xA; * identity for the most commonly used objects.&#xA; * WARNING: Furnishes caching and identity, but does not guarantee &#xA; * identity.&#xA; **&#xA; CACHE,&#xA;&#xA; /**&#xA; * WARNING: Does not preserve object identity and does not cache &#xA; * objects.&#xA; **&#xA; NONE&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The CacheType enum is used with the Cache annotation for a&#xA;&#x9;&#x9;&#x9;&#x9;* persistent class. It defines the type of IdentityMap/Cache used for&#xA;&#x9;&#x9;&#x9;&#x9;* the class. By default the SOFT_WEAK cache type is used.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see org.eclipse.persistence.annotations.Cache&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;public enum CacheType {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Provides full caching and guaranteed identity. Caches all objects&#xA;&#x9;&#x9;&#x9;&#x9;* and does not remove them.&#xA;&#x9;&#x9;&#x9;&#x9;* WARNING: This method may be memory intensive when many objects are&#xA;&#x9;&#x9;&#x9;&#x9;* read.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;FULL,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Similar to the FULL identity map except that the map holds the&#xA;&#x9;&#x9;&#x9;&#x9;* objects using weak references. This method allows full garbage&#xA;&#x9;&#x9;&#x9;&#x9;* collection and provides full caching and guaranteed identity.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;WEAK,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Similar to the FULL identity map except that the map holds the&#xA;&#x9;&#x9;&#x9;&#x9;* objects using soft references. This method allows full garbage&#xA;&#x9;&#x9;&#x9;&#x9;* collection when memory is low and provides full caching and&#xA;&#x9;&#x9;&#x9;&#x9;* guaranteed identity.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;SOFT,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Similar to the WEAK identity map except that it maintains a&#xA;&#x9;&#x9;&#x9;&#x9;* most-frequently-used sub-cache. The size of the sub-cache is&#xA;&#x9;&#x9;&#x9;&#x9;* proportional to the size of the identity map as specified by&#xA;&#x9;&#x9;&#x9;&#x9;* descriptor's setIdentityMapSize() method. The sub-cache&#xA;&#x9;&#x9;&#x9;&#x9;* uses soft references to ensure that these objects are&#xA;&#x9;&#x9;&#x9;&#x9;* garbage-collected only if the system is low on memory.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;SOFT_WEAK,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Identical to the soft cache weak (SOFT_WEAK) identity map except&#xA;&#x9;&#x9;&#x9;&#x9;* that it uses hard references in the sub-cache. Use this identity&#xA;&#x9;&#x9;&#x9;&#x9;* map if soft references do not behave properly on your platform.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;HARD_WEAK,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A cache identity map maintains a fixed number of objects&#xA;&#x9;&#x9;&#x9;&#x9;* specified by the application. Objects are removed from the cache&#xA;&#x9;&#x9;&#x9;&#x9;* on a least-recently-used basis. This method allows object&#xA;&#x9;&#x9;&#x9;&#x9;* identity for the most commonly used objects.&#xA;&#x9;&#x9;&#x9;&#x9;* WARNING: Furnishes caching and identity, but does not guarantee&#xA;&#x9;&#x9;&#x9;&#x9;* identity.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;CACHE,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* WARNING: Does not preserve object identity and does not cache&#xA;&#x9;&#x9;&#x9;&#x9;* objects.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;NONE&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="cache-type"/>
@@ -1091,7 +1091,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CascadeType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH, DETACH};&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH, DETACH};&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="cascade-type"/>
@@ -1148,7 +1148,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ChangeTracking">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * The ChangeTracking annotation is used to specify the &#xA; * org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy &#xA; * which computes changes sets for EclipseLink's UnitOfWork commit &#xA; * process. An ObjectChangePolicy is stored on an Entity's descriptor.&#xA; *&#xA; * A ChangeTracking annotation may be specified on an Entity, &#xA; * MappedSuperclass or Embeddable.&#xA; ** &#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface ChangeTracking {&#xA; /**&#xA; * (Optional) The type of change tracking to use.&#xA; ** &#xA; ChangeTrackingType value() default AUTO;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The ChangeTracking annotation is used to specify the&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy&#xA;&#x9;&#x9;&#x9;&#x9;* which computes changes sets for EclipseLink's UnitOfWork commit&#xA;&#x9;&#x9;&#x9;&#x9;* process. An ObjectChangePolicy is stored on an Entity's descriptor.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* A ChangeTracking annotation may be specified on an Entity,&#xA;&#x9;&#x9;&#x9;&#x9;* MappedSuperclass or Embeddable.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ChangeTracking {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The type of change tracking to use.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;ChangeTrackingType value() default AUTO;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="change-tracking"/>
@@ -1164,7 +1164,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ChangeTrackingType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * An enum that is used within the ChangeTracking annotation. &#xA; ** &#xA; public enum ChangeTrackingType {&#xA; /**&#xA; * An ATTRIBUTE change tracking type allows change tracking at the&#xA; * attribute level of an object. Objects with changed attributes will&#xA; * be processed in the commit process to include any changes in the &#xA; * results of the commit. Unchanged objects will be ignored.&#xA; **&#xA; ATTRIBUTE,&#xA;&#xA; /**&#xA; * An OBJECT change tracking policy allows an object to calculate for &#xA; * itself whether it has changed. Changed objects will be processed in &#xA; * the commit process to include any changes in the results of the &#xA; * commit. Unchanged objects will be ignored.&#xA; **&#xA; OBJECT,&#xA;&#xA; /**&#xA; * A DEFERRED change tracking policy defers all change detection to&#xA; * the UnitOfWork's change detection process. Essentially, the &#xA; * calculateChanges() method will run for all objects in a UnitOfWork. &#xA; * This is the default ObjectChangePolicy&#xA; **&#xA; DEFERRED,&#xA;&#xA; /**&#xA; * Will not set any change tracking policy.&#xA; **&#xA; AUTO&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* An enum that is used within the ChangeTracking annotation.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;public enum ChangeTrackingType {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* An ATTRIBUTE change tracking type allows change tracking at the&#xA;&#x9;&#x9;&#x9;&#x9;* attribute level of an object. Objects with changed attributes will&#xA;&#x9;&#x9;&#x9;&#x9;* be processed in the commit process to include any changes in the&#xA;&#x9;&#x9;&#x9;&#x9;* results of the commit. Unchanged objects will be ignored.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;ATTRIBUTE,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* An OBJECT change tracking policy allows an object to calculate for&#xA;&#x9;&#x9;&#x9;&#x9;* itself whether it has changed. Changed objects will be processed&#xA;&#x9;&#x9;&#x9;&#x9;in&#xA;&#x9;&#x9;&#x9;&#x9;* the commit process to include any changes in the results of the&#xA;&#x9;&#x9;&#x9;&#x9;* commit. Unchanged objects will be ignored.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;OBJECT,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A DEFERRED change tracking policy defers all change detection to&#xA;&#x9;&#x9;&#x9;&#x9;* the UnitOfWork's change detection process. Essentially, the&#xA;&#x9;&#x9;&#x9;&#x9;* calculateChanges() method will run for all objects in a UnitOfWork.&#xA;&#x9;&#x9;&#x9;&#x9;* This is the default ObjectChangePolicy&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;DEFERRED,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Will not set any change tracking policy.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;AUTO&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="change-tracking-type"/>
@@ -1182,7 +1182,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ClassExtractor">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /**&#xA; * A ClassExtractor allows for a user defined class indicator in place of &#xA; * providing a discriminator column. The class has the following restrictions:&#xA;&#xA; * - It must extend the org.eclipse.persistence.descriptors.ClassExtractor &#xA; * class and implement the extractClassFromRow(Record, Session) method. &#xA; * - That method must take a database row (a Record/Map) as an argument and &#xA; * must return the class to use for that row. &#xA; * &#xA; * This method will be used to decide which class to instantiate when reading &#xA; * from the database. It is the application's responsibility to populate any &#xA; * typing information in the database required to determine the class from the &#xA; * row.&#xA; * &#xA; * The ClassExtractor must only be set on the root of an entity class or&#xA; * sub-hierarchy in which a different inheritance strategy is applied. The &#xA; * ClassExtractor can only be used with the SINGLE_TABLE and JOINED inheritance &#xA; * strategies.&#xA; * &#xA; * If a ClassExtractor is used then a DiscriminatorColumn cannot be used. A &#xA; * ClassExtractor also cannot be used on either the root or its subclasses.&#xA; * &#xA; * In addition, for more complex configurations using a ClassExtractor and a &#xA; * SINGLE_TABLE strategy, the descriptor's withAllSubclasses and onlyInstances &#xA; * expressions should be set through the ClassExtractor's initialize method.&#xA; *&#xA; * @see org.eclipse.persistence.descriptors.InheritancePolicy.setWithAllSubclassesExpression(Expression)&#xA; * @see org.eclipse.persistence.descriptors.InheritancePolicy.setOnlyInstancesExpression(Expression)&#xA; * &#xA; * @author Guy Pelletier&#xA; * @since EclipseLink 2.1 &#xA; ** &#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface ClassExtractor {&#xA; /**&#xA; * (Required) Defines the name of the class extractor that should be &#xA; * applied to this entity's descriptor.&#xA; **&#xA; Class value(); &#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A ClassExtractor allows for a user defined class indicator in place&#xA;&#x9;&#x9;&#x9;&#x9;of&#xA;&#x9;&#x9;&#x9;&#x9;* providing a discriminator column. The class has the following&#xA;&#x9;&#x9;&#x9;&#x9;restrictions:&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;* - It must extend the&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.ClassExtractor&#xA;&#x9;&#x9;&#x9;&#x9;* class and implement the extractClassFromRow(Record, Session)&#xA;&#x9;&#x9;&#x9;&#x9;method.&#xA;&#x9;&#x9;&#x9;&#x9;* - That method must take a database row (a Record/Map) as an&#xA;&#x9;&#x9;&#x9;&#x9;argument and&#xA;&#x9;&#x9;&#x9;&#x9;* must return the class to use for that row.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* This method will be used to decide which class to instantiate when&#xA;&#x9;&#x9;&#x9;&#x9;reading&#xA;&#x9;&#x9;&#x9;&#x9;* from the database. It is the application's responsibility to&#xA;&#x9;&#x9;&#x9;&#x9;populate any&#xA;&#x9;&#x9;&#x9;&#x9;* typing information in the database required to determine the class&#xA;&#x9;&#x9;&#x9;&#x9;from the&#xA;&#x9;&#x9;&#x9;&#x9;* row.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* The ClassExtractor must only be set on the root of an entity class&#xA;&#x9;&#x9;&#x9;&#x9;or&#xA;&#x9;&#x9;&#x9;&#x9;* sub-hierarchy in which a different inheritance strategy is applied.&#xA;&#x9;&#x9;&#x9;&#x9;The&#xA;&#x9;&#x9;&#x9;&#x9;* ClassExtractor can only be used with the SINGLE_TABLE and JOINED&#xA;&#x9;&#x9;&#x9;&#x9;inheritance&#xA;&#x9;&#x9;&#x9;&#x9;* strategies.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* If a ClassExtractor is used then a DiscriminatorColumn cannot be&#xA;&#x9;&#x9;&#x9;&#x9;used. A&#xA;&#x9;&#x9;&#x9;&#x9;* ClassExtractor also cannot be used on either the root or its&#xA;&#x9;&#x9;&#x9;&#x9;subclasses.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* In addition, for more complex configurations using a ClassExtractor&#xA;&#x9;&#x9;&#x9;&#x9;and a&#xA;&#x9;&#x9;&#x9;&#x9;* SINGLE_TABLE strategy, the descriptor's withAllSubclasses and&#xA;&#x9;&#x9;&#x9;&#x9;onlyInstances&#xA;&#x9;&#x9;&#x9;&#x9;* expressions should be set through the ClassExtractor's initialize&#xA;&#x9;&#x9;&#x9;&#x9;method.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.InheritancePolicy.setWithAllSubclassesExpression(Expression)&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.InheritancePolicy.setOnlyInstancesExpression(Expression)&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @author Guy Pelletier&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.1&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ClassExtractor {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Defines the name of the class extractor that should be&#xA;&#x9;&#x9;&#x9;&#x9;* applied to this entity's descriptor.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class value();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="class-extractor"/>
@@ -1197,7 +1197,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CloneCopyPolicy">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; /**&#xA; * A CloneCopyPolicy is used to set an &#xA; * org.eclipse.persistence.descriptors.copying.CloneCopyPolicy on an &#xA; * Entity. A CloneCopyPolicy must specify at one or both of the &quot;method&quot; &#xA; * or &quot;workingCopyMethod&quot;. &quot;workingCopyMethod&quot; is used to clone objects &#xA; * that will be returned to the user as they are registered in &#xA; * EclipseLink's transactional mechanism, the UnitOfWork. &quot;method&quot; will &#xA; * be used for the clone that is used for comparison in conjunction with &#xA; * EclipseLink's DeferredChangeDetectionPolicy&#xA; * &#xA; * A CloneCopyPolicy should be specified on an Entity, MappedSuperclass&#xA; * or Embeddable.&#xA; * &#xA; * Example:&#xA; * @Entity&#xA; * @CloneCopyPolicy(method=&quot;myCloneMethod&quot;)&#xA; * &#xA; * or:&#xA; * &#xA; * @Entity&#xA; * @CloneCopyPolicy(method=&quot;myCloneMethod&quot;, workingCopyMethod=&quot;myWorkingCopyCloneMethod&quot;)&#xA; * &#xA; * or:&#xA; * &#xA; * @Entity&#xA; * @CloneCopyPolicy(workingCopyMethodName=&quot;myWorkingCopyClone&quot;)&#xA; **&#xA; public @interface CloneCopyPolicy {&#xA;&#xA; /**&#xA; * (Optional)&#xA; * Either method or workingCopyMethod must be specified this defines &#xA; * a method that will be used to create a clone that will be used &#xA; * for comparison by&#xA; * EclipseLink's DeferredChangeDetectionPolicy&#xA; **&#xA; String method();&#xA;&#xA; /**&#xA; * (Optional)&#xA; * Either method or workingCopyMethod must be specified&#xA; * this defines a method that will be used to create a clone that &#xA; * will be used to create the object returned when registering an &#xA; * Object in an EclipseLink UnitOfWork&#xA; **&#xA; String workingCopyMethod();&#xA;&#xA; }&#xA; "/>
+ <details key="documentation" value="&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A CloneCopyPolicy is used to set an&#xA;&#x9;&#x9;&#x9;&#x9;* org.eclipse.persistence.descriptors.copying.CloneCopyPolicy on an&#xA;&#x9;&#x9;&#x9;&#x9;* Entity. A CloneCopyPolicy must specify at one or both of the&#xA;&#x9;&#x9;&#x9;&#x9;&quot;method&quot;&#xA;&#x9;&#x9;&#x9;&#x9;* or &quot;workingCopyMethod&quot;. &quot;workingCopyMethod&quot; is used to clone&#xA;&#x9;&#x9;&#x9;&#x9;objects&#xA;&#x9;&#x9;&#x9;&#x9;* that will be returned to the user as they are registered in&#xA;&#x9;&#x9;&#x9;&#x9;* EclipseLink's transactional mechanism, the UnitOfWork. &quot;method&quot;&#xA;&#x9;&#x9;&#x9;&#x9;will&#xA;&#x9;&#x9;&#x9;&#x9;* be used for the clone that is used for comparison in conjunction&#xA;&#x9;&#x9;&#x9;&#x9;with&#xA;&#x9;&#x9;&#x9;&#x9;* EclipseLink's DeferredChangeDetectionPolicy&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* A CloneCopyPolicy should be specified on an Entity,&#xA;&#x9;&#x9;&#x9;&#x9;MappedSuperclass&#xA;&#x9;&#x9;&#x9;&#x9;* or Embeddable.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Example:&#xA;&#x9;&#x9;&#x9;&#x9;* @Entity&#xA;&#x9;&#x9;&#x9;&#x9;* @CloneCopyPolicy(method=&quot;myCloneMethod&quot;)&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* or:&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @Entity&#xA;&#x9;&#x9;&#x9;&#x9;* @CloneCopyPolicy(method=&quot;myCloneMethod&quot;,&#xA;&#x9;&#x9;&#x9;&#x9;workingCopyMethod=&quot;myWorkingCopyCloneMethod&quot;)&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* or:&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @Entity&#xA;&#x9;&#x9;&#x9;&#x9;* @CloneCopyPolicy(workingCopyMethodName=&quot;myWorkingCopyClone&quot;)&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;public @interface CloneCopyPolicy {&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional)&#xA;&#x9;&#x9;&#x9;&#x9;* Either method or workingCopyMethod must be specified this defines&#xA;&#x9;&#x9;&#x9;&#x9;* a method that will be used to create a clone that will be used&#xA;&#x9;&#x9;&#x9;&#x9;* for comparison by&#xA;&#x9;&#x9;&#x9;&#x9;* EclipseLink's DeferredChangeDetectionPolicy&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String method();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional)&#xA;&#x9;&#x9;&#x9;&#x9;* Either method or workingCopyMethod must be specified&#xA;&#x9;&#x9;&#x9;&#x9;* this defines a method that will be used to create a clone that&#xA;&#x9;&#x9;&#x9;&#x9;* will be used to create the object returned when registering an&#xA;&#x9;&#x9;&#x9;&#x9;* Object in an EclipseLink UnitOfWork&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String workingCopyMethod();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="clone-copy-policy"/>
@@ -1218,7 +1218,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CollectionTable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface CollectionTable {&#xA; String name() default &quot;&quot;;&#xA; String catalog() default &quot;&quot;;&#xA; String schema() default &quot;&quot;;&#xA; JoinColumn[] joinColumns() default {};&#xA; UniqueConstraint[] uniqueConstraints() default {};&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface CollectionTable {&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String catalog() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String schema() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;JoinColumn[] joinColumns() default {};&#xA;&#x9;&#x9;&#x9;&#x9;UniqueConstraint[] uniqueConstraints() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="collection-table"/>
@@ -1246,7 +1246,8 @@
<details key="name" value="catalog"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+ unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="creation-suffix"/>
@@ -1267,7 +1268,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Column">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface Column {&#xA; String name() default &quot;&quot;;&#xA; boolean unique() default false;&#xA; boolean nullable() default true;&#xA; boolean insertable() default true;&#xA; boolean updatable() default true;&#xA; String columnDefinition() default &quot;&quot;;&#xA; String table() default &quot;&quot;;&#xA; int length() default 255;&#xA; int precision() default 0; // decimal precision&#xA; int scale() default 0; // decimal scale&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Column {&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;boolean unique() default false;&#xA;&#x9;&#x9;&#x9;&#x9;boolean nullable() default true;&#xA;&#x9;&#x9;&#x9;&#x9;boolean insertable() default true;&#xA;&#x9;&#x9;&#x9;&#x9;boolean updatable() default true;&#xA;&#x9;&#x9;&#x9;&#x9;String columnDefinition() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String table() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;int length() default 255;&#xA;&#x9;&#x9;&#x9;&#x9;int precision() default 0; // decimal precision&#xA;&#x9;&#x9;&#x9;&#x9;int scale() default 0; // decimal scale&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="column"/>
@@ -1343,7 +1344,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ColumnResult">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({}) @Retention(RUNTIME)&#xA; public @interface ColumnResult {&#xA; String name();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ColumnResult {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="column-result"/>
@@ -1358,7 +1359,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConversionValue">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({})&#xA; @Retention(RUNTIME)&#xA; public @interface ConversionValue {&#xA; /**&#xA; * (Required) Specify the database value.&#xA; **&#xA; String dataValue();&#xA;&#xA; /**&#xA; * (Required) Specify the object value.&#xA; **&#xA; String objectValue();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ConversionValue {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Specify the database value.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String dataValue();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Specify the object value.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String objectValue();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="conversion-value"/>
@@ -1381,7 +1382,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Converter">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface Converter {&#xA; /**&#xA; * (Required) Name this converter. The name should be unique across &#xA; * the whole persistence unit.&#xA; **&#xA; String name();&#xA;&#xA; /**&#xA; * (Required) The converter class to be used. This class must implement&#xA; * the org.eclipse.persistence.mappings.converters.Converter interface.&#xA; **&#xA; Class converterClass(); &#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Converter {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Name this converter. The name should be unique across&#xA;&#x9;&#x9;&#x9;&#x9;* the whole persistence unit.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The converter class to be used. This class must&#xA;&#x9;&#x9;&#x9;&#x9;implement&#xA;&#x9;&#x9;&#x9;&#x9;* the org.eclipse.persistence.mappings.converters.Converter&#xA;&#x9;&#x9;&#x9;&#x9;interface.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class converterClass();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="converter"/>
@@ -1402,7 +1403,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CopyPolicy">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; /**&#xA; * A CopyPolicy is used to set a &#xA; * org.eclipse.persistence.descriptors.copying.CopyPolicy on an Entity.&#xA; * It is required that a class that implements &#xA; * org.eclipse.persistence.descriptors.copying.CopyPolicy be specified &#xA; * as the argument.&#xA; * &#xA; * A CopyPolicy should be specified on an Entity, MappedSuperclass or &#xA; * Embeddable.&#xA; * &#xA; * For instance:&#xA; * @Entity&#xA; * @CopyPolicy(&quot;example.MyCopyPolicy&quot;)&#xA; **&#xA; public @interface CopyPolicy {&#xA;&#xA; /*&#xA; * (Required)&#xA; * This defines the class of the copy policy. It must specify a class &#xA; * that implements org.eclipse.persistence.descriptors.copying.CopyPolicy&#xA; **&#xA; Class value();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A CopyPolicy is used to set a&#xA;&#x9;&#x9;&#x9;&#x9;* org.eclipse.persistence.descriptors.copying.CopyPolicy on an&#xA;&#x9;&#x9;&#x9;&#x9;Entity.&#xA;&#x9;&#x9;&#x9;&#x9;* It is required that a class that implements&#xA;&#x9;&#x9;&#x9;&#x9;* org.eclipse.persistence.descriptors.copying.CopyPolicy be specified&#xA;&#x9;&#x9;&#x9;&#x9;* as the argument.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* A CopyPolicy should be specified on an Entity, MappedSuperclass or&#xA;&#x9;&#x9;&#x9;&#x9;* Embeddable.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* For instance:&#xA;&#x9;&#x9;&#x9;&#x9;* @Entity&#xA;&#x9;&#x9;&#x9;&#x9;* @CopyPolicy(&quot;example.MyCopyPolicy&quot;)&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;public @interface CopyPolicy {&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/*&#xA;&#x9;&#x9;&#x9;&#x9;* (Required)&#xA;&#x9;&#x9;&#x9;&#x9;* This defines the class of the copy policy. It must specify a class&#xA;&#x9;&#x9;&#x9;&#x9;* that implements&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.copying.CopyPolicy&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class value();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="copy-policy"/>
@@ -1417,7 +1418,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Customizer">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * The Customizer annotation is used to specify a class that implements &#xA; * the org.eclipse.persistence.config.DescriptorCustomizer &#xA; * interface and is to run against an enetity's class descriptor after all &#xA; * metadata processing has been completed.&#xA; *&#xA; * The Customizer annotation may be defined on an Entity, MappedSuperclass &#xA; * or Embeddable class. In the case of inheritance, a Customizer is not &#xA; * inherited from its parent classes. &#xA; ** &#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface Customizer {&#xA; /**&#xA; * (Required) Defines the name of the descriptor customizer class that &#xA; * should be applied for the related entity or embeddable class.&#xA; **&#xA; Class value(); &#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The Customizer annotation is used to specify a class that&#xA;&#x9;&#x9;&#x9;&#x9;implements&#xA;&#x9;&#x9;&#x9;&#x9;* the org.eclipse.persistence.config.DescriptorCustomizer&#xA;&#x9;&#x9;&#x9;&#x9;* interface and is to run against an enetity's class descriptor after&#xA;&#x9;&#x9;&#x9;&#x9;all&#xA;&#x9;&#x9;&#x9;&#x9;* metadata processing has been completed.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* The Customizer annotation may be defined on an Entity,&#xA;&#x9;&#x9;&#x9;&#x9;MappedSuperclass&#xA;&#x9;&#x9;&#x9;&#x9;* or Embeddable class. In the case of inheritance, a Customizer is&#xA;&#x9;&#x9;&#x9;&#x9;not&#xA;&#x9;&#x9;&#x9;&#x9;* inherited from its parent classes.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Customizer {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Defines the name of the descriptor customizer class that&#xA;&#x9;&#x9;&#x9;&#x9;* should be applied for the related entity or embeddable class.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class value();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="customizer"/>
@@ -1432,7 +1433,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="DirectionType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * An enum that is used within the StoredProcedureParameter annotation.&#xA; * It is used to specify the direction of the stored procedure &#xA; * parameters of a named stored procedure query.&#xA; **&#xA; public enum Direction {&#xA; /**&#xA; * Input parameter&#xA; **&#xA; IN,&#xA;&#xA; /**&#xA; * Output parameter&#xA; **&#xA; OUT,&#xA;&#xA; /**&#xA; * Input and output parameter&#xA; **&#xA; IN_OUT,&#xA;&#xA; /**&#xA; * Output cursor&#xA; **&#xA; OUT_CURSOR&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* An enum that is used within the StoredProcedureParameter&#xA;&#x9;&#x9;&#x9;&#x9;annotation.&#xA;&#x9;&#x9;&#x9;&#x9;* It is used to specify the direction of the stored procedure&#xA;&#x9;&#x9;&#x9;&#x9;* parameters of a named stored procedure query.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;public enum Direction {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Input parameter&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;IN,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Output parameter&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;OUT,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Input and output parameter&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;IN_OUT,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Output cursor&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;OUT_CURSOR&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="direction-type"/>
@@ -1450,7 +1451,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DiscriminatorClass">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * A DiscriminatorClass is used within a VariableOneToOne annotation.&#xA; ** &#xA; @Target({}) &#xA; @Retention(RUNTIME)&#xA; public @interface DiscriminatorClass {&#xA; /**&#xA; * (Required) The discriminator to be stored on the database. &#xA; **&#xA; String discriminator();&#xA;&#xA; /**&#xA; * (Required) The class to the instantiated with the given &#xA; * discriminator.&#xA; **&#xA; Class value();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A DiscriminatorClass is used within a VariableOneToOne annotation.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface DiscriminatorClass {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The discriminator to be stored on the database.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String discriminator();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The class to the instantiated with the given&#xA;&#x9;&#x9;&#x9;&#x9;* discriminator.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class value();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="discriminator-class"/>
@@ -1472,7 +1473,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DiscriminatorColumn">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE}) @Retention(RUNTIME)&#xA; public @interface DiscriminatorColumn {&#xA; String name() default &quot;DTYPE&quot;;&#xA; DiscriminatorType discriminatorType() default STRING;&#xA; String columnDefinition() default &quot;&quot;;&#xA; int length() default 31;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface DiscriminatorColumn {&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;DTYPE&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;DiscriminatorType discriminatorType() default STRING;&#xA;&#x9;&#x9;&#x9;&#x9;String columnDefinition() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;int length() default 31;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="discriminator-column"/>
@@ -1507,7 +1508,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="DiscriminatorType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; public enum DiscriminatorType { STRING, CHAR, INTEGER };&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;public enum DiscriminatorType { STRING, CHAR, INTEGER };&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="discriminator-type"/>
@@ -1524,7 +1525,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="DiscriminatorValue" instanceClassName="java.lang.String">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE}) @Retention(RUNTIME)&#xA; public @interface DiscriminatorValue {&#xA; String value();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface DiscriminatorValue {&#xA;&#x9;&#x9;&#x9;&#x9;String value();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="discriminator-value"/>
@@ -1571,7 +1572,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EclipselinkCollectionTable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface CollectionTable {&#xA; /**&#xA; * (Optional) The name of the collection table. If it is not &#xA; * specified, it is defaulted to the concatenation of the following: &#xA; * the name of the source entity; &quot;_&quot; ; the name of the relationship &#xA; * property or field of the source entity.&#xA; **&#xA; String name() default &quot;&quot;; &#xA;&#xA; /**&#xA; * (Optional) The catalog of the table. It defaults to the persistence &#xA; * unit default catalog.&#xA; **&#xA; String catalog() default &quot;&quot;; &#xA;&#xA; /**&#xA; * (Optional) The schema of the table. It defaults to the persistence &#xA; * unit default schema.&#xA; **&#xA; String schema() default &quot;&quot;; &#xA;&#xA; /**&#xA; * (Optional) Used to specify a primary key column that is used as a &#xA; * foreign key to join to another table. If the source entity uses a &#xA; * composite primary key, a primary key join column must be specified &#xA; * for each field of the composite primary key. In a single primary &#xA; * key case, a primary key join column may optionally be specified. &#xA; * Defaulting will apply otherwise as follows:&#xA; * name, the same name as the primary key column of the primary table &#xA; * of the source entity. referencedColumnName, the same name of &#xA; * primary key column of the primary table of the source entity.&#xA; **&#xA; PrimaryKeyJoinColumn[] primaryKeyJoinColumns() default {}; &#xA; &#xA; /**&#xA; * (Optional) Unique constraints that are to be placed on the table. &#xA; * These are only used if table generation is in effect.&#xA; **&#xA; UniqueConstraint[] uniqueConstraints() default {}; &#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface CollectionTable {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The name of the collection table. If it is not&#xA;&#x9;&#x9;&#x9;&#x9;* specified, it is defaulted to the concatenation of the following:&#xA;&#x9;&#x9;&#x9;&#x9;* the name of the source entity; &quot;_&quot; ; the name of the relationship&#xA;&#x9;&#x9;&#x9;&#x9;* property or field of the source entity.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The catalog of the table. It defaults to the persistence&#xA;&#x9;&#x9;&#x9;&#x9;* unit default catalog.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String catalog() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The schema of the table. It defaults to the persistence&#xA;&#x9;&#x9;&#x9;&#x9;* unit default schema.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String schema() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Used to specify a primary key column that is used as a&#xA;&#x9;&#x9;&#x9;&#x9;* foreign key to join to another table. If the source entity uses a&#xA;&#x9;&#x9;&#x9;&#x9;* composite primary key, a primary key join column must be specified&#xA;&#x9;&#x9;&#x9;&#x9;* for each field of the composite primary key. In a single primary&#xA;&#x9;&#x9;&#x9;&#x9;* key case, a primary key join column may optionally be specified.&#xA;&#x9;&#x9;&#x9;&#x9;* Defaulting will apply otherwise as follows:&#xA;&#x9;&#x9;&#x9;&#x9;* name, the same name as the primary key column of the primary table&#xA;&#x9;&#x9;&#x9;&#x9;* of the source entity. referencedColumnName, the same name of&#xA;&#x9;&#x9;&#x9;&#x9;* primary key column of the primary table of the source entity.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;PrimaryKeyJoinColumn[] primaryKeyJoinColumns() default {};&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Unique constraints that are to be placed on the table.&#xA;&#x9;&#x9;&#x9;&#x9;* These are only used if table generation is in effect.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;UniqueConstraint[] uniqueConstraints() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="eclipselink-collection-table"/>
@@ -1599,7 +1600,8 @@
<details key="name" value="catalog"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+ unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="creation-suffix"/>
@@ -1620,7 +1622,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ElementCollection">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface ElementCollection {&#xA; Class targetClass() default void.class;&#xA; FetchType fetch() default LAZY;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ElementCollection {&#xA;&#x9;&#x9;&#x9;&#x9;Class targetClass() default void.class;&#xA;&#x9;&#x9;&#x9;&#x9;FetchType fetch() default LAZY;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="element-collection"/>
@@ -1978,7 +1980,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Embeddable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; Defines the settings and mappings for embeddable objects. Is &#xA; allowed to be sparsely populated and used in conjunction with &#xA; the annotations. Alternatively, the metadata-complete attribute &#xA; can be used to indicate that no annotations are to be processed &#xA; in the class. If this is the case then the defaulting rules will &#xA; be recursively applied.&#xA;&#xA; @Target({TYPE}) @Retention(RUNTIME)&#xA; public @interface Embeddable {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;Defines the settings and mappings for embeddable objects. Is&#xA;&#x9;&#x9;&#x9;&#x9;allowed to be sparsely populated and used in conjunction with&#xA;&#x9;&#x9;&#x9;&#x9;the annotations. Alternatively, the metadata-complete attribute&#xA;&#x9;&#x9;&#x9;&#x9;can be used to indicate that no annotations are to be processed&#xA;&#x9;&#x9;&#x9;&#x9;in the class. If this is the case then the defaulting rules will&#xA;&#x9;&#x9;&#x9;&#x9;be recursively applied.&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Embeddable {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="embeddable"/>
@@ -2164,7 +2166,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Embedded">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface Embedded {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Embedded {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="embedded"/>
@@ -2224,7 +2226,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EmbeddedId">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface EmbeddedId {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface EmbeddedId {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="embedded-id"/>
@@ -2282,7 +2284,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Entity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; Defines the settings and mappings for an entity. Is allowed to be&#xA; sparsely populated and used in conjunction with the annotations.&#xA; Alternatively, the metadata-complete attribute can be used to &#xA; indicate that no annotations on the entity class (and its fields&#xA; or properties) are to be processed. If this is the case then &#xA; the defaulting rules for the entity and its subelements will &#xA; be recursively applied.&#xA;&#xA; @Target(TYPE) @Retention(RUNTIME)&#xA; public @interface Entity {&#xA; String name() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;Defines the settings and mappings for an entity. Is allowed to be&#xA;&#x9;&#x9;&#x9;&#x9;sparsely populated and used in conjunction with the annotations.&#xA;&#x9;&#x9;&#x9;&#x9;Alternatively, the metadata-complete attribute can be used to&#xA;&#x9;&#x9;&#x9;&#x9;indicate that no annotations on the entity class (and its fields&#xA;&#x9;&#x9;&#x9;&#x9;or properties) are to be processed. If this is the case then&#xA;&#x9;&#x9;&#x9;&#x9;the defaulting rules for the entity and its subelements will&#xA;&#x9;&#x9;&#x9;&#x9;be recursively applied.&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target(TYPE) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Entity {&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="entity"/>
@@ -2863,7 +2865,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EntityListener">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; Defines an entity listener to be invoked at lifecycle events&#xA; for the entities that list this listener.&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;Defines an entity listener to be invoked at lifecycle events&#xA;&#x9;&#x9;&#x9;&#x9;for the entities that list this listener.&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="entity-listener"/>
@@ -2941,7 +2943,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EntityListeners">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE}) @Retention(RUNTIME)&#xA; public @interface EntityListeners {&#xA; Class[] value();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface EntityListeners {&#xA;&#x9;&#x9;&#x9;&#x9;Class[] value();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="entity-listeners"/>
@@ -2958,7 +2960,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EntityMappingsType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; The entity-mappings element is the root element of a mapping&#xA; file. It contains the following four types of elements:&#xA;&#xA; 1. The persistence-unit-metadata element contains metadata&#xA; for the entire persistence unit. It is undefined if this element&#xA; occurs in multiple mapping files within the same persistence unit.&#xA; &#xA; 2. The package, schema, catalog and access elements apply to all of&#xA; the entity, mapped-superclass and embeddable elements defined in&#xA; the same file in which they occur.&#xA;&#xA; 3. The sequence-generator, table-generator, named-query,&#xA; named-native-query and sql-result-set-mapping elements are global&#xA; to the persistence unit. It is undefined to have more than one&#xA; sequence-generator or table-generator of the same name in the same&#xA; or different mapping files in a persistence unit. It is also &#xA; undefined to have more than one named-query, named-native-query, or&#xA; result-set-mapping of the same name in the same or different mapping &#xA; files in a persistence unit.&#xA;&#xA; 4. The entity, mapped-superclass and embeddable elements each define&#xA; the mapping information for a managed persistent class. The mapping&#xA; information contained in these elements may be complete or it may&#xA; be partial.&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;The entity-mappings element is the root element of a mapping&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;file. It contains the following four types of elements:&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;1. The persistence-unit-metadata element contains metadata&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;for the entire persistence unit. It is undefined if this element&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;occurs in multiple mapping files within the same persistence unit.&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;2. The package, schema, catalog and access elements apply to all of&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;the entity, mapped-superclass and embeddable elements defined in&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;the same file in which they occur.&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;3. The sequence-generator, table-generator, named-query,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;named-native-query and sql-result-set-mapping elements are global&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;to the persistence unit. It is undefined to have more than one&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;sequence-generator or table-generator of the same name in the same&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;or different mapping files in a persistence unit. It is also&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;undefined to have more than one named-query, named-native-query, or&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;result-set-mapping of the same name in the same or different&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;mapping&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;files in a persistence unit.&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;4. The entity, mapped-superclass and embeddable elements each define&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;the mapping information for a managed persistent class. The mapping&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;information contained in these elements may be complete or it may&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;be partial.&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="entity-mappings_._type"/>
@@ -3244,7 +3246,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EntityResult">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({}) @Retention(RUNTIME)&#xA; public @interface EntityResult {&#xA; Class entityClass();&#xA; FieldResult[] fields() default {};&#xA; String discriminatorColumn() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface EntityResult {&#xA;&#x9;&#x9;&#x9;&#x9;Class entityClass();&#xA;&#x9;&#x9;&#x9;&#x9;FieldResult[] fields() default {};&#xA;&#x9;&#x9;&#x9;&#x9;String discriminatorColumn() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="entity-result"/>
@@ -3274,7 +3276,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="Enumerated" instanceClassName="org.eclipse.emf.common.util.Enumerator">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface Enumerated {&#xA; EnumType value() default ORDINAL;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Enumerated {&#xA;&#x9;&#x9;&#x9;&#x9;EnumType value() default ORDINAL;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="enumerated"/>
@@ -3283,7 +3285,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="EnumType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; public enum EnumType {&#xA; ORDINAL,&#xA; STRING&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;public enum EnumType {&#xA;&#x9;&#x9;&#x9;&#x9;ORDINAL,&#xA;&#x9;&#x9;&#x9;&#x9;STRING&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="enum-type"/>
@@ -3299,7 +3301,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ExistenceType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; /**&#xA; * The ExistenceChecking annotation is used to specify the type of &#xA; * checking EclipseLink should use when updating entities.&#xA; * &#xA; * An existence-checking specification is supported on an Entity or &#xA; * MappedSuperclass annotation.&#xA; **&#xA; public @interface ExistenceChecking {&#xA;&#xA; /**&#xA; * (Optional) Set the existence check for determining&#xA; * if an insert or update should occur for an object.&#xA; **&#xA; ExistenceType value() default CHECK_CACHE;&#xA; }&#xA;&#xA; /**&#xA; * Assume that if the objects primary key does not include null and &#xA; * it is in the cache, then it must exist.&#xA; **&#xA; CHECK_CACHE,&#xA;&#xA; /**&#xA; * Perform does exist check on the database.&#xA; **&#xA; CHECK_DATABASE,&#xA;&#xA; /**&#xA; * Assume that if the objects primary key does not include null then &#xA; * it must exist. This may be used if the application guarantees or &#xA; * does not care about the existence check.&#xA; **&#xA; ASSUME_EXISTENCE,&#xA;&#xA; /**&#xA; * Assume that the object does not exist. This may be used if the &#xA; * application guarantees or does not care about the existence check. &#xA; * This will always force an insert to be called.&#xA; **&#xA; ASSUME_NON_EXISTENCE&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The ExistenceChecking annotation is used to specify the type of&#xA;&#x9;&#x9;&#x9;&#x9;* checking EclipseLink should use when updating entities.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* An existence-checking specification is supported on an Entity or&#xA;&#x9;&#x9;&#x9;&#x9;* MappedSuperclass annotation.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ExistenceChecking {&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Set the existence check for determining&#xA;&#x9;&#x9;&#x9;&#x9;* if an insert or update should occur for an object.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;ExistenceType value() default CHECK_CACHE;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Assume that if the objects primary key does not include null and&#xA;&#x9;&#x9;&#x9;&#x9;* it is in the cache, then it must exist.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;CHECK_CACHE,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Perform does exist check on the database.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;CHECK_DATABASE,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Assume that if the objects primary key does not include null then&#xA;&#x9;&#x9;&#x9;&#x9;* it must exist. This may be used if the application guarantees or&#xA;&#x9;&#x9;&#x9;&#x9;* does not care about the existence check.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;ASSUME_EXISTENCE,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Assume that the object does not exist. This may be used if the&#xA;&#x9;&#x9;&#x9;&#x9;* application guarantees or does not care about the existence check.&#xA;&#x9;&#x9;&#x9;&#x9;* This will always force an insert to be called.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;ASSUME_NON_EXISTENCE&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="existence-type"/>
@@ -3317,7 +3319,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FetchAttribute">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface FetchAttribute {&#xA; /**&#xA; * (Required) The fetch attribute name.&#xA; **&#xA; String name(); &#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface FetchAttribute {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The fetch attribute name.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="fetch-attribute"/>
@@ -3332,7 +3334,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FetchGroup">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface FetchGroup {&#xA; /**&#xA; * (Required) The fetch group name.&#xA; **&#xA; String name(); &#xA;&#xA; /**&#xA; * (Optional) Indicates whether all relationship attributes&#xA; * specified in the fetch group should be loaded.&#xA; **&#xA; boolean load() default true; &#xA;&#xA; /**&#xA; * (Required) The list of attributes to fetch.&#xA; **&#xA; FetchAttribute[] attributes();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface FetchGroup {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The fetch group name.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Indicates whether all relationship attributes&#xA;&#x9;&#x9;&#x9;&#x9;* specified in the fetch group should be loaded.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean load() default true;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The list of attributes to fetch.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;FetchAttribute[] attributes();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="fetch-group"/>
@@ -3362,7 +3364,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="FetchType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; public enum FetchType { LAZY, EAGER };&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;public enum FetchType { LAZY, EAGER };&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="fetch-type"/>
@@ -3378,7 +3380,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FieldResult">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({}) @Retention(RUNTIME)&#xA; public @interface FieldResult {&#xA; String name();&#xA; String column();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface FieldResult {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#x9;&#x9;&#x9;&#x9;String column();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="field-result"/>
@@ -3400,7 +3402,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GeneratedValue">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface GeneratedValue {&#xA; GenerationType strategy() default AUTO;&#xA; String generator() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface GeneratedValue {&#xA;&#x9;&#x9;&#x9;&#x9;GenerationType strategy() default AUTO;&#xA;&#x9;&#x9;&#x9;&#x9;String generator() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="generated-value"/>
@@ -3422,7 +3424,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="GenerationType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="generation-type"/>
@@ -3440,7 +3442,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="HashPartitioning">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; /** &#xA; * HashPartitioning partitions access to a database cluster by the hash of a field value from the object,&#xA; * such as the object's location, or tenant.&#xA; * The hash indexes into the list of connection pools.&#xA; * All write or read request for object's with that hash value are sent to the server.&#xA; * If a query does not include the field as a parameter, then it can either be sent&#xA; * to all server's and unioned, or left to the sesion's default behavior.&#xA; * &#xA; * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.&#xA; * &#xA; * @see org.eclipse.persistence.descriptors.partitioning.HashPartitioningPolicy&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.2&#xA; ** &#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface HashPartitioning {&#xA; String name();&#xA; &#xA; /**&#xA; * The database column or query parameter to partition queries by.&#xA; * This is the table column name, not the class attribute name.&#xA; * The column value must be included in the query and should normally be part of the object's Id.&#xA; * This can also be the name of a query parameter.&#xA; * If a query does not contain the field the query will not be partitioned.&#xA; **&#xA; Column partitionColumn();&#xA; &#xA; /**&#xA; * List of connection pool names to partition across.&#xA; **&#xA; String[] connectionPools();&#xA; &#xA; /**&#xA; * Defines if queries that do not contain the partition field should be sent&#xA; * to every database and have the result unioned.&#xA; **&#xA; boolean unionUnpartitionableQueries() default false;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* HashPartitioning partitions access to a database cluster by the&#xA;&#x9;&#x9;&#x9;&#x9;hash of a field value from the object,&#xA;&#x9;&#x9;&#x9;&#x9;* such as the object's location, or tenant.&#xA;&#x9;&#x9;&#x9;&#x9;* The hash indexes into the list of connection pools.&#xA;&#x9;&#x9;&#x9;&#x9;* All write or read request for object's with that hash value are&#xA;&#x9;&#x9;&#x9;&#x9;sent to the server.&#xA;&#x9;&#x9;&#x9;&#x9;* If a query does not include the field as a parameter, then it can&#xA;&#x9;&#x9;&#x9;&#x9;either be sent&#xA;&#x9;&#x9;&#x9;&#x9;* to all server's and unioned, or left to the sesion's default&#xA;&#x9;&#x9;&#x9;&#x9;behavior.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Partitioning can be enabled on an Entity, relationship, query, or&#xA;&#x9;&#x9;&#x9;&#x9;session/persistence unit.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.partitioning.HashPartitioningPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.2&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface HashPartitioning {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The database column or query parameter to partition queries by.&#xA;&#x9;&#x9;&#x9;&#x9;* This is the table column name, not the class attribute name.&#xA;&#x9;&#x9;&#x9;&#x9;* The column value must be included in the query and should normally&#xA;&#x9;&#x9;&#x9;&#x9;be part of the object's Id.&#xA;&#x9;&#x9;&#x9;&#x9;* This can also be the name of a query parameter.&#xA;&#x9;&#x9;&#x9;&#x9;* If a query does not contain the field the query will not be&#xA;&#x9;&#x9;&#x9;&#x9;partitioned.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Column partitionColumn();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* List of connection pool names to partition across.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String[] connectionPools();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Defines if queries that do not contain the partition field should&#xA;&#x9;&#x9;&#x9;&#x9;be sent&#xA;&#x9;&#x9;&#x9;&#x9;* to every database and have the result unioned.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean unionUnpartitionableQueries() default false;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="hash-partitioning"/>
@@ -3479,7 +3481,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Id">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface Id {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Id {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="id"/>
@@ -3623,7 +3625,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IdClass">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE}) @Retention(RUNTIME)&#xA; public @interface IdClass {&#xA; Class value();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface IdClass {&#xA;&#x9;&#x9;&#x9;&#x9;Class value();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="id-class"/>
@@ -3638,7 +3640,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="IdValidation">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * The IdValidation enum determines the type value that are valid for an Id.&#xA; * By default null is not allowed, and 0 is not allow for singleton ids of long or int type.&#xA; * The default value is ZERO for singleton ids, and NULL for composite ids.&#xA; * This can be set using the @PrimaryKey annotation, or ClassDescriptor API.&#xA; * &#xA; * @see PrimaryKey&#xA; * @see org.eclipse.persistence.descriptors.ClassDescriptor#setIdValidation(IdValidation)&#xA; * @author James Sutherland&#xA; * @since EclipseLink 1.0 &#xA; ** &#xA; public enum IdValidation {&#xA; /**&#xA; * Only null is not allowed as an id value, 0 is allowed.&#xA; **&#xA; NULL,&#xA;&#xA; /**&#xA; * null and 0 are not allowed, (only int and long).&#xA; **&#xA; ZERO,&#xA;&#xA; /**&#xA; * No id validation is done.&#xA; **&#xA; NONE&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The IdValidation enum determines the type value that are valid for&#xA;&#x9;&#x9;&#x9;&#x9;an Id.&#xA;&#x9;&#x9;&#x9;&#x9;* By default null is not allowed, and 0 is not allow for singleton&#xA;&#x9;&#x9;&#x9;&#x9;ids of long or int type.&#xA;&#x9;&#x9;&#x9;&#x9;* The default value is ZERO for singleton ids, and NULL for composite&#xA;&#x9;&#x9;&#x9;&#x9;ids.&#xA;&#x9;&#x9;&#x9;&#x9;* This can be set using the @PrimaryKey annotation, or&#xA;&#x9;&#x9;&#x9;&#x9;ClassDescriptor API.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see PrimaryKey&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.ClassDescriptor#setIdValidation(IdValidation)&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 1.0&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;public enum IdValidation {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Only null is not allowed as an id value, 0 is allowed.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;NULL,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* null and 0 are not allowed, (only int and long).&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;ZERO,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* No id validation is done.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;NONE&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="id-validation"/>
@@ -3655,7 +3657,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Index">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * Allow a database INDEX to be define when generating DDL.&#xA; * The @Index can be defined on a Entity class, or on an attribute.&#xA; * The column is defaulted when defined on a attribute.&#xA; * &#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.2&#xA; ** &#xA; @Target({METHOD, FIELD, TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface Index {&#xA; /** The name of the INDEX, defaults to INDEX_(table-name) **&#xA; String name() default &quot;&quot;;&#xA; &#xA; /** The schema of the INDEX **&#xA; String schema() default &quot;&quot;;&#xA; &#xA; /** The catalog of the INDEX **&#xA; String catalog() default &quot;&quot;;&#xA; &#xA; /** The table to define the index on, defaults to entities primary table. **&#xA; String table() default &quot;&quot;;&#xA; &#xA; boolean unique() default false;&#xA; &#xA; /**&#xA; * Specify the set of columns to define the index on.&#xA; * Not required when annotated on a field/method.&#xA; **&#xA; String[] columnNames() default {};&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Allow a database INDEX to be define when generating DDL.&#xA;&#x9;&#x9;&#x9;&#x9;* The @Index can be defined on a Entity class, or on an attribute.&#xA;&#x9;&#x9;&#x9;&#x9;* The column is defaulted when defined on a attribute.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.2&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD, TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Index {&#xA;&#x9;&#x9;&#x9;&#x9;/** The name of the INDEX, defaults to INDEX_(table-name) **&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/** The schema of the INDEX **&#xA;&#x9;&#x9;&#x9;&#x9;String schema() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/** The catalog of the INDEX **&#xA;&#x9;&#x9;&#x9;&#x9;String catalog() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/** The table to define the index on, defaults to entities primary&#xA;&#x9;&#x9;&#x9;&#x9;table. **&#xA;&#x9;&#x9;&#x9;&#x9;String table() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;boolean unique() default false;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Specify the set of columns to define the index on.&#xA;&#x9;&#x9;&#x9;&#x9;* Not required when annotated on a field/method.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String[] columnNames() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="index"/>
@@ -3703,7 +3705,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Inheritance">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE}) @Retention(RUNTIME)&#xA; public @interface Inheritance {&#xA; InheritanceType strategy() default SINGLE_TABLE;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Inheritance {&#xA;&#x9;&#x9;&#x9;&#x9;InheritanceType strategy() default SINGLE_TABLE;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="inheritance"/>
@@ -3719,7 +3721,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="InheritanceType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; public enum InheritanceType&#xA; { SINGLE_TABLE, JOINED, TABLE_PER_CLASS};&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;public enum InheritanceType&#xA;&#x9;&#x9;&#x9;&#x9;{ SINGLE_TABLE, JOINED, TABLE_PER_CLASS};&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="inheritance-type"/>
@@ -3736,7 +3738,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InstantiationCopyPolicy">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; /**&#xA; * An InstantiationCopyPolicy is used to set an &#xA; * org.eclipse.persistence.descriptors.copying.InstantiationCopyPolicy &#xA; * on an Entity. InstantiationCopyPolicy is the default CopyPolicy in &#xA; * EclipseLink and therefore this configuration option is only used to &#xA; * override other types of copy policies&#xA; * &#xA; * An InstantiationCopyPolicy should be specified on an Entity, &#xA; * MappedSuperclass or Embeddable.&#xA; * &#xA; * Example:&#xA; * @Entity&#xA; * @InstantiationCopyPolicy &#xA; **&#xA; public @interface InstantiationCopyPolicy {&#xA; }&#xA; "/>
+ <details key="documentation" value="&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* An InstantiationCopyPolicy is used to set an&#xA;&#x9;&#x9;&#x9;&#x9;* org.eclipse.persistence.descriptors.copying.InstantiationCopyPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* on an Entity. InstantiationCopyPolicy is the default CopyPolicy in&#xA;&#x9;&#x9;&#x9;&#x9;* EclipseLink and therefore this configuration option is only used&#xA;&#x9;&#x9;&#x9;&#x9;to&#xA;&#x9;&#x9;&#x9;&#x9;* override other types of copy policies&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* An InstantiationCopyPolicy should be specified on an Entity,&#xA;&#x9;&#x9;&#x9;&#x9;* MappedSuperclass or Embeddable.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Example:&#xA;&#x9;&#x9;&#x9;&#x9;* @Entity&#xA;&#x9;&#x9;&#x9;&#x9;* @InstantiationCopyPolicy&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;public @interface InstantiationCopyPolicy {&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="instantiation-copy-policy"/>
@@ -3745,7 +3747,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="JoinColumn">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface JoinColumn {&#xA; String name() default &quot;&quot;;&#xA; String referencedColumnName() default &quot;&quot;;&#xA; boolean unique() default false;&#xA; boolean nullable() default true;&#xA; boolean insertable() default true;&#xA; boolean updatable() default true;&#xA; String columnDefinition() default &quot;&quot;;&#xA; String table() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface JoinColumn {&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String referencedColumnName() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;boolean unique() default false;&#xA;&#x9;&#x9;&#x9;&#x9;boolean nullable() default true;&#xA;&#x9;&#x9;&#x9;&#x9;boolean insertable() default true;&#xA;&#x9;&#x9;&#x9;&#x9;boolean updatable() default true;&#xA;&#x9;&#x9;&#x9;&#x9;String columnDefinition() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String table() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="join-column"/>
@@ -3806,7 +3808,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="JoinFetchType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; public enum JoinFetchType {&#xA; /**&#xA; * An inner join is used to fetch the related object.&#xA; * This does not allow for null/empty values.&#xA; **&#xA; INNER,&#xA;&#xA; /**&#xA; * An inner join is used to fetch the related object.&#xA; * This allows for null/empty values.&#xA; **&#xA; OUTER,&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;public enum JoinFetchType {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* An inner join is used to fetch the related object.&#xA;&#x9;&#x9;&#x9;&#x9;* This does not allow for null/empty values.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;INNER,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* An inner join is used to fetch the related object.&#xA;&#x9;&#x9;&#x9;&#x9;* This allows for null/empty values.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;OUTER,&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="join-fetch-type"/>
@@ -3822,7 +3824,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="JoinTable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface JoinTable {&#xA; String name() default &quot;&quot;;&#xA; String catalog() default &quot;&quot;;&#xA; String schema() default &quot;&quot;;&#xA; JoinColumn[] joinColumns() default {};&#xA; JoinColumn[] inverseJoinColumns() default {};&#xA; UniqueConstraint[] uniqueConstraints() default {};&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface JoinTable {&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String catalog() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String schema() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;JoinColumn[] joinColumns() default {};&#xA;&#x9;&#x9;&#x9;&#x9;JoinColumn[] inverseJoinColumns() default {};&#xA;&#x9;&#x9;&#x9;&#x9;UniqueConstraint[] uniqueConstraints() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="join-table"/>
@@ -3858,7 +3860,8 @@
<details key="name" value="catalog"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+ unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="creation-suffix"/>
@@ -3879,7 +3882,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Lob">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface Lob {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Lob {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="lob"/>
@@ -3888,7 +3891,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="LockModeType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; public enum LockModeType { READ, WRITE, OPTIMISTIC, OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE, PESSIMISTIC_FORCE_INCREMENT, NONE};&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;public enum LockModeType { READ, WRITE, OPTIMISTIC,&#xA;&#x9;&#x9;&#x9;&#x9;OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE,&#xA;&#x9;&#x9;&#x9;&#x9;PESSIMISTIC_FORCE_INCREMENT, NONE};&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="lock-mode-type"/>
@@ -3910,7 +3913,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ManyToMany">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface ManyToMany {&#xA; Class targetEntity() default void.class;&#xA; CascadeType[] cascade() default {};&#xA; FetchType fetch() default LAZY;&#xA; String mappedBy() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ManyToMany {&#xA;&#x9;&#x9;&#x9;&#x9;Class targetEntity() default void.class;&#xA;&#x9;&#x9;&#x9;&#x9;CascadeType[] cascade() default {};&#xA;&#x9;&#x9;&#x9;&#x9;FetchType fetch() default LAZY;&#xA;&#x9;&#x9;&#x9;&#x9;String mappedBy() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="many-to-many"/>
@@ -4208,7 +4211,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ManyToOne">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface ManyToOne {&#xA; Class targetEntity() default void.class;&#xA; CascadeType[] cascade() default {};&#xA; FetchType fetch() default EAGER;&#xA; boolean optional() default true;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ManyToOne {&#xA;&#x9;&#x9;&#x9;&#x9;Class targetEntity() default void.class;&#xA;&#x9;&#x9;&#x9;&#x9;CascadeType[] cascade() default {};&#xA;&#x9;&#x9;&#x9;&#x9;FetchType fetch() default EAGER;&#xA;&#x9;&#x9;&#x9;&#x9;boolean optional() default true;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="many-to-one"/>
@@ -4398,7 +4401,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MapKey">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface MapKey {&#xA; String name() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface MapKey {&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="map-key"/>
@@ -4413,7 +4416,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MapKeyClass">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface MapKeyClass {&#xA; Class value();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface MapKeyClass {&#xA;&#x9;&#x9;&#x9;&#x9;Class value();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="map-key-class"/>
@@ -4428,7 +4431,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MapKeyColumn">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface MapKeyColumn {&#xA; String name() default &quot;&quot;;&#xA; boolean unique() default false;&#xA; boolean nullable() default false;&#xA; boolean insertable() default true;&#xA; boolean updatable() default true;&#xA; String columnDefinition() default &quot;&quot;;&#xA; String table() default &quot;&quot;;&#xA; int length() default 255;&#xA; int precision() default 0; // decimal precision&#xA; int scale() default 0; // decimal scale&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface MapKeyColumn {&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;boolean unique() default false;&#xA;&#x9;&#x9;&#x9;&#x9;boolean nullable() default false;&#xA;&#x9;&#x9;&#x9;&#x9;boolean insertable() default true;&#xA;&#x9;&#x9;&#x9;&#x9;boolean updatable() default true;&#xA;&#x9;&#x9;&#x9;&#x9;String columnDefinition() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String table() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;int length() default 255;&#xA;&#x9;&#x9;&#x9;&#x9;int precision() default 0; // decimal precision&#xA;&#x9;&#x9;&#x9;&#x9;int scale() default 0; // decimal scale&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="map-key-column"/>
@@ -4504,7 +4507,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MapKeyJoinColumn">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface MapKeyJoinColumn {&#xA; String name() default &quot;&quot;;&#xA; String referencedColumnName() default &quot;&quot;;&#xA; boolean unique() default false;&#xA; boolean nullable() default false;&#xA; boolean insertable() default true;&#xA; boolean updatable() default true;&#xA; String columnDefinition() default &quot;&quot;;&#xA; String table() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface MapKeyJoinColumn {&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String referencedColumnName() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;boolean unique() default false;&#xA;&#x9;&#x9;&#x9;&#x9;boolean nullable() default false;&#xA;&#x9;&#x9;&#x9;&#x9;boolean insertable() default true;&#xA;&#x9;&#x9;&#x9;&#x9;boolean updatable() default true;&#xA;&#x9;&#x9;&#x9;&#x9;String columnDefinition() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String table() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="map-key-join-column"/>
@@ -4565,7 +4568,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MappedSuperclass">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; Defines the settings and mappings for a mapped superclass. Is &#xA; allowed to be sparsely populated and used in conjunction with &#xA; the annotations. Alternatively, the metadata-complete attribute &#xA; can be used to indicate that no annotations are to be processed &#xA; If this is the case then the defaulting rules will be recursively &#xA; applied.&#xA;&#xA; @Target(TYPE) @Retention(RUNTIME)&#xA; public @interface MappedSuperclass{}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;Defines the settings and mappings for a mapped superclass. Is&#xA;&#x9;&#x9;&#x9;&#x9;allowed to be sparsely populated and used in conjunction with&#xA;&#x9;&#x9;&#x9;&#x9;the annotations. Alternatively, the metadata-complete attribute&#xA;&#x9;&#x9;&#x9;&#x9;can be used to indicate that no annotations are to be processed&#xA;&#x9;&#x9;&#x9;&#x9;If this is the case then the defaulting rules will be recursively&#xA;&#x9;&#x9;&#x9;&#x9;applied.&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target(TYPE) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface MappedSuperclass{}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="mapped-superclass"/>
@@ -5061,7 +5064,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Multitenant">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; @Target({TYPE}) &#xA; @Retention(RUNTIME)&#xA; public @interface Multitenant {&#xA; /**&#xA; * (Optional) Specify the multi-tenant strategy to use.&#xA; **&#xA; MultitenantType value() default MultitenantType.SINGLE_TABLE;&#xA; }&#xA; &#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Multitenant {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Specify the multi-tenant strategy to use.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;MultitenantType value() default MultitenantType.SINGLE_TABLE;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="multitenant"/>
@@ -5085,7 +5088,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="MultitenantType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; public enum MultitenantType {&#xA; /**&#xA; * Specifies that table(s) the entity maps to includes rows for multiple &#xA; * tenants. The tenant discriminator column(s) are used with application &#xA; * context values to limit what a persistence context can access.&#xA; **&#xA; SINGLE_TABLE, &#xA;&#xA; /**&#xA; * Specifies that different tables are used for each tenant. The table scan &#xA; * be uniquely identified by name, schema/tablespace.&#xA; **&#xA; TABLE_PER_TENANT &#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;public enum MultitenantType {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Specifies that table(s) the entity maps to includes rows for&#xA;&#x9;&#x9;&#x9;&#x9;multiple&#xA;&#x9;&#x9;&#x9;&#x9;* tenants. The tenant discriminator column(s) are used with&#xA;&#x9;&#x9;&#x9;&#x9;application&#xA;&#x9;&#x9;&#x9;&#x9;* context values to limit what a persistence context can access.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;SINGLE_TABLE,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Specifies that different tables are used for each tenant. The table&#xA;&#x9;&#x9;&#x9;&#x9;scan&#xA;&#x9;&#x9;&#x9;&#x9;* be uniquely identified by name, schema/tablespace.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;TABLE_PER_TENANT&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="multitenant-type"/>
@@ -5101,7 +5104,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedNativeQuery">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE}) @Retention(RUNTIME)&#xA; public @interface NamedNativeQuery {&#xA; String name();&#xA; String query();&#xA; QueryHint[] hints() default {};&#xA; Class resultClass() default void.class;&#xA; String resultSetMapping() default &quot;&quot;; //named SqlResultSetMapping&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface NamedNativeQuery {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#x9;&#x9;&#x9;&#x9;String query();&#xA;&#x9;&#x9;&#x9;&#x9;QueryHint[] hints() default {};&#xA;&#x9;&#x9;&#x9;&#x9;Class resultClass() default void.class;&#xA;&#x9;&#x9;&#x9;&#x9;String resultSetMapping() default &quot;&quot;; //named SqlResultSetMapping&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="named-native-query"/>
@@ -5150,7 +5153,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedPlsqlStoredFunctionQuery">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * A NamedPLSQLStoredFunctionQuery annotation allows the definition of queries that &#xA; * call PLSQL stored functions as named queries.&#xA; * The PLSQL support adds support for complex PLSQL types such as RECORD and TABLE types,&#xA; * that are not accessible from JDBC.&#xA; * &#xA; * A NamedPLSQLStoredFunctionQuery annotation may be defined on an Entity or&#xA; * MappedSuperclass.&#xA; * &#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.3&#xA; ** &#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface NamedPLSQLStoredFunctionQuery {&#xA; /**&#xA; * (Required) Unique name that references this stored procedure query.&#xA; **&#xA; String name();&#xA; &#xA; /**&#xA; * (Optional) Query hints.&#xA; **&#xA; QueryHint[] hints() default {};&#xA; &#xA; /**&#xA; * (Optional) The name of the SQLResultMapping.&#xA; **&#xA; String resultSetMapping() default &quot;&quot;;&#xA; &#xA; /**&#xA; * (Required) The name of the stored procedure.&#xA; **&#xA; String functionName();&#xA; &#xA; /**&#xA; * (Optional) Defines the parameters to the stored procedure.&#xA; **&#xA; PLSQLParameter[] parameters() default {};&#xA; &#xA; /**&#xA; * (Required) Defines the return value of the stored function.&#xA; **&#xA; PLSQLParameter returnParameter();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A NamedPLSQLStoredFunctionQuery annotation allows the definition of&#xA;&#x9;&#x9;&#x9;&#x9;queries that&#xA;&#x9;&#x9;&#x9;&#x9;* call PLSQL stored functions as named queries.&#xA;&#x9;&#x9;&#x9;&#x9;* The PLSQL support adds support for complex PLSQL types such as&#xA;&#x9;&#x9;&#x9;&#x9;RECORD and TABLE types,&#xA;&#x9;&#x9;&#x9;&#x9;* that are not accessible from JDBC.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* A NamedPLSQLStoredFunctionQuery annotation may be defined on an&#xA;&#x9;&#x9;&#x9;&#x9;Entity or&#xA;&#x9;&#x9;&#x9;&#x9;* MappedSuperclass.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.3&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface NamedPLSQLStoredFunctionQuery {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Unique name that references this stored procedure query.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Query hints.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;QueryHint[] hints() default {};&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The name of the SQLResultMapping.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String resultSetMapping() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The name of the stored procedure.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String functionName();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Defines the parameters to the stored procedure.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;PLSQLParameter[] parameters() default {};&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Defines the return value of the stored function.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;PLSQLParameter returnParameter();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="named-plsql-stored-function-query"/>
@@ -5202,7 +5205,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedPlsqlStoredProcedureQuery">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * A PLSQLNamedStoredProcedureQuery annotation allows the definition of queries that &#xA; * call PLSQL stored procedures as named queries.&#xA; * The PLSQL support adds support for complex PLSQL types such as RECORD and TABLE types,&#xA; * that are not accessible from JDBC.&#xA; * &#xA; * A PLSQLNamedStoredProcedureQuery annotation may be defined on an Entity or&#xA; * MappedSuperclass.&#xA; * &#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.3&#xA; ** &#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface NamedPLSQLStoredProcedureQuery {&#xA; /**&#xA; * (Required) Unique name that references this stored procedure query.&#xA; **&#xA; String name();&#xA; &#xA; /**&#xA; * (Optional) Query hints.&#xA; **&#xA; QueryHint[] hints() default {};&#xA; &#xA; /**&#xA; * (Optional) Refers to the class of the result.&#xA; **&#xA; Class resultClass() default void.class;&#xA; &#xA; /**&#xA; * (Optional) The name of the SQLResultMapping.&#xA; **&#xA; String resultSetMapping() default &quot;&quot;;&#xA; &#xA; /**&#xA; * (Required) The name of the stored procedure.&#xA; **&#xA; String procedureName();&#xA; &#xA; /**&#xA; * (Optional) Defines the parameters to the stored procedure.&#xA; **&#xA; PLSQLParameter[] parameters() default {};&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A PLSQLNamedStoredProcedureQuery annotation allows the definition&#xA;&#x9;&#x9;&#x9;&#x9;of queries that&#xA;&#x9;&#x9;&#x9;&#x9;* call PLSQL stored procedures as named queries.&#xA;&#x9;&#x9;&#x9;&#x9;* The PLSQL support adds support for complex PLSQL types such as&#xA;&#x9;&#x9;&#x9;&#x9;RECORD and TABLE types,&#xA;&#x9;&#x9;&#x9;&#x9;* that are not accessible from JDBC.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* A PLSQLNamedStoredProcedureQuery annotation may be defined on an&#xA;&#x9;&#x9;&#x9;&#x9;Entity or&#xA;&#x9;&#x9;&#x9;&#x9;* MappedSuperclass.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.3&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface NamedPLSQLStoredProcedureQuery {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Unique name that references this stored procedure query.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Query hints.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;QueryHint[] hints() default {};&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Refers to the class of the result.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class resultClass() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The name of the SQLResultMapping.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String resultSetMapping() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The name of the stored procedure.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String procedureName();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Defines the parameters to the stored procedure.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;PLSQLParameter[] parameters() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="named-plsql-stored-procedure-query"/>
@@ -5252,7 +5255,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedQuery">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE}) @Retention(RUNTIME)&#xA; public @interface NamedQuery {&#xA; String name();&#xA; String query();&#xA; LockModeType lockMode() default NONE;&#xA; QueryHint[] hints() default {};&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface NamedQuery {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#x9;&#x9;&#x9;&#x9;String query();&#xA;&#x9;&#x9;&#x9;&#x9;LockModeType lockMode() default NONE;&#xA;&#x9;&#x9;&#x9;&#x9;QueryHint[] hints() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="named-query"/>
@@ -5297,7 +5300,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedStoredFunctionQuery">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * A NamedStoredFunctionQuery annotation allows the definition of &#xA; * queries that call stored function as named queries.&#xA; * A NamedStoredFunctionQuery annotation may be defined on an Entity or&#xA; * MappedSuperclass. &#xA; ** &#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface NamedStoredFunctionQuery {&#xA; /**&#xA; * (Required) Unique name that references this stored procedure query.&#xA; **&#xA; String name();&#xA;&#xA; /**&#xA; * (Optional) Query hints.&#xA; **&#xA; QueryHint[] hints() default {};&#xA;&#xA; /**&#xA; * (Optional) The name of the SQLResultMapping.&#xA; **&#xA; String resultSetMapping() default &quot;&quot;;&#xA;&#xA; /**&#xA; * (Required) The name of the stored procedure.&#xA; **&#xA; String functionName();&#xA; &#xA; /**&#xA; * (Optional) Defines if the stored procedure should be called by index or by name.&#xA; * By index requires that the StoredProcedureParameter are defined in the same order as the procedure on the database.&#xA; * By name requires the database platform support naming procedure parameters.&#xA; **&#xA; boolean callByIndex() default false;&#xA; &#xA; /**&#xA; * (Optional) Defines arguments to the stored procedure.&#xA; **&#xA; StoredProcedureParameter[] parameters() default {};&#xA; &#xA; /**&#xA; * (Required) Defines return of the stored function.&#xA; **&#xA; StoredProcedureParameter[] returnParameter();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A NamedStoredFunctionQuery annotation allows the definition of&#xA;&#x9;&#x9;&#x9;&#x9;* queries that call stored function as named queries.&#xA;&#x9;&#x9;&#x9;&#x9;* A NamedStoredFunctionQuery annotation may be defined on an Entity&#xA;&#x9;&#x9;&#x9;&#x9;or&#xA;&#x9;&#x9;&#x9;&#x9;* MappedSuperclass.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface NamedStoredFunctionQuery {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Unique name that references this stored procedure query.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Query hints.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;QueryHint[] hints() default {};&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The name of the SQLResultMapping.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String resultSetMapping() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The name of the stored procedure.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String functionName();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Defines if the stored procedure should be called by&#xA;&#x9;&#x9;&#x9;&#x9;index or by name.&#xA;&#x9;&#x9;&#x9;&#x9;* By index requires that the StoredProcedureParameter are defined in&#xA;&#x9;&#x9;&#x9;&#x9;the same order as the procedure on the database.&#xA;&#x9;&#x9;&#x9;&#x9;* By name requires the database platform support naming procedure&#xA;&#x9;&#x9;&#x9;&#x9;parameters.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean callByIndex() default false;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Defines arguments to the stored procedure.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;StoredProcedureParameter[] parameters() default {};&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Defines return of the stored function.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;StoredProcedureParameter[] returnParameter();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="named-stored-function-query"/>
@@ -5356,7 +5359,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedStoredProcedureQuery">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * A NamedStoredProcedureQuery annotation allows the definition of &#xA; * queries that call stored procedures as named queries.&#xA; * A NamedStoredProcedureQuery annotation may be defined on an Entity or&#xA; * MappedSuperclass. &#xA; ** &#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface NamedStoredProcedureQuery {&#xA; /**&#xA; * (Required) Unique name that references this stored procedure query.&#xA; **&#xA; String name();&#xA;&#xA; /**&#xA; * (Optional) Query hints.&#xA; **&#xA; QueryHint[] hints() default {};&#xA;&#xA; /**&#xA; * (Optional) Refers to the class of the result.&#xA; **&#xA; Class resultClass() default void.class;&#xA;&#xA; /**&#xA; * (Optional) The name of the SQLResultMapping.&#xA; **&#xA; String resultSetMapping() default &quot;&quot;;&#xA;&#xA; /**&#xA; * (Required) The name of the stored procedure.&#xA; **&#xA; String procedureName();&#xA;&#xA; /**&#xA; * (Optional) Whether the query should return a result set.&#xA; **&#xA; boolean returnsResultSet() default true; &#xA;&#xA; /**&#xA; * (Optional) Defines if the stored procedure returns multiple result sets.&#xA; * This is only relevant on databases that support multiple result sets from stored procedures.&#xA; **&#xA; boolean multipleResultSets() default false;&#xA; &#xA; /**&#xA; * (Optional) Defines if the stored procedure should be called by index or by name.&#xA; * By index requires that the StoredProcedureParameter are defined in the same order as the procedure on the database.&#xA; * By name requires the database platform support naming procedure parameters.&#xA; **&#xA; boolean callByIndex() default false;&#xA; &#xA; /**&#xA; * (Optional) Defines arguments to the stored procedure.&#xA; **&#xA; StoredProcedureParameter[] parameters() default {};&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A NamedStoredProcedureQuery annotation allows the definition of&#xA;&#x9;&#x9;&#x9;&#x9;* queries that call stored procedures as named queries.&#xA;&#x9;&#x9;&#x9;&#x9;* A NamedStoredProcedureQuery annotation may be defined on an Entity&#xA;&#x9;&#x9;&#x9;&#x9;or&#xA;&#x9;&#x9;&#x9;&#x9;* MappedSuperclass.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface NamedStoredProcedureQuery {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Unique name that references this stored procedure query.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Query hints.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;QueryHint[] hints() default {};&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Refers to the class of the result.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class resultClass() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The name of the SQLResultMapping.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String resultSetMapping() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The name of the stored procedure.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String procedureName();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Whether the query should return a result set.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean returnsResultSet() default true;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Defines if the stored procedure returns multiple result&#xA;&#x9;&#x9;&#x9;&#x9;sets.&#xA;&#x9;&#x9;&#x9;&#x9;* This is only relevant on databases that support multiple result&#xA;&#x9;&#x9;&#x9;&#x9;sets from stored procedures.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean multipleResultSets() default false;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Defines if the stored procedure should be called by&#xA;&#x9;&#x9;&#x9;&#x9;index or by name.&#xA;&#x9;&#x9;&#x9;&#x9;* By index requires that the StoredProcedureParameter are defined in&#xA;&#x9;&#x9;&#x9;&#x9;the same order as the procedure on the database.&#xA;&#x9;&#x9;&#x9;&#x9;* By name requires the database platform support naming procedure&#xA;&#x9;&#x9;&#x9;&#x9;parameters.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean callByIndex() default false;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Defines arguments to the stored procedure.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;StoredProcedureParameter[] parameters() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="named-stored-procedure-query"/>
@@ -5427,7 +5430,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ObjectTypeConverter">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface ObjectTypeConverter {&#xA; /**&#xA; * (Required) Name this converter. The name should be unique&#xA; * across the whole persistence unit.&#xA; **&#xA; String name();&#xA;&#xA; /**&#xA; * (Optional) Specify the type stored on the database. The&#xA; * default is inferred from the type of the persistence&#xA; * field or property.&#xA; **&#xA; Class dataType() default void.class;&#xA;&#xA; /**&#xA; * (Optional) Specify the type stored on the entity. The&#xA; * default is inferred from the type of the persistent &#xA; * field or property.&#xA; **&#xA; Class objectType() default void.class;&#xA;&#xA; /**&#xA; * (Required) Specify the conversion values to be used &#xA; * with the object converter.&#xA; **&#xA; ConversionValue[] conversionValues();&#xA;&#xA; /**&#xA; * (Optional) Specify a default object value. Used for &#xA; * legacy data if the data value is missing.&#xA; **&#xA; String defaultObjectValue() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ObjectTypeConverter {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Name this converter. The name should be unique&#xA;&#x9;&#x9;&#x9;&#x9;* across the whole persistence unit.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Specify the type stored on the database. The&#xA;&#x9;&#x9;&#x9;&#x9;* default is inferred from the type of the persistence&#xA;&#x9;&#x9;&#x9;&#x9;* field or property.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class dataType() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Specify the type stored on the entity. The&#xA;&#x9;&#x9;&#x9;&#x9;* default is inferred from the type of the persistent&#xA;&#x9;&#x9;&#x9;&#x9;* field or property.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class objectType() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Specify the conversion values to be used&#xA;&#x9;&#x9;&#x9;&#x9;* with the object converter.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;ConversionValue[] conversionValues();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Specify a default object value. Used for&#xA;&#x9;&#x9;&#x9;&#x9;* legacy data if the data value is missing.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String defaultObjectValue() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="object-type-converter"/>
@@ -5469,7 +5472,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OneToMany">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface OneToMany {&#xA; Class targetEntity() default void.class;&#xA; CascadeType[] cascade() default {};&#xA; FetchType fetch() default LAZY;&#xA; String mappedBy() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface OneToMany {&#xA;&#x9;&#x9;&#x9;&#x9;Class targetEntity() default void.class;&#xA;&#x9;&#x9;&#x9;&#x9;CascadeType[] cascade() default {};&#xA;&#x9;&#x9;&#x9;&#x9;FetchType fetch() default LAZY;&#xA;&#x9;&#x9;&#x9;&#x9;String mappedBy() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="one-to-many"/>
@@ -5790,7 +5793,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OneToOne">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface OneToOne {&#xA; Class targetEntity() default void.class;&#xA; CascadeType[] cascade() default {};&#xA; FetchType fetch() default EAGER;&#xA; boolean optional() default true;&#xA; String mappedBy() default &quot;&quot;;&#xA; boolean orphanRemoval() default false;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface OneToOne {&#xA;&#x9;&#x9;&#x9;&#x9;Class targetEntity() default void.class;&#xA;&#x9;&#x9;&#x9;&#x9;CascadeType[] cascade() default {};&#xA;&#x9;&#x9;&#x9;&#x9;FetchType fetch() default EAGER;&#xA;&#x9;&#x9;&#x9;&#x9;boolean optional() default true;&#xA;&#x9;&#x9;&#x9;&#x9;String mappedBy() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;boolean orphanRemoval() default false;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="one-to-one"/>
@@ -6017,7 +6020,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OptimisticLocking">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * An optimistic-locking element is used to specify the type of &#xA; * optimistic locking EclipseLink should use when updating or deleting &#xA; * entities. An optimistic-locking specification is supported on&#xA; * an entity or mapped-superclass.&#xA; * &#xA; * It is used in conjunction with the optimistic-locking-type.&#xA; ** &#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface OptimisticLocking {&#xA; /**&#xA; * (Optional) The type of optimistic locking policy to use.&#xA; **&#xA; OptimisticLockingType type() default VERSION_COLUMN;&#xA;&#xA; /**&#xA; * (Optional) For an optimistic locking policy of type &#xA; * SELECTED_COLUMNS, this annotation member becomes a (Required) &#xA; * field.&#xA; **&#xA; Column[] selectedColumns() default {};&#xA;&#xA; /**&#xA; * (Optional) Specify where the optimistic locking policy should &#xA; * cascade lock. Currently only supported with VERSION_COLUMN locking.&#xA; **&#xA; boolean cascade() default false;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* An optimistic-locking element is used to specify the type of&#xA;&#x9;&#x9;&#x9;&#x9;* optimistic locking EclipseLink should use when updating or deleting&#xA;&#x9;&#x9;&#x9;&#x9;* entities. An optimistic-locking specification is supported on&#xA;&#x9;&#x9;&#x9;&#x9;* an entity or mapped-superclass.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* It is used in conjunction with the optimistic-locking-type.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface OptimisticLocking {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The type of optimistic locking policy to use.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;OptimisticLockingType type() default VERSION_COLUMN;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) For an optimistic locking policy of type&#xA;&#x9;&#x9;&#x9;&#x9;* SELECTED_COLUMNS, this annotation member becomes a (Required)&#xA;&#x9;&#x9;&#x9;&#x9;* field.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Column[] selectedColumns() default {};&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Specify where the optimistic locking policy should&#xA;&#x9;&#x9;&#x9;&#x9;* cascade lock. Currently only supported with VERSION_COLUMN locking.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean cascade() default false;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="optimistic-locking"/>
@@ -6048,7 +6051,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OptimisticLockingType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * A simple type that is used within an optimistic-locking &#xA; * specification to specify the type of optimistic-locking that&#xA; * EclipseLink should use when updating or deleting entities.&#xA; **&#xA; public enum OptimisticLockingType {&#xA; /**&#xA; * Using this type of locking policy compares every field in the table&#xA; * in the WHERE clause when doing an update or a delete. If any field&#xA; * has been changed, an optimistic locking exception will be thrown.&#xA; **&#xA; ALL_COLUMNS,&#xA;&#xA; /**&#xA; * Using this type of locking policy compares only the changed fields&#xA; * in the WHERE clause when doing an update. If any field has been&#xA; * changed, an optimistic locking exception will be thrown. A delete&#xA; * will only compare the primary key.&#xA; **&#xA; CHANGED_COLUMNS,&#xA;&#xA; /**&#xA; * Using this type of locking compares selected fields in the WHERE&#xA; * clause when doing an update or a delete. If any field has been&#xA; * changed, an optimistic locking exception will be thrown. Note that&#xA; * the fields specified must be mapped and not be primary keys.&#xA; **&#xA; SELECTED_COLUMNS,&#xA;&#xA; /**&#xA; * Using this type of locking policy compares a single version number&#xA; * in the where clause when doing an update. The version field must be&#xA; * mapped and not be the primary key.&#xA; **&#xA; VERSION_COLUMN&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A simple type that is used within an optimistic-locking&#xA;&#x9;&#x9;&#x9;&#x9;* specification to specify the type of optimistic-locking that&#xA;&#x9;&#x9;&#x9;&#x9;* EclipseLink should use when updating or deleting entities.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;public enum OptimisticLockingType {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Using this type of locking policy compares every field in the table&#xA;&#x9;&#x9;&#x9;&#x9;* in the WHERE clause when doing an update or a delete. If any field&#xA;&#x9;&#x9;&#x9;&#x9;* has been changed, an optimistic locking exception will be thrown.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;ALL_COLUMNS,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Using this type of locking policy compares only the changed fields&#xA;&#x9;&#x9;&#x9;&#x9;* in the WHERE clause when doing an update. If any field has been&#xA;&#x9;&#x9;&#x9;&#x9;* changed, an optimistic locking exception will be thrown. A delete&#xA;&#x9;&#x9;&#x9;&#x9;* will only compare the primary key.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;CHANGED_COLUMNS,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Using this type of locking compares selected fields in the WHERE&#xA;&#x9;&#x9;&#x9;&#x9;* clause when doing an update or a delete. If any field has been&#xA;&#x9;&#x9;&#x9;&#x9;* changed, an optimistic locking exception will be thrown. Note that&#xA;&#x9;&#x9;&#x9;&#x9;* the fields specified must be mapped and not be primary keys.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;SELECTED_COLUMNS,&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Using this type of locking policy compares a single version number&#xA;&#x9;&#x9;&#x9;&#x9;* in the where clause when doing an update. The version field must&#xA;&#x9;&#x9;&#x9;&#x9;be&#xA;&#x9;&#x9;&#x9;&#x9;* mapped and not be the primary key.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;VERSION_COLUMN&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="optimistic-locking-type"/>
@@ -6066,7 +6069,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="OrderBy" instanceClassName="java.lang.String">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface OrderBy {&#xA; String value() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface OrderBy {&#xA;&#x9;&#x9;&#x9;&#x9;String value() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="order-by"/>
@@ -6075,7 +6078,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OrderColumn">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface OrderColumn {&#xA; String name() default &quot;&quot;;&#xA; boolean nullable() default true;&#xA; boolean insertable() default true;&#xA; boolean updatable() default true;&#xA; String columnDefinition() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface OrderColumn {&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;boolean nullable() default true;&#xA;&#x9;&#x9;&#x9;&#x9;boolean insertable() default true;&#xA;&#x9;&#x9;&#x9;&#x9;boolean updatable() default true;&#xA;&#x9;&#x9;&#x9;&#x9;String columnDefinition() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="order-column"/>
@@ -6124,7 +6127,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="OrderColumnCorrectionType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; public enum OrderCorrectionType {&#xA; READ,&#xA; READ_WRITE,&#xA; EXCEPTION&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;public enum OrderCorrectionType {&#xA;&#x9;&#x9;&#x9;&#x9;READ,&#xA;&#x9;&#x9;&#x9;&#x9;READ_WRITE,&#xA;&#x9;&#x9;&#x9;&#x9;EXCEPTION&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="order-column-correction-type"/>
@@ -6142,7 +6145,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Partitioning">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; /** &#xA; * A Partitioning is used to partition the data for a class across multiple difference databases&#xA; * or across a database cluster such as Oracle RAC.&#xA; * Partitioning can provide improved scalability by allowing multiple database machines to service requests.&#xA; * This annotation configures a custom PartitioningPolicy.&#xA; * &#xA; * If multiple partitions are used to process a single transaction, JTA should be used for proper XA transaction support.&#xA; * &#xA; * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.&#xA; * Partition policies are globally named to allow reuse,&#xA; * the partitioning policy must also be set using the @Partitioned annotation to be used.&#xA; * &#xA; * @see Partitioned&#xA; * @see org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.2&#xA; **&#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface Partitioning {&#xA; String name();&#xA; &#xA; /**&#xA; * (Required) Full package.class name of a subclass of PartitioningPolicy.&#xA; **&#xA; Class partitioningClass();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A Partitioning is used to partition the data for a class across&#xA;&#x9;&#x9;&#x9;&#x9;multiple difference databases&#xA;&#x9;&#x9;&#x9;&#x9;* or across a database cluster such as Oracle RAC.&#xA;&#x9;&#x9;&#x9;&#x9;* Partitioning can provide improved scalability by allowing multiple&#xA;&#x9;&#x9;&#x9;&#x9;database machines to service requests.&#xA;&#x9;&#x9;&#x9;&#x9;* This annotation configures a custom PartitioningPolicy.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* If multiple partitions are used to process a single transaction,&#xA;&#x9;&#x9;&#x9;&#x9;JTA should be used for proper XA transaction support.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Partitioning can be enabled on an Entity, relationship, query, or&#xA;&#x9;&#x9;&#x9;&#x9;session/persistence unit.&#xA;&#x9;&#x9;&#x9;&#x9;* Partition policies are globally named to allow reuse,&#xA;&#x9;&#x9;&#x9;&#x9;* the partitioning policy must also be set using the @Partitioned&#xA;&#x9;&#x9;&#x9;&#x9;annotation to be used.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see Partitioned&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.2&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Partitioning {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Full package.class name of a subclass of&#xA;&#x9;&#x9;&#x9;&#x9;PartitioningPolicy.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class partitioningClass();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="partitioning"/>
@@ -6163,7 +6166,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PersistenceUnitDefaults">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; These defaults are applied to the persistence unit as a whole &#xA; unless they are overridden by local annotation or XML &#xA; element settings. &#xA; &#xA; schema - Used as the schema for all tables, secondary tables, join&#xA; tables, collection tables, sequence generators, and table &#xA; generators that apply to the persistence unit&#xA; catalog - Used as the catalog for all tables, secondary tables, join&#xA; tables, collection tables, sequence generators, and table &#xA; generators that apply to the persistence unit&#xA; delimited-identifiers - Used to treat database identifiers as&#xA; delimited identifiers.&#xA; access - Used as the access type for all managed classes in&#xA; the persistence unit&#xA; cascade-persist - Adds cascade-persist to the set of cascade options&#xA; in all entity relationships of the persistence unit&#xA; entity-listeners - List of default entity listeners to be invoked &#xA; on each entity in the persistence unit. &#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;These defaults are applied to the persistence unit as a whole&#xA;&#x9;&#x9;&#x9;&#x9;unless they are overridden by local annotation or XML&#xA;&#x9;&#x9;&#x9;&#x9;element settings.&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;schema - Used as the schema for all tables, secondary tables, join&#xA;&#x9;&#x9;&#x9;&#x9;tables, collection tables, sequence generators, and table&#xA;&#x9;&#x9;&#x9;&#x9;generators that apply to the persistence unit&#xA;&#x9;&#x9;&#x9;&#x9;catalog - Used as the catalog for all tables, secondary tables, join&#xA;&#x9;&#x9;&#x9;&#x9;tables, collection tables, sequence generators, and table&#xA;&#x9;&#x9;&#x9;&#x9;generators that apply to the persistence unit&#xA;&#x9;&#x9;&#x9;&#x9;delimited-identifiers - Used to treat database identifiers as&#xA;&#x9;&#x9;&#x9;&#x9;delimited identifiers.&#xA;&#x9;&#x9;&#x9;&#x9;access - Used as the access type for all managed classes in&#xA;&#x9;&#x9;&#x9;&#x9;the persistence unit&#xA;&#x9;&#x9;&#x9;&#x9;cascade-persist - Adds cascade-persist to the set of cascade options&#xA;&#x9;&#x9;&#x9;&#x9;in all entity relationships of the persistence unit&#xA;&#x9;&#x9;&#x9;&#x9;entity-listeners - List of default entity listeners to be invoked&#xA;&#x9;&#x9;&#x9;&#x9;on each entity in the persistence unit.&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="persistence-unit-defaults"/>
@@ -6241,7 +6244,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PersistenceUnitMetadata">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; Metadata that applies to the persistence unit and not just to &#xA; the mapping file in which it is contained. &#xA;&#xA; If the xml-mapping-metadata-complete element is specified,&#xA; the complete set of mapping metadata for the persistence unit &#xA; is contained in the XML mapping files for the persistence unit.&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;Metadata that applies to the persistence unit and not just to&#xA;&#x9;&#x9;&#x9;&#x9;the mapping file in which it is contained.&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;If the xml-mapping-metadata-complete element is specified,&#xA;&#x9;&#x9;&#x9;&#x9;the complete set of mapping metadata for the persistence unit&#xA;&#x9;&#x9;&#x9;&#x9;is contained in the XML mapping files for the persistence unit.&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="persistence-unit-metadata"/>
@@ -6281,7 +6284,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PinnedPartitioning">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; /** &#xA; * PinnedPartitioning pins requests to a single connection pool.&#xA; * &#xA; * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.&#xA; * &#xA; * @see org.eclipse.persistence.descriptors.partitioning.PinnedPartitioningPolicy&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.2&#xA; ** &#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface PinnedPartitioning {&#xA; String name();&#xA; &#xA; /**&#xA; * The connection pool name to pin queries to.&#xA; **&#xA; String connectionPool();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* PinnedPartitioning pins requests to a single connection pool.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Partitioning can be enabled on an Entity, relationship, query, or&#xA;&#x9;&#x9;&#x9;&#x9;session/persistence unit.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.partitioning.PinnedPartitioningPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.2&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface PinnedPartitioning {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The connection pool name to pin queries to.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String connectionPool();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="pinned-partitioning"/>
@@ -6303,7 +6306,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PlsqlParameter">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * A PLSQLParameter annotation is used within a &#xA; * NamedPLSQLStoredProcedureQuery or PLSQLRecord annotation.&#xA; * &#xA; * @see NamedPLSQLStoredProcedureQuery&#xA; * @see PLSQLRecord&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.3&#xA; ** &#xA; @Target({})&#xA; @Retention(RUNTIME)&#xA; public @interface PLSQLParameter {&#xA; /**&#xA; * (Optional) The direction of the stored procedure parameter.&#xA; **&#xA; Direction direction() default IN;&#xA; &#xA; /**&#xA; * (Required) Stored procedure parameter name.&#xA; **&#xA; String name() default &quot;&quot;;&#xA; &#xA; /**&#xA; * (Optional) The query parameter name.&#xA; **&#xA; String queryParameter();&#xA; &#xA; /**&#xA; * (Optional) Define if the parameter is required, or optional and defaulted by the procedure.&#xA; **&#xA; boolean optional() default false;&#xA; &#xA; /**&#xA; * (Optional) The database data-type for the paramter.&#xA; * This either one of the type constants defined in OraclePLSQLTypes, or JDBCTypes,&#xA; * or a custom record or table type name.&#xA; * @see PLSQLRecord&#xA; * @see OraclePLSQLTypes&#xA; * @see JDBCTypes&#xA; **&#xA; String databaseType() default &quot;VARCHAR&quot;;&#xA; &#xA; /**&#xA; * (Optional) The max length of the field value.&#xA; **&#xA; int length() default 255;&#xA; &#xA; /**&#xA; * (Optional) If a numeric, the max scale value.&#xA; **&#xA; int scale() default 0;&#xA; &#xA; /**&#xA; * (Optional) If a numeric, the max precision value.&#xA; **&#xA; int precision() default 0;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A PLSQLParameter annotation is used within a&#xA;&#x9;&#x9;&#x9;&#x9;* NamedPLSQLStoredProcedureQuery or PLSQLRecord annotation.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see NamedPLSQLStoredProcedureQuery&#xA;&#x9;&#x9;&#x9;&#x9;* @see PLSQLRecord&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.3&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface PLSQLParameter {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The direction of the stored procedure parameter.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Direction direction() default IN;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Stored procedure parameter name.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The query parameter name.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String queryParameter();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Define if the parameter is required, or optional and&#xA;&#x9;&#x9;&#x9;&#x9;defaulted by the procedure.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean optional() default false;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The database data-type for the paramter.&#xA;&#x9;&#x9;&#x9;&#x9;* This either one of the type constants defined in OraclePLSQLTypes,&#xA;&#x9;&#x9;&#x9;&#x9;or JDBCTypes,&#xA;&#x9;&#x9;&#x9;&#x9;* or a custom record or table type name.&#xA;&#x9;&#x9;&#x9;&#x9;* @see PLSQLRecord&#xA;&#x9;&#x9;&#x9;&#x9;* @see OraclePLSQLTypes&#xA;&#x9;&#x9;&#x9;&#x9;* @see JDBCTypes&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String databaseType() default &quot;VARCHAR&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The max length of the field value.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;int length() default 255;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) If a numeric, the max scale value.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;int scale() default 0;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) If a numeric, the max precision value.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;int precision() default 0;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="plsql-parameter"/>
@@ -6362,7 +6365,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PlsqlRecord">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * A PLSQLRecord annotation is used to define a database PLSQL RECORD type.&#xA; * This type can be used within PLSQL procedure calls.&#xA; * &#xA; * @see NamedPLSQLStoredProcedureQuery&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.3&#xA; **&#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface PLSQLRecord {&#xA; &#xA; /**&#xA; * (Required) The name of the record type in the database.&#xA; **&#xA; String name();&#xA; &#xA; /**&#xA; * (Required) The name of the database OBJECT TYPE that mirrors the record's structure.&#xA; * The record will be converted to/from this type so it can be passed through JDBC.&#xA; **&#xA; String compatibleType();&#xA; &#xA; /**&#xA; * (Optional) The Java class to map the object-type to.&#xA; * This class must be mapped using a @Struct annotation.&#xA; **&#xA; Class javaType() default void.class;&#xA; &#xA; /**&#xA; * (Required) Defines the fields in the record type.&#xA; **&#xA; PLSQLParameter[] fields();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A PLSQLRecord annotation is used to define a database PLSQL RECORD&#xA;&#x9;&#x9;&#x9;&#x9;type.&#xA;&#x9;&#x9;&#x9;&#x9;* This type can be used within PLSQL procedure calls.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see NamedPLSQLStoredProcedureQuery&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.3&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface PLSQLRecord {&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The name of the record type in the database.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The name of the database OBJECT TYPE that mirrors the&#xA;&#x9;&#x9;&#x9;&#x9;record's structure.&#xA;&#x9;&#x9;&#x9;&#x9;* The record will be converted to/from this type so it can be passed&#xA;&#x9;&#x9;&#x9;&#x9;through JDBC.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String compatibleType();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The Java class to map the object-type to.&#xA;&#x9;&#x9;&#x9;&#x9;* This class must be mapped using a @Struct annotation.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class javaType() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Defines the fields in the record type.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;PLSQLParameter[] fields();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="plsql-record"/>
@@ -6397,7 +6400,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PlsqlTable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * A PLSQLRecord annotation is used to define a database PLSQL RECORD type.&#xA; * This type can be used within PLSQL procedure calls.&#xA; * &#xA; * @see NamedPLSQLStoredProcedureQuery&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.3&#xA; **&#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface PLSQLRecord {&#xA; &#xA; /**&#xA; * (Required) The name of the record type in the database.&#xA; **&#xA; String name();&#xA; &#xA; /**&#xA; * (Required) The name of the database OBJECT TYPE that mirrors the record's structure.&#xA; * The record will be converted to/from this type so it can be passed through JDBC.&#xA; **&#xA; String compatibleType();&#xA; &#xA; /**&#xA; * (Optional) The Java class to map the object-type to.&#xA; * This class must be mapped using a @Struct annotation.&#xA; **&#xA; Class javaType() default void.class;&#xA; &#xA; /**&#xA; * (Required) Defines the fields in the record type.&#xA; **&#xA; PLSQLParameter[] fields();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A PLSQLRecord annotation is used to define a database PLSQL RECORD&#xA;&#x9;&#x9;&#x9;&#x9;type.&#xA;&#x9;&#x9;&#x9;&#x9;* This type can be used within PLSQL procedure calls.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see NamedPLSQLStoredProcedureQuery&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.3&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface PLSQLRecord {&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The name of the record type in the database.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The name of the database OBJECT TYPE that mirrors the&#xA;&#x9;&#x9;&#x9;&#x9;record's structure.&#xA;&#x9;&#x9;&#x9;&#x9;* The record will be converted to/from this type so it can be passed&#xA;&#x9;&#x9;&#x9;&#x9;through JDBC.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String compatibleType();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The Java class to map the object-type to.&#xA;&#x9;&#x9;&#x9;&#x9;* This class must be mapped using a @Struct annotation.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class javaType() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Defines the fields in the record type.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;PLSQLParameter[] fields();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="plsql-table"/>
@@ -6430,7 +6433,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PostLoad">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD}) @Retention(RUNTIME)&#xA; public @interface PostLoad {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface PostLoad {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="post-load"/>
@@ -6453,7 +6456,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PostPersist">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD}) @Retention(RUNTIME)&#xA; public @interface PostPersist {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface PostPersist {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="post-persist"/>
@@ -6476,7 +6479,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PostRemove">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD}) @Retention(RUNTIME)&#xA; public @interface PostRemove {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface PostRemove {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="post-remove"/>
@@ -6499,7 +6502,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PostUpdate">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD}) @Retention(RUNTIME)&#xA; public @interface PostUpdate {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface PostUpdate {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="post-update"/>
@@ -6522,7 +6525,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PrePersist">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD}) @Retention(RUNTIME)&#xA; public @interface PrePersist {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface PrePersist {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="pre-persist"/>
@@ -6545,7 +6548,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PreRemove">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD}) @Retention(RUNTIME)&#xA; public @interface PreRemove {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface PreRemove {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="pre-remove"/>
@@ -6568,7 +6571,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PreUpdate">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD}) @Retention(RUNTIME)&#xA; public @interface PreUpdate {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface PreUpdate {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="pre-update"/>
@@ -6591,7 +6594,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PrimaryKey">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /**&#xA; * The PrimaryKey annotation allows advanced configuration of the Id.&#xA; * A validation policy can be given that allows specifying if zero is a valid id value.&#xA; * The set of primary key columns can also be specified precisely.&#xA; * &#xA; * @author James Sutherland&#xA; * @since EclipseLink 1.1&#xA; **&#xA; @Target({TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface PrimaryKey {&#xA; /**&#xA; * (Optional) Configures what id validation is done.&#xA; * By default 0 is not a valid id value, this can be used to allow 0 id values.&#xA; **&#xA; IdValidation validation() default IdValidation.ZERO; &#xA;&#xA; /**&#xA; * (Optional) Configures what cache key type is used to store the object in the cache.&#xA; * By default the type is determined by what type is optimal for the class.&#xA; **&#xA; CacheKeyType cacheKeyType() default CacheKeyType.AUTO;&#xA; &#xA; /**&#xA; * (Optional) Used to specify the primary key columns directly.&#xA; * This can be used instead of @Id if the primary key includes a non basic field,&#xA; * such as a foreign key, or a inheritance discriminator, embedded, or transformation mapped field.&#xA; **&#xA; Column[] columns() default {};&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The PrimaryKey annotation allows advanced configuration of the Id.&#xA;&#x9;&#x9;&#x9;&#x9;* A validation policy can be given that allows specifying if zero is&#xA;&#x9;&#x9;&#x9;&#x9;a valid id value.&#xA;&#x9;&#x9;&#x9;&#x9;* The set of primary key columns can also be specified precisely.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 1.1&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface PrimaryKey {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Configures what id validation is done.&#xA;&#x9;&#x9;&#x9;&#x9;* By default 0 is not a valid id value, this can be used to allow 0&#xA;&#x9;&#x9;&#x9;&#x9;id values.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;IdValidation validation() default IdValidation.ZERO;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Configures what cache key type is used to store the&#xA;&#x9;&#x9;&#x9;&#x9;object in the cache.&#xA;&#x9;&#x9;&#x9;&#x9;* By default the type is determined by what type is optimal for the&#xA;&#x9;&#x9;&#x9;&#x9;class.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;CacheKeyType cacheKeyType() default CacheKeyType.AUTO;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Used to specify the primary key columns directly.&#xA;&#x9;&#x9;&#x9;&#x9;* This can be used instead of @Id if the primary key includes a non&#xA;&#x9;&#x9;&#x9;&#x9;basic field,&#xA;&#x9;&#x9;&#x9;&#x9;* such as a foreign key, or a inheritance discriminator, embedded, or&#xA;&#x9;&#x9;&#x9;&#x9;transformation mapped field.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Column[] columns() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="primary-key"/>
@@ -6622,7 +6625,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PrimaryKeyJoinColumn">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface PrimaryKeyJoinColumn {&#xA; String name() default &quot;&quot;;&#xA; String referencedColumnName() default &quot;&quot;;&#xA; String columnDefinition() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface PrimaryKeyJoinColumn {&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String referencedColumnName() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String columnDefinition() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="primary-key-join-column"/>
@@ -6649,7 +6652,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Property">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; A user defined mapping's property.&#xA; @Target({METHOD, FIELD, TYPE})&#xA; @Retention(RUNTIME)&#xA; public @interface Property {&#xA; /**&#xA; * Property name.&#xA; ** &#xA; String name();&#xA;&#xA; /**&#xA; * String representation of Property value,&#xA; * converted to an instance of valueType.&#xA; ** &#xA; String value();&#xA;&#xA; /**&#xA; * Property value type.&#xA; * The value converted to valueType by ConversionManager.&#xA; * If specified must be a simple type that could be handled by &#xA; * ConversionManager: &#xA; * numerical, boolean, temporal. &#xA; ** &#xA; Class valueType() default String.class;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;A user defined mapping's property.&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD, TYPE})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Property {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Property name.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* String representation of Property value,&#xA;&#x9;&#x9;&#x9;&#x9;* converted to an instance of valueType.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String value();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Property value type.&#xA;&#x9;&#x9;&#x9;&#x9;* The value converted to valueType by ConversionManager.&#xA;&#x9;&#x9;&#x9;&#x9;* If specified must be a simple type that could be handled by&#xA;&#x9;&#x9;&#x9;&#x9;* ConversionManager:&#xA;&#x9;&#x9;&#x9;&#x9;* numerical, boolean, temporal.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class valueType() default String.class;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="property"/>
@@ -6676,7 +6679,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="QueryHint">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({}) @Retention(RUNTIME) &#xA; public @interface QueryHint {&#xA; String name();&#xA; String value();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface QueryHint {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#x9;&#x9;&#x9;&#x9;String value();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="query-hint"/>
@@ -6704,7 +6707,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="QueryRedirectors">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE}) @Retention(RUNTIME)&#xA; public @interface QueryRedirectors {&#xA; &#xA; /**&#xA; * This AllQueries Query Redirector will be applied to any executing object query&#xA; * that does not have a more precise redirector (like the &#xA; * ReadObjectQuery Redirector) or a redirector set directly on the query.&#xA; * Query redirectors allow the user to intercept query execution preventing&#xA; * it or alternately performing some side effect like auditing.&#xA; * &#xA; **&#xA; Class allQueries() default void.class;&#xA; &#xA; /**&#xA; * A Default ReadAll Query Redirector will be applied to any executing&#xA; * ReadAllQuery that does not have a redirector set directly on the query.&#xA; * Query redirectors allow the user to intercept query execution preventing&#xA; * it or alternately performing some side effect like auditing.&#xA; * For users executing a JPA Query through the getResultList() API this is the redirector that will be invoked&#xA; **&#xA; Class readAll() default void.class;&#xA; &#xA; /**&#xA; * A Default ReadObject Query Redirector will be applied to any executing&#xA; * ReadObjectQuery that does not have a redirector set directly on the query.&#xA; * Query redirectors allow the user to intercept query execution preventing&#xA; * it or alternately performing some side effect like auditing.&#xA; * For users executing a JPA Query through the getSingleResult() API or EntityManager.find() this is the redirector that will be invoked&#xA; **&#xA; Class readObject() default void.class;&#xA; &#xA; /**&#xA; * A Default ReportQuery Redirector will be applied to any executing&#xA; * ReportQuery that does not have a redirector set directly on the query.&#xA; * Query redirectors allow the user to intercept query execution preventing&#xA; * it or alternately performing some side effect like auditing.&#xA; * For users executing a JPA Query that contains agregate functions or selects multiple entities this is the redirector that will be invoked&#xA; **&#xA; Class report() default void.class;&#xA; &#xA; /**&#xA; * A Default Update Query Redirector will be applied to any executing&#xA; * UpdateObjectQuery or UpdateAllQuery that does not have a redirector set directly on the query.&#xA; * In EclipseLink an UpdateObjectQuery is executed whenever flushing changes to the datasource.&#xA; * Query redirectors allow the user to intercept query execution preventing&#xA; * it or alternately performing some side effect like auditing.&#xA; ** &#xA; Class update() default void.class;&#xA; &#xA; /**&#xA; * A Default Insert Query Redirector will be applied to any executing&#xA; * InsertObjectQuery that does not have a redirector set directly on the query.&#xA; * In EclipseLink an InsertObjectQuery is executed when persisting an object to the datasource.&#xA; * Query redirectors allow the user to intercept query execution preventing&#xA; * it or alternately performing some side effect like auditing.&#xA; **&#xA; Class insert() default void.class;&#xA; &#xA; /**&#xA; * A Default Delete Object Query Redirector will be applied to any executing&#xA; * DeleteObjectQuery or DeleteAllQuery that does not have a redirector set directly on the query.&#xA; * Query redirectors allow the user to intercept query execution preventing&#xA; * it or alternately performing some side effect like auditing.&#xA; **&#xA; Class delete() default void.class;&#xA; }&#xA; &#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface QueryRedirectors {&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* This AllQueries Query Redirector will be applied to any executing&#xA;&#x9;&#x9;&#x9;&#x9;object query&#xA;&#x9;&#x9;&#x9;&#x9;* that does not have a more precise redirector (like the&#xA;&#x9;&#x9;&#x9;&#x9;* ReadObjectQuery Redirector) or a redirector set directly on the&#xA;&#x9;&#x9;&#x9;&#x9;query.&#xA;&#x9;&#x9;&#x9;&#x9;* Query redirectors allow the user to intercept query execution&#xA;&#x9;&#x9;&#x9;&#x9;preventing&#xA;&#x9;&#x9;&#x9;&#x9;* it or alternately performing some side effect like auditing.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class allQueries() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A Default ReadAll Query Redirector will be applied to any executing&#xA;&#x9;&#x9;&#x9;&#x9;* ReadAllQuery that does not have a redirector set directly on the&#xA;&#x9;&#x9;&#x9;&#x9;query.&#xA;&#x9;&#x9;&#x9;&#x9;* Query redirectors allow the user to intercept query execution&#xA;&#x9;&#x9;&#x9;&#x9;preventing&#xA;&#x9;&#x9;&#x9;&#x9;* it or alternately performing some side effect like auditing.&#xA;&#x9;&#x9;&#x9;&#x9;* For users executing a JPA Query through the getResultList() API&#xA;&#x9;&#x9;&#x9;&#x9;this is the redirector that will be invoked&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class readAll() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A Default ReadObject Query Redirector will be applied to any&#xA;&#x9;&#x9;&#x9;&#x9;executing&#xA;&#x9;&#x9;&#x9;&#x9;* ReadObjectQuery that does not have a redirector set directly on the&#xA;&#x9;&#x9;&#x9;&#x9;query.&#xA;&#x9;&#x9;&#x9;&#x9;* Query redirectors allow the user to intercept query execution&#xA;&#x9;&#x9;&#x9;&#x9;preventing&#xA;&#x9;&#x9;&#x9;&#x9;* it or alternately performing some side effect like auditing.&#xA;&#x9;&#x9;&#x9;&#x9;* For users executing a JPA Query through the getSingleResult() API&#xA;&#x9;&#x9;&#x9;&#x9;or EntityManager.find() this is the redirector that will be invoked&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class readObject() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A Default ReportQuery Redirector will be applied to any executing&#xA;&#x9;&#x9;&#x9;&#x9;* ReportQuery that does not have a redirector set directly on the&#xA;&#x9;&#x9;&#x9;&#x9;query.&#xA;&#x9;&#x9;&#x9;&#x9;* Query redirectors allow the user to intercept query execution&#xA;&#x9;&#x9;&#x9;&#x9;preventing&#xA;&#x9;&#x9;&#x9;&#x9;* it or alternately performing some side effect like auditing.&#xA;&#x9;&#x9;&#x9;&#x9;* For users executing a JPA Query that contains agregate functions or&#xA;&#x9;&#x9;&#x9;&#x9;selects multiple entities this is the redirector that will be&#xA;&#x9;&#x9;&#x9;&#x9;invoked&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class report() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A Default Update Query Redirector will be applied to any executing&#xA;&#x9;&#x9;&#x9;&#x9;* UpdateObjectQuery or UpdateAllQuery that does not have a&#xA;&#x9;&#x9;&#x9;&#x9;redirector set directly on the query.&#xA;&#x9;&#x9;&#x9;&#x9;* In EclipseLink an UpdateObjectQuery is executed whenever flushing&#xA;&#x9;&#x9;&#x9;&#x9;changes to the datasource.&#xA;&#x9;&#x9;&#x9;&#x9;* Query redirectors allow the user to intercept query execution&#xA;&#x9;&#x9;&#x9;&#x9;preventing&#xA;&#x9;&#x9;&#x9;&#x9;* it or alternately performing some side effect like auditing.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class update() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A Default Insert Query Redirector will be applied to any executing&#xA;&#x9;&#x9;&#x9;&#x9;* InsertObjectQuery that does not have a redirector set directly on&#xA;&#x9;&#x9;&#x9;&#x9;the query.&#xA;&#x9;&#x9;&#x9;&#x9;* In EclipseLink an InsertObjectQuery is executed when persisting an&#xA;&#x9;&#x9;&#x9;&#x9;object to the datasource.&#xA;&#x9;&#x9;&#x9;&#x9;* Query redirectors allow the user to intercept query execution&#xA;&#x9;&#x9;&#x9;&#x9;preventing&#xA;&#x9;&#x9;&#x9;&#x9;* it or alternately performing some side effect like auditing.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class insert() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A Default Delete Object Query Redirector will be applied to any&#xA;&#x9;&#x9;&#x9;&#x9;executing&#xA;&#x9;&#x9;&#x9;&#x9;* DeleteObjectQuery or DeleteAllQuery that does not have a redirector&#xA;&#x9;&#x9;&#x9;&#x9;set directly on the query.&#xA;&#x9;&#x9;&#x9;&#x9;* Query redirectors allow the user to intercept query execution&#xA;&#x9;&#x9;&#x9;&#x9;preventing&#xA;&#x9;&#x9;&#x9;&#x9;* it or alternately performing some side effect like auditing.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class delete() default void.class;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="query-redirectors"/>
@@ -6755,7 +6758,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RangePartition">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; /** &#xA; * Represent a specific range partition.&#xA; * Values = startValue and = endValue will be routed to the connection pool.&#xA; * &#xA; * @see RangePartitioningPolicy&#xA; * @see org.eclipse.persistence.descriptors.partitioning.RangePartitioningPolicy&#xA; * @see org.eclipse.persistence.descriptors.partitioning.RangePartition&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.2&#xA; ** &#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface RangePartition {&#xA; /** The String representation of the range start value. **&#xA; String startValue() default &quot;&quot;;&#xA; /** The String representation of the range start value. **&#xA; String endValue() default &quot;&quot;;&#xA; /** The connection pool to route queries to for this range. **&#xA; String connectionPool();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Represent a specific range partition.&#xA;&#x9;&#x9;&#x9;&#x9;* Values = startValue and = endValue will be routed to the connection&#xA;&#x9;&#x9;&#x9;&#x9;pool.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see RangePartitioningPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.partitioning.RangePartitioningPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.partitioning.RangePartition&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.2&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface RangePartition {&#xA;&#x9;&#x9;&#x9;&#x9;/** The String representation of the range start value. **&#xA;&#x9;&#x9;&#x9;&#x9;String startValue() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;/** The String representation of the range start value. **&#xA;&#x9;&#x9;&#x9;&#x9;String endValue() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;/** The connection pool to route queries to for this range. **&#xA;&#x9;&#x9;&#x9;&#x9;String connectionPool();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="range-partition"/>
@@ -6783,7 +6786,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RangePartitioning">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; /** &#xA; * RangePartitioningPolicy partitions access to a database cluster by a field value from the object,&#xA; * such as the object's id, location, or tenant.&#xA; * Each server is assigned a range of values.&#xA; * All write or read request for object's with that value are sent to the server.&#xA; * If a query does not include the field as a parameter, then it can either be sent&#xA; * to all server's and unioned, or left to the sesion's default behavior.&#xA; * &#xA; * If multiple partitions are used to process a single transaction, JTA should be used for proper XA transaction support.&#xA; * &#xA; * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.&#xA; * Partition policies are globally named to allow reuse,&#xA; * the partitioning policy must also be set using the @Partitioned annotation to be used.&#xA; * &#xA; * @see Partitioned&#xA; * @see org.eclipse.persistence.descriptors.partitioning.RangePartitioningPolicy&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.2&#xA; ** &#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface RangePartitioning {&#xA; String name();&#xA; &#xA; /**&#xA; * The database column or query parameter to partition queries by.&#xA; * This is the table column name, not the class attribute name.&#xA; * The column value must be included in the query and should normally be part of the object's Id.&#xA; * This can also be the name of a query parameter.&#xA; * If a query does not contain the field the query will not be partitioned.&#xA; **&#xA; Column partitionColumn();&#xA; &#xA; /**&#xA; * (Required) List of connection pool names to load balance across.&#xA; **&#xA; RangePartition[] partitions();&#xA; &#xA; /**&#xA; * Defines if queries that do not contain the partition field should be sent&#xA; * to every database and have the result unioned.&#xA; **&#xA; boolean unionUnpartitionableQueries() default false;&#xA; &#xA; /** The type of the start and end values. **&#xA; Class partitionValueType() default String.class;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* RangePartitioningPolicy partitions access to a database cluster by&#xA;&#x9;&#x9;&#x9;&#x9;a field value from the object,&#xA;&#x9;&#x9;&#x9;&#x9;* such as the object's id, location, or tenant.&#xA;&#x9;&#x9;&#x9;&#x9;* Each server is assigned a range of values.&#xA;&#x9;&#x9;&#x9;&#x9;* All write or read request for object's with that value are sent to&#xA;&#x9;&#x9;&#x9;&#x9;the server.&#xA;&#x9;&#x9;&#x9;&#x9;* If a query does not include the field as a parameter, then it can&#xA;&#x9;&#x9;&#x9;&#x9;either be sent&#xA;&#x9;&#x9;&#x9;&#x9;* to all server's and unioned, or left to the sesion's default&#xA;&#x9;&#x9;&#x9;&#x9;behavior.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* If multiple partitions are used to process a single transaction,&#xA;&#x9;&#x9;&#x9;&#x9;JTA should be used for proper XA transaction support.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Partitioning can be enabled on an Entity, relationship, query, or&#xA;&#x9;&#x9;&#x9;&#x9;session/persistence unit.&#xA;&#x9;&#x9;&#x9;&#x9;* Partition policies are globally named to allow reuse,&#xA;&#x9;&#x9;&#x9;&#x9;* the partitioning policy must also be set using the @Partitioned&#xA;&#x9;&#x9;&#x9;&#x9;annotation to be used.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see Partitioned&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.partitioning.RangePartitioningPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.2&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface RangePartitioning {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The database column or query parameter to partition queries by.&#xA;&#x9;&#x9;&#x9;&#x9;* This is the table column name, not the class attribute name.&#xA;&#x9;&#x9;&#x9;&#x9;* The column value must be included in the query and should normally&#xA;&#x9;&#x9;&#x9;&#x9;be part of the object's Id.&#xA;&#x9;&#x9;&#x9;&#x9;* This can also be the name of a query parameter.&#xA;&#x9;&#x9;&#x9;&#x9;* If a query does not contain the field the query will not be&#xA;&#x9;&#x9;&#x9;&#x9;partitioned.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Column partitionColumn();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) List of connection pool names to load balance across.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;RangePartition[] partitions();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Defines if queries that do not contain the partition field should&#xA;&#x9;&#x9;&#x9;&#x9;be sent&#xA;&#x9;&#x9;&#x9;&#x9;* to every database and have the result unioned.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean unionUnpartitionableQueries() default false;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/** The type of the start and end values. **&#xA;&#x9;&#x9;&#x9;&#x9;Class partitionValueType() default String.class;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="range-partitioning"/>
@@ -6828,7 +6831,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReadTransformer">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /**&#xA; * Annotation for org.eclipse.persistence.mappings.TransformationMapping.&#xA; * Unless the TransformationMapping is write-only, it should have a &#xA; * ReadTransformer, it defines transformation of database column(s) &#xA; * value(s)into attribute value.&#xA; *&#xA; * Also unless it's a read-only mapping, either WriteTransformer &#xA; * annotation or WriteTransformers annotation should be specified. Each &#xA; * WriteTransformer defines transformation of the attribute value to a &#xA; * single database column value (column is specified in the &#xA; * WriteTransformer).&#xA; **&#xA; @Target({METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface ReadTransformer {&#xA; /**&#xA; * User-defined class that must implement the &#xA; * org.eclipse.persistence.mappings.transformers.AttributeTransformer &#xA; * interface. The class will be instantiated, its &#xA; * buildAttributeValue will be used to create the value to be &#xA; * assigned to the attribute.&#xA; * Either transformerClass or method must be specified, but not both.&#xA; ** &#xA; Class transformerClass() default void.class;&#xA;&#xA; /**&#xA; * The mapped class must have a method with this name which returns &#xA; * a value to be assigned to the attribute (not assigns the value to &#xA; * the attribute). Either transformerClass or method must be &#xA; * specified, but not both.&#xA; ** &#xA; String method() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Annotation for&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.mappings.TransformationMapping.&#xA;&#x9;&#x9;&#x9;&#x9;* Unless the TransformationMapping is write-only, it should have a&#xA;&#x9;&#x9;&#x9;&#x9;* ReadTransformer, it defines transformation of database column(s)&#xA;&#x9;&#x9;&#x9;&#x9;* value(s)into attribute value.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Also unless it's a read-only mapping, either WriteTransformer&#xA;&#x9;&#x9;&#x9;&#x9;* annotation or WriteTransformers annotation should be specified.&#xA;&#x9;&#x9;&#x9;&#x9;Each&#xA;&#x9;&#x9;&#x9;&#x9;* WriteTransformer defines transformation of the attribute value to a&#xA;&#x9;&#x9;&#x9;&#x9;* single database column value (column is specified in the&#xA;&#x9;&#x9;&#x9;&#x9;* WriteTransformer).&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ReadTransformer {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* User-defined class that must implement the&#xA;&#x9;&#x9;&#x9;&#x9;* org.eclipse.persistence.mappings.transformers.AttributeTransformer&#xA;&#x9;&#x9;&#x9;&#x9;* interface. The class will be instantiated, its&#xA;&#x9;&#x9;&#x9;&#x9;* buildAttributeValue will be used to create the value to be&#xA;&#x9;&#x9;&#x9;&#x9;* assigned to the attribute.&#xA;&#x9;&#x9;&#x9;&#x9;* Either transformerClass or method must be specified, but not both.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class transformerClass() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The mapped class must have a method with this name which returns&#xA;&#x9;&#x9;&#x9;&#x9;* a value to be assigned to the attribute (not assigns the value to&#xA;&#x9;&#x9;&#x9;&#x9;* the attribute). Either transformerClass or method must be&#xA;&#x9;&#x9;&#x9;&#x9;* specified, but not both.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String method() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="read-transformer"/>
@@ -6849,7 +6852,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReplicationPartitioning">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; /** &#xA; * ReplicationPartitioning sends requests to a set of connection pools.&#xA; * It is for replicating data across a cluster of database machines.&#xA; * Only modification queries are replicated.&#xA; * &#xA; * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.&#xA; * &#xA; * @see org.eclipse.persistence.descriptors.partitioning.ReplicationPolicy&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.2&#xA; ** &#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface ReplicationPartitioning {&#xA; String name();&#xA; &#xA; /**&#xA; * (Required) List of connection pool names to load balance across.&#xA; **&#xA; String[] connectionPools();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* ReplicationPartitioning sends requests to a set of connection&#xA;&#x9;&#x9;&#x9;&#x9;pools.&#xA;&#x9;&#x9;&#x9;&#x9;* It is for replicating data across a cluster of database machines.&#xA;&#x9;&#x9;&#x9;&#x9;* Only modification queries are replicated.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Partitioning can be enabled on an Entity, relationship, query, or&#xA;&#x9;&#x9;&#x9;&#x9;session/persistence unit.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.partitioning.ReplicationPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.2&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ReplicationPartitioning {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) List of connection pool names to load balance across.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String[] connectionPools();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="replication-partitioning"/>
@@ -6872,7 +6875,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReturnInsert">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; @Target({METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface ReturnInsert {&#xA; /**&#xA; * A ReturnInsert annotation allows for INSERT operations to return &#xA; * values back into the object being written. This allows for table &#xA; * default values, trigger or stored procedures computed values to &#xA; * be set back into the object.&#xA; **&#xA; boolean returnOnly() default false;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ReturnInsert {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A ReturnInsert annotation allows for INSERT operations to return&#xA;&#x9;&#x9;&#x9;&#x9;* values back into the object being written. This allows for table&#xA;&#x9;&#x9;&#x9;&#x9;* default values, trigger or stored procedures computed values to&#xA;&#x9;&#x9;&#x9;&#x9;* be set back into the object.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean returnOnly() default false;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="return-insert"/>
@@ -6888,7 +6891,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RoundRobinPartitioning">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; /** &#xA; * RoundRobinPartitioning sends requests in a round robin fashion to the set of connection pools.&#xA; * It is for load-balancing read queries across a cluster of database machines.&#xA; * It requires that the full database be replicated on each machine, so does not support partitioning.&#xA; * The data should either be read-only, or writes should be replicated on the database.&#xA; * &#xA; * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.&#xA; * &#xA; * @see org.eclipse.persistence.descriptors.partitioning.RoundRobinPolicy&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.2&#xA; ** &#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface RoundRobinPartitioning {&#xA; String name();&#xA; &#xA; /**&#xA; * (Required) List of connection pool names to load balance across.&#xA; **&#xA; String[] connectionPools();&#xA; &#xA; /**&#xA; * This allows for a set of database to be written to and kept in synch,&#xA; * and have reads load-balanced across the databases.&#xA; **&#xA; boolean replicateWrites() default false;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* RoundRobinPartitioning sends requests in a round robin fashion to&#xA;&#x9;&#x9;&#x9;&#x9;the set of connection pools.&#xA;&#x9;&#x9;&#x9;&#x9;* It is for load-balancing read queries across a cluster of database&#xA;&#x9;&#x9;&#x9;&#x9;machines.&#xA;&#x9;&#x9;&#x9;&#x9;* It requires that the full database be replicated on each machine,&#xA;&#x9;&#x9;&#x9;&#x9;so does not support partitioning.&#xA;&#x9;&#x9;&#x9;&#x9;* The data should either be read-only, or writes should be replicated&#xA;&#x9;&#x9;&#x9;&#x9;on the database.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Partitioning can be enabled on an Entity, relationship, query, or&#xA;&#x9;&#x9;&#x9;&#x9;session/persistence unit.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.partitioning.RoundRobinPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.2&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface RoundRobinPartitioning {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) List of connection pool names to load balance across.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String[] connectionPools();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* This allows for a set of database to be written to and kept in&#xA;&#x9;&#x9;&#x9;&#x9;synch,&#xA;&#x9;&#x9;&#x9;&#x9;* and have reads load-balanced across the databases.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean replicateWrites() default false;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="round-robin-partitioning"/>
@@ -6918,7 +6921,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SecondaryTable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE}) @Retention(RUNTIME)&#xA; public @interface SecondaryTable {&#xA; String name();&#xA; String catalog() default &quot;&quot;;&#xA; String schema() default &quot;&quot;;&#xA; PrimaryKeyJoinColumn[] pkJoinColumns() default {};&#xA; UniqueConstraint[] uniqueConstraints() default {};&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface SecondaryTable {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#x9;&#x9;&#x9;&#x9;String catalog() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String schema() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;PrimaryKeyJoinColumn[] pkJoinColumns() default {};&#xA;&#x9;&#x9;&#x9;&#x9;UniqueConstraint[] uniqueConstraints() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="secondary-table"/>
@@ -6946,7 +6949,8 @@
<details key="name" value="catalog"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+ unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="creation-suffix"/>
@@ -6967,7 +6971,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SequenceGenerator">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface SequenceGenerator {&#xA; String name();&#xA; String sequenceName() default &quot;&quot;;&#xA; String catalog() default &quot;&quot;;&#xA; String schema() default &quot;&quot;;&#xA; int initialValue() default 1;&#xA; int allocationSize() default 50;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface SequenceGenerator {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#x9;&#x9;&#x9;&#x9;String sequenceName() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String catalog() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String schema() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;int initialValue() default 1;&#xA;&#x9;&#x9;&#x9;&#x9;int allocationSize() default 50;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="sequence-generator"/>
@@ -7021,7 +7025,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SqlResultSetMapping">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE}) @Retention(RUNTIME)&#xA; public @interface SqlResultSetMapping {&#xA; String name();&#xA; EntityResult[] entities() default {};&#xA; ColumnResult[] columns() default {};&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface SqlResultSetMapping {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#x9;&#x9;&#x9;&#x9;EntityResult[] entities() default {};&#xA;&#x9;&#x9;&#x9;&#x9;ColumnResult[] columns() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="sql-result-set-mapping"/>
@@ -7059,7 +7063,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StoredProcedureParameter">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * A StoredProcedureParameter annotation is used within a &#xA; * NamedStoredProcedureQuery annotation. &#xA; ** &#xA; @Target({})&#xA; @Retention(RUNTIME)&#xA; public @interface StoredProcedureParameter {&#xA; /**&#xA; * (Optional) The direction of the stored procedure parameter.&#xA; **&#xA; Direction direction() default IN;&#xA;&#xA; /**&#xA; * (Optional) Stored procedure parameter name.&#xA; **&#xA; String name() default &quot;&quot;;&#xA;&#xA; /**&#xA; * (Required) The query parameter name.&#xA; **&#xA; String queryParameter();&#xA; &#xA; /**&#xA; * (Optional) Define if the parameter is required, or optional and defaulted by the procedure.&#xA; **&#xA; boolean optional() default false;&#xA;&#xA; /**&#xA; * (Optional) The type of Java class desired back from the procedure, &#xA; * this is dependent on the type returned from the procedure.&#xA; **&#xA; Class type() default void.class;&#xA;&#xA; /**&#xA; * (Optional) The JDBC type code, this dependent on the type returned &#xA; * from the procedure.&#xA; **&#xA; int jdbcType() default -1;&#xA;&#xA; /**&#xA; * (Optional) The JDBC type name, this may be required for ARRAY or &#xA; * STRUCT types.&#xA; **&#xA; String jdbcTypeName() default &quot;&quot;;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* A StoredProcedureParameter annotation is used within a&#xA;&#x9;&#x9;&#x9;&#x9;* NamedStoredProcedureQuery annotation.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface StoredProcedureParameter {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The direction of the stored procedure parameter.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Direction direction() default IN;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Stored procedure parameter name.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The query parameter name.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String queryParameter();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Define if the parameter is required, or optional and&#xA;&#x9;&#x9;&#x9;&#x9;defaulted by the procedure.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean optional() default false;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The type of Java class desired back from the procedure,&#xA;&#x9;&#x9;&#x9;&#x9;* this is dependent on the type returned from the procedure.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class type() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The JDBC type code, this dependent on the type returned&#xA;&#x9;&#x9;&#x9;&#x9;* from the procedure.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;int jdbcType() default -1;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The JDBC type name, this may be required for ARRAY or&#xA;&#x9;&#x9;&#x9;&#x9;* STRUCT types.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String jdbcTypeName() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="stored-procedure-parameter"/>
@@ -7113,7 +7117,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Struct">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * Struct types are extended object-relational data-types supported by some databases.&#xA; * Struct types are user define types in the database such as OBJECT types on Oracle.&#xA; * Structs can normally contains Arrays (VARRAY) or other Struct types, and can be stored in&#xA; * a column or a table.&#xA; * This annotation define a class to map to a database Struct type.&#xA; * The class should normally be an Embeddable, but could also be an Entity if stored in a object table.&#xA; * &#xA; * @see org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor&#xA; * @see org.eclipse.persistence.mappings.structures.StructureMapping&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.3&#xA; **&#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface Struct {&#xA; /**&#xA; * (Required) The database name of the database structure type.&#xA; **&#xA; String name();&#xA; &#xA; /**&#xA; * (Optional) Defines the order of the fields contained in the database structure type.&#xA; **&#xA; String[] fields() default {}; &#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Struct types are extended object-relational data-types supported by&#xA;&#x9;&#x9;&#x9;&#x9;some databases.&#xA;&#x9;&#x9;&#x9;&#x9;* Struct types are user define types in the database such as OBJECT&#xA;&#x9;&#x9;&#x9;&#x9;types on Oracle.&#xA;&#x9;&#x9;&#x9;&#x9;* Structs can normally contains Arrays (VARRAY) or other Struct&#xA;&#x9;&#x9;&#x9;&#x9;types, and can be stored in&#xA;&#x9;&#x9;&#x9;&#x9;* a column or a table.&#xA;&#x9;&#x9;&#x9;&#x9;* This annotation define a class to map to a database Struct type.&#xA;&#x9;&#x9;&#x9;&#x9;* The class should normally be an Embeddable, but could also be an&#xA;&#x9;&#x9;&#x9;&#x9;Entity if stored in a object table.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor&#xA;&#x9;&#x9;&#x9;&#x9;* @see org.eclipse.persistence.mappings.structures.StructureMapping&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.3&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Struct {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The database name of the database structure type.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Defines the order of the fields contained in the&#xA;&#x9;&#x9;&#x9;&#x9;database structure type.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String[] fields() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="struct"/>
@@ -7136,7 +7140,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StructConverter">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface StructConverter {&#xA; /**&#xA; * (Required) Name this converter. The name should be unique across &#xA; * the whole persistence unit.&#xA; **&#xA; String name();&#xA;&#xA; /**&#xA; * (Required) The converter class to be used. This class must &#xA; * implement the EclipseLink interface &#xA; * org.eclipse.persistence.mappings.converters.Converter&#xA; **&#xA; String converter(); &#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface StructConverter {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Name this converter. The name should be unique across&#xA;&#x9;&#x9;&#x9;&#x9;* the whole persistence unit.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) The converter class to be used. This class must&#xA;&#x9;&#x9;&#x9;&#x9;* implement the EclipseLink interface&#xA;&#x9;&#x9;&#x9;&#x9;* org.eclipse.persistence.mappings.converters.Converter&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String converter();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="struct-converter"/>
@@ -7158,7 +7162,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Structure">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /** &#xA; * Struct types are extended object-relational data-types supported by some databases.&#xA; * Struct types are user define types in the database such as OBJECT types on Oracle.&#xA; * Structs can normally contains Arrays (VARRAY) or other Struct types, and can be stored in&#xA; * a column or a table.&#xA; * This annotation can be defined on a field/method to define an StructureMapping to an embedded Struct type.&#xA; * The target Embeddable must be mapped using the Struct annotation.&#xA; * &#xA; * @see Struct&#xA; * @see org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor&#xA; * @see org.eclipse.persistence.mappings.structures.StructureMapping&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.3&#xA; **&#xA; @Target({METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface Structure {&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Struct types are extended object-relational data-types supported by&#xA;&#x9;&#x9;&#x9;&#x9;some databases.&#xA;&#x9;&#x9;&#x9;&#x9;* Struct types are user define types in the database such as OBJECT&#xA;&#x9;&#x9;&#x9;&#x9;types on Oracle.&#xA;&#x9;&#x9;&#x9;&#x9;* Structs can normally contains Arrays (VARRAY) or other Struct&#xA;&#x9;&#x9;&#x9;&#x9;types, and can be stored in&#xA;&#x9;&#x9;&#x9;&#x9;* a column or a table.&#xA;&#x9;&#x9;&#x9;&#x9;* This annotation can be defined on a field/method to define an&#xA;&#x9;&#x9;&#x9;&#x9;StructureMapping to an embedded Struct type.&#xA;&#x9;&#x9;&#x9;&#x9;* The target Embeddable must be mapped using the Struct annotation.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see Struct&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor&#xA;&#x9;&#x9;&#x9;&#x9;* @see org.eclipse.persistence.mappings.structures.StructureMapping&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.3&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Structure {&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="structure"/>
@@ -7217,7 +7221,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Table">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE}) @Retention(RUNTIME)&#xA; public @interface Table {&#xA; String name() default &quot;&quot;;&#xA; String catalog() default &quot;&quot;;&#xA; String schema() default &quot;&quot;;&#xA; UniqueConstraint[] uniqueConstraints() default {};&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Table {&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String catalog() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String schema() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;UniqueConstraint[] uniqueConstraints() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="table"/>
@@ -7237,7 +7241,8 @@
<details key="name" value="catalog"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+ unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="creation-suffix"/>
@@ -7258,7 +7263,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TableGenerator">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface TableGenerator {&#xA; String name();&#xA; String table() default &quot;&quot;;&#xA; String catalog() default &quot;&quot;;&#xA; String schema() default &quot;&quot;;&#xA; String pkColumnName() default &quot;&quot;;&#xA; String valueColumnName() default &quot;&quot;;&#xA; String pkColumnValue() default &quot;&quot;;&#xA; int initialValue() default 0;&#xA; int allocationSize() default 50;&#xA; UniqueConstraint[] uniqueConstraints() default {};&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface TableGenerator {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#x9;&#x9;&#x9;&#x9;String table() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String catalog() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String schema() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String pkColumnName() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String valueColumnName() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String pkColumnValue() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;int initialValue() default 0;&#xA;&#x9;&#x9;&#x9;&#x9;int allocationSize() default 50;&#xA;&#x9;&#x9;&#x9;&#x9;UniqueConstraint[] uniqueConstraints() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="table-generator"/>
@@ -7292,7 +7297,8 @@
<details key="name" value="catalog"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+ unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="creation-suffix"/>
@@ -7344,7 +7350,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="Temporal" instanceClassName="org.eclipse.emf.common.util.Enumerator">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface Temporal {&#xA; TemporalType value();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Temporal {&#xA;&#x9;&#x9;&#x9;&#x9;TemporalType value();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="temporal"/>
@@ -7353,7 +7359,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="TemporalType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; public enum TemporalType {&#xA; DATE, // java.sql.Date&#xA; TIME, // java.sql.Time&#xA; TIMESTAMP // java.sql.Timestamp&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;public enum TemporalType {&#xA;&#x9;&#x9;&#x9;&#x9;DATE, // java.sql.Date&#xA;&#x9;&#x9;&#x9;&#x9;TIME, // java.sql.Time&#xA;&#x9;&#x9;&#x9;&#x9;TIMESTAMP // java.sql.Timestamp&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="temporal-type"/>
@@ -7370,7 +7376,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TenantDiscriminator">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({}) &#xA; @Retention(RUNTIME)&#xA; public @interface TenantDiscriminator {&#xA; /**&#xA; * (Optional) The name of column to be used for the discriminator.&#xA; **&#xA; String name() default &quot;eclipselink.tenant-id&quot;;&#xA;&#xA; /**&#xA; * (Optional) The name of the context property to apply to the &#xA; * tenant discriminator column.&#xA; **&#xA; String contextProperty() default &quot;TENANT_ID&quot;;&#xA;&#xA; /**&#xA; * (Optional) The type of object/column to use as a class discriminator.&#xA; * Defaults to {@link DiscriminatorType#STRING DiscriminatorType.STRING}.&#xA; **&#xA; DiscriminatorType discriminatorType() default DiscriminatorType.STRING;&#xA;&#xA; /**&#xA; * (Optional) The SQL fragment that is used when generating the DDL&#xA; * for the discriminator column.&#xA; * Defaults to the provider-generated SQL to create a column&#xA; * of the specified discriminator type.&#xA; **&#xA; String columnDefinition() default &quot;&quot;;&#xA;&#xA; /**&#xA; * (Optional) The column length for String-based discriminator types.&#xA; * Ignored for other discriminator types.&#xA; **&#xA; int length() default 31;&#xA;&#xA; /**&#xA; * (Optional) The name of the table that contains the column.&#xA; * If absent the column is assumed to be in the primary table.&#xA; **&#xA; String table() default &quot;&quot;;&#xA;&#xA; /**&#xA; * Specifies that the tenant discriminator column is part of the primary &#xA; * key of the tables.&#xA; **&#xA; boolean primaryKey() default false; &#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface TenantDiscriminator {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The name of column to be used for the discriminator.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;eclipselink.tenant-id&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The name of the context property to apply to the&#xA;&#x9;&#x9;&#x9;&#x9;* tenant discriminator column.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String contextProperty() default &quot;TENANT_ID&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The type of object/column to use as a class&#xA;&#x9;&#x9;&#x9;&#x9;discriminator.&#xA;&#x9;&#x9;&#x9;&#x9;* Defaults to {@link DiscriminatorType#STRING&#xA;&#x9;&#x9;&#x9;&#x9;DiscriminatorType.STRING}.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;DiscriminatorType discriminatorType() default DiscriminatorType.STRING;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The SQL fragment that is used when generating the DDL&#xA;&#x9;&#x9;&#x9;&#x9;* for the discriminator column.&#xA;&#x9;&#x9;&#x9;&#x9;* Defaults to the provider-generated SQL to create a column&#xA;&#x9;&#x9;&#x9;&#x9;* of the specified discriminator type.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String columnDefinition() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The column length for String-based discriminator types.&#xA;&#x9;&#x9;&#x9;&#x9;* Ignored for other discriminator types.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;int length() default 31;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The name of the table that contains the column.&#xA;&#x9;&#x9;&#x9;&#x9;* If absent the column is assumed to be in the primary table.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String table() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Specifies that the tenant discriminator column is part of the&#xA;&#x9;&#x9;&#x9;&#x9;primary&#xA;&#x9;&#x9;&#x9;&#x9;* key of the tables.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean primaryKey() default false;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tenant-discriminator"/>
@@ -7424,7 +7430,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TimeOfDay">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({})&#xA; @Retention(RUNTIME)&#xA; public @interface TimeOfDay {&#xA; /**&#xA; * (Optional) Hour of the day.&#xA; ** &#xA; int hour() default 0;&#xA;&#xA; /**&#xA; * (Optional) Minute of the day.&#xA; ** &#xA; int minute() default 0;&#xA;&#xA; /**&#xA; * (Optional) Second of the day.&#xA; ** &#xA; int second() default 0;&#xA;&#xA; /**&#xA; * (Optional) Millisecond of the day.&#xA; ** &#xA; int millisecond() default 0;&#xA;&#xA; /**&#xA; * Internal use. Do not modify.&#xA; ** &#xA; boolean specified() default true;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface TimeOfDay {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Hour of the day.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;int hour() default 0;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Minute of the day.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;int minute() default 0;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Second of the day.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;int second() default 0;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Millisecond of the day.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;int millisecond() default 0;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Internal use. Do not modify.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean specified() default true;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="time-of-day"/>
@@ -7457,7 +7463,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Transformation">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /**&#xA; * Transformation is an optional annotation for &#xA; * org.eclipse.persistence.mappings.TransformationMapping.&#xA; * TransformationMapping allows to map an attribute to one or more &#xA; * database columns.&#xA; * &#xA; * Transformation annotation is an optional part of &#xA; * TransformationMapping definition. Unless the TransformationMapping is &#xA; * write-only, it should have a ReadTransformer, it defines &#xA; * transformation of database column(s) value(s)into attribute value.&#xA; * Also unless it's a read-only mapping, either WriteTransformer &#xA; * annotation or WriteTransformers annotation should be specified. Each &#xA; * WriteTransformer defines transformation of the attribute value to a &#xA; * single database column value (column is specified in the &#xA; * WriteTransformer). &#xA; ** &#xA; @Target({METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface Transformation {&#xA; /**&#xA; * (Optional) Defines whether the value of the field or property &#xA; * should be lazily loaded or must be eagerly fetched. The EAGER &#xA; * strategy is a requirement on the persistence provider runtime &#xA; * that the value must be eagerly fetched. The LAZY strategy is a &#xA; * hint to the persistence provider runtime. If not specified, &#xA; * defaults to EAGER.&#xA; **&#xA; FetchType fetch() default EAGER;&#xA;&#xA; /**&#xA; * (Optional) The optional element is a hint as to whether the value&#xA; * of the field or property may be null. It is disregarded&#xA; * for primitive types, which are considered non-optional.&#xA; **&#xA; boolean optional() default true;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Transformation is an optional annotation for&#xA;&#x9;&#x9;&#x9;&#x9;* org.eclipse.persistence.mappings.TransformationMapping.&#xA;&#x9;&#x9;&#x9;&#x9;* TransformationMapping allows to map an attribute to one or more&#xA;&#x9;&#x9;&#x9;&#x9;* database columns.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Transformation annotation is an optional part of&#xA;&#x9;&#x9;&#x9;&#x9;* TransformationMapping definition. Unless the TransformationMapping&#xA;&#x9;&#x9;&#x9;&#x9;is&#xA;&#x9;&#x9;&#x9;&#x9;* write-only, it should have a ReadTransformer, it defines&#xA;&#x9;&#x9;&#x9;&#x9;* transformation of database column(s) value(s)into attribute value.&#xA;&#x9;&#x9;&#x9;&#x9;* Also unless it's a read-only mapping, either WriteTransformer&#xA;&#x9;&#x9;&#x9;&#x9;* annotation or WriteTransformers annotation should be specified.&#xA;&#x9;&#x9;&#x9;&#x9;Each&#xA;&#x9;&#x9;&#x9;&#x9;* WriteTransformer defines transformation of the attribute value to a&#xA;&#x9;&#x9;&#x9;&#x9;* single database column value (column is specified in the&#xA;&#x9;&#x9;&#x9;&#x9;* WriteTransformer).&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Transformation {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Defines whether the value of the field or property&#xA;&#x9;&#x9;&#x9;&#x9;* should be lazily loaded or must be eagerly fetched. The EAGER&#xA;&#x9;&#x9;&#x9;&#x9;* strategy is a requirement on the persistence provider runtime&#xA;&#x9;&#x9;&#x9;&#x9;* that the value must be eagerly fetched. The LAZY strategy is a&#xA;&#x9;&#x9;&#x9;&#x9;* hint to the persistence provider runtime. If not specified,&#xA;&#x9;&#x9;&#x9;&#x9;* defaults to EAGER.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;FetchType fetch() default EAGER;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The optional element is a hint as to whether the value&#xA;&#x9;&#x9;&#x9;&#x9;* of the field or property may be null. It is disregarded&#xA;&#x9;&#x9;&#x9;&#x9;* for primitive types, which are considered non-optional.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean optional() default true;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="transformation"/>
@@ -7538,7 +7544,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Transient">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface Transient {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Transient {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="transient"/>
@@ -7553,7 +7559,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeConverter">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface TypeConverter {&#xA; /**&#xA; * (Required) Name this converter. The name should be unique&#xA; * across the whole persistence unit.&#xA; **&#xA; String name();&#xA;&#xA; /**&#xA; * (Optional) Specify the type stored on the database. The&#xA; * default is inferred from the type of the persistence field &#xA; * or property.&#xA; **&#xA; Class dataType() default void.class;&#xA;&#xA; /**&#xA; * (Optional) Specify the type stored on the entity. The&#xA; * default is inferred from the type of the persistent field &#xA; * or property.&#xA; **&#xA; Class objectType() default void.class;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface TypeConverter {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) Name this converter. The name should be unique&#xA;&#x9;&#x9;&#x9;&#x9;* across the whole persistence unit.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Specify the type stored on the database. The&#xA;&#x9;&#x9;&#x9;&#x9;* default is inferred from the type of the persistence field&#xA;&#x9;&#x9;&#x9;&#x9;* or property.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class dataType() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Specify the type stored on the entity. The&#xA;&#x9;&#x9;&#x9;&#x9;* default is inferred from the type of the persistent field&#xA;&#x9;&#x9;&#x9;&#x9;* or property.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class objectType() default void.class;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="type-converter"/>
@@ -7580,7 +7586,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UnionPartitioning">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; /** &#xA; * UnionPartitioning sends queries to all connection pools and unions the results.&#xA; * This is for queries or relationships that span partitions when partitioning is used,&#xA; * such as on a ManyToMany cross partition relationship.&#xA; * &#xA; * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.&#xA; * &#xA; * @see org.eclipse.persistence.descriptors.partitioning.UnionPartitioningPolicy&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.2&#xA; ** &#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface UnionPartitioning {&#xA; String name();&#xA; &#xA; /**&#xA; * (Required) List of connection pool names to load balance across.&#xA; **&#xA; String[] connectionPools();&#xA; &#xA; /**&#xA; * Defines if write queries should be replicated.&#xA; * Writes are normally not replicated when unioning,&#xA; * but can be for ManyToMany relationships, when the join table needs to be replicated.&#xA; **&#xA; boolean replicateWrites() default false;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* UnionPartitioning sends queries to all connection pools and unions&#xA;&#x9;&#x9;&#x9;&#x9;the results.&#xA;&#x9;&#x9;&#x9;&#x9;* This is for queries or relationships that span partitions when&#xA;&#x9;&#x9;&#x9;&#x9;partitioning is used,&#xA;&#x9;&#x9;&#x9;&#x9;* such as on a ManyToMany cross partition relationship.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Partitioning can be enabled on an Entity, relationship, query, or&#xA;&#x9;&#x9;&#x9;&#x9;session/persistence unit.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.partitioning.UnionPartitioningPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.2&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface UnionPartitioning {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Required) List of connection pool names to load balance across.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String[] connectionPools();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Defines if write queries should be replicated.&#xA;&#x9;&#x9;&#x9;&#x9;* Writes are normally not replicated when unioning,&#xA;&#x9;&#x9;&#x9;&#x9;* but can be for ManyToMany relationships, when the join table needs&#xA;&#x9;&#x9;&#x9;&#x9;to be replicated.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean replicateWrites() default false;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="union-partitioning"/>
@@ -7610,7 +7616,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UniqueConstraint">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({}) @Retention(RUNTIME)&#xA; public @interface UniqueConstraint {&#xA; String name() default &quot;&quot;;&#xA; String[] columnNames();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface UniqueConstraint {&#xA;&#x9;&#x9;&#x9;&#x9;String name() default &quot;&quot;;&#xA;&#x9;&#x9;&#x9;&#x9;String[] columnNames();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="unique-constraint"/>
@@ -7633,7 +7639,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ValuePartition">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; /** &#xA; * Represent a specific value partition.&#xA; * The value will be routed to the connection pool.&#xA; * &#xA; * @see ValuePartitioningPolicy&#xA; * @see org.eclipse.persistence.descriptors.partitioning.ValuePartitioningPolicy&#xA; * @see org.eclipse.persistence.descriptors.partitioning.ValuePartition&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.2&#xA; ** &#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface ValuePartition {&#xA; /** The String representation of the range start value. **&#xA; String value() default &quot;&quot;;&#xA; &#xA; /** The connection pool to route queries to for this value. **&#xA; String connectionPool();&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Represent a specific value partition.&#xA;&#x9;&#x9;&#x9;&#x9;* The value will be routed to the connection pool.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see ValuePartitioningPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.partitioning.ValuePartitioningPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.partitioning.ValuePartition&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.2&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ValuePartition {&#xA;&#x9;&#x9;&#x9;&#x9;/** The String representation of the range start value. **&#xA;&#x9;&#x9;&#x9;&#x9;String value() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/** The connection pool to route queries to for this value. **&#xA;&#x9;&#x9;&#x9;&#x9;String connectionPool();&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="value-partition"/>
@@ -7655,7 +7661,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ValuePartitioning">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; &#xA; /** &#xA; * ValuePartitioning partitions access to a database cluster by a field value from the object,&#xA; * such as the object's location, or tenant.&#xA; * Each value is assigned a specific server.&#xA; * All write or read request for object's with that value are sent to the server.&#xA; * If a query does not include the field as a parameter, then it can either be sent&#xA; * to all server's and unioned, or left to the sesion's default behavior.&#xA; * &#xA; * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.&#xA; * &#xA; * @see org.eclipse.persistence.descriptors.partitioning.ValuePartitioningPolicy&#xA; * @author James Sutherland&#xA; * @since EclipseLink 2.2&#xA; ** &#xA; @Target({TYPE, METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface ValuePartitioning {&#xA; String name();&#xA; &#xA; /**&#xA; * The database column or query parameter to partition queries by.&#xA; * This is the table column name, not the class attribute name.&#xA; * The column value must be included in the query and should normally be part of the object's Id.&#xA; * This can also be the name of a query parameter.&#xA; * If a query does not contain the field the query will not be partitioned.&#xA; **&#xA; Column partitionColumn();&#xA; &#xA; /** Store the value partitions. Each partition maps a value to a connectionPool. **&#xA; ValuePartition[] partitions();&#xA; &#xA; /** The type of the start and end values. **&#xA; Class partitionValueType() default String.class;&#xA; &#xA; /** The default connection pool is used for any unmapped values. **&#xA; String defaultConnectionPool();&#xA; &#xA; /**&#xA; * Defines if queries that do not contain the partition field should be sent&#xA; * to every database and have the result unioned.&#xA; **&#xA; boolean unionUnpartitionableQueries() default false;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* ValuePartitioning partitions access to a database cluster by a&#xA;&#x9;&#x9;&#x9;&#x9;field value from the object,&#xA;&#x9;&#x9;&#x9;&#x9;* such as the object's location, or tenant.&#xA;&#x9;&#x9;&#x9;&#x9;* Each value is assigned a specific server.&#xA;&#x9;&#x9;&#x9;&#x9;* All write or read request for object's with that value are sent to&#xA;&#x9;&#x9;&#x9;&#x9;the server.&#xA;&#x9;&#x9;&#x9;&#x9;* If a query does not include the field as a parameter, then it can&#xA;&#x9;&#x9;&#x9;&#x9;either be sent&#xA;&#x9;&#x9;&#x9;&#x9;* to all server's and unioned, or left to the sesion's default&#xA;&#x9;&#x9;&#x9;&#x9;behavior.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* Partitioning can be enabled on an Entity, relationship, query, or&#xA;&#x9;&#x9;&#x9;&#x9;session/persistence unit.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* @see&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.descriptors.partitioning.ValuePartitioningPolicy&#xA;&#x9;&#x9;&#x9;&#x9;* @author James Sutherland&#xA;&#x9;&#x9;&#x9;&#x9;* @since EclipseLink 2.2&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({TYPE, METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface ValuePartitioning {&#xA;&#x9;&#x9;&#x9;&#x9;String name();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The database column or query parameter to partition queries by.&#xA;&#x9;&#x9;&#x9;&#x9;* This is the table column name, not the class attribute name.&#xA;&#x9;&#x9;&#x9;&#x9;* The column value must be included in the query and should normally&#xA;&#x9;&#x9;&#x9;&#x9;be part of the object's Id.&#xA;&#x9;&#x9;&#x9;&#x9;* This can also be the name of a query parameter.&#xA;&#x9;&#x9;&#x9;&#x9;* If a query does not contain the field the query will not be&#xA;&#x9;&#x9;&#x9;&#x9;partitioned.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Column partitionColumn();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/** Store the value partitions. Each partition maps a value to a&#xA;&#x9;&#x9;&#x9;&#x9;connectionPool. **&#xA;&#x9;&#x9;&#x9;&#x9;ValuePartition[] partitions();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/** The type of the start and end values. **&#xA;&#x9;&#x9;&#x9;&#x9;Class partitionValueType() default String.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/** The default connection pool is used for any unmapped values. **&#xA;&#x9;&#x9;&#x9;&#x9;String defaultConnectionPool();&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Defines if queries that do not contain the partition field should&#xA;&#x9;&#x9;&#x9;&#x9;be sent&#xA;&#x9;&#x9;&#x9;&#x9;* to every database and have the result unioned.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean unionUnpartitionableQueries() default false;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="value-partitioning"/>
@@ -7707,7 +7713,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VariableOneToOne">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA; /** &#xA; * Variable one to one mappings are used to represent a pointer &#xA; * references between a java object and an implementer of an interface. &#xA; * This mapping is usually represented by a single pointer (stored in an &#xA; * instance variable) between the source and target objects. In the &#xA; * relational database tables, these mappings are normally implemented &#xA; * using a foreign key and a type code.&#xA; * &#xA; * A VariableOneToOne can be specified within an Entity, &#xA; * MappedSuperclass and Embeddable class. &#xA; ** &#xA; @Target({METHOD, FIELD}) &#xA; @Retention(RUNTIME)&#xA; public @interface VariableOneToOne {&#xA; /**&#xA; * (Optional) The interface class that is the target of the &#xA; * association. If not specified it will be inferred from the type &#xA; * of the object being referenced.&#xA; **&#xA; Class targetInterface() default void.class;&#xA;&#xA; /**&#xA; * (Optional) The operations that must be cascaded to the target of &#xA; * the association.&#xA; **&#xA; CascadeType[] cascade() default {};&#xA;&#xA; /**&#xA; * (Optional) Defines whether the value of the field or property &#xA; * should be lazily loaded or must be eagerly fetched. The EAGER &#xA; * strategy is a requirement on the persistence provider runtime &#xA; * that the value must be eagerly fetched. The LAZY strategy is a &#xA; * hint to the persistence provider runtime. If not specified, &#xA; * defaults to EAGER.&#xA; **&#xA; FetchType fetch() default EAGER;&#xA;&#xA; /**&#xA; * (Optional) Whether the association is optional. If set to false &#xA; * then a non-null relationship must always exist.&#xA; **&#xA; boolean optional() default true;&#xA;&#xA; /**&#xA; * (Optional) The discriminator column will hold the type &#xA; * indicators. If the DiscriminatorColumn is not specified, the name &#xA; * of the discriminator column defaults to &quot;DTYPE&quot; and the &#xA; * discriminator type to STRING.&#xA; **&#xA; DiscriminatorColumn discriminatorColumn() default @DiscriminatorColumn;&#xA;&#xA; /**&#xA; * (Optional) The list of discriminator types that can be used with &#xA; * this VariableOneToOne. If none are specified then those entities &#xA; * within the persistence unit that implement the target interface &#xA; * will be added to the list of types. The discriminator type will &#xA; * default as follows:&#xA; * - If DiscriminatorColumn type is STRING: Entity.name()&#xA; * - If DiscriminatorColumn type is CHAR: First letter of the &#xA; * Entity class&#xA; * - If DiscriminatorColumn type is INTEGER: The next integer after &#xA; * the highest integer explicitly added.&#xA; **&#xA; DiscriminatorClass[] discriminatorClasses() default {};&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Variable one to one mappings are used to represent a pointer&#xA;&#x9;&#x9;&#x9;&#x9;* references between a java object and an implementer of an&#xA;&#x9;&#x9;&#x9;&#x9;interface.&#xA;&#x9;&#x9;&#x9;&#x9;* This mapping is usually represented by a single pointer (stored in&#xA;&#x9;&#x9;&#x9;&#x9;an&#xA;&#x9;&#x9;&#x9;&#x9;* instance variable) between the source and target objects. In the&#xA;&#x9;&#x9;&#x9;&#x9;* relational database tables, these mappings are normally implemented&#xA;&#x9;&#x9;&#x9;&#x9;* using a foreign key and a type code.&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* A VariableOneToOne can be specified within an Entity,&#xA;&#x9;&#x9;&#x9;&#x9;* MappedSuperclass and Embeddable class.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface VariableOneToOne {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The interface class that is the target of the&#xA;&#x9;&#x9;&#x9;&#x9;* association. If not specified it will be inferred from the type&#xA;&#x9;&#x9;&#x9;&#x9;* of the object being referenced.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class targetInterface() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The operations that must be cascaded to the target of&#xA;&#x9;&#x9;&#x9;&#x9;* the association.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;CascadeType[] cascade() default {};&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Defines whether the value of the field or property&#xA;&#x9;&#x9;&#x9;&#x9;* should be lazily loaded or must be eagerly fetched. The EAGER&#xA;&#x9;&#x9;&#x9;&#x9;* strategy is a requirement on the persistence provider runtime&#xA;&#x9;&#x9;&#x9;&#x9;* that the value must be eagerly fetched. The LAZY strategy is a&#xA;&#x9;&#x9;&#x9;&#x9;* hint to the persistence provider runtime. If not specified,&#xA;&#x9;&#x9;&#x9;&#x9;* defaults to EAGER.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;FetchType fetch() default EAGER;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) Whether the association is optional. If set to false&#xA;&#x9;&#x9;&#x9;&#x9;* then a non-null relationship must always exist.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;boolean optional() default true;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The discriminator column will hold the type&#xA;&#x9;&#x9;&#x9;&#x9;* indicators. If the DiscriminatorColumn is not specified, the name&#xA;&#x9;&#x9;&#x9;&#x9;* of the discriminator column defaults to &quot;DTYPE&quot; and the&#xA;&#x9;&#x9;&#x9;&#x9;* discriminator type to STRING.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;DiscriminatorColumn discriminatorColumn() default @DiscriminatorColumn;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* (Optional) The list of discriminator types that can be used with&#xA;&#x9;&#x9;&#x9;&#x9;* this VariableOneToOne. If none are specified then those entities&#xA;&#x9;&#x9;&#x9;&#x9;* within the persistence unit that implement the target interface&#xA;&#x9;&#x9;&#x9;&#x9;* will be added to the list of types. The discriminator type will&#xA;&#x9;&#x9;&#x9;&#x9;* default as follows:&#xA;&#x9;&#x9;&#x9;&#x9;* - If DiscriminatorColumn type is STRING: Entity.name()&#xA;&#x9;&#x9;&#x9;&#x9;* - If DiscriminatorColumn type is CHAR: First letter of the&#xA;&#x9;&#x9;&#x9;&#x9;* Entity class&#xA;&#x9;&#x9;&#x9;&#x9;* - If DiscriminatorColumn type is INTEGER: The next integer after&#xA;&#x9;&#x9;&#x9;&#x9;* the highest integer explicitly added.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;DiscriminatorClass[] discriminatorClasses() default {};&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="variable-one-to-one"/>
@@ -7891,7 +7897,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Version">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; @Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA; public @interface Version {}&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD}) @Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface Version {}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="version"/>
@@ -8011,7 +8017,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WriteTransformer">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="&#xA;&#xA; /**&#xA; * Annotation for org.eclipse.persistence.mappings.TransformationMapping.&#xA; * WriteTransformer defines transformation of the attribute value to a &#xA; * single database column value (column is specified in the &#xA; * WriteTransformer).&#xA; * &#xA; * A single WriteTransformer may be specified directly on the method or &#xA; * attribute. Multiple WriteTransformers should be wrapped into &#xA; * WriteTransformers annotation. No WriteTransformers specified for &#xA; * read-only mapping. Unless the TransformationMapping is write-only, it &#xA; * should have a ReadTransformer, it defines transformation of database &#xA; * column(s) value(s)into attribute value.&#xA; ** &#xA; @Target({METHOD, FIELD})&#xA; @Retention(RUNTIME)&#xA; public @interface WriteTransformer {&#xA; /**&#xA; * User-defined class that must implement the &#xA; * org.eclipse.persistence.mappings.transformers.FieldTransformer &#xA; * interface. The class will be instantiated, its buildFieldValue &#xA; * will be used to create the value to be written into the database &#xA; * column. Note that for ddl generation and returning to be &#xA; * supported the method buildFieldValue in the class should be &#xA; * defined to return the relevant Java type, not just Object as &#xA; * defined in the interface, for instance:&#xA; * public Time buildFieldValue(Object instance, String fieldName, Session session).&#xA; * Either transformerClass or method must be specified, but not both.&#xA; ** &#xA; Class transformerClass() default void.class;&#xA;&#xA; /**&#xA; * The mapped class must have a method with this name which returns &#xA; * a value to be written into the database column.&#xA; * Note that for ddl generation and returning to be supported the &#xA; * method should be defined to return a particular type, not just &#xA; * Object, for instance:&#xA; * public Time getStartTime().&#xA; * The method may require a Transient annotation to avoid being &#xA; * mapped as Basic by default.&#xA; * Either transformerClass or method must be specified, but not both.&#xA; ** &#xA; String method() default &quot;&quot;;&#xA;&#xA; /**&#xA; * Specify here the column into which the value should be written.&#xA; * The only case when this could be skipped is if a single &#xA; * WriteTransformer annotates an attribute - the attribute's name &#xA; * will be used as a column name.&#xA; ** &#xA; Column column() default @Column;&#xA; }&#xA;&#xA; "/>
+ <details key="documentation" value="&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Annotation for&#xA;&#x9;&#x9;&#x9;&#x9;org.eclipse.persistence.mappings.TransformationMapping.&#xA;&#x9;&#x9;&#x9;&#x9;* WriteTransformer defines transformation of the attribute value to a&#xA;&#x9;&#x9;&#x9;&#x9;* single database column value (column is specified in the&#xA;&#x9;&#x9;&#x9;&#x9;* WriteTransformer).&#xA;&#x9;&#x9;&#x9;&#x9;*&#xA;&#x9;&#x9;&#x9;&#x9;* A single WriteTransformer may be specified directly on the method&#xA;&#x9;&#x9;&#x9;&#x9;or&#xA;&#x9;&#x9;&#x9;&#x9;* attribute. Multiple WriteTransformers should be wrapped into&#xA;&#x9;&#x9;&#x9;&#x9;* WriteTransformers annotation. No WriteTransformers specified for&#xA;&#x9;&#x9;&#x9;&#x9;* read-only mapping. Unless the TransformationMapping is write-only,&#xA;&#x9;&#x9;&#x9;&#x9;it&#xA;&#x9;&#x9;&#x9;&#x9;* should have a ReadTransformer, it defines transformation of&#xA;&#x9;&#x9;&#x9;&#x9;database&#xA;&#x9;&#x9;&#x9;&#x9;* column(s) value(s)into attribute value.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;@Target({METHOD, FIELD})&#xA;&#x9;&#x9;&#x9;&#x9;@Retention(RUNTIME)&#xA;&#x9;&#x9;&#x9;&#x9;public @interface WriteTransformer {&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* User-defined class that must implement the&#xA;&#x9;&#x9;&#x9;&#x9;* org.eclipse.persistence.mappings.transformers.FieldTransformer&#xA;&#x9;&#x9;&#x9;&#x9;* interface. The class will be instantiated, its buildFieldValue&#xA;&#x9;&#x9;&#x9;&#x9;* will be used to create the value to be written into the database&#xA;&#x9;&#x9;&#x9;&#x9;* column. Note that for ddl generation and returning to be&#xA;&#x9;&#x9;&#x9;&#x9;* supported the method buildFieldValue in the class should be&#xA;&#x9;&#x9;&#x9;&#x9;* defined to return the relevant Java type, not just Object as&#xA;&#x9;&#x9;&#x9;&#x9;* defined in the interface, for instance:&#xA;&#x9;&#x9;&#x9;&#x9;* public Time buildFieldValue(Object instance, String fieldName,&#xA;&#x9;&#x9;&#x9;&#x9;Session session).&#xA;&#x9;&#x9;&#x9;&#x9;* Either transformerClass or method must be specified, but not both.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Class transformerClass() default void.class;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* The mapped class must have a method with this name which returns&#xA;&#x9;&#x9;&#x9;&#x9;* a value to be written into the database column.&#xA;&#x9;&#x9;&#x9;&#x9;* Note that for ddl generation and returning to be supported the&#xA;&#x9;&#x9;&#x9;&#x9;* method should be defined to return a particular type, not just&#xA;&#x9;&#x9;&#x9;&#x9;* Object, for instance:&#xA;&#x9;&#x9;&#x9;&#x9;* public Time getStartTime().&#xA;&#x9;&#x9;&#x9;&#x9;* The method may require a Transient annotation to avoid being&#xA;&#x9;&#x9;&#x9;&#x9;* mapped as Basic by default.&#xA;&#x9;&#x9;&#x9;&#x9;* Either transformerClass or method must be specified, but not both.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;String method() default &quot;&quot;;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;/**&#xA;&#x9;&#x9;&#x9;&#x9;* Specify here the column into which the value should be written.&#xA;&#x9;&#x9;&#x9;&#x9;* The only case when this could be skipped is if a single&#xA;&#x9;&#x9;&#x9;&#x9;* WriteTransformer annotates an attribute - the attribute's name&#xA;&#x9;&#x9;&#x9;&#x9;* will be used as a column name.&#xA;&#x9;&#x9;&#x9;&#x9;**&#xA;&#x9;&#x9;&#x9;&#x9;Column column() default @Column;&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#xA;&#x9;&#x9;&#x9;"/>
</eAnnotations>
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="write-transformer"/>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AccessMethods.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AccessMethods.java
index ce2b0e34..fadee7b4 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AccessMethods.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AccessMethods.java
@@ -15,7 +15,7 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AdditionalCriteria.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AdditionalCriteria.java
index 1a618389..f82136e5 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AdditionalCriteria.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AdditionalCriteria.java
@@ -16,43 +16,53 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * /**
- * * An additional criteria can be specified at the Entity or MappedSuperclass
- * * level. When specified at the mapped superclass level, it applies to all
- * * inheriting entities unless those entities define their own additional
- * * criteria, at which point the additional criteria from the mapped superclass
- * * is ignored.
- * *
- * * The additional criteria supports any valid JPQL string and must use 'this'
- * * as an alias to form your additional criteria. E.G.,
- * *
- * * @Entity
- * * @AdditionalCriteria("this.nut.size = :NUT_SIZE and this.nut.color = :NUT_COLOR")
- * * public class Bolt {...}
- * *
- * * Additional criteria parameters are also accepted and are set through
- * * properties on the entity manager factory, or on an entity manager. When set
- * * on the entity manager, the properties must be set before any query execution
- * * and should not be changed for the life span of that entity manager.
- * *
- * * Properties set on the entity manager will override those similarly named
- * * properties set on the entity manager factory.
- * *
- * * Additional criteria is not supported with any native queries.
- * *
- * * @author Guy Pelletier
- * * @since EclipseLink 2.2
- * **
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface AdditionalCriteria {
- * /**
- * * (Required) The JPQL fragment to use as the additional criteria.
- * **
- * String value();
- * }
+ * /**
+ * * An additional criteria can be specified at the Entity or
+ * MappedSuperclass
+ * * level. When specified at the mapped superclass level, it applies to
+ * all
+ * * inheriting entities unless those entities define their own
+ * additional
+ * * criteria, at which point the additional criteria from the mapped
+ * superclass
+ * * is ignored.
+ * *
+ * * The additional criteria supports any valid JPQL string and must use
+ * 'this'
+ * * as an alias to form your additional criteria. E.G.,
+ * *
+ * * @Entity
+ * * @AdditionalCriteria("this.nut.size = :NUT_SIZE and this.nut.color =
+ * :NUT_COLOR")
+ * * public class Bolt {...}
+ * *
+ * * Additional criteria parameters are also accepted and are set
+ * through
+ * * properties on the entity manager factory, or on an entity manager.
+ * When set
+ * * on the entity manager, the properties must be set before any query
+ * execution
+ * * and should not be changed for the life span of that entity manager.
+ * *
+ * * Properties set on the entity manager will override those similarly
+ * named
+ * * properties set on the entity manager factory.
+ * *
+ * * Additional criteria is not supported with any native queries.
+ * *
+ * * @author Guy Pelletier
+ * * @since EclipseLink 2.2
+ * **
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface AdditionalCriteria {
+ * /**
+ * * (Required) The JPQL fragment to use as the additional criteria.
+ * **
+ * String value();
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Array.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Array.java
index ab367757..1d901788 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Array.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Array.java
@@ -19,42 +19,47 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- *
- * /**
- * * Array types are extended object-relational data-types supported by some databases.
- * * Array types are user define types in the database such as VARRAY types on Oracle.
- * * Arrays can contains basic types (VARCHAR) or other Struct types, and can be stored in
- * * a column or in a Struct type.
- * * This annotation can be defined on a collection attribute that is
- * * persisted to an Array type. The collection can be of basic types, or embeddable
- * * class mapped using a Struct.
- * *
- * * @see org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor
- * * @see org.eclipse.persistence.mappings.structures.ArrayMapping
- * * @see org.eclipse.persistence.mappings.structures.ObjectArrayMapping
- * * @author James Sutherland
- * * @since EclipseLink 2.3
- * **
- * @Target({METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface Array {
- * /**
- * * (Optional) The basic or embeddable class that is the element
- * * type of the collection. This element is optional only if the
- * * collection field or property is defined using Java generics,
- * * and must be specified otherwise. It defaults to the
- * * paramterized type of the collection when defined using
- * * generics.
- * **
- * Class targetClass() default void.class;
- *
- * /**
- * * (Required) The database name of the database array structure type.
- * **
- * String databaseType();
- * }
*
- *
+ * /**
+ * * Array types are extended object-relational data-types supported by
+ * some databases.
+ * * Array types are user define types in the database such as VARRAY
+ * types on Oracle.
+ * * Arrays can contains basic types (VARCHAR) or other Struct types,
+ * and can be stored in
+ * * a column or in a Struct type.
+ * * This annotation can be defined on a collection attribute that is
+ * * persisted to an Array type. The collection can be of basic types,
+ * or embeddable
+ * * class mapped using a Struct.
+ * *
+ * * @see
+ * org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor
+ * * @see org.eclipse.persistence.mappings.structures.ArrayMapping
+ * * @see org.eclipse.persistence.mappings.structures.ObjectArrayMapping
+ * * @author James Sutherland
+ * * @since EclipseLink 2.3
+ * **
+ * @Target({METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface Array {
+ * /**
+ * * (Optional) The basic or embeddable class that is the element
+ * * type of the collection. This element is optional only if the
+ * * collection field or property is defined using Java generics,
+ * * and must be specified otherwise. It defaults to the
+ * * paramterized type of the collection when defined using
+ * * generics.
+ * **
+ * Class targetClass() default void.class;
+ *
+ * /**
+ * * (Required) The database name of the database array structure type.
+ * **
+ * String databaseType();
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AssociationOverride.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AssociationOverride.java
index d7876b22..d19f6836 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AssociationOverride.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/AssociationOverride.java
@@ -18,14 +18,14 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface AssociationOverride {
- * String name();
- * JoinColumn[] joinColumns() default{};
- * JoinTable joinTable() default @JoinTable;
- * }
+ * @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface AssociationOverride {
+ * String name();
+ * JoinColumn[] joinColumns() default{};
+ * JoinTable joinTable() default @JoinTable;
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Attributes.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Attributes.java
index 6970702b..bc6cf4b4 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Attributes.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Attributes.java
@@ -17,13 +17,13 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * This element contains the entity field or property mappings.
- * It may be sparsely populated to include only a subset of the
- * fields or properties. If metadata-complete for the entity is true
- * then the remainder of the attributes will be defaulted according
- * to the default rules.
+ * This element contains the entity field or property mappings.
+ * It may be sparsely populated to include only a subset of the
+ * fields or properties. If metadata-complete for the entity is true
+ * then the remainder of the attributes will be defaulted according
+ * to the default rules.
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Basic.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Basic.java
index 0c943cfd..1edbe880 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Basic.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Basic.java
@@ -17,13 +17,13 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface Basic {
- * FetchType fetch() default EAGER;
- * boolean optional() default true;
- * }
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface Basic {
+ * FetchType fetch() default EAGER;
+ * boolean optional() default true;
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BasicMap.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BasicMap.java
index 0b17255d..ec8894fb 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BasicMap.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BasicMap.java
@@ -19,48 +19,48 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface BasicMap {
- * /**
- * * (Optional) Defines whether the value of the field or property
- * * should be lazily loaded or must be eagerly fetched. The EAGER
- * * strategy is a requirement on the persistence provider runtime that
- * * the value must be eagerly fetched. The LAZY strategy is a hint to
- * * the persistence provider runtime. If not specified, defaults to
- * * LAZY.
- * **
- * FetchType fetch() default LAZY;
+ * @Target({METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface BasicMap {
+ * /**
+ * * (Optional) Defines whether the value of the field or property
+ * * should be lazily loaded or must be eagerly fetched. The EAGER
+ * * strategy is a requirement on the persistence provider runtime that
+ * * the value must be eagerly fetched. The LAZY strategy is a hint to
+ * * the persistence provider runtime. If not specified, defaults to
+ * * LAZY.
+ * **
+ * FetchType fetch() default LAZY;
*
- * /**
- * * (Optional) The name of the data column that holds the direct map
- * * key. If the name on te key column is "", the name will default to:
- * * the name of the property or field; "_KEY".
- * **
- * Column keyColumn() default @Column;
+ * /**
+ * * (Optional) The name of the data column that holds the direct map
+ * * key. If the name on te key column is "", the name will default to:
+ * * the name of the property or field; "_KEY".
+ * **
+ * Column keyColumn() default @Column;
*
- * /**
- * * (Optional) Specify the key converter. Default is equivalent to
- * * specifying @Convert("none"), meaning no converter will be added to
- * * the direct map key.
- * **
- * Convert keyConverter() default @Convert;
+ * /**
+ * * (Optional) Specify the key converter. Default is equivalent to
+ * * specifying @Convert("none"), meaning no converter will be added to
+ * * the direct map key.
+ * **
+ * Convert keyConverter() default @Convert;
*
- * /**
- * * (Optional) The name of the data column that holds the direct
- * * collection data. Defaults to the property or field name.
- * **
- * Column valueColumn() default @Column;
+ * /**
+ * * (Optional) The name of the data column that holds the direct
+ * * collection data. Defaults to the property or field name.
+ * **
+ * Column valueColumn() default @Column;
*
- * /**
- * * (Optional) Specify the value converter. Default is equivalent to
- * * specifying @Convert("none"), meaning no converter will be added to
- * * the value column mapping.
- * **
- * Convert valueConverter() default @Convert;
- * }
+ * /**
+ * * (Optional) Specify the value converter. Default is equivalent to
+ * * specifying @Convert("none"), meaning no converter will be added to
+ * * the value column mapping.
+ * **
+ * Convert valueConverter() default @Convert;
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BatchFetch.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BatchFetch.java
index c6e91896..90e4edb2 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BatchFetch.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BatchFetch.java
@@ -17,35 +17,38 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- * /**
- * * A BatchFetch annotation can be used on any relationship mapping,
- * * (OneToOne, ManyToOne, OneToMany, ManyToMany, ElementCollection, BasicCollection, BasicMap).
- * * It allows the related objects to be batch read in a single query.
- * * Batch fetching can also be set at the query level, and it is
- * * normally recommended to do so as all queries may not require batching.
- * *
- * * @author James Sutherland
- * * @since EclipseLink 2.1
- * **
- * @Target({METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface BatchFetch {
- * /**
- * * (Optional) The type of batch-fetch to use.
- * * Either JOIN, EXISTS or IN.
- * * JOIN is the default.
- * **
- * BatchFetchType value() default BatchFetchType.JOIN;
- *
- * /**
- * * Define the default batch fetch size.
- * * This is only used for IN type batch reading and defines
- * * the number of keys used in each IN clause.
- * * The default size is 256, or the query's pageSize for cursor queries.
- * **
- * int size() default -1;
- * }
- *
+ * /**
+ * * A BatchFetch annotation can be used on any relationship mapping,
+ * * (OneToOne, ManyToOne, OneToMany, ManyToMany, ElementCollection,
+ * BasicCollection, BasicMap).
+ * * It allows the related objects to be batch read in a single query.
+ * * Batch fetching can also be set at the query level, and it is
+ * * normally recommended to do so as all queries may not require
+ * batching.
+ * *
+ * * @author James Sutherland
+ * * @since EclipseLink 2.1
+ * **
+ * @Target({METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface BatchFetch {
+ * /**
+ * * (Optional) The type of batch-fetch to use.
+ * * Either JOIN, EXISTS or IN.
+ * * JOIN is the default.
+ * **
+ * BatchFetchType value() default BatchFetchType.JOIN;
+ *
+ * /**
+ * * Define the default batch fetch size.
+ * * This is only used for IN type batch reading and defines
+ * * the number of keys used in each IN clause.
+ * * The default size is 256, or the query's pageSize for cursor
+ * queries.
+ * **
+ * int size() default -1;
+ * }
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BatchFetchType.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BatchFetchType.java
index 59bc5b23..29449480 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BatchFetchType.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/BatchFetchType.java
@@ -19,30 +19,36 @@ import org.eclipse.emf.common.util.Enumerator;
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
- * public enum BatchFetchType {
- * /**
- * * This is the default form of batch reading.
- * * The original query's selection criteria is joined with the batch query.
- * **
- * JOIN,
- *
- * /**
- * * This uses an SQL EXISTS and a sub-select in the batch query instead of a join.
- * * This has the advantage of not requiring an SQL DISTINCT which can have issues
- * * with LOBs, or may be more efficient for some types of queries or on some databases.
- * **
- * EXISTS,
- *
- * /**
- * * This uses an SQL IN clause in the batch query passing in the source object Ids.
- * * This has the advantage of only selecting the objects not already contained in the cache,
- * * and can work better with cursors, or if joins cannot be used.
- * * This may only work for singleton Ids on some databases.
- * **
- * IN
- * }
+ * public enum BatchFetchType {
+ * /**
+ * * This is the default form of batch reading.
+ * * The original query's selection criteria is joined with the batch
+ * query.
+ * **
+ * JOIN,
*
- *
+ * /**
+ * * This uses an SQL EXISTS and a sub-select in the batch query instead
+ * of a join.
+ * * This has the advantage of not requiring an SQL DISTINCT which can
+ * have issues
+ * * with LOBs, or may be more efficient for some types of queries or on
+ * some databases.
+ * **
+ * EXISTS,
+ *
+ * /**
+ * * This uses an SQL IN clause in the batch query passing in the source
+ * object Ids.
+ * * This has the advantage of only selecting the objects not already
+ * contained in the cache,
+ * * and can work better with cursors, or if joins cannot be used.
+ * * This may only work for singleton Ids on some databases.
+ * **
+ * IN
+ * }
+ *
+ *
* <!-- end-model-doc -->
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getBatchFetchType()
* @model extendedMetaData="name='batch-fetch-type'"
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Cache.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Cache.java
index f97c7492..6416aeef 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Cache.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Cache.java
@@ -17,92 +17,94 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * /**
- * * The Cache annotation is used to set an
- * * org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy
- * * which sets objects in EclipseLink's identity maps to be invalid
- * * following given rules. By default in EclipseLink, objects do not
- * * expire in the cache. Several different policies are available to
- * * allow objects to expire.
- * *
- * * @see org.eclipse.persistence.annotations.CacheType
- * *
- * * A Cache anotation may be defined on an Entity or MappedSuperclass.
- * * In the case of inheritance, a Cache annotation should only be defined
- * * on the root of the inheritance hierarchy.
- * **
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface Cache {
- * /**
- * * (Optional) The type of cache to use.
- * **
- * CacheType type() default SOFT_WEAK;
+ * /**
+ * * The Cache annotation is used to set an
+ * *
+ * org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy
+ * * which sets objects in EclipseLink's identity maps to be invalid
+ * * following given rules. By default in EclipseLink, objects do not
+ * * expire in the cache. Several different policies are available to
+ * * allow objects to expire.
+ * *
+ * * @see org.eclipse.persistence.annotations.CacheType
+ * *
+ * * A Cache anotation may be defined on an Entity or MappedSuperclass.
+ * * In the case of inheritance, a Cache annotation should only be
+ * defined
+ * * on the root of the inheritance hierarchy.
+ * **
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface Cache {
+ * /**
+ * * (Optional) The type of cache to use.
+ * **
+ * CacheType type() default SOFT_WEAK;
*
- * /**
- * * (Optional) The size of cache to use.
- * **
- * int size() default 100;
+ * /**
+ * * (Optional) The size of cache to use.
+ * **
+ * int size() default 100;
*
- * /**
- * * (Optional) Cached instances in the shared cache,
- * * or only a per EntityManager isolated cache.
- * * The default is shared.
- * * @deprecated As of Eclipselink 2.2. See the attribute 'isolation'
- * **
- * @Deprecated
- * boolean shared() default true;
- *
- * /**
- * * (Optional) Controls the level of caching this Entity will use.
- * * The default is CacheIsolationType.SHARED which has EclipseLink
- * * Caching all Entities in the Shared Cache.
- * * @see org.eclipse.persistence.config.CacheIsolationType
- * **
- * CacheIsolationType isolation() default SHARED;
+ * /**
+ * * (Optional) Cached instances in the shared cache,
+ * * or only a per EntityManager isolated cache.
+ * * The default is shared.
+ * * @deprecated As of Eclipselink 2.2. See the attribute 'isolation'
+ * **
+ * @Deprecated
+ * boolean shared() default true;
*
- * /**
- * * (Optional) Expire cached instance after a fix period of time (ms).
- * * Queries executed against the cache after this will be forced back
- * * to the database for a refreshed copy
- * **
- * int expiry() default -1; // minus one is no expiry.
+ * /**
+ * * (Optional) Controls the level of caching this Entity will use.
+ * * The default is CacheIsolationType.SHARED which has EclipseLink
+ * * Caching all Entities in the Shared Cache.
+ * * @see org.eclipse.persistence.config.CacheIsolationType
+ * **
+ * CacheIsolationType isolation() default SHARED;
*
- * /**
- * * (Optional) Expire cached instance a specific time of day. Queries
- * * executed against the cache after this will be forced back to the
- * * database for a refreshed copy
- * **
- * TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false);
+ * /**
+ * * (Optional) Expire cached instance after a fix period of time (ms).
+ * * Queries executed against the cache after this will be forced back
+ * * to the database for a refreshed copy
+ * **
+ * int expiry() default -1; // minus one is no expiry.
*
- * /**
- * * (Optional) Force all queries that go to the database to always
- * * refresh the cache.
- * **
- * boolean alwaysRefresh() default false;
+ * /**
+ * * (Optional) Expire cached instance a specific time of day. Queries
+ * * executed against the cache after this will be forced back to the
+ * * database for a refreshed copy
+ * **
+ * TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false);
*
- * /**
- * * (Optional) For all queries that go to the database, refresh the
- * * cache only if the data received from the database by a query is
- * * newer than the data in the cache (as determined by the optimistic
- * * locking field)
- * **
- * boolean refreshOnlyIfNewer() default false;
+ * /**
+ * * (Optional) Force all queries that go to the database to always
+ * * refresh the cache.
+ * **
+ * boolean alwaysRefresh() default false;
*
- * /**
- * * (Optional) Setting to true will force all queries to bypass the
- * * cache for hits but still resolve against the cache for identity.
- * * This forces all queries to hit the database.
- * **
- * boolean disableHits() default false;
+ * /**
+ * * (Optional) For all queries that go to the database, refresh the
+ * * cache only if the data received from the database by a query is
+ * * newer than the data in the cache (as determined by the optimistic
+ * * locking field)
+ * **
+ * boolean refreshOnlyIfNewer() default false;
*
- * /**
- * * (Optional) The cache coordination mode.
- * **
- * CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;
- * }
+ * /**
+ * * (Optional) Setting to true will force all queries to bypass the
+ * * cache for hits but still resolve against the cache for identity.
+ * * This forces all queries to hit the database.
+ * **
+ * boolean disableHits() default false;
*
- *
+ * /**
+ * * (Optional) The cache coordination mode.
+ * **
+ * CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CacheIsolationType.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CacheIsolationType.java
index dcc52b73..032c05c1 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CacheIsolationType.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CacheIsolationType.java
@@ -19,43 +19,55 @@ import org.eclipse.emf.common.util.Enumerator;
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
- * /**
- * * Options for how Entity instances should be shared within an EclipseLink Persistence Unit / ServerSession
- * * @see ClassDescriptor#setCacheIsolationType(CacheIsolationType)
- * * @author Gordon Yorke
- * * @since EclipseLink 2.2
- * **
- * public enum CacheIsolationType {
- *
- * /**
- * * Entity instances will be cached within the EntityManagerFactory/ServerSession level.
- * * Any user queries for shared cache instances (ie Read-Only query hint) will return an Entity
- * * instance that may be shared by multiple clients.
- * *
- * * This setting is the default isolation level.
- * **
- * SHARED,
- *
- * /**
- * * Entity state information will be cached in the shared cache but Entity
- * * instances will not be shared. Any user queries for shared cache instances
- * * (ie Read-Only query hint) will return a new Entity instance with the cached state.
- * * This will ensure the instance is <i>protected</i> from any concurrent
- * * state change.
- * **
- * PROTECTED,
- *
- * /**
- * * The Entity and its data is not stored in the shared cache but is
- * * <i>isolated</i> to the Persistence Context/UnitOfWork or
- * * IsolatedClientSession. This setting effectively disables second level
- * * caching for this entity and should be used when users do not want caching for
- * * a particular Entity.
- * **
- * ISOLATED;
- *
- * }
- *
+ * /**
+ * * Options for how Entity instances should be shared within an
+ * EclipseLink Persistence Unit / ServerSession
+ * * @see ClassDescriptor#setCacheIsolationType(CacheIsolationType)
+ * * @author Gordon Yorke
+ * * @since EclipseLink 2.2
+ * **
+ * public enum CacheIsolationType {
+ *
+ * /**
+ * * Entity instances will be cached within the
+ * EntityManagerFactory/ServerSession level.
+ * * Any user queries for shared cache instances (ie Read-Only query
+ * hint) will return an Entity
+ * * instance that may be shared by multiple clients.
+ * *
+ * * This setting is the default isolation level.
+ * **
+ * SHARED,
+ *
+ * /**
+ * * Entity state information will be cached in the shared cache but
+ * Entity
+ * * instances will not be shared. Any user queries for shared cache
+ * instances
+ * * (ie Read-Only query hint) will return a new Entity instance with
+ * the cached state.
+ * * This will ensure the instance is
+ * <i>protected</i>
+ * from any concurrent
+ * * state change.
+ * **
+ * PROTECTED,
+ *
+ * /**
+ * * The Entity and its data is not stored in the shared cache but is
+ * *
+ * <i>isolated</i>
+ * to the Persistence Context/UnitOfWork or
+ * * IsolatedClientSession. This setting effectively disables second
+ * level
+ * * caching for this entity and should be used when users do not want
+ * caching for
+ * * a particular Entity.
+ * **
+ * ISOLATED;
+ *
+ * }
+ *
* <!-- end-model-doc -->
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getCacheIsolationType()
* @model extendedMetaData="name='cache-isolation-type'"
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CacheKeyType.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CacheKeyType.java
index 77494119..9c1b5298 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CacheKeyType.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CacheKeyType.java
@@ -19,37 +19,40 @@ import org.eclipse.emf.common.util.Enumerator;
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
- *
- * /**
- * * Configures what type of Id value is used to store the object in the cache.
- * * This can either be the basic Id value for simple singleton Ids,
- * * or an optimized CacheKey type.
- * *
- * * @see PrimaryKey#cacheKeyType()
- * * @see ClassDescriptor#setCacheKeyType(CacheKeyType)
- * * @author James Sutherland
- * * @since EclipseLink 2.1
- * **
- * public enum CacheKeyType {
- * /**
- * * This can only be used for simple singleton Ids, such as long/int/String.
- * * This is the default for simple singleton Ids.
- * **
- * ID_VALUE,
- *
- * /**
- * * Optimized cache key type that allows composite and complex values.
- * * This is the default for composite or complex Ids.
- * **
- * CACHE_KEY,
- *
- * /**
- * * The cache key type is automatically configured depending on what is optimal for the class.
- * **
- * AUTO
- * }
*
- *
+ * /**
+ * * Configures what type of Id value is used to store the object in the
+ * cache.
+ * * This can either be the basic Id value for simple singleton Ids,
+ * * or an optimized CacheKey type.
+ * *
+ * * @see PrimaryKey#cacheKeyType()
+ * * @see ClassDescriptor#setCacheKeyType(CacheKeyType)
+ * * @author James Sutherland
+ * * @since EclipseLink 2.1
+ * **
+ * public enum CacheKeyType {
+ * /**
+ * * This can only be used for simple singleton Ids, such as
+ * long/int/String.
+ * * This is the default for simple singleton Ids.
+ * **
+ * ID_VALUE,
+ *
+ * /**
+ * * Optimized cache key type that allows composite and complex values.
+ * * This is the default for composite or complex Ids.
+ * **
+ * CACHE_KEY,
+ *
+ * /**
+ * * The cache key type is automatically configured depending on what is
+ * optimal for the class.
+ * **
+ * AUTO
+ * }
+ *
+ *
* <!-- end-model-doc -->
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getCacheKeyType()
* @model extendedMetaData="name='cache-key-type'"
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CascadeType.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CascadeType.java
index 5c8d0172..80338665 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CascadeType.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CascadeType.java
@@ -15,9 +15,9 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH, DETACH};
+ * public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH, DETACH};
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ChangeTracking.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ChangeTracking.java
index 0387f449..215433f8 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ChangeTracking.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ChangeTracking.java
@@ -15,25 +15,26 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * /**
- * * The ChangeTracking annotation is used to specify the
- * * org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy
- * * which computes changes sets for EclipseLink's UnitOfWork commit
- * * process. An ObjectChangePolicy is stored on an Entity's descriptor.
- * *
- * * A ChangeTracking annotation may be specified on an Entity,
- * * MappedSuperclass or Embeddable.
- * **
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface ChangeTracking {
- * /**
- * * (Optional) The type of change tracking to use.
- * **
- * ChangeTrackingType value() default AUTO;
- * }
+ * /**
+ * * The ChangeTracking annotation is used to specify the
+ * *
+ * org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy
+ * * which computes changes sets for EclipseLink's UnitOfWork commit
+ * * process. An ObjectChangePolicy is stored on an Entity's descriptor.
+ * *
+ * * A ChangeTracking annotation may be specified on an Entity,
+ * * MappedSuperclass or Embeddable.
+ * **
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface ChangeTracking {
+ * /**
+ * * (Optional) The type of change tracking to use.
+ * **
+ * ChangeTrackingType value() default AUTO;
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ClassExtractor.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ClassExtractor.java
index 7d37adba..8559a429 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ClassExtractor.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ClassExtractor.java
@@ -16,49 +16,67 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * /**
- * * A ClassExtractor allows for a user defined class indicator in place of
- * * providing a discriminator column. The class has the following restrictions:
+ * /**
+ * * A ClassExtractor allows for a user defined class indicator in place
+ * of
+ * * providing a discriminator column. The class has the following
+ * restrictions:
*
- * * - It must extend the org.eclipse.persistence.descriptors.ClassExtractor
- * * class and implement the extractClassFromRow(Record, Session) method.
- * * - That method must take a database row (a Record/Map) as an argument and
- * * must return the class to use for that row.
- * *
- * * This method will be used to decide which class to instantiate when reading
- * * from the database. It is the application's responsibility to populate any
- * * typing information in the database required to determine the class from the
- * * row.
- * *
- * * The ClassExtractor must only be set on the root of an entity class or
- * * sub-hierarchy in which a different inheritance strategy is applied. The
- * * ClassExtractor can only be used with the SINGLE_TABLE and JOINED inheritance
- * * strategies.
- * *
- * * If a ClassExtractor is used then a DiscriminatorColumn cannot be used. A
- * * ClassExtractor also cannot be used on either the root or its subclasses.
- * *
- * * In addition, for more complex configurations using a ClassExtractor and a
- * * SINGLE_TABLE strategy, the descriptor's withAllSubclasses and onlyInstances
- * * expressions should be set through the ClassExtractor's initialize method.
- * *
- * * @see org.eclipse.persistence.descriptors.InheritancePolicy.setWithAllSubclassesExpression(Expression)
- * * @see org.eclipse.persistence.descriptors.InheritancePolicy.setOnlyInstancesExpression(Expression)
- * *
- * * @author Guy Pelletier
- * * @since EclipseLink 2.1
- * **
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface ClassExtractor {
- * /**
- * * (Required) Defines the name of the class extractor that should be
- * * applied to this entity's descriptor.
- * **
- * Class value();
- * }
+ * * - It must extend the
+ * org.eclipse.persistence.descriptors.ClassExtractor
+ * * class and implement the extractClassFromRow(Record, Session)
+ * method.
+ * * - That method must take a database row (a Record/Map) as an
+ * argument and
+ * * must return the class to use for that row.
+ * *
+ * * This method will be used to decide which class to instantiate when
+ * reading
+ * * from the database. It is the application's responsibility to
+ * populate any
+ * * typing information in the database required to determine the class
+ * from the
+ * * row.
+ * *
+ * * The ClassExtractor must only be set on the root of an entity class
+ * or
+ * * sub-hierarchy in which a different inheritance strategy is applied.
+ * The
+ * * ClassExtractor can only be used with the SINGLE_TABLE and JOINED
+ * inheritance
+ * * strategies.
+ * *
+ * * If a ClassExtractor is used then a DiscriminatorColumn cannot be
+ * used. A
+ * * ClassExtractor also cannot be used on either the root or its
+ * subclasses.
+ * *
+ * * In addition, for more complex configurations using a ClassExtractor
+ * and a
+ * * SINGLE_TABLE strategy, the descriptor's withAllSubclasses and
+ * onlyInstances
+ * * expressions should be set through the ClassExtractor's initialize
+ * method.
+ * *
+ * * @see
+ * org.eclipse.persistence.descriptors.InheritancePolicy.setWithAllSubclassesExpression(Expression)
+ * * @see
+ * org.eclipse.persistence.descriptors.InheritancePolicy.setOnlyInstancesExpression(Expression)
+ * *
+ * * @author Guy Pelletier
+ * * @since EclipseLink 2.1
+ * **
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface ClassExtractor {
+ * /**
+ * * (Required) Defines the name of the class extractor that should be
+ * * applied to this entity's descriptor.
+ * **
+ * Class value();
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CollectionTable.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CollectionTable.java
index 510acc32..481a69f5 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CollectionTable.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CollectionTable.java
@@ -114,9 +114,11 @@ public interface CollectionTable extends BaseOrmAnnotation {
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Creation Suffix</em>' attribute.
+ * @see #isSetCreationSuffix()
+ * @see #unsetCreationSuffix()
* @see #setCreationSuffix(String)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getCollectionTable_CreationSuffix()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
* extendedMetaData="kind='attribute' name='creation-suffix'"
* @generated
*/
@@ -127,12 +129,37 @@ public interface CollectionTable extends BaseOrmAnnotation {
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Creation Suffix</em>' attribute.
+ * @see #isSetCreationSuffix()
+ * @see #unsetCreationSuffix()
* @see #getCreationSuffix()
* @generated
*/
void setCreationSuffix(String value);
/**
+ * Unsets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.CollectionTable#getCreationSuffix <em>Creation Suffix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetCreationSuffix()
+ * @see #getCreationSuffix()
+ * @see #setCreationSuffix(String)
+ * @generated
+ */
+ void unsetCreationSuffix();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.CollectionTable#getCreationSuffix <em>Creation Suffix</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Creation Suffix</em>' attribute is set.
+ * @see #unsetCreationSuffix()
+ * @see #getCreationSuffix()
+ * @see #setCreationSuffix(String)
+ * @generated
+ */
+ boolean isSetCreationSuffix();
+
+ /**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Column.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Column.java
index 1a77070a..84644104 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Column.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Column.java
@@ -15,21 +15,21 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface Column {
- * String name() default "";
- * boolean unique() default false;
- * boolean nullable() default true;
- * boolean insertable() default true;
- * boolean updatable() default true;
- * String columnDefinition() default "";
- * String table() default "";
- * int length() default 255;
- * int precision() default 0; // decimal precision
- * int scale() default 0; // decimal scale
- * }
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface Column {
+ * String name() default "";
+ * boolean unique() default false;
+ * boolean nullable() default true;
+ * boolean insertable() default true;
+ * boolean updatable() default true;
+ * String columnDefinition() default "";
+ * String table() default "";
+ * int length() default 255;
+ * int precision() default 0; // decimal precision
+ * int scale() default 0; // decimal scale
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ColumnResult.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ColumnResult.java
index 2177f91e..6f783589 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ColumnResult.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ColumnResult.java
@@ -15,12 +15,12 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({}) @Retention(RUNTIME)
- * public @interface ColumnResult {
- * String name();
- * }
+ * @Target({}) @Retention(RUNTIME)
+ * public @interface ColumnResult {
+ * String name();
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Converter.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Converter.java
index aebf8619..395d08a6 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Converter.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Converter.java
@@ -15,23 +15,25 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface Converter {
- * /**
- * * (Required) Name this converter. The name should be unique across
- * * the whole persistence unit.
- * **
- * String name();
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface Converter {
+ * /**
+ * * (Required) Name this converter. The name should be unique across
+ * * the whole persistence unit.
+ * **
+ * String name();
*
- * /**
- * * (Required) The converter class to be used. This class must implement
- * * the org.eclipse.persistence.mappings.converters.Converter interface.
- * **
- * Class converterClass();
- * }
+ * /**
+ * * (Required) The converter class to be used. This class must
+ * implement
+ * * the org.eclipse.persistence.mappings.converters.Converter
+ * interface.
+ * **
+ * Class converterClass();
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CopyPolicy.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CopyPolicy.java
index 40cd74bb..cce0746d 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CopyPolicy.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/CopyPolicy.java
@@ -14,31 +14,33 @@ import org.eclipse.emf.ecore.EObject;
*
* <!-- begin-model-doc -->
*
- * /**
- * * A CopyPolicy is used to set a
- * * org.eclipse.persistence.descriptors.copying.CopyPolicy on an Entity.
- * * It is required that a class that implements
- * * org.eclipse.persistence.descriptors.copying.CopyPolicy be specified
- * * as the argument.
- * *
- * * A CopyPolicy should be specified on an Entity, MappedSuperclass or
- * * Embeddable.
- * *
- * * For instance:
- * * @Entity
- * * @CopyPolicy("example.MyCopyPolicy")
- * **
- * public @interface CopyPolicy {
+ * /**
+ * * A CopyPolicy is used to set a
+ * * org.eclipse.persistence.descriptors.copying.CopyPolicy on an
+ * Entity.
+ * * It is required that a class that implements
+ * * org.eclipse.persistence.descriptors.copying.CopyPolicy be specified
+ * * as the argument.
+ * *
+ * * A CopyPolicy should be specified on an Entity, MappedSuperclass or
+ * * Embeddable.
+ * *
+ * * For instance:
+ * * @Entity
+ * * @CopyPolicy("example.MyCopyPolicy")
+ * **
+ * public @interface CopyPolicy {
*
- * /*
- * * (Required)
- * * This defines the class of the copy policy. It must specify a class
- * * that implements org.eclipse.persistence.descriptors.copying.CopyPolicy
- * **
- * Class value();
- * }
+ * /*
+ * * (Required)
+ * * This defines the class of the copy policy. It must specify a class
+ * * that implements
+ * org.eclipse.persistence.descriptors.copying.CopyPolicy
+ * **
+ * Class value();
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Customizer.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Customizer.java
index 8c652f60..92302dce 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Customizer.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Customizer.java
@@ -15,27 +15,31 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * /**
- * * The Customizer annotation is used to specify a class that implements
- * * the org.eclipse.persistence.config.DescriptorCustomizer
- * * interface and is to run against an enetity's class descriptor after all
- * * metadata processing has been completed.
- * *
- * * The Customizer annotation may be defined on an Entity, MappedSuperclass
- * * or Embeddable class. In the case of inheritance, a Customizer is not
- * * inherited from its parent classes.
- * **
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface Customizer {
- * /**
- * * (Required) Defines the name of the descriptor customizer class that
- * * should be applied for the related entity or embeddable class.
- * **
- * Class value();
- * }
+ * /**
+ * * The Customizer annotation is used to specify a class that
+ * implements
+ * * the org.eclipse.persistence.config.DescriptorCustomizer
+ * * interface and is to run against an enetity's class descriptor after
+ * all
+ * * metadata processing has been completed.
+ * *
+ * * The Customizer annotation may be defined on an Entity,
+ * MappedSuperclass
+ * * or Embeddable class. In the case of inheritance, a Customizer is
+ * not
+ * * inherited from its parent classes.
+ * **
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface Customizer {
+ * /**
+ * * (Required) Defines the name of the descriptor customizer class that
+ * * should be applied for the related entity or embeddable class.
+ * **
+ * Class value();
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/DiscriminatorColumn.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/DiscriminatorColumn.java
index f7a88c9c..c846afdb 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/DiscriminatorColumn.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/DiscriminatorColumn.java
@@ -16,15 +16,15 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE}) @Retention(RUNTIME)
- * public @interface DiscriminatorColumn {
- * String name() default "DTYPE";
- * DiscriminatorType discriminatorType() default STRING;
- * String columnDefinition() default "";
- * int length() default 31;
- * }
+ * @Target({TYPE}) @Retention(RUNTIME)
+ * public @interface DiscriminatorColumn {
+ * String name() default "DTYPE";
+ * DiscriminatorType discriminatorType() default STRING;
+ * String columnDefinition() default "";
+ * int length() default 31;
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EclipselinkCollectionTable.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EclipselinkCollectionTable.java
index 527af129..1beb1fbb 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EclipselinkCollectionTable.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EclipselinkCollectionTable.java
@@ -18,50 +18,50 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface CollectionTable {
- * /**
- * * (Optional) The name of the collection table. If it is not
- * * specified, it is defaulted to the concatenation of the following:
- * * the name of the source entity; "_" ; the name of the relationship
- * * property or field of the source entity.
- * **
- * String name() default "";
+ * @Target({METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface CollectionTable {
+ * /**
+ * * (Optional) The name of the collection table. If it is not
+ * * specified, it is defaulted to the concatenation of the following:
+ * * the name of the source entity; "_" ; the name of the relationship
+ * * property or field of the source entity.
+ * **
+ * String name() default "";
*
- * /**
- * * (Optional) The catalog of the table. It defaults to the persistence
- * * unit default catalog.
- * **
- * String catalog() default "";
+ * /**
+ * * (Optional) The catalog of the table. It defaults to the persistence
+ * * unit default catalog.
+ * **
+ * String catalog() default "";
*
- * /**
- * * (Optional) The schema of the table. It defaults to the persistence
- * * unit default schema.
- * **
- * String schema() default "";
+ * /**
+ * * (Optional) The schema of the table. It defaults to the persistence
+ * * unit default schema.
+ * **
+ * String schema() default "";
*
- * /**
- * * (Optional) Used to specify a primary key column that is used as a
- * * foreign key to join to another table. If the source entity uses a
- * * composite primary key, a primary key join column must be specified
- * * for each field of the composite primary key. In a single primary
- * * key case, a primary key join column may optionally be specified.
- * * Defaulting will apply otherwise as follows:
- * * name, the same name as the primary key column of the primary table
- * * of the source entity. referencedColumnName, the same name of
- * * primary key column of the primary table of the source entity.
- * **
- * PrimaryKeyJoinColumn[] primaryKeyJoinColumns() default {};
- *
- * /**
- * * (Optional) Unique constraints that are to be placed on the table.
- * * These are only used if table generation is in effect.
- * **
- * UniqueConstraint[] uniqueConstraints() default {};
- * }
+ * /**
+ * * (Optional) Used to specify a primary key column that is used as a
+ * * foreign key to join to another table. If the source entity uses a
+ * * composite primary key, a primary key join column must be specified
+ * * for each field of the composite primary key. In a single primary
+ * * key case, a primary key join column may optionally be specified.
+ * * Defaulting will apply otherwise as follows:
+ * * name, the same name as the primary key column of the primary table
+ * * of the source entity. referencedColumnName, the same name of
+ * * primary key column of the primary table of the source entity.
+ * **
+ * PrimaryKeyJoinColumn[] primaryKeyJoinColumns() default {};
*
- *
+ * /**
+ * * (Optional) Unique constraints that are to be placed on the table.
+ * * These are only used if table generation is in effect.
+ * **
+ * UniqueConstraint[] uniqueConstraints() default {};
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
@@ -151,9 +151,11 @@ public interface EclipselinkCollectionTable extends BaseOrmAnnotation {
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Creation Suffix</em>' attribute.
+ * @see #isSetCreationSuffix()
+ * @see #unsetCreationSuffix()
* @see #setCreationSuffix(String)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getEclipselinkCollectionTable_CreationSuffix()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
* extendedMetaData="kind='attribute' name='creation-suffix'"
* @generated
*/
@@ -164,12 +166,37 @@ public interface EclipselinkCollectionTable extends BaseOrmAnnotation {
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Creation Suffix</em>' attribute.
+ * @see #isSetCreationSuffix()
+ * @see #unsetCreationSuffix()
* @see #getCreationSuffix()
* @generated
*/
void setCreationSuffix(String value);
/**
+ * Unsets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.EclipselinkCollectionTable#getCreationSuffix <em>Creation Suffix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetCreationSuffix()
+ * @see #getCreationSuffix()
+ * @see #setCreationSuffix(String)
+ * @generated
+ */
+ void unsetCreationSuffix();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.EclipselinkCollectionTable#getCreationSuffix <em>Creation Suffix</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Creation Suffix</em>' attribute is set.
+ * @see #unsetCreationSuffix()
+ * @see #getCreationSuffix()
+ * @see #setCreationSuffix(String)
+ * @generated
+ */
+ boolean isSetCreationSuffix();
+
+ /**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Embeddable.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Embeddable.java
index e2cb9e7f..73e99c32 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Embeddable.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Embeddable.java
@@ -17,17 +17,17 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * Defines the settings and mappings for embeddable objects. Is
- * allowed to be sparsely populated and used in conjunction with
- * the annotations. Alternatively, the metadata-complete attribute
- * can be used to indicate that no annotations are to be processed
- * in the class. If this is the case then the defaulting rules will
- * be recursively applied.
+ * Defines the settings and mappings for embeddable objects. Is
+ * allowed to be sparsely populated and used in conjunction with
+ * the annotations. Alternatively, the metadata-complete attribute
+ * can be used to indicate that no annotations are to be processed
+ * in the class. If this is the case then the defaulting rules will
+ * be recursively applied.
*
- * @Target({TYPE}) @Retention(RUNTIME)
- * public @interface Embeddable {}
+ * @Target({TYPE}) @Retention(RUNTIME)
+ * public @interface Embeddable {}
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Embedded.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Embedded.java
index 1297be1c..e5ca763f 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Embedded.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Embedded.java
@@ -17,10 +17,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface Embedded {}
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface Embedded {}
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EmbeddedId.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EmbeddedId.java
index 920bdefb..20c8e6ea 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EmbeddedId.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EmbeddedId.java
@@ -17,10 +17,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface EmbeddedId {}
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface EmbeddedId {}
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Entity.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Entity.java
index 3390fede..1f11a184 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Entity.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Entity.java
@@ -17,20 +17,20 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * Defines the settings and mappings for an entity. Is allowed to be
- * sparsely populated and used in conjunction with the annotations.
- * Alternatively, the metadata-complete attribute can be used to
- * indicate that no annotations on the entity class (and its fields
- * or properties) are to be processed. If this is the case then
- * the defaulting rules for the entity and its subelements will
- * be recursively applied.
+ * Defines the settings and mappings for an entity. Is allowed to be
+ * sparsely populated and used in conjunction with the annotations.
+ * Alternatively, the metadata-complete attribute can be used to
+ * indicate that no annotations on the entity class (and its fields
+ * or properties) are to be processed. If this is the case then
+ * the defaulting rules for the entity and its subelements will
+ * be recursively applied.
*
- * @Target(TYPE) @Retention(RUNTIME)
- * public @interface Entity {
- * String name() default "";
- * }
+ * @Target(TYPE) @Retention(RUNTIME)
+ * public @interface Entity {
+ * String name() default "";
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityListener.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityListener.java
index 1ecbd268..8b80580c 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityListener.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityListener.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * Defines an entity listener to be invoked at lifecycle events
- * for the entities that list this listener.
+ * Defines an entity listener to be invoked at lifecycle events
+ * for the entities that list this listener.
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityMappingsType.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityMappingsType.java
index ba4ed00d..6db06815 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityMappingsType.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityMappingsType.java
@@ -18,32 +18,33 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * The entity-mappings element is the root element of a mapping
- * file. It contains the following four types of elements:
+ * The entity-mappings element is the root element of a mapping
+ * file. It contains the following four types of elements:
*
- * 1. The persistence-unit-metadata element contains metadata
- * for the entire persistence unit. It is undefined if this element
- * occurs in multiple mapping files within the same persistence unit.
- *
- * 2. The package, schema, catalog and access elements apply to all of
- * the entity, mapped-superclass and embeddable elements defined in
- * the same file in which they occur.
+ * 1. The persistence-unit-metadata element contains metadata
+ * for the entire persistence unit. It is undefined if this element
+ * occurs in multiple mapping files within the same persistence unit.
*
- * 3. The sequence-generator, table-generator, named-query,
- * named-native-query and sql-result-set-mapping elements are global
- * to the persistence unit. It is undefined to have more than one
- * sequence-generator or table-generator of the same name in the same
- * or different mapping files in a persistence unit. It is also
- * undefined to have more than one named-query, named-native-query, or
- * result-set-mapping of the same name in the same or different mapping
- * files in a persistence unit.
+ * 2. The package, schema, catalog and access elements apply to all of
+ * the entity, mapped-superclass and embeddable elements defined in
+ * the same file in which they occur.
*
- * 4. The entity, mapped-superclass and embeddable elements each define
- * the mapping information for a managed persistent class. The mapping
- * information contained in these elements may be complete or it may
- * be partial.
+ * 3. The sequence-generator, table-generator, named-query,
+ * named-native-query and sql-result-set-mapping elements are global
+ * to the persistence unit. It is undefined to have more than one
+ * sequence-generator or table-generator of the same name in the same
+ * or different mapping files in a persistence unit. It is also
+ * undefined to have more than one named-query, named-native-query, or
+ * result-set-mapping of the same name in the same or different
+ * mapping
+ * files in a persistence unit.
*
- *
+ * 4. The entity, mapped-superclass and embeddable elements each define
+ * the mapping information for a managed persistent class. The mapping
+ * information contained in these elements may be complete or it may
+ * be partial.
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityResult.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityResult.java
index 0cf27f93..edfd724d 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityResult.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/EntityResult.java
@@ -17,14 +17,14 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({}) @Retention(RUNTIME)
- * public @interface EntityResult {
- * Class entityClass();
- * FieldResult[] fields() default {};
- * String discriminatorColumn() default "";
- * }
+ * @Target({}) @Retention(RUNTIME)
+ * public @interface EntityResult {
+ * Class entityClass();
+ * FieldResult[] fields() default {};
+ * String discriminatorColumn() default "";
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FetchAttribute.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FetchAttribute.java
index 250d1748..859a4602 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FetchAttribute.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FetchAttribute.java
@@ -16,16 +16,16 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface FetchAttribute {
- * /**
- * * (Required) The fetch attribute name.
- * **
- * String name();
- * }
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface FetchAttribute {
+ * /**
+ * * (Required) The fetch attribute name.
+ * **
+ * String name();
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FetchGroup.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FetchGroup.java
index a5e67d98..d429e85f 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FetchGroup.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FetchGroup.java
@@ -18,27 +18,27 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface FetchGroup {
- * /**
- * * (Required) The fetch group name.
- * **
- * String name();
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface FetchGroup {
+ * /**
+ * * (Required) The fetch group name.
+ * **
+ * String name();
*
- * /**
- * * (Optional) Indicates whether all relationship attributes
- * * specified in the fetch group should be loaded.
- * **
- * boolean load() default true;
+ * /**
+ * * (Optional) Indicates whether all relationship attributes
+ * * specified in the fetch group should be loaded.
+ * **
+ * boolean load() default true;
*
- * /**
- * * (Required) The list of attributes to fetch.
- * **
- * FetchAttribute[] attributes();
- * }
+ * /**
+ * * (Required) The list of attributes to fetch.
+ * **
+ * FetchAttribute[] attributes();
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FieldResult.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FieldResult.java
index 18329bb7..63900a2f 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FieldResult.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/FieldResult.java
@@ -15,13 +15,13 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({}) @Retention(RUNTIME)
- * public @interface FieldResult {
- * String name();
- * String column();
- * }
+ * @Target({}) @Retention(RUNTIME)
+ * public @interface FieldResult {
+ * String name();
+ * String column();
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/GeneratedValue.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/GeneratedValue.java
index 6fec57e2..fa45948a 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/GeneratedValue.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/GeneratedValue.java
@@ -15,13 +15,13 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface GeneratedValue {
- * GenerationType strategy() default AUTO;
- * String generator() default "";
- * }
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface GeneratedValue {
+ * GenerationType strategy() default AUTO;
+ * String generator() default "";
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/HashPartitioning.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/HashPartitioning.java
index 8169daa0..81181d6f 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/HashPartitioning.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/HashPartitioning.java
@@ -17,48 +17,57 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- *
- * /**
- * * HashPartitioning partitions access to a database cluster by the hash of a field value from the object,
- * * such as the object's location, or tenant.
- * * The hash indexes into the list of connection pools.
- * * All write or read request for object's with that hash value are sent to the server.
- * * If a query does not include the field as a parameter, then it can either be sent
- * * to all server's and unioned, or left to the sesion's default behavior.
- * *
- * * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
- * *
- * * @see org.eclipse.persistence.descriptors.partitioning.HashPartitioningPolicy
- * * @author James Sutherland
- * * @since EclipseLink 2.2
- * **
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface HashPartitioning {
- * String name();
- *
- * /**
- * * The database column or query parameter to partition queries by.
- * * This is the table column name, not the class attribute name.
- * * The column value must be included in the query and should normally be part of the object's Id.
- * * This can also be the name of a query parameter.
- * * If a query does not contain the field the query will not be partitioned.
- * **
- * Column partitionColumn();
- *
- * /**
- * * List of connection pool names to partition across.
- * **
- * String[] connectionPools();
- *
- * /**
- * * Defines if queries that do not contain the partition field should be sent
- * * to every database and have the result unioned.
- * **
- * boolean unionUnpartitionableQueries() default false;
- * }
*
- *
+ * /**
+ * * HashPartitioning partitions access to a database cluster by the
+ * hash of a field value from the object,
+ * * such as the object's location, or tenant.
+ * * The hash indexes into the list of connection pools.
+ * * All write or read request for object's with that hash value are
+ * sent to the server.
+ * * If a query does not include the field as a parameter, then it can
+ * either be sent
+ * * to all server's and unioned, or left to the sesion's default
+ * behavior.
+ * *
+ * * Partitioning can be enabled on an Entity, relationship, query, or
+ * session/persistence unit.
+ * *
+ * * @see
+ * org.eclipse.persistence.descriptors.partitioning.HashPartitioningPolicy
+ * * @author James Sutherland
+ * * @since EclipseLink 2.2
+ * **
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface HashPartitioning {
+ * String name();
+ *
+ * /**
+ * * The database column or query parameter to partition queries by.
+ * * This is the table column name, not the class attribute name.
+ * * The column value must be included in the query and should normally
+ * be part of the object's Id.
+ * * This can also be the name of a query parameter.
+ * * If a query does not contain the field the query will not be
+ * partitioned.
+ * **
+ * Column partitionColumn();
+ *
+ * /**
+ * * List of connection pool names to partition across.
+ * **
+ * String[] connectionPools();
+ *
+ * /**
+ * * Defines if queries that do not contain the partition field should
+ * be sent
+ * * to every database and have the result unioned.
+ * **
+ * boolean unionUnpartitionableQueries() default false;
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Id.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Id.java
index 23d9de70..fe28d3e8 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Id.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Id.java
@@ -17,10 +17,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface Id {}
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface Id {}
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/IdClass.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/IdClass.java
index 81b33b0a..14237d84 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/IdClass.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/IdClass.java
@@ -15,12 +15,12 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE}) @Retention(RUNTIME)
- * public @interface IdClass {
- * Class value();
- * }
+ * @Target({TYPE}) @Retention(RUNTIME)
+ * public @interface IdClass {
+ * Class value();
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Index.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Index.java
index d6d81243..f5f17204 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Index.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Index.java
@@ -18,39 +18,40 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * /**
- * * Allow a database INDEX to be define when generating DDL.
- * * The @Index can be defined on a Entity class, or on an attribute.
- * * The column is defaulted when defined on a attribute.
- * *
- * * @author James Sutherland
- * * @since EclipseLink 2.2
- * **
- * @Target({METHOD, FIELD, TYPE})
- * @Retention(RUNTIME)
- * public @interface Index {
- * /** The name of the INDEX, defaults to INDEX_(table-name) **
- * String name() default "";
- *
- * /** The schema of the INDEX **
- * String schema() default "";
- *
- * /** The catalog of the INDEX **
- * String catalog() default "";
- *
- * /** The table to define the index on, defaults to entities primary table. **
- * String table() default "";
- *
- * boolean unique() default false;
- *
- * /**
- * * Specify the set of columns to define the index on.
- * * Not required when annotated on a field/method.
- * **
- * String[] columnNames() default {};
- * }
+ * /**
+ * * Allow a database INDEX to be define when generating DDL.
+ * * The @Index can be defined on a Entity class, or on an attribute.
+ * * The column is defaulted when defined on a attribute.
+ * *
+ * * @author James Sutherland
+ * * @since EclipseLink 2.2
+ * **
+ * @Target({METHOD, FIELD, TYPE})
+ * @Retention(RUNTIME)
+ * public @interface Index {
+ * /** The name of the INDEX, defaults to INDEX_(table-name) **
+ * String name() default "";
*
- *
+ * /** The schema of the INDEX **
+ * String schema() default "";
+ *
+ * /** The catalog of the INDEX **
+ * String catalog() default "";
+ *
+ * /** The table to define the index on, defaults to entities primary
+ * table. **
+ * String table() default "";
+ *
+ * boolean unique() default false;
+ *
+ * /**
+ * * Specify the set of columns to define the index on.
+ * * Not required when annotated on a field/method.
+ * **
+ * String[] columnNames() default {};
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Inheritance.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Inheritance.java
index 3b88a67d..d8fd51be 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Inheritance.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Inheritance.java
@@ -15,12 +15,12 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE}) @Retention(RUNTIME)
- * public @interface Inheritance {
- * InheritanceType strategy() default SINGLE_TABLE;
- * }
+ * @Target({TYPE}) @Retention(RUNTIME)
+ * public @interface Inheritance {
+ * InheritanceType strategy() default SINGLE_TABLE;
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/InstantiationCopyPolicy.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/InstantiationCopyPolicy.java
index b6eb8409..6d71f899 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/InstantiationCopyPolicy.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/InstantiationCopyPolicy.java
@@ -15,23 +15,24 @@ import org.eclipse.emf.ecore.EObject;
*
* <!-- begin-model-doc -->
*
- * /**
- * * An InstantiationCopyPolicy is used to set an
- * * org.eclipse.persistence.descriptors.copying.InstantiationCopyPolicy
- * * on an Entity. InstantiationCopyPolicy is the default CopyPolicy in
- * * EclipseLink and therefore this configuration option is only used to
- * * override other types of copy policies
- * *
- * * An InstantiationCopyPolicy should be specified on an Entity,
- * * MappedSuperclass or Embeddable.
- * *
- * * Example:
- * * @Entity
- * * @InstantiationCopyPolicy
- * **
- * public @interface InstantiationCopyPolicy {
- * }
- *
+ * /**
+ * * An InstantiationCopyPolicy is used to set an
+ * * org.eclipse.persistence.descriptors.copying.InstantiationCopyPolicy
+ * * on an Entity. InstantiationCopyPolicy is the default CopyPolicy in
+ * * EclipseLink and therefore this configuration option is only used
+ * to
+ * * override other types of copy policies
+ * *
+ * * An InstantiationCopyPolicy should be specified on an Entity,
+ * * MappedSuperclass or Embeddable.
+ * *
+ * * Example:
+ * * @Entity
+ * * @InstantiationCopyPolicy
+ * **
+ * public @interface InstantiationCopyPolicy {
+ * }
+ *
* <!-- end-model-doc -->
*
*
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/JoinColumn.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/JoinColumn.java
index 792fa433..f99a025a 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/JoinColumn.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/JoinColumn.java
@@ -15,19 +15,19 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface JoinColumn {
- * String name() default "";
- * String referencedColumnName() default "";
- * boolean unique() default false;
- * boolean nullable() default true;
- * boolean insertable() default true;
- * boolean updatable() default true;
- * String columnDefinition() default "";
- * String table() default "";
- * }
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface JoinColumn {
+ * String name() default "";
+ * String referencedColumnName() default "";
+ * boolean unique() default false;
+ * boolean nullable() default true;
+ * boolean insertable() default true;
+ * boolean updatable() default true;
+ * String columnDefinition() default "";
+ * String table() default "";
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/JoinTable.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/JoinTable.java
index d74389bc..6ac691c4 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/JoinTable.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/JoinTable.java
@@ -17,17 +17,17 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface JoinTable {
- * String name() default "";
- * String catalog() default "";
- * String schema() default "";
- * JoinColumn[] joinColumns() default {};
- * JoinColumn[] inverseJoinColumns() default {};
- * UniqueConstraint[] uniqueConstraints() default {};
- * }
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface JoinTable {
+ * String name() default "";
+ * String catalog() default "";
+ * String schema() default "";
+ * JoinColumn[] joinColumns() default {};
+ * JoinColumn[] inverseJoinColumns() default {};
+ * UniqueConstraint[] uniqueConstraints() default {};
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
@@ -135,9 +135,11 @@ public interface JoinTable extends BaseOrmAnnotation {
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Creation Suffix</em>' attribute.
+ * @see #isSetCreationSuffix()
+ * @see #unsetCreationSuffix()
* @see #setCreationSuffix(String)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getJoinTable_CreationSuffix()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
* extendedMetaData="kind='attribute' name='creation-suffix'"
* @generated
*/
@@ -148,12 +150,37 @@ public interface JoinTable extends BaseOrmAnnotation {
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Creation Suffix</em>' attribute.
+ * @see #isSetCreationSuffix()
+ * @see #unsetCreationSuffix()
* @see #getCreationSuffix()
* @generated
*/
void setCreationSuffix(String value);
/**
+ * Unsets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.JoinTable#getCreationSuffix <em>Creation Suffix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetCreationSuffix()
+ * @see #getCreationSuffix()
+ * @see #setCreationSuffix(String)
+ * @generated
+ */
+ void unsetCreationSuffix();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.JoinTable#getCreationSuffix <em>Creation Suffix</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Creation Suffix</em>' attribute is set.
+ * @see #unsetCreationSuffix()
+ * @see #getCreationSuffix()
+ * @see #setCreationSuffix(String)
+ * @generated
+ */
+ boolean isSetCreationSuffix();
+
+ /**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Lob.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Lob.java
index c12a169e..ef112831 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Lob.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Lob.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface Lob {}
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface Lob {}
*
- *
+ *
* <!-- end-model-doc -->
*
*
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ManyToMany.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ManyToMany.java
index 809f5249..a606de85 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ManyToMany.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ManyToMany.java
@@ -17,15 +17,15 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface ManyToMany {
- * Class targetEntity() default void.class;
- * CascadeType[] cascade() default {};
- * FetchType fetch() default LAZY;
- * String mappedBy() default "";
- * }
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface ManyToMany {
+ * Class targetEntity() default void.class;
+ * CascadeType[] cascade() default {};
+ * FetchType fetch() default LAZY;
+ * String mappedBy() default "";
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ManyToOne.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ManyToOne.java
index 6d100a24..5113d706 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ManyToOne.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ManyToOne.java
@@ -17,15 +17,15 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface ManyToOne {
- * Class targetEntity() default void.class;
- * CascadeType[] cascade() default {};
- * FetchType fetch() default EAGER;
- * boolean optional() default true;
- * }
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface ManyToOne {
+ * Class targetEntity() default void.class;
+ * CascadeType[] cascade() default {};
+ * FetchType fetch() default EAGER;
+ * boolean optional() default true;
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKey.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKey.java
index 3aabf0db..de7b89f0 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKey.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKey.java
@@ -15,12 +15,12 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface MapKey {
- * String name() default "";
- * }
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface MapKey {
+ * String name() default "";
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKeyClass.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKeyClass.java
index c6818c67..844ca0c6 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKeyClass.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKeyClass.java
@@ -15,12 +15,12 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface MapKeyClass {
- * Class value();
- * }
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface MapKeyClass {
+ * Class value();
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKeyColumn.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKeyColumn.java
index aba08c03..ec0f4e5f 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKeyColumn.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MapKeyColumn.java
@@ -15,21 +15,21 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface MapKeyColumn {
- * String name() default "";
- * boolean unique() default false;
- * boolean nullable() default false;
- * boolean insertable() default true;
- * boolean updatable() default true;
- * String columnDefinition() default "";
- * String table() default "";
- * int length() default 255;
- * int precision() default 0; // decimal precision
- * int scale() default 0; // decimal scale
- * }
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface MapKeyColumn {
+ * String name() default "";
+ * boolean unique() default false;
+ * boolean nullable() default false;
+ * boolean insertable() default true;
+ * boolean updatable() default true;
+ * String columnDefinition() default "";
+ * String table() default "";
+ * int length() default 255;
+ * int precision() default 0; // decimal precision
+ * int scale() default 0; // decimal scale
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Multitenant.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Multitenant.java
index 18bd236c..e71b8517 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Multitenant.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Multitenant.java
@@ -17,17 +17,17 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- *
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface Multitenant {
- * /**
- * * (Optional) Specify the multi-tenant strategy to use.
- * **
- * MultitenantType value() default MultitenantType.SINGLE_TABLE;
- * }
- *
- *
+ *
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface Multitenant {
+ * /**
+ * * (Optional) Specify the multi-tenant strategy to use.
+ * **
+ * MultitenantType value() default MultitenantType.SINGLE_TABLE;
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MultitenantType.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MultitenantType.java
index 64b26756..355a27cf 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MultitenantType.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/MultitenantType.java
@@ -20,22 +20,25 @@ import org.eclipse.emf.common.util.Enumerator;
* <!-- begin-model-doc -->
*
*
- * public enum MultitenantType {
- * /**
- * * Specifies that table(s) the entity maps to includes rows for multiple
- * * tenants. The tenant discriminator column(s) are used with application
- * * context values to limit what a persistence context can access.
- * **
- * SINGLE_TABLE,
+ * public enum MultitenantType {
+ * /**
+ * * Specifies that table(s) the entity maps to includes rows for
+ * multiple
+ * * tenants. The tenant discriminator column(s) are used with
+ * application
+ * * context values to limit what a persistence context can access.
+ * **
+ * SINGLE_TABLE,
*
- * /**
- * * Specifies that different tables are used for each tenant. The table scan
- * * be uniquely identified by name, schema/tablespace.
- * **
- * TABLE_PER_TENANT
- * }
+ * /**
+ * * Specifies that different tables are used for each tenant. The table
+ * scan
+ * * be uniquely identified by name, schema/tablespace.
+ * **
+ * TABLE_PER_TENANT
+ * }
*
- *
+ *
* <!-- end-model-doc -->
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getMultitenantType()
* @model extendedMetaData="name='multitenant-type'"
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedPlsqlStoredFunctionQuery.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedPlsqlStoredFunctionQuery.java
index 3fa7346e..6ac27411 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedPlsqlStoredFunctionQuery.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedPlsqlStoredFunctionQuery.java
@@ -18,53 +18,56 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * /**
- * * A NamedPLSQLStoredFunctionQuery annotation allows the definition of queries that
- * * call PLSQL stored functions as named queries.
- * * The PLSQL support adds support for complex PLSQL types such as RECORD and TABLE types,
- * * that are not accessible from JDBC.
- * *
- * * A NamedPLSQLStoredFunctionQuery annotation may be defined on an Entity or
- * * MappedSuperclass.
- * *
- * * @author James Sutherland
- * * @since EclipseLink 2.3
- * **
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface NamedPLSQLStoredFunctionQuery {
- * /**
- * * (Required) Unique name that references this stored procedure query.
- * **
- * String name();
- *
- * /**
- * * (Optional) Query hints.
- * **
- * QueryHint[] hints() default {};
- *
- * /**
- * * (Optional) The name of the SQLResultMapping.
- * **
- * String resultSetMapping() default "";
- *
- * /**
- * * (Required) The name of the stored procedure.
- * **
- * String functionName();
- *
- * /**
- * * (Optional) Defines the parameters to the stored procedure.
- * **
- * PLSQLParameter[] parameters() default {};
- *
- * /**
- * * (Required) Defines the return value of the stored function.
- * **
- * PLSQLParameter returnParameter();
- * }
+ * /**
+ * * A NamedPLSQLStoredFunctionQuery annotation allows the definition of
+ * queries that
+ * * call PLSQL stored functions as named queries.
+ * * The PLSQL support adds support for complex PLSQL types such as
+ * RECORD and TABLE types,
+ * * that are not accessible from JDBC.
+ * *
+ * * A NamedPLSQLStoredFunctionQuery annotation may be defined on an
+ * Entity or
+ * * MappedSuperclass.
+ * *
+ * * @author James Sutherland
+ * * @since EclipseLink 2.3
+ * **
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface NamedPLSQLStoredFunctionQuery {
+ * /**
+ * * (Required) Unique name that references this stored procedure query.
+ * **
+ * String name();
*
- *
+ * /**
+ * * (Optional) Query hints.
+ * **
+ * QueryHint[] hints() default {};
+ *
+ * /**
+ * * (Optional) The name of the SQLResultMapping.
+ * **
+ * String resultSetMapping() default "";
+ *
+ * /**
+ * * (Required) The name of the stored procedure.
+ * **
+ * String functionName();
+ *
+ * /**
+ * * (Optional) Defines the parameters to the stored procedure.
+ * **
+ * PLSQLParameter[] parameters() default {};
+ *
+ * /**
+ * * (Required) Defines the return value of the stored function.
+ * **
+ * PLSQLParameter returnParameter();
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedPlsqlStoredProcedureQuery.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedPlsqlStoredProcedureQuery.java
index ef6f37e8..9cb7fe60 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedPlsqlStoredProcedureQuery.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedPlsqlStoredProcedureQuery.java
@@ -18,53 +18,56 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * /**
- * * A PLSQLNamedStoredProcedureQuery annotation allows the definition of queries that
- * * call PLSQL stored procedures as named queries.
- * * The PLSQL support adds support for complex PLSQL types such as RECORD and TABLE types,
- * * that are not accessible from JDBC.
- * *
- * * A PLSQLNamedStoredProcedureQuery annotation may be defined on an Entity or
- * * MappedSuperclass.
- * *
- * * @author James Sutherland
- * * @since EclipseLink 2.3
- * **
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface NamedPLSQLStoredProcedureQuery {
- * /**
- * * (Required) Unique name that references this stored procedure query.
- * **
- * String name();
- *
- * /**
- * * (Optional) Query hints.
- * **
- * QueryHint[] hints() default {};
- *
- * /**
- * * (Optional) Refers to the class of the result.
- * **
- * Class resultClass() default void.class;
- *
- * /**
- * * (Optional) The name of the SQLResultMapping.
- * **
- * String resultSetMapping() default "";
- *
- * /**
- * * (Required) The name of the stored procedure.
- * **
- * String procedureName();
- *
- * /**
- * * (Optional) Defines the parameters to the stored procedure.
- * **
- * PLSQLParameter[] parameters() default {};
- * }
+ * /**
+ * * A PLSQLNamedStoredProcedureQuery annotation allows the definition
+ * of queries that
+ * * call PLSQL stored procedures as named queries.
+ * * The PLSQL support adds support for complex PLSQL types such as
+ * RECORD and TABLE types,
+ * * that are not accessible from JDBC.
+ * *
+ * * A PLSQLNamedStoredProcedureQuery annotation may be defined on an
+ * Entity or
+ * * MappedSuperclass.
+ * *
+ * * @author James Sutherland
+ * * @since EclipseLink 2.3
+ * **
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface NamedPLSQLStoredProcedureQuery {
+ * /**
+ * * (Required) Unique name that references this stored procedure query.
+ * **
+ * String name();
*
- *
+ * /**
+ * * (Optional) Query hints.
+ * **
+ * QueryHint[] hints() default {};
+ *
+ * /**
+ * * (Optional) Refers to the class of the result.
+ * **
+ * Class resultClass() default void.class;
+ *
+ * /**
+ * * (Optional) The name of the SQLResultMapping.
+ * **
+ * String resultSetMapping() default "";
+ *
+ * /**
+ * * (Required) The name of the stored procedure.
+ * **
+ * String procedureName();
+ *
+ * /**
+ * * (Optional) Defines the parameters to the stored procedure.
+ * **
+ * PLSQLParameter[] parameters() default {};
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedQuery.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedQuery.java
index f125575f..429b5b68 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedQuery.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedQuery.java
@@ -17,15 +17,15 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE}) @Retention(RUNTIME)
- * public @interface NamedQuery {
- * String name();
- * String query();
- * LockModeType lockMode() default NONE;
- * QueryHint[] hints() default {};
- * }
+ * @Target({TYPE}) @Retention(RUNTIME)
+ * public @interface NamedQuery {
+ * String name();
+ * String query();
+ * LockModeType lockMode() default NONE;
+ * QueryHint[] hints() default {};
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedStoredFunctionQuery.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedStoredFunctionQuery.java
index 0408126b..08396340 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedStoredFunctionQuery.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedStoredFunctionQuery.java
@@ -18,54 +18,58 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * /**
- * * A NamedStoredFunctionQuery annotation allows the definition of
- * * queries that call stored function as named queries.
- * * A NamedStoredFunctionQuery annotation may be defined on an Entity or
- * * MappedSuperclass.
- * **
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface NamedStoredFunctionQuery {
- * /**
- * * (Required) Unique name that references this stored procedure query.
- * **
- * String name();
+ * /**
+ * * A NamedStoredFunctionQuery annotation allows the definition of
+ * * queries that call stored function as named queries.
+ * * A NamedStoredFunctionQuery annotation may be defined on an Entity
+ * or
+ * * MappedSuperclass.
+ * **
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface NamedStoredFunctionQuery {
+ * /**
+ * * (Required) Unique name that references this stored procedure query.
+ * **
+ * String name();
*
- * /**
- * * (Optional) Query hints.
- * **
- * QueryHint[] hints() default {};
+ * /**
+ * * (Optional) Query hints.
+ * **
+ * QueryHint[] hints() default {};
*
- * /**
- * * (Optional) The name of the SQLResultMapping.
- * **
- * String resultSetMapping() default "";
+ * /**
+ * * (Optional) The name of the SQLResultMapping.
+ * **
+ * String resultSetMapping() default "";
*
- * /**
- * * (Required) The name of the stored procedure.
- * **
- * String functionName();
- *
- * /**
- * * (Optional) Defines if the stored procedure should be called by index or by name.
- * * By index requires that the StoredProcedureParameter are defined in the same order as the procedure on the database.
- * * By name requires the database platform support naming procedure parameters.
- * **
- * boolean callByIndex() default false;
- *
- * /**
- * * (Optional) Defines arguments to the stored procedure.
- * **
- * StoredProcedureParameter[] parameters() default {};
- *
- * /**
- * * (Required) Defines return of the stored function.
- * **
- * StoredProcedureParameter[] returnParameter();
- * }
+ * /**
+ * * (Required) The name of the stored procedure.
+ * **
+ * String functionName();
*
- *
+ * /**
+ * * (Optional) Defines if the stored procedure should be called by
+ * index or by name.
+ * * By index requires that the StoredProcedureParameter are defined in
+ * the same order as the procedure on the database.
+ * * By name requires the database platform support naming procedure
+ * parameters.
+ * **
+ * boolean callByIndex() default false;
+ *
+ * /**
+ * * (Optional) Defines arguments to the stored procedure.
+ * **
+ * StoredProcedureParameter[] parameters() default {};
+ *
+ * /**
+ * * (Required) Defines return of the stored function.
+ * **
+ * StoredProcedureParameter[] returnParameter();
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedStoredProcedureQuery.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedStoredProcedureQuery.java
index 82e932ce..47cebb56 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedStoredProcedureQuery.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/NamedStoredProcedureQuery.java
@@ -18,65 +18,71 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * /**
- * * A NamedStoredProcedureQuery annotation allows the definition of
- * * queries that call stored procedures as named queries.
- * * A NamedStoredProcedureQuery annotation may be defined on an Entity or
- * * MappedSuperclass.
- * **
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface NamedStoredProcedureQuery {
- * /**
- * * (Required) Unique name that references this stored procedure query.
- * **
- * String name();
+ * /**
+ * * A NamedStoredProcedureQuery annotation allows the definition of
+ * * queries that call stored procedures as named queries.
+ * * A NamedStoredProcedureQuery annotation may be defined on an Entity
+ * or
+ * * MappedSuperclass.
+ * **
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface NamedStoredProcedureQuery {
+ * /**
+ * * (Required) Unique name that references this stored procedure query.
+ * **
+ * String name();
*
- * /**
- * * (Optional) Query hints.
- * **
- * QueryHint[] hints() default {};
+ * /**
+ * * (Optional) Query hints.
+ * **
+ * QueryHint[] hints() default {};
*
- * /**
- * * (Optional) Refers to the class of the result.
- * **
- * Class resultClass() default void.class;
+ * /**
+ * * (Optional) Refers to the class of the result.
+ * **
+ * Class resultClass() default void.class;
*
- * /**
- * * (Optional) The name of the SQLResultMapping.
- * **
- * String resultSetMapping() default "";
+ * /**
+ * * (Optional) The name of the SQLResultMapping.
+ * **
+ * String resultSetMapping() default "";
*
- * /**
- * * (Required) The name of the stored procedure.
- * **
- * String procedureName();
+ * /**
+ * * (Required) The name of the stored procedure.
+ * **
+ * String procedureName();
*
- * /**
- * * (Optional) Whether the query should return a result set.
- * **
- * boolean returnsResultSet() default true;
+ * /**
+ * * (Optional) Whether the query should return a result set.
+ * **
+ * boolean returnsResultSet() default true;
*
- * /**
- * * (Optional) Defines if the stored procedure returns multiple result sets.
- * * This is only relevant on databases that support multiple result sets from stored procedures.
- * **
- * boolean multipleResultSets() default false;
- *
- * /**
- * * (Optional) Defines if the stored procedure should be called by index or by name.
- * * By index requires that the StoredProcedureParameter are defined in the same order as the procedure on the database.
- * * By name requires the database platform support naming procedure parameters.
- * **
- * boolean callByIndex() default false;
- *
- * /**
- * * (Optional) Defines arguments to the stored procedure.
- * **
- * StoredProcedureParameter[] parameters() default {};
- * }
+ * /**
+ * * (Optional) Defines if the stored procedure returns multiple result
+ * sets.
+ * * This is only relevant on databases that support multiple result
+ * sets from stored procedures.
+ * **
+ * boolean multipleResultSets() default false;
*
- *
+ * /**
+ * * (Optional) Defines if the stored procedure should be called by
+ * index or by name.
+ * * By index requires that the StoredProcedureParameter are defined in
+ * the same order as the procedure on the database.
+ * * By name requires the database platform support naming procedure
+ * parameters.
+ * **
+ * boolean callByIndex() default false;
+ *
+ * /**
+ * * (Optional) Defines arguments to the stored procedure.
+ * **
+ * StoredProcedureParameter[] parameters() default {};
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ObjectTypeConverter.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ObjectTypeConverter.java
index caecc8c7..3399dfd1 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ObjectTypeConverter.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ObjectTypeConverter.java
@@ -18,43 +18,43 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface ObjectTypeConverter {
- * /**
- * * (Required) Name this converter. The name should be unique
- * * across the whole persistence unit.
- * **
- * String name();
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface ObjectTypeConverter {
+ * /**
+ * * (Required) Name this converter. The name should be unique
+ * * across the whole persistence unit.
+ * **
+ * String name();
*
- * /**
- * * (Optional) Specify the type stored on the database. The
- * * default is inferred from the type of the persistence
- * * field or property.
- * **
- * Class dataType() default void.class;
+ * /**
+ * * (Optional) Specify the type stored on the database. The
+ * * default is inferred from the type of the persistence
+ * * field or property.
+ * **
+ * Class dataType() default void.class;
*
- * /**
- * * (Optional) Specify the type stored on the entity. The
- * * default is inferred from the type of the persistent
- * * field or property.
- * **
- * Class objectType() default void.class;
+ * /**
+ * * (Optional) Specify the type stored on the entity. The
+ * * default is inferred from the type of the persistent
+ * * field or property.
+ * **
+ * Class objectType() default void.class;
*
- * /**
- * * (Required) Specify the conversion values to be used
- * * with the object converter.
- * **
- * ConversionValue[] conversionValues();
+ * /**
+ * * (Required) Specify the conversion values to be used
+ * * with the object converter.
+ * **
+ * ConversionValue[] conversionValues();
*
- * /**
- * * (Optional) Specify a default object value. Used for
- * * legacy data if the data value is missing.
- * **
- * String defaultObjectValue() default "";
- * }
+ * /**
+ * * (Optional) Specify a default object value. Used for
+ * * legacy data if the data value is missing.
+ * **
+ * String defaultObjectValue() default "";
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OneToMany.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OneToMany.java
index c7dbb5f5..e0844579 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OneToMany.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OneToMany.java
@@ -17,15 +17,15 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface OneToMany {
- * Class targetEntity() default void.class;
- * CascadeType[] cascade() default {};
- * FetchType fetch() default LAZY;
- * String mappedBy() default "";
- * }
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface OneToMany {
+ * Class targetEntity() default void.class;
+ * CascadeType[] cascade() default {};
+ * FetchType fetch() default LAZY;
+ * String mappedBy() default "";
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OneToOne.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OneToOne.java
index 7f084cab..4c51726d 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OneToOne.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OneToOne.java
@@ -17,17 +17,17 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface OneToOne {
- * Class targetEntity() default void.class;
- * CascadeType[] cascade() default {};
- * FetchType fetch() default EAGER;
- * boolean optional() default true;
- * String mappedBy() default "";
- * boolean orphanRemoval() default false;
- * }
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface OneToOne {
+ * Class targetEntity() default void.class;
+ * CascadeType[] cascade() default {};
+ * FetchType fetch() default EAGER;
+ * boolean optional() default true;
+ * String mappedBy() default "";
+ * boolean orphanRemoval() default false;
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OrderColumn.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OrderColumn.java
index 7b2eefa2..034b3335 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OrderColumn.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/OrderColumn.java
@@ -15,16 +15,16 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface OrderColumn {
- * String name() default "";
- * boolean nullable() default true;
- * boolean insertable() default true;
- * boolean updatable() default true;
- * String columnDefinition() default "";
- * }
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface OrderColumn {
+ * String name() default "";
+ * boolean nullable() default true;
+ * boolean insertable() default true;
+ * boolean updatable() default true;
+ * String columnDefinition() default "";
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Partitioning.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Partitioning.java
index 2df72ce7..d9773783 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Partitioning.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Partitioning.java
@@ -15,36 +15,43 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- *
- * /**
- * * A Partitioning is used to partition the data for a class across multiple difference databases
- * * or across a database cluster such as Oracle RAC.
- * * Partitioning can provide improved scalability by allowing multiple database machines to service requests.
- * * This annotation configures a custom PartitioningPolicy.
- * *
- * * If multiple partitions are used to process a single transaction, JTA should be used for proper XA transaction support.
- * *
- * * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
- * * Partition policies are globally named to allow reuse,
- * * the partitioning policy must also be set using the @Partitioned annotation to be used.
- * *
- * * @see Partitioned
- * * @see org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
- * * @author James Sutherland
- * * @since EclipseLink 2.2
- * **
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface Partitioning {
- * String name();
- *
- * /**
- * * (Required) Full package.class name of a subclass of PartitioningPolicy.
- * **
- * Class partitioningClass();
- * }
*
- *
+ * /**
+ * * A Partitioning is used to partition the data for a class across
+ * multiple difference databases
+ * * or across a database cluster such as Oracle RAC.
+ * * Partitioning can provide improved scalability by allowing multiple
+ * database machines to service requests.
+ * * This annotation configures a custom PartitioningPolicy.
+ * *
+ * * If multiple partitions are used to process a single transaction,
+ * JTA should be used for proper XA transaction support.
+ * *
+ * * Partitioning can be enabled on an Entity, relationship, query, or
+ * session/persistence unit.
+ * * Partition policies are globally named to allow reuse,
+ * * the partitioning policy must also be set using the @Partitioned
+ * annotation to be used.
+ * *
+ * * @see Partitioned
+ * * @see
+ * org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
+ * * @author James Sutherland
+ * * @since EclipseLink 2.2
+ * **
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface Partitioning {
+ * String name();
+ *
+ * /**
+ * * (Required) Full package.class name of a subclass of
+ * PartitioningPolicy.
+ * **
+ * Class partitioningClass();
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PersistenceUnitDefaults.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PersistenceUnitDefaults.java
index 49e67f29..ca9c6e41 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PersistenceUnitDefaults.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PersistenceUnitDefaults.java
@@ -17,26 +17,26 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * These defaults are applied to the persistence unit as a whole
- * unless they are overridden by local annotation or XML
- * element settings.
- *
- * schema - Used as the schema for all tables, secondary tables, join
- * tables, collection tables, sequence generators, and table
- * generators that apply to the persistence unit
- * catalog - Used as the catalog for all tables, secondary tables, join
- * tables, collection tables, sequence generators, and table
- * generators that apply to the persistence unit
- * delimited-identifiers - Used to treat database identifiers as
- * delimited identifiers.
- * access - Used as the access type for all managed classes in
- * the persistence unit
- * cascade-persist - Adds cascade-persist to the set of cascade options
- * in all entity relationships of the persistence unit
- * entity-listeners - List of default entity listeners to be invoked
- * on each entity in the persistence unit.
+ * These defaults are applied to the persistence unit as a whole
+ * unless they are overridden by local annotation or XML
+ * element settings.
*
- *
+ * schema - Used as the schema for all tables, secondary tables, join
+ * tables, collection tables, sequence generators, and table
+ * generators that apply to the persistence unit
+ * catalog - Used as the catalog for all tables, secondary tables, join
+ * tables, collection tables, sequence generators, and table
+ * generators that apply to the persistence unit
+ * delimited-identifiers - Used to treat database identifiers as
+ * delimited identifiers.
+ * access - Used as the access type for all managed classes in
+ * the persistence unit
+ * cascade-persist - Adds cascade-persist to the set of cascade options
+ * in all entity relationships of the persistence unit
+ * entity-listeners - List of default entity listeners to be invoked
+ * on each entity in the persistence unit.
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PersistenceUnitMetadata.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PersistenceUnitMetadata.java
index 1865876d..038b8535 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PersistenceUnitMetadata.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PersistenceUnitMetadata.java
@@ -16,14 +16,14 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * Metadata that applies to the persistence unit and not just to
- * the mapping file in which it is contained.
+ * Metadata that applies to the persistence unit and not just to
+ * the mapping file in which it is contained.
*
- * If the xml-mapping-metadata-complete element is specified,
- * the complete set of mapping metadata for the persistence unit
- * is contained in the XML mapping files for the persistence unit.
+ * If the xml-mapping-metadata-complete element is specified,
+ * the complete set of mapping metadata for the persistence unit
+ * is contained in the XML mapping files for the persistence unit.
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PinnedPartitioning.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PinnedPartitioning.java
index 049767f1..ecd35bd6 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PinnedPartitioning.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PinnedPartitioning.java
@@ -15,28 +15,30 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- *
- * /**
- * * PinnedPartitioning pins requests to a single connection pool.
- * *
- * * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
- * *
- * * @see org.eclipse.persistence.descriptors.partitioning.PinnedPartitioningPolicy
- * * @author James Sutherland
- * * @since EclipseLink 2.2
- * **
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface PinnedPartitioning {
- * String name();
- *
- * /**
- * * The connection pool name to pin queries to.
- * **
- * String connectionPool();
- * }
*
- *
+ * /**
+ * * PinnedPartitioning pins requests to a single connection pool.
+ * *
+ * * Partitioning can be enabled on an Entity, relationship, query, or
+ * session/persistence unit.
+ * *
+ * * @see
+ * org.eclipse.persistence.descriptors.partitioning.PinnedPartitioningPolicy
+ * * @author James Sutherland
+ * * @since EclipseLink 2.2
+ * **
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface PinnedPartitioning {
+ * String name();
+ *
+ * /**
+ * * The connection pool name to pin queries to.
+ * **
+ * String connectionPool();
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlParameter.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlParameter.java
index e968f966..b850457f 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlParameter.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlParameter.java
@@ -18,65 +18,67 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * /**
- * * A PLSQLParameter annotation is used within a
- * * NamedPLSQLStoredProcedureQuery or PLSQLRecord annotation.
- * *
- * * @see NamedPLSQLStoredProcedureQuery
- * * @see PLSQLRecord
- * * @author James Sutherland
- * * @since EclipseLink 2.3
- * **
- * @Target({})
- * @Retention(RUNTIME)
- * public @interface PLSQLParameter {
- * /**
- * * (Optional) The direction of the stored procedure parameter.
- * **
- * Direction direction() default IN;
- *
- * /**
- * * (Required) Stored procedure parameter name.
- * **
- * String name() default "";
- *
- * /**
- * * (Optional) The query parameter name.
- * **
- * String queryParameter();
- *
- * /**
- * * (Optional) Define if the parameter is required, or optional and defaulted by the procedure.
- * **
- * boolean optional() default false;
- *
- * /**
- * * (Optional) The database data-type for the paramter.
- * * This either one of the type constants defined in OraclePLSQLTypes, or JDBCTypes,
- * * or a custom record or table type name.
- * * @see PLSQLRecord
- * * @see OraclePLSQLTypes
- * * @see JDBCTypes
- * **
- * String databaseType() default "VARCHAR";
- *
- * /**
- * * (Optional) The max length of the field value.
- * **
- * int length() default 255;
- *
- * /**
- * * (Optional) If a numeric, the max scale value.
- * **
- * int scale() default 0;
- *
- * /**
- * * (Optional) If a numeric, the max precision value.
- * **
- * int precision() default 0;
- * }
+ * /**
+ * * A PLSQLParameter annotation is used within a
+ * * NamedPLSQLStoredProcedureQuery or PLSQLRecord annotation.
+ * *
+ * * @see NamedPLSQLStoredProcedureQuery
+ * * @see PLSQLRecord
+ * * @author James Sutherland
+ * * @since EclipseLink 2.3
+ * **
+ * @Target({})
+ * @Retention(RUNTIME)
+ * public @interface PLSQLParameter {
+ * /**
+ * * (Optional) The direction of the stored procedure parameter.
+ * **
+ * Direction direction() default IN;
*
- *
+ * /**
+ * * (Required) Stored procedure parameter name.
+ * **
+ * String name() default "";
+ *
+ * /**
+ * * (Optional) The query parameter name.
+ * **
+ * String queryParameter();
+ *
+ * /**
+ * * (Optional) Define if the parameter is required, or optional and
+ * defaulted by the procedure.
+ * **
+ * boolean optional() default false;
+ *
+ * /**
+ * * (Optional) The database data-type for the paramter.
+ * * This either one of the type constants defined in OraclePLSQLTypes,
+ * or JDBCTypes,
+ * * or a custom record or table type name.
+ * * @see PLSQLRecord
+ * * @see OraclePLSQLTypes
+ * * @see JDBCTypes
+ * **
+ * String databaseType() default "VARCHAR";
+ *
+ * /**
+ * * (Optional) The max length of the field value.
+ * **
+ * int length() default 255;
+ *
+ * /**
+ * * (Optional) If a numeric, the max scale value.
+ * **
+ * int scale() default 0;
+ *
+ * /**
+ * * (Optional) If a numeric, the max precision value.
+ * **
+ * int precision() default 0;
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlRecord.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlRecord.java
index 9bc73393..99f65f3e 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlRecord.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlRecord.java
@@ -18,42 +18,45 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * /**
- * * A PLSQLRecord annotation is used to define a database PLSQL RECORD type.
- * * This type can be used within PLSQL procedure calls.
- * *
- * * @see NamedPLSQLStoredProcedureQuery
- * * @author James Sutherland
- * * @since EclipseLink 2.3
- * **
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface PLSQLRecord {
- *
- * /**
- * * (Required) The name of the record type in the database.
- * **
- * String name();
- *
- * /**
- * * (Required) The name of the database OBJECT TYPE that mirrors the record's structure.
- * * The record will be converted to/from this type so it can be passed through JDBC.
- * **
- * String compatibleType();
- *
- * /**
- * * (Optional) The Java class to map the object-type to.
- * * This class must be mapped using a @Struct annotation.
- * **
- * Class javaType() default void.class;
- *
- * /**
- * * (Required) Defines the fields in the record type.
- * **
- * PLSQLParameter[] fields();
- * }
+ * /**
+ * * A PLSQLRecord annotation is used to define a database PLSQL RECORD
+ * type.
+ * * This type can be used within PLSQL procedure calls.
+ * *
+ * * @see NamedPLSQLStoredProcedureQuery
+ * * @author James Sutherland
+ * * @since EclipseLink 2.3
+ * **
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface PLSQLRecord {
*
- *
+ * /**
+ * * (Required) The name of the record type in the database.
+ * **
+ * String name();
+ *
+ * /**
+ * * (Required) The name of the database OBJECT TYPE that mirrors the
+ * record's structure.
+ * * The record will be converted to/from this type so it can be passed
+ * through JDBC.
+ * **
+ * String compatibleType();
+ *
+ * /**
+ * * (Optional) The Java class to map the object-type to.
+ * * This class must be mapped using a @Struct annotation.
+ * **
+ * Class javaType() default void.class;
+ *
+ * /**
+ * * (Required) Defines the fields in the record type.
+ * **
+ * PLSQLParameter[] fields();
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlTable.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlTable.java
index 5774c3b3..70596709 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlTable.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PlsqlTable.java
@@ -16,42 +16,45 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * /**
- * * A PLSQLRecord annotation is used to define a database PLSQL RECORD type.
- * * This type can be used within PLSQL procedure calls.
- * *
- * * @see NamedPLSQLStoredProcedureQuery
- * * @author James Sutherland
- * * @since EclipseLink 2.3
- * **
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface PLSQLRecord {
- *
- * /**
- * * (Required) The name of the record type in the database.
- * **
- * String name();
- *
- * /**
- * * (Required) The name of the database OBJECT TYPE that mirrors the record's structure.
- * * The record will be converted to/from this type so it can be passed through JDBC.
- * **
- * String compatibleType();
- *
- * /**
- * * (Optional) The Java class to map the object-type to.
- * * This class must be mapped using a @Struct annotation.
- * **
- * Class javaType() default void.class;
- *
- * /**
- * * (Required) Defines the fields in the record type.
- * **
- * PLSQLParameter[] fields();
- * }
+ * /**
+ * * A PLSQLRecord annotation is used to define a database PLSQL RECORD
+ * type.
+ * * This type can be used within PLSQL procedure calls.
+ * *
+ * * @see NamedPLSQLStoredProcedureQuery
+ * * @author James Sutherland
+ * * @since EclipseLink 2.3
+ * **
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface PLSQLRecord {
*
- *
+ * /**
+ * * (Required) The name of the record type in the database.
+ * **
+ * String name();
+ *
+ * /**
+ * * (Required) The name of the database OBJECT TYPE that mirrors the
+ * record's structure.
+ * * The record will be converted to/from this type so it can be passed
+ * through JDBC.
+ * **
+ * String compatibleType();
+ *
+ * /**
+ * * (Optional) The Java class to map the object-type to.
+ * * This class must be mapped using a @Struct annotation.
+ * **
+ * Class javaType() default void.class;
+ *
+ * /**
+ * * (Required) Defines the fields in the record type.
+ * **
+ * PLSQLParameter[] fields();
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostLoad.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostLoad.java
index 5e435f7f..2bed6d71 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostLoad.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostLoad.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD}) @Retention(RUNTIME)
- * public @interface PostLoad {}
+ * @Target({METHOD}) @Retention(RUNTIME)
+ * public @interface PostLoad {}
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostPersist.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostPersist.java
index 38a75f70..f18f9a1a 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostPersist.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostPersist.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD}) @Retention(RUNTIME)
- * public @interface PostPersist {}
+ * @Target({METHOD}) @Retention(RUNTIME)
+ * public @interface PostPersist {}
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostRemove.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostRemove.java
index 6cab2792..9442f685 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostRemove.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostRemove.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD}) @Retention(RUNTIME)
- * public @interface PostRemove {}
+ * @Target({METHOD}) @Retention(RUNTIME)
+ * public @interface PostRemove {}
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostUpdate.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostUpdate.java
index 56feab6b..1422b863 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostUpdate.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PostUpdate.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD}) @Retention(RUNTIME)
- * public @interface PostUpdate {}
+ * @Target({METHOD}) @Retention(RUNTIME)
+ * public @interface PostUpdate {}
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrePersist.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrePersist.java
index 8634f28f..727976c4 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrePersist.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrePersist.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD}) @Retention(RUNTIME)
- * public @interface PrePersist {}
+ * @Target({METHOD}) @Retention(RUNTIME)
+ * public @interface PrePersist {}
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PreRemove.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PreRemove.java
index b4244a4b..673f4714 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PreRemove.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PreRemove.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD}) @Retention(RUNTIME)
- * public @interface PreRemove {}
+ * @Target({METHOD}) @Retention(RUNTIME)
+ * public @interface PreRemove {}
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PreUpdate.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PreUpdate.java
index 85039af7..c1a59425 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PreUpdate.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PreUpdate.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD}) @Retention(RUNTIME)
- * public @interface PreUpdate {}
+ * @Target({METHOD}) @Retention(RUNTIME)
+ * public @interface PreUpdate {}
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrimaryKey.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrimaryKey.java
index b091ef73..2892bdaf 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrimaryKey.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrimaryKey.java
@@ -17,38 +17,44 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * /**
- * * The PrimaryKey annotation allows advanced configuration of the Id.
- * * A validation policy can be given that allows specifying if zero is a valid id value.
- * * The set of primary key columns can also be specified precisely.
- * *
- * * @author James Sutherland
- * * @since EclipseLink 1.1
- * **
- * @Target({TYPE})
- * @Retention(RUNTIME)
- * public @interface PrimaryKey {
- * /**
- * * (Optional) Configures what id validation is done.
- * * By default 0 is not a valid id value, this can be used to allow 0 id values.
- * **
- * IdValidation validation() default IdValidation.ZERO;
+ * /**
+ * * The PrimaryKey annotation allows advanced configuration of the Id.
+ * * A validation policy can be given that allows specifying if zero is
+ * a valid id value.
+ * * The set of primary key columns can also be specified precisely.
+ * *
+ * * @author James Sutherland
+ * * @since EclipseLink 1.1
+ * **
+ * @Target({TYPE})
+ * @Retention(RUNTIME)
+ * public @interface PrimaryKey {
+ * /**
+ * * (Optional) Configures what id validation is done.
+ * * By default 0 is not a valid id value, this can be used to allow 0
+ * id values.
+ * **
+ * IdValidation validation() default IdValidation.ZERO;
*
- * /**
- * * (Optional) Configures what cache key type is used to store the object in the cache.
- * * By default the type is determined by what type is optimal for the class.
- * **
- * CacheKeyType cacheKeyType() default CacheKeyType.AUTO;
- *
- * /**
- * * (Optional) Used to specify the primary key columns directly.
- * * This can be used instead of @Id if the primary key includes a non basic field,
- * * such as a foreign key, or a inheritance discriminator, embedded, or transformation mapped field.
- * **
- * Column[] columns() default {};
- * }
+ * /**
+ * * (Optional) Configures what cache key type is used to store the
+ * object in the cache.
+ * * By default the type is determined by what type is optimal for the
+ * class.
+ * **
+ * CacheKeyType cacheKeyType() default CacheKeyType.AUTO;
*
- *
+ * /**
+ * * (Optional) Used to specify the primary key columns directly.
+ * * This can be used instead of @Id if the primary key includes a non
+ * basic field,
+ * * such as a foreign key, or a inheritance discriminator, embedded, or
+ * transformation mapped field.
+ * **
+ * Column[] columns() default {};
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrimaryKeyJoinColumn.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrimaryKeyJoinColumn.java
index 5ff5e1e7..d58379b7 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrimaryKeyJoinColumn.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/PrimaryKeyJoinColumn.java
@@ -16,14 +16,14 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface PrimaryKeyJoinColumn {
- * String name() default "";
- * String referencedColumnName() default "";
- * String columnDefinition() default "";
- * }
+ * @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface PrimaryKeyJoinColumn {
+ * String name() default "";
+ * String referencedColumnName() default "";
+ * String columnDefinition() default "";
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Property.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Property.java
index 39c06363..2e5a5962 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Property.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Property.java
@@ -15,32 +15,32 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * A user defined mapping's property.
- * @Target({METHOD, FIELD, TYPE})
- * @Retention(RUNTIME)
- * public @interface Property {
- * /**
- * * Property name.
- * **
- * String name();
+ * A user defined mapping's property.
+ * @Target({METHOD, FIELD, TYPE})
+ * @Retention(RUNTIME)
+ * public @interface Property {
+ * /**
+ * * Property name.
+ * **
+ * String name();
*
- * /**
- * * String representation of Property value,
- * * converted to an instance of valueType.
- * **
- * String value();
+ * /**
+ * * String representation of Property value,
+ * * converted to an instance of valueType.
+ * **
+ * String value();
*
- * /**
- * * Property value type.
- * * The value converted to valueType by ConversionManager.
- * * If specified must be a simple type that could be handled by
- * * ConversionManager:
- * * numerical, boolean, temporal.
- * **
- * Class valueType() default String.class;
- * }
+ * /**
+ * * Property value type.
+ * * The value converted to valueType by ConversionManager.
+ * * If specified must be a simple type that could be handled by
+ * * ConversionManager:
+ * * numerical, boolean, temporal.
+ * **
+ * Class valueType() default String.class;
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/QueryHint.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/QueryHint.java
index 2bcc9722..2922ae9f 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/QueryHint.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/QueryHint.java
@@ -15,13 +15,13 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({}) @Retention(RUNTIME)
- * public @interface QueryHint {
- * String name();
- * String value();
- * }
+ * @Target({}) @Retention(RUNTIME)
+ * public @interface QueryHint {
+ * String name();
+ * String value();
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RangePartition.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RangePartition.java
index e391f76a..5fbe013d 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RangePartition.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RangePartition.java
@@ -15,29 +15,32 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- *
- * /**
- * * Represent a specific range partition.
- * * Values = startValue and = endValue will be routed to the connection pool.
- * *
- * * @see RangePartitioningPolicy
- * * @see org.eclipse.persistence.descriptors.partitioning.RangePartitioningPolicy
- * * @see org.eclipse.persistence.descriptors.partitioning.RangePartition
- * * @author James Sutherland
- * * @since EclipseLink 2.2
- * **
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface RangePartition {
- * /** The String representation of the range start value. **
- * String startValue() default "";
- * /** The String representation of the range start value. **
- * String endValue() default "";
- * /** The connection pool to route queries to for this range. **
- * String connectionPool();
- * }
*
- *
+ * /**
+ * * Represent a specific range partition.
+ * * Values = startValue and = endValue will be routed to the connection
+ * pool.
+ * *
+ * * @see RangePartitioningPolicy
+ * * @see
+ * org.eclipse.persistence.descriptors.partitioning.RangePartitioningPolicy
+ * * @see
+ * org.eclipse.persistence.descriptors.partitioning.RangePartition
+ * * @author James Sutherland
+ * * @since EclipseLink 2.2
+ * **
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface RangePartition {
+ * /** The String representation of the range start value. **
+ * String startValue() default "";
+ * /** The String representation of the range start value. **
+ * String endValue() default "";
+ * /** The connection pool to route queries to for this range. **
+ * String connectionPool();
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RangePartitioning.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RangePartitioning.java
index d414300e..a7521ecb 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RangePartitioning.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RangePartitioning.java
@@ -17,56 +17,67 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- *
- * /**
- * * RangePartitioningPolicy partitions access to a database cluster by a field value from the object,
- * * such as the object's id, location, or tenant.
- * * Each server is assigned a range of values.
- * * All write or read request for object's with that value are sent to the server.
- * * If a query does not include the field as a parameter, then it can either be sent
- * * to all server's and unioned, or left to the sesion's default behavior.
- * *
- * * If multiple partitions are used to process a single transaction, JTA should be used for proper XA transaction support.
- * *
- * * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
- * * Partition policies are globally named to allow reuse,
- * * the partitioning policy must also be set using the @Partitioned annotation to be used.
- * *
- * * @see Partitioned
- * * @see org.eclipse.persistence.descriptors.partitioning.RangePartitioningPolicy
- * * @author James Sutherland
- * * @since EclipseLink 2.2
- * **
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface RangePartitioning {
- * String name();
- *
- * /**
- * * The database column or query parameter to partition queries by.
- * * This is the table column name, not the class attribute name.
- * * The column value must be included in the query and should normally be part of the object's Id.
- * * This can also be the name of a query parameter.
- * * If a query does not contain the field the query will not be partitioned.
- * **
- * Column partitionColumn();
- *
- * /**
- * * (Required) List of connection pool names to load balance across.
- * **
- * RangePartition[] partitions();
- *
- * /**
- * * Defines if queries that do not contain the partition field should be sent
- * * to every database and have the result unioned.
- * **
- * boolean unionUnpartitionableQueries() default false;
- *
- * /** The type of the start and end values. **
- * Class partitionValueType() default String.class;
- * }
*
- *
+ * /**
+ * * RangePartitioningPolicy partitions access to a database cluster by
+ * a field value from the object,
+ * * such as the object's id, location, or tenant.
+ * * Each server is assigned a range of values.
+ * * All write or read request for object's with that value are sent to
+ * the server.
+ * * If a query does not include the field as a parameter, then it can
+ * either be sent
+ * * to all server's and unioned, or left to the sesion's default
+ * behavior.
+ * *
+ * * If multiple partitions are used to process a single transaction,
+ * JTA should be used for proper XA transaction support.
+ * *
+ * * Partitioning can be enabled on an Entity, relationship, query, or
+ * session/persistence unit.
+ * * Partition policies are globally named to allow reuse,
+ * * the partitioning policy must also be set using the @Partitioned
+ * annotation to be used.
+ * *
+ * * @see Partitioned
+ * * @see
+ * org.eclipse.persistence.descriptors.partitioning.RangePartitioningPolicy
+ * * @author James Sutherland
+ * * @since EclipseLink 2.2
+ * **
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface RangePartitioning {
+ * String name();
+ *
+ * /**
+ * * The database column or query parameter to partition queries by.
+ * * This is the table column name, not the class attribute name.
+ * * The column value must be included in the query and should normally
+ * be part of the object's Id.
+ * * This can also be the name of a query parameter.
+ * * If a query does not contain the field the query will not be
+ * partitioned.
+ * **
+ * Column partitionColumn();
+ *
+ * /**
+ * * (Required) List of connection pool names to load balance across.
+ * **
+ * RangePartition[] partitions();
+ *
+ * /**
+ * * Defines if queries that do not contain the partition field should
+ * be sent
+ * * to every database and have the result unioned.
+ * **
+ * boolean unionUnpartitionableQueries() default false;
+ *
+ * /** The type of the start and end values. **
+ * Class partitionValueType() default String.class;
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ReplicationPartitioning.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ReplicationPartitioning.java
index ca895bc7..53ce2754 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ReplicationPartitioning.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ReplicationPartitioning.java
@@ -17,30 +17,33 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- *
- * /**
- * * ReplicationPartitioning sends requests to a set of connection pools.
- * * It is for replicating data across a cluster of database machines.
- * * Only modification queries are replicated.
- * *
- * * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
- * *
- * * @see org.eclipse.persistence.descriptors.partitioning.ReplicationPolicy
- * * @author James Sutherland
- * * @since EclipseLink 2.2
- * **
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface ReplicationPartitioning {
- * String name();
- *
- * /**
- * * (Required) List of connection pool names to load balance across.
- * **
- * String[] connectionPools();
- * }
*
- *
+ * /**
+ * * ReplicationPartitioning sends requests to a set of connection
+ * pools.
+ * * It is for replicating data across a cluster of database machines.
+ * * Only modification queries are replicated.
+ * *
+ * * Partitioning can be enabled on an Entity, relationship, query, or
+ * session/persistence unit.
+ * *
+ * * @see
+ * org.eclipse.persistence.descriptors.partitioning.ReplicationPolicy
+ * * @author James Sutherland
+ * * @since EclipseLink 2.2
+ * **
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface ReplicationPartitioning {
+ * String name();
+ *
+ * /**
+ * * (Required) List of connection pool names to load balance across.
+ * **
+ * String[] connectionPools();
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ReturnInsert.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ReturnInsert.java
index 4756c87f..b9c9f637 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ReturnInsert.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ReturnInsert.java
@@ -15,20 +15,20 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- *
- * @Target({METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface ReturnInsert {
- * /**
- * * A ReturnInsert annotation allows for INSERT operations to return
- * * values back into the object being written. This allows for table
- * * default values, trigger or stored procedures computed values to
- * * be set back into the object.
- * **
- * boolean returnOnly() default false;
- * }
*
- *
+ * @Target({METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface ReturnInsert {
+ * /**
+ * * A ReturnInsert annotation allows for INSERT operations to return
+ * * values back into the object being written. This allows for table
+ * * default values, trigger or stored procedures computed values to
+ * * be set back into the object.
+ * **
+ * boolean returnOnly() default false;
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RoundRobinPartitioning.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RoundRobinPartitioning.java
index 7e61b162..64141422 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RoundRobinPartitioning.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/RoundRobinPartitioning.java
@@ -17,37 +17,44 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- *
- * /**
- * * RoundRobinPartitioning sends requests in a round robin fashion to the set of connection pools.
- * * It is for load-balancing read queries across a cluster of database machines.
- * * It requires that the full database be replicated on each machine, so does not support partitioning.
- * * The data should either be read-only, or writes should be replicated on the database.
- * *
- * * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
- * *
- * * @see org.eclipse.persistence.descriptors.partitioning.RoundRobinPolicy
- * * @author James Sutherland
- * * @since EclipseLink 2.2
- * **
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface RoundRobinPartitioning {
- * String name();
- *
- * /**
- * * (Required) List of connection pool names to load balance across.
- * **
- * String[] connectionPools();
- *
- * /**
- * * This allows for a set of database to be written to and kept in synch,
- * * and have reads load-balanced across the databases.
- * **
- * boolean replicateWrites() default false;
- * }
*
- *
+ * /**
+ * * RoundRobinPartitioning sends requests in a round robin fashion to
+ * the set of connection pools.
+ * * It is for load-balancing read queries across a cluster of database
+ * machines.
+ * * It requires that the full database be replicated on each machine,
+ * so does not support partitioning.
+ * * The data should either be read-only, or writes should be replicated
+ * on the database.
+ * *
+ * * Partitioning can be enabled on an Entity, relationship, query, or
+ * session/persistence unit.
+ * *
+ * * @see
+ * org.eclipse.persistence.descriptors.partitioning.RoundRobinPolicy
+ * * @author James Sutherland
+ * * @since EclipseLink 2.2
+ * **
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface RoundRobinPartitioning {
+ * String name();
+ *
+ * /**
+ * * (Required) List of connection pool names to load balance across.
+ * **
+ * String[] connectionPools();
+ *
+ * /**
+ * * This allows for a set of database to be written to and kept in
+ * synch,
+ * * and have reads load-balanced across the databases.
+ * **
+ * boolean replicateWrites() default false;
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/SecondaryTable.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/SecondaryTable.java
index b82d3278..3a614080 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/SecondaryTable.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/SecondaryTable.java
@@ -17,16 +17,16 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE}) @Retention(RUNTIME)
- * public @interface SecondaryTable {
- * String name();
- * String catalog() default "";
- * String schema() default "";
- * PrimaryKeyJoinColumn[] pkJoinColumns() default {};
- * UniqueConstraint[] uniqueConstraints() default {};
- * }
+ * @Target({TYPE}) @Retention(RUNTIME)
+ * public @interface SecondaryTable {
+ * String name();
+ * String catalog() default "";
+ * String schema() default "";
+ * PrimaryKeyJoinColumn[] pkJoinColumns() default {};
+ * UniqueConstraint[] uniqueConstraints() default {};
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
@@ -116,9 +116,11 @@ public interface SecondaryTable extends BaseOrmAnnotation {
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Creation Suffix</em>' attribute.
+ * @see #isSetCreationSuffix()
+ * @see #unsetCreationSuffix()
* @see #setCreationSuffix(String)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getSecondaryTable_CreationSuffix()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
* extendedMetaData="kind='attribute' name='creation-suffix'"
* @generated
*/
@@ -129,12 +131,37 @@ public interface SecondaryTable extends BaseOrmAnnotation {
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Creation Suffix</em>' attribute.
+ * @see #isSetCreationSuffix()
+ * @see #unsetCreationSuffix()
* @see #getCreationSuffix()
* @generated
*/
void setCreationSuffix(String value);
/**
+ * Unsets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.SecondaryTable#getCreationSuffix <em>Creation Suffix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetCreationSuffix()
+ * @see #getCreationSuffix()
+ * @see #setCreationSuffix(String)
+ * @generated
+ */
+ void unsetCreationSuffix();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.SecondaryTable#getCreationSuffix <em>Creation Suffix</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Creation Suffix</em>' attribute is set.
+ * @see #unsetCreationSuffix()
+ * @see #getCreationSuffix()
+ * @see #setCreationSuffix(String)
+ * @generated
+ */
+ boolean isSetCreationSuffix();
+
+ /**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/SqlResultSetMapping.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/SqlResultSetMapping.java
index 0183a01b..2c3fef0f 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/SqlResultSetMapping.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/SqlResultSetMapping.java
@@ -18,14 +18,14 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE}) @Retention(RUNTIME)
- * public @interface SqlResultSetMapping {
- * String name();
- * EntityResult[] entities() default {};
- * ColumnResult[] columns() default {};
- * }
+ * @Target({TYPE}) @Retention(RUNTIME)
+ * public @interface SqlResultSetMapping {
+ * String name();
+ * EntityResult[] entities() default {};
+ * ColumnResult[] columns() default {};
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/StoredProcedureParameter.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/StoredProcedureParameter.java
index 0eaed265..185e564a 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/StoredProcedureParameter.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/StoredProcedureParameter.java
@@ -18,53 +18,54 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * /**
- * * A StoredProcedureParameter annotation is used within a
- * * NamedStoredProcedureQuery annotation.
- * **
- * @Target({})
- * @Retention(RUNTIME)
- * public @interface StoredProcedureParameter {
- * /**
- * * (Optional) The direction of the stored procedure parameter.
- * **
- * Direction direction() default IN;
+ * /**
+ * * A StoredProcedureParameter annotation is used within a
+ * * NamedStoredProcedureQuery annotation.
+ * **
+ * @Target({})
+ * @Retention(RUNTIME)
+ * public @interface StoredProcedureParameter {
+ * /**
+ * * (Optional) The direction of the stored procedure parameter.
+ * **
+ * Direction direction() default IN;
*
- * /**
- * * (Optional) Stored procedure parameter name.
- * **
- * String name() default "";
+ * /**
+ * * (Optional) Stored procedure parameter name.
+ * **
+ * String name() default "";
*
- * /**
- * * (Required) The query parameter name.
- * **
- * String queryParameter();
- *
- * /**
- * * (Optional) Define if the parameter is required, or optional and defaulted by the procedure.
- * **
- * boolean optional() default false;
+ * /**
+ * * (Required) The query parameter name.
+ * **
+ * String queryParameter();
*
- * /**
- * * (Optional) The type of Java class desired back from the procedure,
- * * this is dependent on the type returned from the procedure.
- * **
- * Class type() default void.class;
+ * /**
+ * * (Optional) Define if the parameter is required, or optional and
+ * defaulted by the procedure.
+ * **
+ * boolean optional() default false;
*
- * /**
- * * (Optional) The JDBC type code, this dependent on the type returned
- * * from the procedure.
- * **
- * int jdbcType() default -1;
+ * /**
+ * * (Optional) The type of Java class desired back from the procedure,
+ * * this is dependent on the type returned from the procedure.
+ * **
+ * Class type() default void.class;
*
- * /**
- * * (Optional) The JDBC type name, this may be required for ARRAY or
- * * STRUCT types.
- * **
- * String jdbcTypeName() default "";
- * }
+ * /**
+ * * (Optional) The JDBC type code, this dependent on the type returned
+ * * from the procedure.
+ * **
+ * int jdbcType() default -1;
*
- *
+ * /**
+ * * (Optional) The JDBC type name, this may be required for ARRAY or
+ * * STRUCT types.
+ * **
+ * String jdbcTypeName() default "";
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Struct.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Struct.java
index c692ed0b..ef805376 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Struct.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Struct.java
@@ -18,34 +18,40 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * /**
- * * Struct types are extended object-relational data-types supported by some databases.
- * * Struct types are user define types in the database such as OBJECT types on Oracle.
- * * Structs can normally contains Arrays (VARRAY) or other Struct types, and can be stored in
- * * a column or a table.
- * * This annotation define a class to map to a database Struct type.
- * * The class should normally be an Embeddable, but could also be an Entity if stored in a object table.
- * *
- * * @see org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor
- * * @see org.eclipse.persistence.mappings.structures.StructureMapping
- * * @author James Sutherland
- * * @since EclipseLink 2.3
- * **
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface Struct {
- * /**
- * * (Required) The database name of the database structure type.
- * **
- * String name();
- *
- * /**
- * * (Optional) Defines the order of the fields contained in the database structure type.
- * **
- * String[] fields() default {};
- * }
+ * /**
+ * * Struct types are extended object-relational data-types supported by
+ * some databases.
+ * * Struct types are user define types in the database such as OBJECT
+ * types on Oracle.
+ * * Structs can normally contains Arrays (VARRAY) or other Struct
+ * types, and can be stored in
+ * * a column or a table.
+ * * This annotation define a class to map to a database Struct type.
+ * * The class should normally be an Embeddable, but could also be an
+ * Entity if stored in a object table.
+ * *
+ * * @see
+ * org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor
+ * * @see org.eclipse.persistence.mappings.structures.StructureMapping
+ * * @author James Sutherland
+ * * @since EclipseLink 2.3
+ * **
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface Struct {
+ * /**
+ * * (Required) The database name of the database structure type.
+ * **
+ * String name();
*
- *
+ * /**
+ * * (Optional) Defines the order of the fields contained in the
+ * database structure type.
+ * **
+ * String[] fields() default {};
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Structure.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Structure.java
index 253dcae0..e632edc7 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Structure.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Structure.java
@@ -18,26 +18,31 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * /**
- * * Struct types are extended object-relational data-types supported by some databases.
- * * Struct types are user define types in the database such as OBJECT types on Oracle.
- * * Structs can normally contains Arrays (VARRAY) or other Struct types, and can be stored in
- * * a column or a table.
- * * This annotation can be defined on a field/method to define an StructureMapping to an embedded Struct type.
- * * The target Embeddable must be mapped using the Struct annotation.
- * *
- * * @see Struct
- * * @see org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor
- * * @see org.eclipse.persistence.mappings.structures.StructureMapping
- * * @author James Sutherland
- * * @since EclipseLink 2.3
- * **
- * @Target({METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface Structure {
- * }
+ * /**
+ * * Struct types are extended object-relational data-types supported by
+ * some databases.
+ * * Struct types are user define types in the database such as OBJECT
+ * types on Oracle.
+ * * Structs can normally contains Arrays (VARRAY) or other Struct
+ * types, and can be stored in
+ * * a column or a table.
+ * * This annotation can be defined on a field/method to define an
+ * StructureMapping to an embedded Struct type.
+ * * The target Embeddable must be mapped using the Struct annotation.
+ * *
+ * * @see Struct
+ * * @see
+ * org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor
+ * * @see org.eclipse.persistence.mappings.structures.StructureMapping
+ * * @author James Sutherland
+ * * @since EclipseLink 2.3
+ * **
+ * @Target({METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface Structure {
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Table.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Table.java
index f9999118..5d9de556 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Table.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Table.java
@@ -17,15 +17,15 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE}) @Retention(RUNTIME)
- * public @interface Table {
- * String name() default "";
- * String catalog() default "";
- * String schema() default "";
- * UniqueConstraint[] uniqueConstraints() default {};
- * }
+ * @Target({TYPE}) @Retention(RUNTIME)
+ * public @interface Table {
+ * String name() default "";
+ * String catalog() default "";
+ * String schema() default "";
+ * UniqueConstraint[] uniqueConstraints() default {};
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
@@ -97,9 +97,11 @@ public interface Table extends BaseOrmAnnotation {
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Creation Suffix</em>' attribute.
+ * @see #isSetCreationSuffix()
+ * @see #unsetCreationSuffix()
* @see #setCreationSuffix(String)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getTable_CreationSuffix()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
* extendedMetaData="kind='attribute' name='creation-suffix'"
* @generated
*/
@@ -110,12 +112,37 @@ public interface Table extends BaseOrmAnnotation {
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Creation Suffix</em>' attribute.
+ * @see #isSetCreationSuffix()
+ * @see #unsetCreationSuffix()
* @see #getCreationSuffix()
* @generated
*/
void setCreationSuffix(String value);
/**
+ * Unsets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Table#getCreationSuffix <em>Creation Suffix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetCreationSuffix()
+ * @see #getCreationSuffix()
+ * @see #setCreationSuffix(String)
+ * @generated
+ */
+ void unsetCreationSuffix();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Table#getCreationSuffix <em>Creation Suffix</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Creation Suffix</em>' attribute is set.
+ * @see #unsetCreationSuffix()
+ * @see #getCreationSuffix()
+ * @see #setCreationSuffix(String)
+ * @generated
+ */
+ boolean isSetCreationSuffix();
+
+ /**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TableGenerator.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TableGenerator.java
index 43385340..cb546628 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TableGenerator.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TableGenerator.java
@@ -17,21 +17,21 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface TableGenerator {
- * String name();
- * String table() default "";
- * String catalog() default "";
- * String schema() default "";
- * String pkColumnName() default "";
- * String valueColumnName() default "";
- * String pkColumnValue() default "";
- * int initialValue() default 0;
- * int allocationSize() default 50;
- * UniqueConstraint[] uniqueConstraints() default {};
- * }
+ * @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface TableGenerator {
+ * String name();
+ * String table() default "";
+ * String catalog() default "";
+ * String schema() default "";
+ * String pkColumnName() default "";
+ * String valueColumnName() default "";
+ * String pkColumnValue() default "";
+ * int initialValue() default 0;
+ * int allocationSize() default 50;
+ * UniqueConstraint[] uniqueConstraints() default {};
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
@@ -187,9 +187,11 @@ public interface TableGenerator extends BaseOrmAnnotation {
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Creation Suffix</em>' attribute.
+ * @see #isSetCreationSuffix()
+ * @see #unsetCreationSuffix()
* @see #setCreationSuffix(String)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getTableGenerator_CreationSuffix()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
* extendedMetaData="kind='attribute' name='creation-suffix'"
* @generated
*/
@@ -200,12 +202,37 @@ public interface TableGenerator extends BaseOrmAnnotation {
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Creation Suffix</em>' attribute.
+ * @see #isSetCreationSuffix()
+ * @see #unsetCreationSuffix()
* @see #getCreationSuffix()
* @generated
*/
void setCreationSuffix(String value);
/**
+ * Unsets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.TableGenerator#getCreationSuffix <em>Creation Suffix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetCreationSuffix()
+ * @see #getCreationSuffix()
+ * @see #setCreationSuffix(String)
+ * @generated
+ */
+ void unsetCreationSuffix();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.TableGenerator#getCreationSuffix <em>Creation Suffix</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Creation Suffix</em>' attribute is set.
+ * @see #unsetCreationSuffix()
+ * @see #getCreationSuffix()
+ * @see #setCreationSuffix(String)
+ * @generated
+ */
+ boolean isSetCreationSuffix();
+
+ /**
* Returns the value of the '<em><b>Initial Value</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TenantDiscriminator.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TenantDiscriminator.java
index 734c8dc8..3fb49dd9 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TenantDiscriminator.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TenantDiscriminator.java
@@ -16,54 +16,57 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
* <!-- begin-model-doc -->
*
*
- * @Target({})
- * @Retention(RUNTIME)
- * public @interface TenantDiscriminator {
- * /**
- * * (Optional) The name of column to be used for the discriminator.
- * **
- * String name() default "eclipselink.tenant-id";
+ * @Target({})
+ * @Retention(RUNTIME)
+ * public @interface TenantDiscriminator {
+ * /**
+ * * (Optional) The name of column to be used for the discriminator.
+ * **
+ * String name() default "eclipselink.tenant-id";
*
- * /**
- * * (Optional) The name of the context property to apply to the
- * * tenant discriminator column.
- * **
- * String contextProperty() default "TENANT_ID";
+ * /**
+ * * (Optional) The name of the context property to apply to the
+ * * tenant discriminator column.
+ * **
+ * String contextProperty() default "TENANT_ID";
*
- * /**
- * * (Optional) The type of object/column to use as a class discriminator.
- * * Defaults to {@link DiscriminatorType#STRING DiscriminatorType.STRING}.
- * **
- * DiscriminatorType discriminatorType() default DiscriminatorType.STRING;
+ * /**
+ * * (Optional) The type of object/column to use as a class
+ * discriminator.
+ * * Defaults to {@link DiscriminatorType#STRING
+ * DiscriminatorType.STRING}.
+ * **
+ * DiscriminatorType discriminatorType() default DiscriminatorType.STRING;
*
- * /**
- * * (Optional) The SQL fragment that is used when generating the DDL
- * * for the discriminator column.
- * * Defaults to the provider-generated SQL to create a column
- * * of the specified discriminator type.
- * **
- * String columnDefinition() default "";
+ * /**
+ * * (Optional) The SQL fragment that is used when generating the DDL
+ * * for the discriminator column.
+ * * Defaults to the provider-generated SQL to create a column
+ * * of the specified discriminator type.
+ * **
+ * String columnDefinition() default "";
*
- * /**
- * * (Optional) The column length for String-based discriminator types.
- * * Ignored for other discriminator types.
- * **
- * int length() default 31;
+ * /**
+ * * (Optional) The column length for String-based discriminator types.
+ * * Ignored for other discriminator types.
+ * **
+ * int length() default 31;
*
- * /**
- * * (Optional) The name of the table that contains the column.
- * * If absent the column is assumed to be in the primary table.
- * **
- * String table() default "";
+ * /**
+ * * (Optional) The name of the table that contains the column.
+ * * If absent the column is assumed to be in the primary table.
+ * **
+ * String table() default "";
*
- * /**
- * * Specifies that the tenant discriminator column is part of the primary
- * * key of the tables.
- * **
- * boolean primaryKey() default false;
- * }
+ * /**
+ * * Specifies that the tenant discriminator column is part of the
+ * primary
+ * * key of the tables.
+ * **
+ * boolean primaryKey() default false;
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TimeOfDay.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TimeOfDay.java
index 0b535c6d..9c091568 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TimeOfDay.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TimeOfDay.java
@@ -17,36 +17,36 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({})
- * @Retention(RUNTIME)
- * public @interface TimeOfDay {
- * /**
- * * (Optional) Hour of the day.
- * **
- * int hour() default 0;
+ * @Target({})
+ * @Retention(RUNTIME)
+ * public @interface TimeOfDay {
+ * /**
+ * * (Optional) Hour of the day.
+ * **
+ * int hour() default 0;
*
- * /**
- * * (Optional) Minute of the day.
- * **
- * int minute() default 0;
+ * /**
+ * * (Optional) Minute of the day.
+ * **
+ * int minute() default 0;
*
- * /**
- * * (Optional) Second of the day.
- * **
- * int second() default 0;
+ * /**
+ * * (Optional) Second of the day.
+ * **
+ * int second() default 0;
*
- * /**
- * * (Optional) Millisecond of the day.
- * **
- * int millisecond() default 0;
+ * /**
+ * * (Optional) Millisecond of the day.
+ * **
+ * int millisecond() default 0;
*
- * /**
- * * Internal use. Do not modify.
- * **
- * boolean specified() default true;
- * }
+ * /**
+ * * Internal use. Do not modify.
+ * **
+ * boolean specified() default true;
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Transformation.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Transformation.java
index f792ca1b..93cc3636 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Transformation.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Transformation.java
@@ -17,44 +17,46 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * /**
- * * Transformation is an optional annotation for
- * * org.eclipse.persistence.mappings.TransformationMapping.
- * * TransformationMapping allows to map an attribute to one or more
- * * database columns.
- * *
- * * Transformation annotation is an optional part of
- * * TransformationMapping definition. Unless the TransformationMapping is
- * * write-only, it should have a ReadTransformer, it defines
- * * transformation of database column(s) value(s)into attribute value.
- * * Also unless it's a read-only mapping, either WriteTransformer
- * * annotation or WriteTransformers annotation should be specified. Each
- * * WriteTransformer defines transformation of the attribute value to a
- * * single database column value (column is specified in the
- * * WriteTransformer).
- * **
- * @Target({METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface Transformation {
- * /**
- * * (Optional) Defines whether the value of the field or property
- * * should be lazily loaded or must be eagerly fetched. The EAGER
- * * strategy is a requirement on the persistence provider runtime
- * * that the value must be eagerly fetched. The LAZY strategy is a
- * * hint to the persistence provider runtime. If not specified,
- * * defaults to EAGER.
- * **
- * FetchType fetch() default EAGER;
+ * /**
+ * * Transformation is an optional annotation for
+ * * org.eclipse.persistence.mappings.TransformationMapping.
+ * * TransformationMapping allows to map an attribute to one or more
+ * * database columns.
+ * *
+ * * Transformation annotation is an optional part of
+ * * TransformationMapping definition. Unless the TransformationMapping
+ * is
+ * * write-only, it should have a ReadTransformer, it defines
+ * * transformation of database column(s) value(s)into attribute value.
+ * * Also unless it's a read-only mapping, either WriteTransformer
+ * * annotation or WriteTransformers annotation should be specified.
+ * Each
+ * * WriteTransformer defines transformation of the attribute value to a
+ * * single database column value (column is specified in the
+ * * WriteTransformer).
+ * **
+ * @Target({METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface Transformation {
+ * /**
+ * * (Optional) Defines whether the value of the field or property
+ * * should be lazily loaded or must be eagerly fetched. The EAGER
+ * * strategy is a requirement on the persistence provider runtime
+ * * that the value must be eagerly fetched. The LAZY strategy is a
+ * * hint to the persistence provider runtime. If not specified,
+ * * defaults to EAGER.
+ * **
+ * FetchType fetch() default EAGER;
*
- * /**
- * * (Optional) The optional element is a hint as to whether the value
- * * of the field or property may be null. It is disregarded
- * * for primitive types, which are considered non-optional.
- * **
- * boolean optional() default true;
- * }
+ * /**
+ * * (Optional) The optional element is a hint as to whether the value
+ * * of the field or property may be null. It is disregarded
+ * * for primitive types, which are considered non-optional.
+ * **
+ * boolean optional() default true;
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Transient.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Transient.java
index 600a941d..5e5f26c0 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Transient.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Transient.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface Transient {}
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface Transient {}
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TypeConverter.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TypeConverter.java
index b1c37bf5..8cf26971 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TypeConverter.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/TypeConverter.java
@@ -15,31 +15,31 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface TypeConverter {
- * /**
- * * (Required) Name this converter. The name should be unique
- * * across the whole persistence unit.
- * **
- * String name();
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface TypeConverter {
+ * /**
+ * * (Required) Name this converter. The name should be unique
+ * * across the whole persistence unit.
+ * **
+ * String name();
*
- * /**
- * * (Optional) Specify the type stored on the database. The
- * * default is inferred from the type of the persistence field
- * * or property.
- * **
- * Class dataType() default void.class;
+ * /**
+ * * (Optional) Specify the type stored on the database. The
+ * * default is inferred from the type of the persistence field
+ * * or property.
+ * **
+ * Class dataType() default void.class;
*
- * /**
- * * (Optional) Specify the type stored on the entity. The
- * * default is inferred from the type of the persistent field
- * * or property.
- * **
- * Class objectType() default void.class;
- * }
+ * /**
+ * * (Optional) Specify the type stored on the entity. The
+ * * default is inferred from the type of the persistent field
+ * * or property.
+ * **
+ * Class objectType() default void.class;
+ * }
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/UnionPartitioning.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/UnionPartitioning.java
index 14fe9156..ddee9975 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/UnionPartitioning.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/UnionPartitioning.java
@@ -17,37 +17,42 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- *
- * /**
- * * UnionPartitioning sends queries to all connection pools and unions the results.
- * * This is for queries or relationships that span partitions when partitioning is used,
- * * such as on a ManyToMany cross partition relationship.
- * *
- * * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
- * *
- * * @see org.eclipse.persistence.descriptors.partitioning.UnionPartitioningPolicy
- * * @author James Sutherland
- * * @since EclipseLink 2.2
- * **
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface UnionPartitioning {
- * String name();
- *
- * /**
- * * (Required) List of connection pool names to load balance across.
- * **
- * String[] connectionPools();
- *
- * /**
- * * Defines if write queries should be replicated.
- * * Writes are normally not replicated when unioning,
- * * but can be for ManyToMany relationships, when the join table needs to be replicated.
- * **
- * boolean replicateWrites() default false;
- * }
*
- *
+ * /**
+ * * UnionPartitioning sends queries to all connection pools and unions
+ * the results.
+ * * This is for queries or relationships that span partitions when
+ * partitioning is used,
+ * * such as on a ManyToMany cross partition relationship.
+ * *
+ * * Partitioning can be enabled on an Entity, relationship, query, or
+ * session/persistence unit.
+ * *
+ * * @see
+ * org.eclipse.persistence.descriptors.partitioning.UnionPartitioningPolicy
+ * * @author James Sutherland
+ * * @since EclipseLink 2.2
+ * **
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface UnionPartitioning {
+ * String name();
+ *
+ * /**
+ * * (Required) List of connection pool names to load balance across.
+ * **
+ * String[] connectionPools();
+ *
+ * /**
+ * * Defines if write queries should be replicated.
+ * * Writes are normally not replicated when unioning,
+ * * but can be for ManyToMany relationships, when the join table needs
+ * to be replicated.
+ * **
+ * boolean replicateWrites() default false;
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ValuePartition.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ValuePartition.java
index fc6ea523..3c0885ee 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ValuePartition.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ValuePartition.java
@@ -15,28 +15,30 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- *
- * /**
- * * Represent a specific value partition.
- * * The value will be routed to the connection pool.
- * *
- * * @see ValuePartitioningPolicy
- * * @see org.eclipse.persistence.descriptors.partitioning.ValuePartitioningPolicy
- * * @see org.eclipse.persistence.descriptors.partitioning.ValuePartition
- * * @author James Sutherland
- * * @since EclipseLink 2.2
- * **
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface ValuePartition {
- * /** The String representation of the range start value. **
- * String value() default "";
- *
- * /** The connection pool to route queries to for this value. **
- * String connectionPool();
- * }
*
- *
+ * /**
+ * * Represent a specific value partition.
+ * * The value will be routed to the connection pool.
+ * *
+ * * @see ValuePartitioningPolicy
+ * * @see
+ * org.eclipse.persistence.descriptors.partitioning.ValuePartitioningPolicy
+ * * @see
+ * org.eclipse.persistence.descriptors.partitioning.ValuePartition
+ * * @author James Sutherland
+ * * @since EclipseLink 2.2
+ * **
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface ValuePartition {
+ * /** The String representation of the range start value. **
+ * String value() default "";
+ *
+ * /** The connection pool to route queries to for this value. **
+ * String connectionPool();
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ValuePartitioning.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ValuePartitioning.java
index 7e421237..fb56703f 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ValuePartitioning.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/ValuePartitioning.java
@@ -17,52 +17,62 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
*
* <!-- begin-model-doc -->
*
- *
- * /**
- * * ValuePartitioning partitions access to a database cluster by a field value from the object,
- * * such as the object's location, or tenant.
- * * Each value is assigned a specific server.
- * * All write or read request for object's with that value are sent to the server.
- * * If a query does not include the field as a parameter, then it can either be sent
- * * to all server's and unioned, or left to the sesion's default behavior.
- * *
- * * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
- * *
- * * @see org.eclipse.persistence.descriptors.partitioning.ValuePartitioningPolicy
- * * @author James Sutherland
- * * @since EclipseLink 2.2
- * **
- * @Target({TYPE, METHOD, FIELD})
- * @Retention(RUNTIME)
- * public @interface ValuePartitioning {
- * String name();
- *
- * /**
- * * The database column or query parameter to partition queries by.
- * * This is the table column name, not the class attribute name.
- * * The column value must be included in the query and should normally be part of the object's Id.
- * * This can also be the name of a query parameter.
- * * If a query does not contain the field the query will not be partitioned.
- * **
- * Column partitionColumn();
- *
- * /** Store the value partitions. Each partition maps a value to a connectionPool. **
- * ValuePartition[] partitions();
- *
- * /** The type of the start and end values. **
- * Class partitionValueType() default String.class;
- *
- * /** The default connection pool is used for any unmapped values. **
- * String defaultConnectionPool();
- *
- * /**
- * * Defines if queries that do not contain the partition field should be sent
- * * to every database and have the result unioned.
- * **
- * boolean unionUnpartitionableQueries() default false;
- * }
*
- *
+ * /**
+ * * ValuePartitioning partitions access to a database cluster by a
+ * field value from the object,
+ * * such as the object's location, or tenant.
+ * * Each value is assigned a specific server.
+ * * All write or read request for object's with that value are sent to
+ * the server.
+ * * If a query does not include the field as a parameter, then it can
+ * either be sent
+ * * to all server's and unioned, or left to the sesion's default
+ * behavior.
+ * *
+ * * Partitioning can be enabled on an Entity, relationship, query, or
+ * session/persistence unit.
+ * *
+ * * @see
+ * org.eclipse.persistence.descriptors.partitioning.ValuePartitioningPolicy
+ * * @author James Sutherland
+ * * @since EclipseLink 2.2
+ * **
+ * @Target({TYPE, METHOD, FIELD})
+ * @Retention(RUNTIME)
+ * public @interface ValuePartitioning {
+ * String name();
+ *
+ * /**
+ * * The database column or query parameter to partition queries by.
+ * * This is the table column name, not the class attribute name.
+ * * The column value must be included in the query and should normally
+ * be part of the object's Id.
+ * * This can also be the name of a query parameter.
+ * * If a query does not contain the field the query will not be
+ * partitioned.
+ * **
+ * Column partitionColumn();
+ *
+ * /** Store the value partitions. Each partition maps a value to a
+ * connectionPool. **
+ * ValuePartition[] partitions();
+ *
+ * /** The type of the start and end values. **
+ * Class partitionValueType() default String.class;
+ *
+ * /** The default connection pool is used for any unmapped values. **
+ * String defaultConnectionPool();
+ *
+ * /**
+ * * Defines if queries that do not contain the partition field should
+ * be sent
+ * * to every database and have the result unioned.
+ * **
+ * boolean unionUnpartitionableQueries() default false;
+ * }
+ *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Version.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Version.java
index 14e605f3..ce57b314 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Version.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/Version.java
@@ -17,10 +17,10 @@ import org.eclipse.emf.ecore.EObject;
* <!-- begin-model-doc -->
*
*
- * @Target({METHOD, FIELD}) @Retention(RUNTIME)
- * public @interface Version {}
+ * @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ * public @interface Version {}
*
- *
+ *
* <!-- end-model-doc -->
*
* <p>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/CollectionTableImpl.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/CollectionTableImpl.java
index b23e7ba9..66e9dd66 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/CollectionTableImpl.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/CollectionTableImpl.java
@@ -107,6 +107,15 @@ public class CollectionTableImpl extends BaseOrmAnnotationImpl implements Collec
protected String creationSuffix = CREATION_SUFFIX_EDEFAULT;
/**
+ * This is true if the Creation Suffix attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean creationSuffixESet;
+
+ /**
* The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
@@ -220,8 +229,33 @@ public class CollectionTableImpl extends BaseOrmAnnotationImpl implements Collec
public void setCreationSuffix(String newCreationSuffix) {
String oldCreationSuffix = creationSuffix;
creationSuffix = newCreationSuffix;
+ boolean oldCreationSuffixESet = creationSuffixESet;
+ creationSuffixESet = true;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.COLLECTION_TABLE__CREATION_SUFFIX, oldCreationSuffix, creationSuffix));
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.COLLECTION_TABLE__CREATION_SUFFIX, oldCreationSuffix, creationSuffix, !oldCreationSuffixESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetCreationSuffix() {
+ String oldCreationSuffix = creationSuffix;
+ boolean oldCreationSuffixESet = creationSuffixESet;
+ creationSuffix = CREATION_SUFFIX_EDEFAULT;
+ creationSuffixESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, OrmPackage.COLLECTION_TABLE__CREATION_SUFFIX, oldCreationSuffix, CREATION_SUFFIX_EDEFAULT, oldCreationSuffixESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetCreationSuffix() {
+ return creationSuffixESet;
}
/**
@@ -349,7 +383,7 @@ public class CollectionTableImpl extends BaseOrmAnnotationImpl implements Collec
setCatalog(CATALOG_EDEFAULT);
return;
case OrmPackage.COLLECTION_TABLE__CREATION_SUFFIX:
- setCreationSuffix(CREATION_SUFFIX_EDEFAULT);
+ unsetCreationSuffix();
return;
case OrmPackage.COLLECTION_TABLE__NAME:
setName(NAME_EDEFAULT);
@@ -375,7 +409,7 @@ public class CollectionTableImpl extends BaseOrmAnnotationImpl implements Collec
case OrmPackage.COLLECTION_TABLE__CATALOG:
return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
case OrmPackage.COLLECTION_TABLE__CREATION_SUFFIX:
- return CREATION_SUFFIX_EDEFAULT == null ? creationSuffix != null : !CREATION_SUFFIX_EDEFAULT.equals(creationSuffix);
+ return isSetCreationSuffix();
case OrmPackage.COLLECTION_TABLE__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case OrmPackage.COLLECTION_TABLE__SCHEMA:
@@ -396,7 +430,7 @@ public class CollectionTableImpl extends BaseOrmAnnotationImpl implements Collec
result.append(" (catalog: ");
result.append(catalog);
result.append(", creationSuffix: ");
- result.append(creationSuffix);
+ if (creationSuffixESet) result.append(creationSuffix); else result.append("<unset>");
result.append(", name: ");
result.append(name);
result.append(", schema: ");
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/CustomizerImpl.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/CustomizerImpl.java
index 10797613..b19eff9e 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/CustomizerImpl.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/CustomizerImpl.java
@@ -18,10 +18,10 @@ import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotationImpl;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.impl.CustomizerImpl#getClass_ <em>Class</em>}</li>
+ * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.impl.CustomizerImpl#getClass_ <em>Class</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class CustomizerImpl extends BaseOrmAnnotationImpl implements Customizer {
@@ -46,121 +46,109 @@ public class CustomizerImpl extends BaseOrmAnnotationImpl implements Customizer
protected String class_ = CLASS_EDEFAULT;
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
protected CustomizerImpl() {
- super();
- }
+ super();
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
@Override
protected EClass eStaticClass() {
- return OrmPackage.eINSTANCE.getCustomizer();
- }
+ return OrmPackage.eINSTANCE.getCustomizer();
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
public String getClass_() {
- return class_;
- }
+ return class_;
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
public void setClass(String newClass) {
- String oldClass = class_;
- class_ = newClass;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CUSTOMIZER__CLASS, oldClass, class_));
- }
- }
+ String oldClass = class_;
+ class_ = newClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.CUSTOMIZER__CLASS, oldClass, class_));
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case OrmPackage.CUSTOMIZER__CLASS:
- return getClass_();
- }
- return super.eGet(featureID, resolve, coreType);
- }
+ switch (featureID) {
+ case OrmPackage.CUSTOMIZER__CLASS:
+ return getClass_();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
@Override
public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case OrmPackage.CUSTOMIZER__CLASS:
- setClass((String) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
+ switch (featureID) {
+ case OrmPackage.CUSTOMIZER__CLASS:
+ setClass((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
@Override
public void eUnset(int featureID) {
- switch (featureID) {
- case OrmPackage.CUSTOMIZER__CLASS:
- setClass(CLASS_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
+ switch (featureID) {
+ case OrmPackage.CUSTOMIZER__CLASS:
+ setClass(CLASS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
@Override
public boolean eIsSet(int featureID) {
- switch (featureID) {
- case OrmPackage.CUSTOMIZER__CLASS:
- return CLASS_EDEFAULT == null ? class_ != null : !CLASS_EDEFAULT.equals(class_);
- }
- return super.eIsSet(featureID);
- }
+ switch (featureID) {
+ case OrmPackage.CUSTOMIZER__CLASS:
+ return CLASS_EDEFAULT == null ? class_ != null : !CLASS_EDEFAULT.equals(class_);
+ }
+ return super.eIsSet(featureID);
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
@Override
public String toString() {
- if (eIsProxy()) {
- return super.toString();
- }
+ if (eIsProxy()) return super.toString();
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (class: ");
- result.append(class_);
- result.append(')');
- return result.toString();
- }
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (class: ");
+ result.append(class_);
+ result.append(')');
+ return result.toString();
+ }
@Override
public String getJavaAnnotation(String identifier) {
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/EclipselinkCollectionTableImpl.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/EclipselinkCollectionTableImpl.java
index 05084aa1..8c9fa36c 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/EclipselinkCollectionTableImpl.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/EclipselinkCollectionTableImpl.java
@@ -105,6 +105,15 @@ public class EclipselinkCollectionTableImpl extends BaseOrmAnnotationImpl implem
protected String creationSuffix = CREATION_SUFFIX_EDEFAULT;
/**
+ * This is true if the Creation Suffix attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean creationSuffixESet;
+
+ /**
* The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
@@ -218,8 +227,33 @@ public class EclipselinkCollectionTableImpl extends BaseOrmAnnotationImpl implem
public void setCreationSuffix(String newCreationSuffix) {
String oldCreationSuffix = creationSuffix;
creationSuffix = newCreationSuffix;
+ boolean oldCreationSuffixESet = creationSuffixESet;
+ creationSuffixESet = true;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ECLIPSELINK_COLLECTION_TABLE__CREATION_SUFFIX, oldCreationSuffix, creationSuffix));
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ECLIPSELINK_COLLECTION_TABLE__CREATION_SUFFIX, oldCreationSuffix, creationSuffix, !oldCreationSuffixESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetCreationSuffix() {
+ String oldCreationSuffix = creationSuffix;
+ boolean oldCreationSuffixESet = creationSuffixESet;
+ creationSuffix = CREATION_SUFFIX_EDEFAULT;
+ creationSuffixESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, OrmPackage.ECLIPSELINK_COLLECTION_TABLE__CREATION_SUFFIX, oldCreationSuffix, CREATION_SUFFIX_EDEFAULT, oldCreationSuffixESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetCreationSuffix() {
+ return creationSuffixESet;
}
/**
@@ -347,7 +381,7 @@ public class EclipselinkCollectionTableImpl extends BaseOrmAnnotationImpl implem
setCatalog(CATALOG_EDEFAULT);
return;
case OrmPackage.ECLIPSELINK_COLLECTION_TABLE__CREATION_SUFFIX:
- setCreationSuffix(CREATION_SUFFIX_EDEFAULT);
+ unsetCreationSuffix();
return;
case OrmPackage.ECLIPSELINK_COLLECTION_TABLE__NAME:
setName(NAME_EDEFAULT);
@@ -373,7 +407,7 @@ public class EclipselinkCollectionTableImpl extends BaseOrmAnnotationImpl implem
case OrmPackage.ECLIPSELINK_COLLECTION_TABLE__CATALOG:
return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
case OrmPackage.ECLIPSELINK_COLLECTION_TABLE__CREATION_SUFFIX:
- return CREATION_SUFFIX_EDEFAULT == null ? creationSuffix != null : !CREATION_SUFFIX_EDEFAULT.equals(creationSuffix);
+ return isSetCreationSuffix();
case OrmPackage.ECLIPSELINK_COLLECTION_TABLE__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case OrmPackage.ECLIPSELINK_COLLECTION_TABLE__SCHEMA:
@@ -394,7 +428,7 @@ public class EclipselinkCollectionTableImpl extends BaseOrmAnnotationImpl implem
result.append(" (catalog: ");
result.append(catalog);
result.append(", creationSuffix: ");
- result.append(creationSuffix);
+ if (creationSuffixESet) result.append(creationSuffix); else result.append("<unset>");
result.append(", name: ");
result.append(name);
result.append(", schema: ");
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/EntityListenersImpl.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/EntityListenersImpl.java
index b6ca217d..6810471c 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/EntityListenersImpl.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/EntityListenersImpl.java
@@ -44,110 +44,101 @@ public class EntityListenersImpl extends BaseOrmAnnotationImpl implements Entity
protected EList<EntityListener> entityListener;
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
protected EntityListenersImpl() {
- super();
- }
+ super();
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
@Override
protected EClass eStaticClass() {
- return OrmPackage.eINSTANCE.getEntityListeners();
- }
+ return OrmPackage.eINSTANCE.getEntityListeners();
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
public EList<EntityListener> getEntityListener() {
- if (entityListener == null) {
- entityListener = new EObjectContainmentEList<EntityListener>(EntityListener.class, this,
- OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENER);
- }
- return entityListener;
- }
+ if (entityListener == null) {
+ entityListener = new EObjectContainmentEList<EntityListener>(EntityListener.class, this, OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENER);
+ }
+ return entityListener;
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENER:
- return ((InternalEList<?>) getEntityListener()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
+ switch (featureID) {
+ case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENER:
+ return ((InternalEList<?>)getEntityListener()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENER:
- return getEntityListener();
- }
- return super.eGet(featureID, resolve, coreType);
- }
+ switch (featureID) {
+ case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENER:
+ return getEntityListener();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENER:
- getEntityListener().clear();
- getEntityListener().addAll((Collection<? extends EntityListener>) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
+ switch (featureID) {
+ case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENER:
+ getEntityListener().clear();
+ getEntityListener().addAll((Collection<? extends EntityListener>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
@Override
public void eUnset(int featureID) {
- switch (featureID) {
- case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENER:
- getEntityListener().clear();
- return;
- }
- super.eUnset(featureID);
- }
+ switch (featureID) {
+ case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENER:
+ getEntityListener().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
/**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
@Override
public boolean eIsSet(int featureID) {
- switch (featureID) {
- case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENER:
- return entityListener != null && !entityListener.isEmpty();
- }
- return super.eIsSet(featureID);
- }
+ switch (featureID) {
+ case OrmPackage.ENTITY_LISTENERS__ENTITY_LISTENER:
+ return entityListener != null && !entityListener.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
@Override
public String getJavaAnnotation(String identifier) {
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/JoinTableImpl.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/JoinTableImpl.java
index 2e2f2841..2d089ebc 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/JoinTableImpl.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/JoinTableImpl.java
@@ -115,6 +115,15 @@ public class JoinTableImpl extends BaseOrmAnnotationImpl implements JoinTable {
protected String creationSuffix = CREATION_SUFFIX_EDEFAULT;
/**
+ * This is true if the Creation Suffix attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean creationSuffixESet;
+
+ /**
* The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
@@ -239,8 +248,33 @@ public class JoinTableImpl extends BaseOrmAnnotationImpl implements JoinTable {
public void setCreationSuffix(String newCreationSuffix) {
String oldCreationSuffix = creationSuffix;
creationSuffix = newCreationSuffix;
+ boolean oldCreationSuffixESet = creationSuffixESet;
+ creationSuffixESet = true;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.JOIN_TABLE__CREATION_SUFFIX, oldCreationSuffix, creationSuffix));
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.JOIN_TABLE__CREATION_SUFFIX, oldCreationSuffix, creationSuffix, !oldCreationSuffixESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetCreationSuffix() {
+ String oldCreationSuffix = creationSuffix;
+ boolean oldCreationSuffixESet = creationSuffixESet;
+ creationSuffix = CREATION_SUFFIX_EDEFAULT;
+ creationSuffixESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, OrmPackage.JOIN_TABLE__CREATION_SUFFIX, oldCreationSuffix, CREATION_SUFFIX_EDEFAULT, oldCreationSuffixESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetCreationSuffix() {
+ return creationSuffixESet;
}
/**
@@ -379,7 +413,7 @@ public class JoinTableImpl extends BaseOrmAnnotationImpl implements JoinTable {
setCatalog(CATALOG_EDEFAULT);
return;
case OrmPackage.JOIN_TABLE__CREATION_SUFFIX:
- setCreationSuffix(CREATION_SUFFIX_EDEFAULT);
+ unsetCreationSuffix();
return;
case OrmPackage.JOIN_TABLE__NAME:
setName(NAME_EDEFAULT);
@@ -407,7 +441,7 @@ public class JoinTableImpl extends BaseOrmAnnotationImpl implements JoinTable {
case OrmPackage.JOIN_TABLE__CATALOG:
return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
case OrmPackage.JOIN_TABLE__CREATION_SUFFIX:
- return CREATION_SUFFIX_EDEFAULT == null ? creationSuffix != null : !CREATION_SUFFIX_EDEFAULT.equals(creationSuffix);
+ return isSetCreationSuffix();
case OrmPackage.JOIN_TABLE__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case OrmPackage.JOIN_TABLE__SCHEMA:
@@ -428,7 +462,7 @@ public class JoinTableImpl extends BaseOrmAnnotationImpl implements JoinTable {
result.append(" (catalog: ");
result.append(catalog);
result.append(", creationSuffix: ");
- result.append(creationSuffix);
+ if (creationSuffixESet) result.append(creationSuffix); else result.append("<unset>");
result.append(", name: ");
result.append(name);
result.append(", schema: ");
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/SecondaryTableImpl.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/SecondaryTableImpl.java
index c82c267e..db1f7c43 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/SecondaryTableImpl.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/SecondaryTableImpl.java
@@ -106,6 +106,15 @@ public class SecondaryTableImpl extends BaseOrmAnnotationImpl implements Seconda
protected String creationSuffix = CREATION_SUFFIX_EDEFAULT;
/**
+ * This is true if the Creation Suffix attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean creationSuffixESet;
+
+ /**
* The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
@@ -219,8 +228,33 @@ public class SecondaryTableImpl extends BaseOrmAnnotationImpl implements Seconda
public void setCreationSuffix(String newCreationSuffix) {
String oldCreationSuffix = creationSuffix;
creationSuffix = newCreationSuffix;
+ boolean oldCreationSuffixESet = creationSuffixESet;
+ creationSuffixESet = true;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.SECONDARY_TABLE__CREATION_SUFFIX, oldCreationSuffix, creationSuffix));
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.SECONDARY_TABLE__CREATION_SUFFIX, oldCreationSuffix, creationSuffix, !oldCreationSuffixESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetCreationSuffix() {
+ String oldCreationSuffix = creationSuffix;
+ boolean oldCreationSuffixESet = creationSuffixESet;
+ creationSuffix = CREATION_SUFFIX_EDEFAULT;
+ creationSuffixESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, OrmPackage.SECONDARY_TABLE__CREATION_SUFFIX, oldCreationSuffix, CREATION_SUFFIX_EDEFAULT, oldCreationSuffixESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetCreationSuffix() {
+ return creationSuffixESet;
}
/**
@@ -348,7 +382,7 @@ public class SecondaryTableImpl extends BaseOrmAnnotationImpl implements Seconda
setCatalog(CATALOG_EDEFAULT);
return;
case OrmPackage.SECONDARY_TABLE__CREATION_SUFFIX:
- setCreationSuffix(CREATION_SUFFIX_EDEFAULT);
+ unsetCreationSuffix();
return;
case OrmPackage.SECONDARY_TABLE__NAME:
setName(NAME_EDEFAULT);
@@ -374,7 +408,7 @@ public class SecondaryTableImpl extends BaseOrmAnnotationImpl implements Seconda
case OrmPackage.SECONDARY_TABLE__CATALOG:
return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
case OrmPackage.SECONDARY_TABLE__CREATION_SUFFIX:
- return CREATION_SUFFIX_EDEFAULT == null ? creationSuffix != null : !CREATION_SUFFIX_EDEFAULT.equals(creationSuffix);
+ return isSetCreationSuffix();
case OrmPackage.SECONDARY_TABLE__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case OrmPackage.SECONDARY_TABLE__SCHEMA:
@@ -395,7 +429,7 @@ public class SecondaryTableImpl extends BaseOrmAnnotationImpl implements Seconda
result.append(" (catalog: ");
result.append(catalog);
result.append(", creationSuffix: ");
- result.append(creationSuffix);
+ if (creationSuffixESet) result.append(creationSuffix); else result.append("<unset>");
result.append(", name: ");
result.append(name);
result.append(", schema: ");
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/TableGeneratorImpl.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/TableGeneratorImpl.java
index 8f5595cd..0683f71b 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/TableGeneratorImpl.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/TableGeneratorImpl.java
@@ -155,6 +155,15 @@ public class TableGeneratorImpl extends BaseOrmAnnotationImpl implements TableGe
protected String creationSuffix = CREATION_SUFFIX_EDEFAULT;
/**
+ * This is true if the Creation Suffix attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean creationSuffixESet;
+
+ /**
* The default value of the '{@link #getInitialValue() <em>Initial Value</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -426,8 +435,33 @@ public class TableGeneratorImpl extends BaseOrmAnnotationImpl implements TableGe
public void setCreationSuffix(String newCreationSuffix) {
String oldCreationSuffix = creationSuffix;
creationSuffix = newCreationSuffix;
+ boolean oldCreationSuffixESet = creationSuffixESet;
+ creationSuffixESet = true;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.TABLE_GENERATOR__CREATION_SUFFIX, oldCreationSuffix, creationSuffix));
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.TABLE_GENERATOR__CREATION_SUFFIX, oldCreationSuffix, creationSuffix, !oldCreationSuffixESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetCreationSuffix() {
+ String oldCreationSuffix = creationSuffix;
+ boolean oldCreationSuffixESet = creationSuffixESet;
+ creationSuffix = CREATION_SUFFIX_EDEFAULT;
+ creationSuffixESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, OrmPackage.TABLE_GENERATOR__CREATION_SUFFIX, oldCreationSuffix, CREATION_SUFFIX_EDEFAULT, oldCreationSuffixESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetCreationSuffix() {
+ return creationSuffixESet;
}
/**
@@ -703,7 +737,7 @@ public class TableGeneratorImpl extends BaseOrmAnnotationImpl implements TableGe
setCatalog(CATALOG_EDEFAULT);
return;
case OrmPackage.TABLE_GENERATOR__CREATION_SUFFIX:
- setCreationSuffix(CREATION_SUFFIX_EDEFAULT);
+ unsetCreationSuffix();
return;
case OrmPackage.TABLE_GENERATOR__INITIAL_VALUE:
unsetInitialValue();
@@ -746,7 +780,7 @@ public class TableGeneratorImpl extends BaseOrmAnnotationImpl implements TableGe
case OrmPackage.TABLE_GENERATOR__CATALOG:
return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
case OrmPackage.TABLE_GENERATOR__CREATION_SUFFIX:
- return CREATION_SUFFIX_EDEFAULT == null ? creationSuffix != null : !CREATION_SUFFIX_EDEFAULT.equals(creationSuffix);
+ return isSetCreationSuffix();
case OrmPackage.TABLE_GENERATOR__INITIAL_VALUE:
return isSetInitialValue();
case OrmPackage.TABLE_GENERATOR__NAME:
@@ -781,7 +815,7 @@ public class TableGeneratorImpl extends BaseOrmAnnotationImpl implements TableGe
result.append(", catalog: ");
result.append(catalog);
result.append(", creationSuffix: ");
- result.append(creationSuffix);
+ if (creationSuffixESet) result.append(creationSuffix); else result.append("<unset>");
result.append(", initialValue: ");
if (initialValueESet) result.append(initialValue); else result.append("<unset>");
result.append(", name: ");
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/TableImpl.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/TableImpl.java
index 63143b7f..9b09c52f 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/TableImpl.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/TableImpl.java
@@ -93,6 +93,15 @@ public class TableImpl extends BaseOrmAnnotationImpl implements Table {
protected String creationSuffix = CREATION_SUFFIX_EDEFAULT;
/**
+ * This is true if the Creation Suffix attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean creationSuffixESet;
+
+ /**
* The default value of the '{@link #getName() <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
@@ -195,8 +204,33 @@ public class TableImpl extends BaseOrmAnnotationImpl implements Table {
public void setCreationSuffix(String newCreationSuffix) {
String oldCreationSuffix = creationSuffix;
creationSuffix = newCreationSuffix;
+ boolean oldCreationSuffixESet = creationSuffixESet;
+ creationSuffixESet = true;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.TABLE__CREATION_SUFFIX, oldCreationSuffix, creationSuffix));
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.TABLE__CREATION_SUFFIX, oldCreationSuffix, creationSuffix, !oldCreationSuffixESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetCreationSuffix() {
+ String oldCreationSuffix = creationSuffix;
+ boolean oldCreationSuffixESet = creationSuffixESet;
+ creationSuffix = CREATION_SUFFIX_EDEFAULT;
+ creationSuffixESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, OrmPackage.TABLE__CREATION_SUFFIX, oldCreationSuffix, CREATION_SUFFIX_EDEFAULT, oldCreationSuffixESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetCreationSuffix() {
+ return creationSuffixESet;
}
/**
@@ -313,7 +347,7 @@ public class TableImpl extends BaseOrmAnnotationImpl implements Table {
setCatalog(CATALOG_EDEFAULT);
return;
case OrmPackage.TABLE__CREATION_SUFFIX:
- setCreationSuffix(CREATION_SUFFIX_EDEFAULT);
+ unsetCreationSuffix();
return;
case OrmPackage.TABLE__NAME:
setName(NAME_EDEFAULT);
@@ -337,7 +371,7 @@ public class TableImpl extends BaseOrmAnnotationImpl implements Table {
case OrmPackage.TABLE__CATALOG:
return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
case OrmPackage.TABLE__CREATION_SUFFIX:
- return CREATION_SUFFIX_EDEFAULT == null ? creationSuffix != null : !CREATION_SUFFIX_EDEFAULT.equals(creationSuffix);
+ return isSetCreationSuffix();
case OrmPackage.TABLE__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case OrmPackage.TABLE__SCHEMA:
@@ -358,7 +392,7 @@ public class TableImpl extends BaseOrmAnnotationImpl implements Table {
result.append(" (catalog: ");
result.append(catalog);
result.append(", creationSuffix: ");
- result.append(creationSuffix);
+ if (creationSuffixESet) result.append(creationSuffix); else result.append("<unset>");
result.append(", name: ");
result.append(name);
result.append(", schema: ");
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/orm.ecore b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/orm.ecore
index 7d3106a6..078419a4 100644
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/orm.ecore
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotations/model/orm/impl/orm.ecore
@@ -1171,7 +1171,8 @@
<details key="name" value="catalog"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+ unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="creation-suffix"/>
@@ -1488,7 +1489,8 @@
<details key="name" value="catalog"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+ unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="creation-suffix"/>
@@ -3660,7 +3662,8 @@
<details key="name" value="catalog"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+ unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="creation-suffix"/>
@@ -6595,7 +6598,8 @@
<details key="name" value="catalog"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+ unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="creation-suffix"/>
@@ -6865,7 +6869,8 @@
<details key="name" value="catalog"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+ unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="creation-suffix"/>
@@ -6917,7 +6922,8 @@
<details key="name" value="catalog"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
+ unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="creation-suffix"/>
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotator/EReferenceORMAnnotator.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotator/EReferenceORMAnnotator.java
index 2ef15aa7..6e386f54 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotator/EReferenceORMAnnotator.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotator/EReferenceORMAnnotator.java
@@ -207,6 +207,16 @@ public class EReferenceORMAnnotator extends EStructuralFeatureORMAnnotator imple
annotation.setOneToMany(oneToMany);
}
+ // copy any join columns/jointable over
+ if (oneToMany.getJoinColumn().isEmpty()) {
+ for (JoinColumn jc : annotation.getJoinColumn()) {
+ oneToMany.getJoinColumn().add(EcoreUtil.copy(jc));
+ }
+ }
+ if (oneToMany.getJoinTable() == null) {
+ oneToMany.setJoinTable(EcoreUtil.copy(annotation.getJoinTable()));
+ }
+
// make the access field if not changeable, as there won't be a setter
if (!eReference.isChangeable()) {
oneToMany.setAccess(AccessType.FIELD);
@@ -314,9 +324,6 @@ public class EReferenceORMAnnotator extends EStructuralFeatureORMAnnotator imple
// oneToMany.setTargetEntity(getTargetEntity(eReference));
// }
- // copy any join columns over
- oneToMany.getJoinColumn().addAll(annotation.getJoinColumn());
-
// now work on jointable or joincolumn
if (isOwner && oneToMany.getJoinColumn().isEmpty() && oneToMany.getJoinTable() == null) {
if (eReference.isContainment()) {
diff --git a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotator/StandardORMGenerator.java b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotator/StandardORMGenerator.java
index b3a1f305..3a2ab2d4 100755
--- a/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotator/StandardORMGenerator.java
+++ b/generator/org.eclipse.emf.texo.orm/src/org/eclipse/emf/texo/orm/annotator/StandardORMGenerator.java
@@ -21,11 +21,17 @@ import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.texo.annotations.annotationsmodel.AnnotatedModel;
import org.eclipse.emf.texo.generator.AnnotationManager;
import org.eclipse.emf.texo.generator.ModelController;
@@ -47,6 +53,12 @@ public class StandardORMGenerator extends ORMGenerator {
private static final String STANDARD_ORM_NS = "http://java.sun.com/xml/ns/persistence/orm"; //$NON-NLS-1$
private static final String ECLIPSELINK_ORM_NS = "http://www.eclipse.org/eclipselink/xsds/persistence/orm"; //$NON-NLS-1$
+ private static final List<String> eclipseLinkSpecificFeatureNames = new ArrayList<String>();
+
+ static {
+ eclipseLinkSpecificFeatureNames.add("creationSuffix");
+ }
+
@Override
public ModelController generateStoreORM(List<EPackage> ePackages, URI ormUri) {
try {
@@ -65,6 +77,9 @@ public class StandardORMGenerator extends ORMGenerator {
} else {
entityMappings.setVersion(SupportedVersionsType._23);
}
+
+ unsetEclipseLinkFeatures(entityMappings);
+
final OrmannotationsResourceImpl ormResource = (OrmannotationsResourceImpl) new OrmannotationsResourceFactoryImpl()
.createResource(fileUri);
try {
@@ -91,4 +106,48 @@ public class StandardORMGenerator extends ORMGenerator {
}
}
+ protected void unsetEclipseLinkFeatures(EObject eObject) {
+ if (eObject == null) {
+ return;
+ }
+ for (EStructuralFeature eFeature : eObject.eClass().getEAllStructuralFeatures()) {
+ final Object value = eObject.eGet(eFeature);
+ if (eFeature instanceof EReference) {
+ final EReference eReference = (EReference) eFeature;
+ // visit the children
+ if (eReference.isContainment()) {
+ if (value instanceof Collection<?>) {
+ final Collection<?> coll = (Collection<?>) value;
+ for (Object o : coll) {
+ unsetEclipseLinkFeatures((EObject) o);
+ }
+ } else {
+ unsetEclipseLinkFeatures((EObject) value);
+ }
+ }
+
+ // unset
+ if (eclipseLinkSpecificFeatureNames.contains(eReference.getName())) {
+ if (value instanceof Collection<?>) {
+ final Collection<?> coll = (Collection<?>) value;
+ coll.clear();
+ } else {
+ eObject.eSet(eReference, null);
+ }
+ eObject.eUnset(eReference);
+ }
+ } else {
+ final EAttribute eAttribute = (EAttribute) eFeature;
+ if (eclipseLinkSpecificFeatureNames.contains(eAttribute.getName())) {
+ if (value instanceof Collection<?>) {
+ final Collection<?> coll = (Collection<?>) eObject.eGet(eAttribute);
+ coll.clear();
+ } else {
+ eObject.eSet(eAttribute, null);
+ }
+ eObject.eUnset(eAttribute);
+ }
+ }
+ }
+ }
} \ No newline at end of file

Back to the top