diff options
author | kmoore | 2011-12-15 19:37:47 +0000 |
---|---|---|
committer | kmoore | 2011-12-15 19:37:47 +0000 |
commit | 688b16285078793bc912dec772e2ced8b27e84b1 (patch) | |
tree | 645a5b2de4eae944909ffa215f198dc972684d9d /jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm | |
parent | c05c42a1538c744ae164f80f527cce69f018eb83 (diff) | |
download | webtools.dali-688b16285078793bc912dec772e2ced8b27e84b1.tar.gz webtools.dali-688b16285078793bc912dec772e2ced8b27e84b1.tar.xz webtools.dali-688b16285078793bc912dec772e2ced8b27e84b1.zip |
364071 - [EclipseLink] partial model support for Structure and Array attribute mappings
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm')
8 files changed, 1479 insertions, 11 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/Attributes.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/Attributes.java index 4b71f1aa60..94e3902367 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/Attributes.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/Attributes.java @@ -488,6 +488,8 @@ public class Attributes extends org.eclipse.jpt.jpa.core.resource.orm.Attributes CollectionTools.addAll(attributeMappings, this.getEmbeddeds().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); CollectionTools.addAll(attributeMappings, this.getTransformations().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); CollectionTools.addAll(attributeMappings, this.getTransients().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); + CollectionTools.addAll(attributeMappings, this.getArrays().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); + CollectionTools.addAll(attributeMappings, this.getStructures().toArray(EMPTY_XML_ATTRIBUTE_MAPPING_ARRAY)); return attributeMappings; } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java index c1a27854d6..d0731150ad 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java @@ -197,13 +197,109 @@ public class EclipseLinkOrmPackage extends EPackageImpl */ public static final int XML_ARRAY__PROPERTIES = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1; /** + * The feature id for the '<em><b>Converters</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY__CONVERTERS = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2; + /** + * The feature id for the '<em><b>Type Converters</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY__TYPE_CONVERTERS = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3; + /** + * The feature id for the '<em><b>Object Type Converters</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY__OBJECT_TYPE_CONVERTERS = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4; + /** + * The feature id for the '<em><b>Struct Converters</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY__STRUCT_CONVERTERS = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 5; + /** + * The feature id for the '<em><b>Lob</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY__LOB = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 6; + /** + * The feature id for the '<em><b>Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY__TEMPORAL = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 7; + /** + * The feature id for the '<em><b>Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY__ENUMERATED = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 8; + /** + * The feature id for the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY__COLUMN = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 9; + /** + * The feature id for the '<em><b>Database Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY__DATABASE_TYPE = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 10; + /** + * The feature id for the '<em><b>Target Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY__TARGET_CLASS = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 11; + /** + * The feature id for the '<em><b>Attribute Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY__ATTRIBUTE_TYPE = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 12; + /** + * The feature id for the '<em><b>Convert</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY__CONVERT = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 13; + /** * The number of structural features of the '<em>Xml Array</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_ARRAY_FEATURE_COUNT = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2; + public static final int XML_ARRAY_FEATURE_COUNT = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 14; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAttributeMapping <em>Xml Attribute Mapping</em>}' class. * <!-- begin-user-doc --> @@ -6342,13 +6438,21 @@ public class EclipseLinkOrmPackage extends EPackageImpl */ public static final int XML_STRUCTURE__PROPERTIES = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 1; /** + * The feature id for the '<em><b>Attribute Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_STRUCTURE__ATTRIBUTE_TYPE = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2; + /** * The number of structural features of the '<em>Xml Structure</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_STRUCTURE_FEATURE_COUNT = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 2; + public static final int XML_STRUCTURE_FEATURE_COUNT = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 3; /** * The feature id for the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> @@ -10571,6 +10675,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl xmlArrayEClass.getESuperTypes().add(theOrmPackage.getAbstractXmlAttributeMapping()); xmlArrayEClass.getESuperTypes().add(this.getXmlAttributeMapping()); xmlArrayEClass.getESuperTypes().add(theEclipseLinkOrmV2_3Package.getXmlArray_2_3()); + xmlArrayEClass.getESuperTypes().add(this.getXmlConvertibleMapping()); xmlAttributeMappingEClass.getESuperTypes().add(theOrmPackage.getXmlAttributeMapping()); xmlAttributeMappingEClass.getESuperTypes().add(this.getXmlAccessMethodsHolder()); xmlAttributeMappingEClass.getESuperTypes().add(this.getXmlPropertyContainer()); diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlArray.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlArray.java index f020629619..99243bea28 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlArray.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlArray.java @@ -19,9 +19,19 @@ import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.util.EObjectContainmentEList; import org.eclipse.emf.ecore.util.InternalEList; +import org.eclipse.jpt.common.core.internal.utility.translators.EmptyTagBooleanTranslator; import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; +import org.eclipse.jpt.common.core.utility.TextRange; import org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping; +import org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping; +import org.eclipse.jpt.jpa.core.resource.orm.EnumType; +import org.eclipse.jpt.jpa.core.resource.orm.JPA; +import org.eclipse.jpt.jpa.core.resource.orm.OrmPackage; +import org.eclipse.jpt.jpa.core.resource.orm.TemporalType; +import org.eclipse.jpt.jpa.core.resource.orm.XmlColumn; import org.eclipse.jpt.jpa.eclipselink.core.EclipseLinkMappingKeys; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLink2_3; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLinkOrmV2_3Package; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3; import org.eclipse.wst.common.internal.emf.resource.Translator; @@ -35,7 +45,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator; * @model kind="class" * @generated */ -public class XmlArray extends AbstractXmlAttributeMapping implements XmlAttributeMapping, XmlArray_2_3 +public class XmlArray extends AbstractXmlAttributeMapping implements XmlAttributeMapping, XmlArray_2_3, XmlConvertibleMapping { /** * The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference. @@ -58,6 +68,189 @@ public class XmlArray extends AbstractXmlAttributeMapping implements XmlAttribut protected EList<XmlProperty> properties; /** + * The cached value of the '{@link #getConverters() <em>Converters</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getConverters() + * @generated + * @ordered + */ + protected EList<XmlConverter> converters; + + /** + * The cached value of the '{@link #getTypeConverters() <em>Type Converters</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTypeConverters() + * @generated + * @ordered + */ + protected EList<XmlTypeConverter> typeConverters; + + /** + * The cached value of the '{@link #getObjectTypeConverters() <em>Object Type Converters</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getObjectTypeConverters() + * @generated + * @ordered + */ + protected EList<XmlObjectTypeConverter> objectTypeConverters; + + /** + * The cached value of the '{@link #getStructConverters() <em>Struct Converters</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStructConverters() + * @generated + * @ordered + */ + protected EList<XmlStructConverter> structConverters; + + /** + * The default value of the '{@link #isLob() <em>Lob</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isLob() + * @generated + * @ordered + */ + protected static final boolean LOB_EDEFAULT = false; + + /** + * The cached value of the '{@link #isLob() <em>Lob</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isLob() + * @generated + * @ordered + */ + protected boolean lob = LOB_EDEFAULT; + + /** + * changed this to null and removed the generated flag so emf won't generate over it + * we don't want a default for enums, just null if the tag does not exist + */ + protected static final TemporalType TEMPORAL_EDEFAULT = null; + + /** + * The cached value of the '{@link #getTemporal() <em>Temporal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTemporal() + * @generated + * @ordered + */ + protected TemporalType temporal = TEMPORAL_EDEFAULT; + + + /** + * changed this to null and removed the generated flag so emf won't generate over it + * we don't want a default for enums, just null if the tag does not exist + */ + protected static final EnumType ENUMERATED_EDEFAULT = null; + + /** + * The cached value of the '{@link #getEnumerated() <em>Enumerated</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEnumerated() + * @generated + * @ordered + */ + protected EnumType enumerated = ENUMERATED_EDEFAULT; + + /** + * The cached value of the '{@link #getColumn() <em>Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getColumn() + * @generated + * @ordered + */ + protected XmlColumn column; + + /** + * The default value of the '{@link #getDatabaseType() <em>Database Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDatabaseType() + * @generated + * @ordered + */ + protected static final String DATABASE_TYPE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getDatabaseType() <em>Database Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDatabaseType() + * @generated + * @ordered + */ + protected String databaseType = DATABASE_TYPE_EDEFAULT; + + /** + * The default value of the '{@link #getTargetClass() <em>Target Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetClass() + * @generated + * @ordered + */ + protected static final String TARGET_CLASS_EDEFAULT = null; + + /** + * The cached value of the '{@link #getTargetClass() <em>Target Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetClass() + * @generated + * @ordered + */ + protected String targetClass = TARGET_CLASS_EDEFAULT; + + /** + * The default value of the '{@link #getAttributeType() <em>Attribute Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAttributeType() + * @generated + * @ordered + */ + protected static final String ATTRIBUTE_TYPE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getAttributeType() <em>Attribute Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAttributeType() + * @generated + * @ordered + */ + protected String attributeType = ATTRIBUTE_TYPE_EDEFAULT; + + /** + * The default value of the '{@link #getConvert() <em>Convert</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getConvert() + * @generated + * @ordered + */ + protected static final String CONVERT_EDEFAULT = null; + + /** + * The cached value of the '{@link #getConvert() <em>Convert</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getConvert() + * @generated + * @ordered + */ + protected String convert = CONVERT_EDEFAULT; + + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated @@ -162,6 +355,409 @@ public class XmlArray extends AbstractXmlAttributeMapping implements XmlAttribut } /** + * Returns the value of the '<em><b>Converters</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlConverter}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Converters</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Converters</em>' containment reference list. + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterContainer_Converters() + * @model containment="true" + * @generated + */ + public EList<XmlConverter> getConverters() + { + if (converters == null) + { + converters = new EObjectContainmentEList<XmlConverter>(XmlConverter.class, this, EclipseLinkOrmPackage.XML_ARRAY__CONVERTERS); + } + return converters; + } + + /** + * Returns the value of the '<em><b>Type Converters</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeConverter}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Type Converters</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Type Converters</em>' containment reference list. + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterContainer_TypeConverters() + * @model containment="true" + * @generated + */ + public EList<XmlTypeConverter> getTypeConverters() + { + if (typeConverters == null) + { + typeConverters = new EObjectContainmentEList<XmlTypeConverter>(XmlTypeConverter.class, this, EclipseLinkOrmPackage.XML_ARRAY__TYPE_CONVERTERS); + } + return typeConverters; + } + + /** + * Returns the value of the '<em><b>Object Type Converters</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlObjectTypeConverter}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Object Type Converters</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Object Type Converters</em>' containment reference list. + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterContainer_ObjectTypeConverters() + * @model containment="true" + * @generated + */ + public EList<XmlObjectTypeConverter> getObjectTypeConverters() + { + if (objectTypeConverters == null) + { + objectTypeConverters = new EObjectContainmentEList<XmlObjectTypeConverter>(XmlObjectTypeConverter.class, this, EclipseLinkOrmPackage.XML_ARRAY__OBJECT_TYPE_CONVERTERS); + } + return objectTypeConverters; + } + + /** + * Returns the value of the '<em><b>Struct Converters</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlStructConverter}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Struct Converters</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Struct Converters</em>' containment reference list. + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterContainer_StructConverters() + * @model containment="true" + * @generated + */ + public EList<XmlStructConverter> getStructConverters() + { + if (structConverters == null) + { + structConverters = new EObjectContainmentEList<XmlStructConverter>(XmlStructConverter.class, this, EclipseLinkOrmPackage.XML_ARRAY__STRUCT_CONVERTERS); + } + return structConverters; + } + + /** + * Returns the value of the '<em><b>Lob</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Lob</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Lob</em>' attribute. + * @see #setLob(boolean) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertibleMapping_Lob() + * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean" + * @generated + */ + public boolean isLob() + { + return lob; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlArray#isLob <em>Lob</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Lob</em>' attribute. + * @see #isLob() + * @generated + */ + public void setLob(boolean newLob) + { + boolean oldLob = lob; + lob = newLob; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ARRAY__LOB, oldLob, lob)); + } + + /** + * Returns the value of the '<em><b>Temporal</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Temporal</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Temporal</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType + * @see #setTemporal(TemporalType) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertibleMapping_Temporal() + * @model + * @generated + */ + public TemporalType getTemporal() + { + return temporal; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlArray#getTemporal <em>Temporal</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Temporal</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.TemporalType + * @see #getTemporal() + * @generated + */ + public void setTemporal(TemporalType newTemporal) + { + TemporalType oldTemporal = temporal; + temporal = newTemporal == null ? TEMPORAL_EDEFAULT : newTemporal; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ARRAY__TEMPORAL, oldTemporal, temporal)); + } + + /** + * Returns the value of the '<em><b>Enumerated</b></em>' attribute. + * The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.orm.EnumType}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Enumerated</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Enumerated</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType + * @see #setEnumerated(EnumType) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertibleMapping_Enumerated() + * @model + * @generated + */ + public EnumType getEnumerated() + { + return enumerated; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlArray#getEnumerated <em>Enumerated</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Enumerated</em>' attribute. + * @see org.eclipse.jpt.jpa.core.resource.orm.EnumType + * @see #getEnumerated() + * @generated + */ + public void setEnumerated(EnumType newEnumerated) + { + EnumType oldEnumerated = enumerated; + enumerated = newEnumerated == null ? ENUMERATED_EDEFAULT : newEnumerated; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ARRAY__ENUMERATED, oldEnumerated, enumerated)); + } + + /** + * Returns the value of the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Column</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Column</em>' containment reference. + * @see #setColumn(XmlColumn) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getColumnMapping_Column() + * @model containment="true" + * @generated + */ + public XmlColumn getColumn() + { + return column; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetColumn(XmlColumn newColumn, NotificationChain msgs) + { + XmlColumn oldColumn = column; + column = newColumn; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ARRAY__COLUMN, oldColumn, newColumn); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlArray#getColumn <em>Column</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Column</em>' containment reference. + * @see #getColumn() + * @generated + */ + public void setColumn(XmlColumn newColumn) + { + if (newColumn != column) + { + NotificationChain msgs = null; + if (column != null) + msgs = ((InternalEObject)column).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ARRAY__COLUMN, null, msgs); + if (newColumn != null) + msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_ARRAY__COLUMN, null, msgs); + msgs = basicSetColumn(newColumn, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ARRAY__COLUMN, newColumn, newColumn)); + } + + /** + * Returns the value of the '<em><b>Database Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Database Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Database Type</em>' attribute. + * @see #setDatabaseType(String) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlArray_2_3_DatabaseType() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getDatabaseType() + { + return databaseType; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlArray#getDatabaseType <em>Database Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Database Type</em>' attribute. + * @see #getDatabaseType() + * @generated + */ + public void setDatabaseType(String newDatabaseType) + { + String oldDatabaseType = databaseType; + databaseType = newDatabaseType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ARRAY__DATABASE_TYPE, oldDatabaseType, databaseType)); + } + + /** + * Returns the value of the '<em><b>Target Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Target Class</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Target Class</em>' attribute. + * @see #setTargetClass(String) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlArray_2_3_TargetClass() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getTargetClass() + { + return targetClass; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlArray#getTargetClass <em>Target Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target Class</em>' attribute. + * @see #getTargetClass() + * @generated + */ + public void setTargetClass(String newTargetClass) + { + String oldTargetClass = targetClass; + targetClass = newTargetClass; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ARRAY__TARGET_CLASS, oldTargetClass, targetClass)); + } + + /** + * Returns the value of the '<em><b>Attribute Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Attribute Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Attribute Type</em>' attribute. + * @see #setAttributeType(String) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlArray_2_3_AttributeType() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getAttributeType() + { + return attributeType; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlArray#getAttributeType <em>Attribute Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Attribute Type</em>' attribute. + * @see #getAttributeType() + * @generated + */ + public void setAttributeType(String newAttributeType) + { + String oldAttributeType = attributeType; + attributeType = newAttributeType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ARRAY__ATTRIBUTE_TYPE, oldAttributeType, attributeType)); + } + + /** + * Returns the value of the '<em><b>Convert</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Convert</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Convert</em>' attribute. + * @see #setConvert(String) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertibleMapping_Convert() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getConvert() + { + return convert; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlArray#getConvert <em>Convert</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Convert</em>' attribute. + * @see #getConvert() + * @generated + */ + public void setConvert(String newConvert) + { + String oldConvert = convert; + convert = newConvert; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ARRAY__CONVERT, oldConvert, convert)); + } + + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated @@ -175,6 +771,16 @@ public class XmlArray extends AbstractXmlAttributeMapping implements XmlAttribut return basicSetAccessMethods(null, msgs); case EclipseLinkOrmPackage.XML_ARRAY__PROPERTIES: return ((InternalEList<?>)getProperties()).basicRemove(otherEnd, msgs); + case EclipseLinkOrmPackage.XML_ARRAY__CONVERTERS: + return ((InternalEList<?>)getConverters()).basicRemove(otherEnd, msgs); + case EclipseLinkOrmPackage.XML_ARRAY__TYPE_CONVERTERS: + return ((InternalEList<?>)getTypeConverters()).basicRemove(otherEnd, msgs); + case EclipseLinkOrmPackage.XML_ARRAY__OBJECT_TYPE_CONVERTERS: + return ((InternalEList<?>)getObjectTypeConverters()).basicRemove(otherEnd, msgs); + case EclipseLinkOrmPackage.XML_ARRAY__STRUCT_CONVERTERS: + return ((InternalEList<?>)getStructConverters()).basicRemove(otherEnd, msgs); + case EclipseLinkOrmPackage.XML_ARRAY__COLUMN: + return basicSetColumn(null, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } @@ -193,6 +799,30 @@ public class XmlArray extends AbstractXmlAttributeMapping implements XmlAttribut return getAccessMethods(); case EclipseLinkOrmPackage.XML_ARRAY__PROPERTIES: return getProperties(); + case EclipseLinkOrmPackage.XML_ARRAY__CONVERTERS: + return getConverters(); + case EclipseLinkOrmPackage.XML_ARRAY__TYPE_CONVERTERS: + return getTypeConverters(); + case EclipseLinkOrmPackage.XML_ARRAY__OBJECT_TYPE_CONVERTERS: + return getObjectTypeConverters(); + case EclipseLinkOrmPackage.XML_ARRAY__STRUCT_CONVERTERS: + return getStructConverters(); + case EclipseLinkOrmPackage.XML_ARRAY__LOB: + return isLob(); + case EclipseLinkOrmPackage.XML_ARRAY__TEMPORAL: + return getTemporal(); + case EclipseLinkOrmPackage.XML_ARRAY__ENUMERATED: + return getEnumerated(); + case EclipseLinkOrmPackage.XML_ARRAY__COLUMN: + return getColumn(); + case EclipseLinkOrmPackage.XML_ARRAY__DATABASE_TYPE: + return getDatabaseType(); + case EclipseLinkOrmPackage.XML_ARRAY__TARGET_CLASS: + return getTargetClass(); + case EclipseLinkOrmPackage.XML_ARRAY__ATTRIBUTE_TYPE: + return getAttributeType(); + case EclipseLinkOrmPackage.XML_ARRAY__CONVERT: + return getConvert(); } return super.eGet(featureID, resolve, coreType); } @@ -215,6 +845,46 @@ public class XmlArray extends AbstractXmlAttributeMapping implements XmlAttribut getProperties().clear(); getProperties().addAll((Collection<? extends XmlProperty>)newValue); return; + case EclipseLinkOrmPackage.XML_ARRAY__CONVERTERS: + getConverters().clear(); + getConverters().addAll((Collection<? extends XmlConverter>)newValue); + return; + case EclipseLinkOrmPackage.XML_ARRAY__TYPE_CONVERTERS: + getTypeConverters().clear(); + getTypeConverters().addAll((Collection<? extends XmlTypeConverter>)newValue); + return; + case EclipseLinkOrmPackage.XML_ARRAY__OBJECT_TYPE_CONVERTERS: + getObjectTypeConverters().clear(); + getObjectTypeConverters().addAll((Collection<? extends XmlObjectTypeConverter>)newValue); + return; + case EclipseLinkOrmPackage.XML_ARRAY__STRUCT_CONVERTERS: + getStructConverters().clear(); + getStructConverters().addAll((Collection<? extends XmlStructConverter>)newValue); + return; + case EclipseLinkOrmPackage.XML_ARRAY__LOB: + setLob((Boolean)newValue); + return; + case EclipseLinkOrmPackage.XML_ARRAY__TEMPORAL: + setTemporal((TemporalType)newValue); + return; + case EclipseLinkOrmPackage.XML_ARRAY__ENUMERATED: + setEnumerated((EnumType)newValue); + return; + case EclipseLinkOrmPackage.XML_ARRAY__COLUMN: + setColumn((XmlColumn)newValue); + return; + case EclipseLinkOrmPackage.XML_ARRAY__DATABASE_TYPE: + setDatabaseType((String)newValue); + return; + case EclipseLinkOrmPackage.XML_ARRAY__TARGET_CLASS: + setTargetClass((String)newValue); + return; + case EclipseLinkOrmPackage.XML_ARRAY__ATTRIBUTE_TYPE: + setAttributeType((String)newValue); + return; + case EclipseLinkOrmPackage.XML_ARRAY__CONVERT: + setConvert((String)newValue); + return; } super.eSet(featureID, newValue); } @@ -235,6 +905,42 @@ public class XmlArray extends AbstractXmlAttributeMapping implements XmlAttribut case EclipseLinkOrmPackage.XML_ARRAY__PROPERTIES: getProperties().clear(); return; + case EclipseLinkOrmPackage.XML_ARRAY__CONVERTERS: + getConverters().clear(); + return; + case EclipseLinkOrmPackage.XML_ARRAY__TYPE_CONVERTERS: + getTypeConverters().clear(); + return; + case EclipseLinkOrmPackage.XML_ARRAY__OBJECT_TYPE_CONVERTERS: + getObjectTypeConverters().clear(); + return; + case EclipseLinkOrmPackage.XML_ARRAY__STRUCT_CONVERTERS: + getStructConverters().clear(); + return; + case EclipseLinkOrmPackage.XML_ARRAY__LOB: + setLob(LOB_EDEFAULT); + return; + case EclipseLinkOrmPackage.XML_ARRAY__TEMPORAL: + setTemporal(TEMPORAL_EDEFAULT); + return; + case EclipseLinkOrmPackage.XML_ARRAY__ENUMERATED: + setEnumerated(ENUMERATED_EDEFAULT); + return; + case EclipseLinkOrmPackage.XML_ARRAY__COLUMN: + setColumn((XmlColumn)null); + return; + case EclipseLinkOrmPackage.XML_ARRAY__DATABASE_TYPE: + setDatabaseType(DATABASE_TYPE_EDEFAULT); + return; + case EclipseLinkOrmPackage.XML_ARRAY__TARGET_CLASS: + setTargetClass(TARGET_CLASS_EDEFAULT); + return; + case EclipseLinkOrmPackage.XML_ARRAY__ATTRIBUTE_TYPE: + setAttributeType(ATTRIBUTE_TYPE_EDEFAULT); + return; + case EclipseLinkOrmPackage.XML_ARRAY__CONVERT: + setConvert(CONVERT_EDEFAULT); + return; } super.eUnset(featureID); } @@ -253,6 +959,30 @@ public class XmlArray extends AbstractXmlAttributeMapping implements XmlAttribut return accessMethods != null; case EclipseLinkOrmPackage.XML_ARRAY__PROPERTIES: return properties != null && !properties.isEmpty(); + case EclipseLinkOrmPackage.XML_ARRAY__CONVERTERS: + return converters != null && !converters.isEmpty(); + case EclipseLinkOrmPackage.XML_ARRAY__TYPE_CONVERTERS: + return typeConverters != null && !typeConverters.isEmpty(); + case EclipseLinkOrmPackage.XML_ARRAY__OBJECT_TYPE_CONVERTERS: + return objectTypeConverters != null && !objectTypeConverters.isEmpty(); + case EclipseLinkOrmPackage.XML_ARRAY__STRUCT_CONVERTERS: + return structConverters != null && !structConverters.isEmpty(); + case EclipseLinkOrmPackage.XML_ARRAY__LOB: + return lob != LOB_EDEFAULT; + case EclipseLinkOrmPackage.XML_ARRAY__TEMPORAL: + return temporal != TEMPORAL_EDEFAULT; + case EclipseLinkOrmPackage.XML_ARRAY__ENUMERATED: + return enumerated != ENUMERATED_EDEFAULT; + case EclipseLinkOrmPackage.XML_ARRAY__COLUMN: + return column != null; + case EclipseLinkOrmPackage.XML_ARRAY__DATABASE_TYPE: + return DATABASE_TYPE_EDEFAULT == null ? databaseType != null : !DATABASE_TYPE_EDEFAULT.equals(databaseType); + case EclipseLinkOrmPackage.XML_ARRAY__TARGET_CLASS: + return TARGET_CLASS_EDEFAULT == null ? targetClass != null : !TARGET_CLASS_EDEFAULT.equals(targetClass); + case EclipseLinkOrmPackage.XML_ARRAY__ATTRIBUTE_TYPE: + return ATTRIBUTE_TYPE_EDEFAULT == null ? attributeType != null : !ATTRIBUTE_TYPE_EDEFAULT.equals(attributeType); + case EclipseLinkOrmPackage.XML_ARRAY__CONVERT: + return CONVERT_EDEFAULT == null ? convert != null : !CONVERT_EDEFAULT.equals(convert); } return super.eIsSet(featureID); } @@ -288,10 +1018,50 @@ public class XmlArray extends AbstractXmlAttributeMapping implements XmlAttribut default: return -1; } } + if (baseClass == XmlConverterContainer.class) + { + switch (derivedFeatureID) + { + case EclipseLinkOrmPackage.XML_ARRAY__CONVERTERS: return EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__CONVERTERS; + case EclipseLinkOrmPackage.XML_ARRAY__TYPE_CONVERTERS: return EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__TYPE_CONVERTERS; + case EclipseLinkOrmPackage.XML_ARRAY__OBJECT_TYPE_CONVERTERS: return EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__OBJECT_TYPE_CONVERTERS; + case EclipseLinkOrmPackage.XML_ARRAY__STRUCT_CONVERTERS: return EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__STRUCT_CONVERTERS; + default: return -1; + } + } + if (baseClass == org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping.class) + { + switch (derivedFeatureID) + { + case EclipseLinkOrmPackage.XML_ARRAY__LOB: return OrmPackage.XML_CONVERTIBLE_MAPPING__LOB; + case EclipseLinkOrmPackage.XML_ARRAY__TEMPORAL: return OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL; + case EclipseLinkOrmPackage.XML_ARRAY__ENUMERATED: return OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED; + default: return -1; + } + } + if (baseClass == ColumnMapping.class) + { + switch (derivedFeatureID) + { + case EclipseLinkOrmPackage.XML_ARRAY__COLUMN: return OrmPackage.COLUMN_MAPPING__COLUMN; + default: return -1; + } + } if (baseClass == XmlArray_2_3.class) { switch (derivedFeatureID) { + case EclipseLinkOrmPackage.XML_ARRAY__DATABASE_TYPE: return EclipseLinkOrmV2_3Package.XML_ARRAY_23__DATABASE_TYPE; + case EclipseLinkOrmPackage.XML_ARRAY__TARGET_CLASS: return EclipseLinkOrmV2_3Package.XML_ARRAY_23__TARGET_CLASS; + case EclipseLinkOrmPackage.XML_ARRAY__ATTRIBUTE_TYPE: return EclipseLinkOrmV2_3Package.XML_ARRAY_23__ATTRIBUTE_TYPE; + default: return -1; + } + } + if (baseClass == XmlConvertibleMapping.class) + { + switch (derivedFeatureID) + { + case EclipseLinkOrmPackage.XML_ARRAY__CONVERT: return EclipseLinkOrmPackage.XML_CONVERTIBLE_MAPPING__CONVERT; default: return -1; } } @@ -329,20 +1099,105 @@ public class XmlArray extends AbstractXmlAttributeMapping implements XmlAttribut default: return -1; } } + if (baseClass == XmlConverterContainer.class) + { + switch (baseFeatureID) + { + case EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__CONVERTERS: return EclipseLinkOrmPackage.XML_ARRAY__CONVERTERS; + case EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__TYPE_CONVERTERS: return EclipseLinkOrmPackage.XML_ARRAY__TYPE_CONVERTERS; + case EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__OBJECT_TYPE_CONVERTERS: return EclipseLinkOrmPackage.XML_ARRAY__OBJECT_TYPE_CONVERTERS; + case EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__STRUCT_CONVERTERS: return EclipseLinkOrmPackage.XML_ARRAY__STRUCT_CONVERTERS; + default: return -1; + } + } + if (baseClass == org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping.class) + { + switch (baseFeatureID) + { + case OrmPackage.XML_CONVERTIBLE_MAPPING__LOB: return EclipseLinkOrmPackage.XML_ARRAY__LOB; + case OrmPackage.XML_CONVERTIBLE_MAPPING__TEMPORAL: return EclipseLinkOrmPackage.XML_ARRAY__TEMPORAL; + case OrmPackage.XML_CONVERTIBLE_MAPPING__ENUMERATED: return EclipseLinkOrmPackage.XML_ARRAY__ENUMERATED; + default: return -1; + } + } + if (baseClass == ColumnMapping.class) + { + switch (baseFeatureID) + { + case OrmPackage.COLUMN_MAPPING__COLUMN: return EclipseLinkOrmPackage.XML_ARRAY__COLUMN; + default: return -1; + } + } if (baseClass == XmlArray_2_3.class) { switch (baseFeatureID) { + case EclipseLinkOrmV2_3Package.XML_ARRAY_23__DATABASE_TYPE: return EclipseLinkOrmPackage.XML_ARRAY__DATABASE_TYPE; + case EclipseLinkOrmV2_3Package.XML_ARRAY_23__TARGET_CLASS: return EclipseLinkOrmPackage.XML_ARRAY__TARGET_CLASS; + case EclipseLinkOrmV2_3Package.XML_ARRAY_23__ATTRIBUTE_TYPE: return EclipseLinkOrmPackage.XML_ARRAY__ATTRIBUTE_TYPE; + default: return -1; + } + } + if (baseClass == XmlConvertibleMapping.class) + { + switch (baseFeatureID) + { + case EclipseLinkOrmPackage.XML_CONVERTIBLE_MAPPING__CONVERT: return EclipseLinkOrmPackage.XML_ARRAY__CONVERT; default: return -1; } } return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (lob: "); + result.append(lob); + result.append(", temporal: "); + result.append(temporal); + result.append(", enumerated: "); + result.append(enumerated); + result.append(", databaseType: "); + result.append(databaseType); + result.append(", targetClass: "); + result.append(targetClass); + result.append(", attributeType: "); + result.append(attributeType); + result.append(", convert: "); + result.append(convert); + result.append(')'); + return result.toString(); + } + public String getMappingKey() { return EclipseLinkMappingKeys.ARRAY_ATTRIBUTE_MAPPING_KEY; } + public TextRange getEnumeratedTextRange() { + return getAttributeTextRange(JPA.ENUMERATED); + } + + public TextRange getLobTextRange() { + return getAttributeTextRange(JPA.LOB); + } + + public TextRange getTemporalTextRange() { + return getAttributeTextRange(JPA.TEMPORAL); + } + + public TextRange getConvertTextRange() { + return getElementTextRange(EclipseLink.CONVERT); + } + // ********** translators ********** public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) { @@ -356,7 +1211,78 @@ public class XmlArray extends AbstractXmlAttributeMapping implements XmlAttribut private static Translator[] buildTranslatorChildren() { return new Translator[] { buildNameTranslator(), - buildAccessTranslator() + buildDatabaseTypeTranslator(), + buildTargetClassTranslator(), + buildAccessTranslator(), + buildAttributeTypeTranslator(), + buildColumnTranslator(), + buildTemporalTranslator(), + buildEnumeratedTranslator(), + buildLobTranslator(), + buildConvertTranslator(), + buildConverterTranslator(), + buildTypeConverterTranslator(), + buildObjectTypeConverterTranslator(), + buildStructConverterTranslator(), + buildPropertyTranslator(), + buildAccessMethodsTranslator() }; } + + + protected static Translator buildColumnTranslator() { + return XmlColumn.buildTranslator(JPA.COLUMN, OrmPackage.eINSTANCE.getColumnMapping_Column()); + } + + protected static Translator buildTemporalTranslator() { + return new Translator(JPA.TEMPORAL, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Temporal()); + } + + protected static Translator buildEnumeratedTranslator() { + return new Translator(JPA.ENUMERATED, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Enumerated()); + } + + protected static Translator buildLobTranslator() { + return new EmptyTagBooleanTranslator(JPA.LOB, OrmPackage.eINSTANCE.getXmlConvertibleMapping_Lob()); + } + + protected static Translator buildConvertTranslator() { + return new Translator(EclipseLink.CONVERT, EclipseLinkOrmPackage.eINSTANCE.getXmlConvertibleMapping_Convert()); + } + + protected static Translator buildConverterTranslator() { + return XmlConverter.buildTranslator(EclipseLink.CONVERTER, EclipseLinkOrmPackage.eINSTANCE.getXmlConverterContainer_Converters()); + } + + protected static Translator buildTypeConverterTranslator() { + return XmlTypeConverter.buildTranslator(EclipseLink.TYPE_CONVERTER, EclipseLinkOrmPackage.eINSTANCE.getXmlConverterContainer_TypeConverters()); + } + + protected static Translator buildObjectTypeConverterTranslator() { + return XmlObjectTypeConverter.buildTranslator(EclipseLink.OBJECT_TYPE_CONVERTER, EclipseLinkOrmPackage.eINSTANCE.getXmlConverterContainer_ObjectTypeConverters()); + } + + protected static Translator buildStructConverterTranslator() { + return XmlStructConverter.buildTranslator(EclipseLink.STRUCT_CONVERTER, EclipseLinkOrmPackage.eINSTANCE.getXmlConverterContainer_StructConverters()); + } + + protected static Translator buildPropertyTranslator() { + return XmlProperty.buildTranslator(EclipseLink.PROPERTY, EclipseLinkOrmPackage.eINSTANCE.getXmlPropertyContainer_Properties()); + } + + protected static Translator buildAccessMethodsTranslator() { + return XmlAccessMethods.buildTranslator(EclipseLink.ACCESS_METHODS, EclipseLinkOrmPackage.eINSTANCE.getXmlAccessMethodsHolder_AccessMethods()); + } + + protected static Translator buildDatabaseTypeTranslator() { + return new Translator(EclipseLink2_3.ARRAY__DATABASE_TYPE, EclipseLinkOrmV2_3Package.eINSTANCE.getXmlArray_2_3_DatabaseType(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildTargetClassTranslator() { + return new Translator(EclipseLink2_3.ARRAY__TARGET_CLASS, EclipseLinkOrmV2_3Package.eINSTANCE.getXmlArray_2_3_TargetClass(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildAttributeTypeTranslator() { + return new Translator(EclipseLink2_3.ARRAY__ATTRIBUTE_TYPE, EclipseLinkOrmV2_3Package.eINSTANCE.getXmlArray_2_3_AttributeType(), Translator.DOM_ATTRIBUTE); + } } // XmlArray diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlStructure.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlStructure.java index 4ed829980f..1eb0c18323 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlStructure.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlStructure.java @@ -22,6 +22,8 @@ import org.eclipse.emf.ecore.util.InternalEList; import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator; import org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlAttributeMapping; import org.eclipse.jpt.jpa.eclipselink.core.EclipseLinkMappingKeys; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLink2_3; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLinkOrmV2_3Package; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlStructure_2_3; import org.eclipse.wst.common.internal.emf.resource.Translator; @@ -58,6 +60,26 @@ public class XmlStructure extends AbstractXmlAttributeMapping implements XmlAttr protected EList<XmlProperty> properties; /** + * The default value of the '{@link #getAttributeType() <em>Attribute Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAttributeType() + * @generated + * @ordered + */ + protected static final String ATTRIBUTE_TYPE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getAttributeType() <em>Attribute Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAttributeType() + * @generated + * @ordered + */ + protected String attributeType = ATTRIBUTE_TYPE_EDEFAULT; + + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated @@ -162,6 +184,41 @@ public class XmlStructure extends AbstractXmlAttributeMapping implements XmlAttr } /** + * Returns the value of the '<em><b>Attribute Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Attribute Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Attribute Type</em>' attribute. + * @see #setAttributeType(String) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlStructure_2_3_AttributeType() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getAttributeType() + { + return attributeType; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlStructure#getAttributeType <em>Attribute Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Attribute Type</em>' attribute. + * @see #getAttributeType() + * @generated + */ + public void setAttributeType(String newAttributeType) + { + String oldAttributeType = attributeType; + attributeType = newAttributeType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_STRUCTURE__ATTRIBUTE_TYPE, oldAttributeType, attributeType)); + } + + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated @@ -193,6 +250,8 @@ public class XmlStructure extends AbstractXmlAttributeMapping implements XmlAttr return getAccessMethods(); case EclipseLinkOrmPackage.XML_STRUCTURE__PROPERTIES: return getProperties(); + case EclipseLinkOrmPackage.XML_STRUCTURE__ATTRIBUTE_TYPE: + return getAttributeType(); } return super.eGet(featureID, resolve, coreType); } @@ -215,6 +274,9 @@ public class XmlStructure extends AbstractXmlAttributeMapping implements XmlAttr getProperties().clear(); getProperties().addAll((Collection<? extends XmlProperty>)newValue); return; + case EclipseLinkOrmPackage.XML_STRUCTURE__ATTRIBUTE_TYPE: + setAttributeType((String)newValue); + return; } super.eSet(featureID, newValue); } @@ -235,6 +297,9 @@ public class XmlStructure extends AbstractXmlAttributeMapping implements XmlAttr case EclipseLinkOrmPackage.XML_STRUCTURE__PROPERTIES: getProperties().clear(); return; + case EclipseLinkOrmPackage.XML_STRUCTURE__ATTRIBUTE_TYPE: + setAttributeType(ATTRIBUTE_TYPE_EDEFAULT); + return; } super.eUnset(featureID); } @@ -253,6 +318,8 @@ public class XmlStructure extends AbstractXmlAttributeMapping implements XmlAttr return accessMethods != null; case EclipseLinkOrmPackage.XML_STRUCTURE__PROPERTIES: return properties != null && !properties.isEmpty(); + case EclipseLinkOrmPackage.XML_STRUCTURE__ATTRIBUTE_TYPE: + return ATTRIBUTE_TYPE_EDEFAULT == null ? attributeType != null : !ATTRIBUTE_TYPE_EDEFAULT.equals(attributeType); } return super.eIsSet(featureID); } @@ -292,6 +359,7 @@ public class XmlStructure extends AbstractXmlAttributeMapping implements XmlAttr { switch (derivedFeatureID) { + case EclipseLinkOrmPackage.XML_STRUCTURE__ATTRIBUTE_TYPE: return EclipseLinkOrmV2_3Package.XML_STRUCTURE_23__ATTRIBUTE_TYPE; default: return -1; } } @@ -333,12 +401,30 @@ public class XmlStructure extends AbstractXmlAttributeMapping implements XmlAttr { switch (baseFeatureID) { + case EclipseLinkOrmV2_3Package.XML_STRUCTURE_23__ATTRIBUTE_TYPE: return EclipseLinkOrmPackage.XML_STRUCTURE__ATTRIBUTE_TYPE; default: return -1; } } return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (attributeType: "); + result.append(attributeType); + result.append(')'); + return result.toString(); + } + public String getMappingKey() { return EclipseLinkMappingKeys.STRUCTURE_ATTRIBUTE_MAPPING_KEY; } @@ -356,8 +442,22 @@ public class XmlStructure extends AbstractXmlAttributeMapping implements XmlAttr private static Translator[] buildTranslatorChildren() { return new Translator[] { buildNameTranslator(), - buildAccessTranslator() + buildAccessTranslator(), + buildAttributeTypeTranslator(), + buildPropertyTranslator(), + buildAccessMethodsTranslator() }; } + protected static Translator buildAttributeTypeTranslator() { + return new Translator(EclipseLink2_3.STRUCTURE__ATTRIBUTE_TYPE, EclipseLinkOrmV2_3Package.eINSTANCE.getXmlStructure_2_3_AttributeType(), Translator.DOM_ATTRIBUTE); + } + + protected static Translator buildPropertyTranslator() { + return XmlProperty.buildTranslator(EclipseLink.PROPERTY, EclipseLinkOrmPackage.eINSTANCE.getXmlPropertyContainer_Properties()); + } + + protected static Translator buildAccessMethodsTranslator() { + return XmlAccessMethods.buildTranslator(EclipseLink.ACCESS_METHODS, EclipseLinkOrmPackage.eINSTANCE.getXmlAccessMethodsHolder_AccessMethods()); + } } // XmlStructure diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/EclipseLink2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/EclipseLink2_3.java index 518d4a4afa..544889224a 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/EclipseLink2_3.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/EclipseLink2_3.java @@ -23,6 +23,10 @@ public interface EclipseLink2_3 // EclipseLink 2.3 specific nodes String ARRAY = "array"; + String ARRAY__DATABASE_TYPE = "database-type"; + String ARRAY__TARGET_CLASS = "target-class"; + String ARRAY__ATTRIBUTE_TYPE = "attribute-type"; + String COMPOSITE_MEMBER = "composite-member"; String MULTITENANT = "multitenant"; @@ -42,6 +46,7 @@ public interface EclipseLink2_3 String STRUCT = "struct"; String STRUCT__NAME = "name"; String STRUCTURE = "structure"; + String STRUCTURE__ATTRIBUTE_TYPE = "attribute-type"; String TENANT_DISCRIMINATOR_COLUMN = "tenant-discriminator-column"; String TENANT_DISCRIMINATOR_COLUMN__CONTEXT_PROPERTY = "context-property"; diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/EclipseLinkOrmV2_3Package.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/EclipseLinkOrmV2_3Package.java index 6416e86153..f2c33184b3 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/EclipseLinkOrmV2_3Package.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/EclipseLinkOrmV2_3Package.java @@ -225,13 +225,112 @@ public class EclipseLinkOrmV2_3Package extends EPackageImpl public static final int XML_ARRAY_23 = 0; /** + * The feature id for the '<em><b>Converters</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY_23__CONVERTERS = EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__CONVERTERS; + + /** + * The feature id for the '<em><b>Type Converters</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY_23__TYPE_CONVERTERS = EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__TYPE_CONVERTERS; + + /** + * The feature id for the '<em><b>Object Type Converters</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY_23__OBJECT_TYPE_CONVERTERS = EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__OBJECT_TYPE_CONVERTERS; + + /** + * The feature id for the '<em><b>Struct Converters</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY_23__STRUCT_CONVERTERS = EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER__STRUCT_CONVERTERS; + + /** + * The feature id for the '<em><b>Lob</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY_23__LOB = EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Temporal</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY_23__TEMPORAL = EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Enumerated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY_23__ENUMERATED = EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Column</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY_23__COLUMN = EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER_FEATURE_COUNT + 3; + + /** + * The feature id for the '<em><b>Database Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY_23__DATABASE_TYPE = EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Target Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY_23__TARGET_CLASS = EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Attribute Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_ARRAY_23__ATTRIBUTE_TYPE = EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER_FEATURE_COUNT + 6; + + /** * The number of structural features of the '<em>Xml Array 23</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_ARRAY_23_FEATURE_COUNT = 0; + public static final int XML_ARRAY_23_FEATURE_COUNT = EclipseLinkOrmPackage.XML_CONVERTER_CONTAINER_FEATURE_COUNT + 7; /** * The feature id for the '<em><b>Structures</b></em>' containment reference list. @@ -758,13 +857,22 @@ public class EclipseLinkOrmV2_3Package extends EPackageImpl public static final int XML_TENANT_DISCRIMINATOR_COLUMN_23_FEATURE_COUNT = OrmPackage.XML_BASE_DISCRIMINATOR_COLUMN_FEATURE_COUNT + 3; /** + * The feature id for the '<em><b>Attribute Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_STRUCTURE_23__ATTRIBUTE_TYPE = 0; + + /** * The number of structural features of the '<em>Xml Structure 23</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_STRUCTURE_23_FEATURE_COUNT = 0; + public static final int XML_STRUCTURE_23_FEATURE_COUNT = 1; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.MultitenantType <em>Multitenant Type</em>}' enum. @@ -1709,6 +1817,21 @@ public class EclipseLinkOrmV2_3Package extends EPackageImpl /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlStructure_2_3#getAttributeType <em>Attribute Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Attribute Type</em>'. + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlStructure_2_3#getAttributeType() + * @see #getXmlStructure_2_3() + * @generated + */ + public EAttribute getXmlStructure_2_3_AttributeType() + { + return (EAttribute)xmlStructure_2_3EClass.getEStructuralFeatures().get(0); + } + + + /** * Returns the meta object for class '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3 <em>Xml Array 23</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1723,6 +1846,51 @@ public class EclipseLinkOrmV2_3Package extends EPackageImpl /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3#getDatabaseType <em>Database Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Database Type</em>'. + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3#getDatabaseType() + * @see #getXmlArray_2_3() + * @generated + */ + public EAttribute getXmlArray_2_3_DatabaseType() + { + return (EAttribute)xmlArray_2_3EClass.getEStructuralFeatures().get(0); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3#getTargetClass <em>Target Class</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Target Class</em>'. + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3#getTargetClass() + * @see #getXmlArray_2_3() + * @generated + */ + public EAttribute getXmlArray_2_3_TargetClass() + { + return (EAttribute)xmlArray_2_3EClass.getEStructuralFeatures().get(1); + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3#getAttributeType <em>Attribute Type</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Attribute Type</em>'. + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3#getAttributeType() + * @see #getXmlArray_2_3() + * @generated + */ + public EAttribute getXmlArray_2_3_AttributeType() + { + return (EAttribute)xmlArray_2_3EClass.getEStructuralFeatures().get(2); + } + + + /** * Returns the meta object for class '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlElementCollection_2_3 <em>Xml Element Collection 23</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1798,6 +1966,9 @@ public class EclipseLinkOrmV2_3Package extends EPackageImpl // Create classes and their features xmlArray_2_3EClass = createEClass(XML_ARRAY_23); + createEAttribute(xmlArray_2_3EClass, XML_ARRAY_23__DATABASE_TYPE); + createEAttribute(xmlArray_2_3EClass, XML_ARRAY_23__TARGET_CLASS); + createEAttribute(xmlArray_2_3EClass, XML_ARRAY_23__ATTRIBUTE_TYPE); xmlAttributes_2_3EClass = createEClass(XML_ATTRIBUTES_23); createEReference(xmlAttributes_2_3EClass, XML_ATTRIBUTES_23__STRUCTURES); @@ -1865,6 +2036,7 @@ public class EclipseLinkOrmV2_3Package extends EPackageImpl createEAttribute(xmlTenantDiscriminatorColumn_2_3EClass, XML_TENANT_DISCRIMINATOR_COLUMN_23__PRIMARY_KEY); xmlStructure_2_3EClass = createEClass(XML_STRUCTURE_23); + createEAttribute(xmlStructure_2_3EClass, XML_STRUCTURE_23__ATTRIBUTE_TYPE); // Create enums multitenantTypeEEnum = createEEnum(MULTITENANT_TYPE); @@ -1895,21 +2067,27 @@ public class EclipseLinkOrmV2_3Package extends EPackageImpl setNsURI(eNS_URI); // Obtain other dependent packages - XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI); EclipseLinkOrmPackage theEclipseLinkOrmPackage = (EclipseLinkOrmPackage)EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmPackage.eNS_URI); OrmPackage theOrmPackage = (OrmPackage)EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI); + XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI); // Create type parameters // Set bounds for type parameters // Add supertypes to classes + xmlArray_2_3EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlConverterContainer()); + xmlArray_2_3EClass.getESuperTypes().add(theOrmPackage.getXmlConvertibleMapping()); + xmlArray_2_3EClass.getESuperTypes().add(theOrmPackage.getColumnMapping()); xmlEntity_2_3EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlMultitenantHolder()); xmlMappedSuperclass_2_3EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlMultitenantHolder()); xmlTenantDiscriminatorColumn_2_3EClass.getESuperTypes().add(theOrmPackage.getXmlBaseDiscriminatorColumn()); // Initialize classes and features; add operations and parameters initEClass(xmlArray_2_3EClass, XmlArray_2_3.class, "XmlArray_2_3", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlArray_2_3_DatabaseType(), theXMLTypePackage.getString(), "databaseType", null, 0, 1, XmlArray_2_3.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlArray_2_3_TargetClass(), theXMLTypePackage.getString(), "targetClass", null, 0, 1, XmlArray_2_3.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getXmlArray_2_3_AttributeType(), theXMLTypePackage.getString(), "attributeType", null, 0, 1, XmlArray_2_3.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(xmlAttributes_2_3EClass, XmlAttributes_2_3.class, "XmlAttributes_2_3", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getXmlAttributes_2_3_Structures(), this.getXmlStructure_2_3(), null, "structures", null, 0, -1, XmlAttributes_2_3.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -1977,6 +2155,7 @@ public class EclipseLinkOrmV2_3Package extends EPackageImpl initEAttribute(getXmlTenantDiscriminatorColumn_2_3_PrimaryKey(), ecorePackage.getEBooleanObject(), "primaryKey", null, 0, 1, XmlTenantDiscriminatorColumn_2_3.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(xmlStructure_2_3EClass, XmlStructure_2_3.class, "XmlStructure_2_3", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlStructure_2_3_AttributeType(), theXMLTypePackage.getString(), "attributeType", null, 0, 1, XmlStructure_2_3.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); // Initialize enums and add enum literals initEEnum(multitenantTypeEEnum, MultitenantType.class, "MultitenantType"); @@ -2422,6 +2601,14 @@ public class EclipseLinkOrmV2_3Package extends EPackageImpl public static final EClass XML_STRUCTURE_23 = eINSTANCE.getXmlStructure_2_3(); /** + * The meta object literal for the '<em><b>Attribute Type</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_STRUCTURE_23__ATTRIBUTE_TYPE = eINSTANCE.getXmlStructure_2_3_AttributeType(); + + /** * The meta object literal for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3 <em>Xml Array 23</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2432,6 +2619,30 @@ public class EclipseLinkOrmV2_3Package extends EPackageImpl public static final EClass XML_ARRAY_23 = eINSTANCE.getXmlArray_2_3(); /** + * The meta object literal for the '<em><b>Database Type</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ARRAY_23__DATABASE_TYPE = eINSTANCE.getXmlArray_2_3_DatabaseType(); + + /** + * The meta object literal for the '<em><b>Target Class</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ARRAY_23__TARGET_CLASS = eINSTANCE.getXmlArray_2_3_TargetClass(); + + /** + * The meta object literal for the '<em><b>Attribute Type</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_ARRAY_23__ATTRIBUTE_TYPE = eINSTANCE.getXmlArray_2_3_AttributeType(); + + /** * The meta object literal for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlElementCollection_2_3 <em>Xml Element Collection 23</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/XmlArray_2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/XmlArray_2_3.java index 0640d17f38..fac6a8f263 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/XmlArray_2_3.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/XmlArray_2_3.java @@ -9,19 +9,106 @@ *******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3; -import org.eclipse.jpt.jpa.core.resource.xml.JpaEObject; +import org.eclipse.jpt.jpa.core.resource.orm.ColumnMapping; +import org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlConverterContainer; /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Xml Array 23</b></em>'. * <!-- end-user-doc --> * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3#getDatabaseType <em>Database Type</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3#getTargetClass <em>Target Class</em>}</li> + * <li>{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3#getAttributeType <em>Attribute Type</em>}</li> + * </ul> + * </p> * * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLinkOrmV2_3Package#getXmlArray_2_3() * @model kind="class" interface="true" abstract="true" - * @extends JpaEObject * @generated */ -public interface XmlArray_2_3 extends JpaEObject +public interface XmlArray_2_3 extends XmlConverterContainer, XmlConvertibleMapping, ColumnMapping { + + /** + * Returns the value of the '<em><b>Database Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Database Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Database Type</em>' attribute. + * @see #setDatabaseType(String) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLinkOrmV2_3Package#getXmlArray_2_3_DatabaseType() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getDatabaseType(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3#getDatabaseType <em>Database Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Database Type</em>' attribute. + * @see #getDatabaseType() + * @generated + */ + void setDatabaseType(String value); + + /** + * Returns the value of the '<em><b>Target Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Target Class</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Target Class</em>' attribute. + * @see #setTargetClass(String) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLinkOrmV2_3Package#getXmlArray_2_3_TargetClass() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getTargetClass(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3#getTargetClass <em>Target Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target Class</em>' attribute. + * @see #getTargetClass() + * @generated + */ + void setTargetClass(String value); + + /** + * Returns the value of the '<em><b>Attribute Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Attribute Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Attribute Type</em>' attribute. + * @see #setAttributeType(String) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLinkOrmV2_3Package#getXmlArray_2_3_AttributeType() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getAttributeType(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlArray_2_3#getAttributeType <em>Attribute Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Attribute Type</em>' attribute. + * @see #getAttributeType() + * @generated + */ + void setAttributeType(String value); } // XmlArray_2_3 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/XmlStructure_2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/XmlStructure_2_3.java index 26b6dc2e79..615a253aec 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/XmlStructure_2_3.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_3/XmlStructure_2_3.java @@ -16,6 +16,12 @@ import org.eclipse.jpt.jpa.core.resource.xml.JpaEObject; * A representation of the model object '<em><b>Xml Structure 23</b></em>'. * <!-- end-user-doc --> * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlStructure_2_3#getAttributeType <em>Attribute Type</em>}</li> + * </ul> + * </p> * * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLinkOrmV2_3Package#getXmlStructure_2_3() * @model kind="class" interface="true" abstract="true" @@ -24,4 +30,30 @@ import org.eclipse.jpt.jpa.core.resource.xml.JpaEObject; */ public interface XmlStructure_2_3 extends JpaEObject { + + /** + * Returns the value of the '<em><b>Attribute Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Attribute Type</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Attribute Type</em>' attribute. + * @see #setAttributeType(String) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLinkOrmV2_3Package#getXmlStructure_2_3_AttributeType() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getAttributeType(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.XmlStructure_2_3#getAttributeType <em>Attribute Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Attribute Type</em>' attribute. + * @see #getAttributeType() + * @generated + */ + void setAttributeType(String value); } // XmlStructure_2_3 |