diff options
author | kmoore | 2012-02-17 14:18:04 +0000 |
---|---|---|
committer | kmoore | 2012-02-17 14:18:04 +0000 |
commit | 089992eab928674f5d310f5ae462f68e78cda36e (patch) | |
tree | 82c30e1045a2197e32e4905756a43cdf85e2d6fd /jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core | |
parent | f4003ba897719d4cba3bdf2ea5f3b11f25f65a80 (diff) | |
download | webtools.dali-089992eab928674f5d310f5ae462f68e78cda36e.tar.gz webtools.dali-089992eab928674f5d310f5ae462f68e78cda36e.tar.xz webtools.dali-089992eab928674f5d310f5ae462f68e78cda36e.zip |
bug 369964 - dynamic persistence support
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core')
50 files changed, 1963 insertions, 608 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/java/JavaEclipseLinkPersistentAttribute.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/java/JavaEclipseLinkPersistentAttribute.java new file mode 100644 index 0000000000..b6bf972832 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/java/JavaEclipseLinkPersistentAttribute.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.jpa.eclipselink.core.context.java; + +/** + * EclipseLink Java persistent attribute + */ +public interface JavaEclipseLinkPersistentAttribute +{ + + /** + * Return whether the attribute's type is a subclass of + * <code>java.util.Date</code> or <code>java.util.Calendar</code>. + */ + boolean typeIsDateOrCalendar(); + + String DATE_TYPE_NAME = java.util.Date.class.getName(); + String CALENDAR_TYPE_NAME = java.util.Calendar.class.getName(); + + boolean typeIsSerializable(); + + boolean typeIsValidForVariableOneToOne(); +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/orm/EclipseLinkOrmTypeMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/orm/EclipseLinkOrmTypeMapping.java index 25b65d7423..b99b542d1d 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/orm/EclipseLinkOrmTypeMapping.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/orm/EclipseLinkOrmTypeMapping.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2011 Oracle. All rights reserved. + * Copyright (c) 2010, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -9,12 +9,13 @@ ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.context.orm; +import org.eclipse.jpt.jpa.core.context.orm.EntityMappings; import org.eclipse.jpt.jpa.core.context.orm.OrmTypeMapping; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTypeMapping; import org.eclipse.jpt.jpa.eclipselink.core.context.java.EclipseLinkJavaTypeMapping; /** - * EclipseLink type mapping + * EclipseLink ORM type mapping * <p> * Provisional API: This interface is part of an interim API that is still * under development and expected to change significantly before reaching @@ -30,4 +31,22 @@ public interface EclipseLinkOrmTypeMapping EclipseLinkJavaTypeMapping getJavaTypeMapping(); EclipseLinkJavaTypeMapping getJavaTypeMappingForDefaults(); + + + // ********** parent class ********** + + /** + * <strong>NB:</strong> This may be a partial name to be prefixed by the + * entity mappings's package value. + * + * @see EntityMappings#getPackage() + */ + String getParentClass(); + + /** + * @see #getParentClass() + */ + void setParentClass(String parentClass); + String PARENT_CLASS_PROPERTY = "parentClass"; //$NON-NLS-1$ + } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaFactory.java index 739a8dd196..3f89c55f55 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaFactory.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -42,7 +42,7 @@ import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.JavaEclipseLin import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.JavaEclipseLinkMappedSuperclassImpl; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.JavaEclipseLinkOneToManyMapping; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.JavaEclipseLinkOneToOneMapping; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.JavaEclipseLinkPersistentAttribute; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.SpecifiedJavaEclipseLinkPersistentAttribute; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.JavaEclipseLinkTransformationMapping; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.JavaEclipseLinkVariableOneToOneMapping; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.JavaEclipseLinkVersionMapping; @@ -67,17 +67,17 @@ public class EclipseLinkJpaFactory @Override public JavaPersistentAttribute buildJavaPersistentAttribute(PersistentType parent, Accessor accessor) { - return new JavaEclipseLinkPersistentAttribute(parent, accessor); + return new SpecifiedJavaEclipseLinkPersistentAttribute(parent, accessor); } @Override public JavaPersistentAttribute buildJavaPersistentField(PersistentType parent, JavaResourceField resourceField) { - return new JavaEclipseLinkPersistentAttribute(parent, resourceField); + return new SpecifiedJavaEclipseLinkPersistentAttribute(parent, resourceField); } @Override public JavaPersistentAttribute buildJavaPersistentProperty(PersistentType parent, JavaResourceMethod resourceGetter, JavaResourceMethod resourceSetter) { - return new JavaEclipseLinkPersistentAttribute(parent, resourceGetter, resourceSetter); + return new SpecifiedJavaEclipseLinkPersistentAttribute(parent, resourceGetter, resourceSetter); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaValidationMessages.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaValidationMessages.java index d679a408a7..d989878a5a 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaValidationMessages.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaValidationMessages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -107,4 +107,5 @@ public interface EclipseLinkJpaValidationMessages { public static final String MULTITENANT_VPD_NOT_SUPPORTED_ON_NON_ORACLE_DATABASE_PLATFORM = "MULTITENANT_VPD_NOT_SUPPORTED_ON_NON_ORACLE_DATABASE_PLATFORM"; public static final String MULTITENANT_VPD_INCLUDE_CRITERIA_WILL_BE_IGNORED = "MULTITENANT_VPD_INCLUDE_CRITERIA_WILL_BE_IGNORED"; + public static final String VIRTUAL_ATTRIBUTE_NO_ATTRIBUTE_TYPE_SPECIFIED = "VIRTUAL_ATTRIBUTE_NO_ATTRIBUTE_TYPE_SPECIFIED"; } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/EclipseLinkDynamicTypeMappingValidator.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/EclipseLinkDynamicTypeMappingValidator.java new file mode 100644 index 0000000000..947aecf2d9 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/EclipseLinkDynamicTypeMappingValidator.java @@ -0,0 +1,28 @@ +/******************************************************************************* + * Copyright (c) 2012 Oracle. + * All rights reserved. This program and the accompanying materials are + * made available under the terms of the Eclipse Public License v1.0 which + * accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Oracle - initial API and implementation + *******************************************************************************/ +package org.eclipse.jpt.jpa.eclipselink.core.internal.context; + +import java.util.List; +import org.eclipse.jpt.jpa.core.context.TypeMapping; +import org.eclipse.wst.validation.internal.provisional.core.IMessage; + +public class EclipseLinkDynamicTypeMappingValidator + extends AbstractEclipseLinkTypeMappingValidator<TypeMapping> +{ + public EclipseLinkDynamicTypeMappingValidator(TypeMapping typeMapping) { + super(typeMapping, null, null); + } + + @Override + protected void validateType(List<IMessage> messages) { + //no validation for a dynamic type + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/EclipseLinkJavaVariableOneToOneMappingDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/EclipseLinkJavaVariableOneToOneMappingDefinition.java index f72dc3ea9d..75bcf45dc8 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/EclipseLinkJavaVariableOneToOneMappingDefinition.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/EclipseLinkJavaVariableOneToOneMappingDefinition.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2011 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -15,6 +15,7 @@ import org.eclipse.jpt.jpa.core.context.java.DefaultJavaAttributeMappingDefiniti import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping; import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute; import org.eclipse.jpt.jpa.eclipselink.core.EclipseLinkMappingKeys; +import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkPersistentAttribute; import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaFactory; import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkVariableOneToOneAnnotation; diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkArrayMapping2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkArrayMapping2_3.java index 302421b430..bfb4911154 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkArrayMapping2_3.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkArrayMapping2_3.java @@ -238,6 +238,7 @@ public class JavaEclipseLinkArrayMapping2_3 @Override public String getMetamodelTypeName() { + //TODO should get this from targetClass String targetTypeName = this.getPersistentAttribute().getMultiReferenceTargetTypeName(); return (targetTypeName != null) ? targetTypeName : MetamodelField.DEFAULT_TYPE_NAME; } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMutable.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMutable.java index 7e4c066ec9..9892b02742 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMutable.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMutable.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -15,6 +15,7 @@ import org.eclipse.jpt.common.core.utility.TextRange; import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping; import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaJpaContextNode; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMutable; +import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkPersistentAttribute; import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit; import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkMutableAnnotation; diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkPersistentAttribute.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/SpecifiedJavaEclipseLinkPersistentAttribute.java index 9a3ab9d256..a71c794877 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkPersistentAttribute.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/SpecifiedJavaEclipseLinkPersistentAttribute.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2011 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -19,24 +19,26 @@ import org.eclipse.jpt.jpa.core.context.java.Accessor; import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.internal.context.JptValidator; import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaPersistentAttribute; +import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkPersistentAttribute; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkPersistentAttributeValidator; /** * EclipseLink Java persistent attribute */ -public class JavaEclipseLinkPersistentAttribute +public class SpecifiedJavaEclipseLinkPersistentAttribute extends AbstractJavaPersistentAttribute + implements JavaEclipseLinkPersistentAttribute { - public JavaEclipseLinkPersistentAttribute(PersistentType parent, JavaResourceField resourceField) { + public SpecifiedJavaEclipseLinkPersistentAttribute(PersistentType parent, JavaResourceField resourceField) { super(parent,resourceField); } - public JavaEclipseLinkPersistentAttribute(PersistentType parent, JavaResourceMethod resourceGetter, JavaResourceMethod resourceSetter) { + public SpecifiedJavaEclipseLinkPersistentAttribute(PersistentType parent, JavaResourceMethod resourceGetter, JavaResourceMethod resourceSetter) { super(parent, resourceGetter, resourceSetter); } - public JavaEclipseLinkPersistentAttribute(PersistentType parent, Accessor accessor) { + public SpecifiedJavaEclipseLinkPersistentAttribute(PersistentType parent, Accessor accessor) { super(parent, accessor); } @@ -72,8 +74,6 @@ public class JavaEclipseLinkPersistentAttribute return this.getResourceAttribute().typeIsSubTypeOf(DATE_TYPE_NAME) || this.getResourceAttribute().typeIsSubTypeOf(CALENDAR_TYPE_NAME); } - protected static final String DATE_TYPE_NAME = java.util.Date.class.getName(); - protected static final String CALENDAR_TYPE_NAME = java.util.Calendar.class.getName(); public boolean typeIsSerializable() { return this.getResourceAttribute().typeIsVariablePrimitive() diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXmlContextNodeFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXmlContextNodeFactory.java index 549b652715..4cff7e95ea 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXmlContextNodeFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXmlContextNodeFactory.java @@ -26,7 +26,7 @@ import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; import org.eclipse.jpt.jpa.core.context.orm.OrmVersionMapping; import org.eclipse.jpt.jpa.core.context.orm.OrmXml; import org.eclipse.jpt.jpa.core.internal.context.orm.AbstractOrmXmlContextNodeFactory; -import org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAttributeMapping; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlBasic; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlBasicCollection; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlBasicMap; @@ -40,6 +40,7 @@ import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlMappedSuperclass; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlOneToMany; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlOneToOne; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTransformation; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeMapping; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlVariableOneToOne; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlVersion; @@ -56,12 +57,12 @@ public class EclipseLinkOrmXmlContextNodeFactory @Override public OrmPersistentAttribute buildOrmPersistentAttribute(OrmPersistentType parent, org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping resourceMapping) { - return new OrmEclipseLinkPersistentAttribute(parent, resourceMapping); + return new OrmEclipseLinkPersistentAttribute(parent, (XmlAttributeMapping) resourceMapping); } @Override - public OrmPersistentType buildOrmPersistentType(EntityMappings parent, XmlTypeMapping resourceMapping) { - return new OrmEclipseLinkPersistentType(parent, resourceMapping); + public OrmPersistentType buildOrmPersistentType(EntityMappings parent, org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping resourceMapping) { + return new OrmEclipseLinkPersistentType(parent, (XmlTypeMapping) resourceMapping); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkArrayMapping2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkArrayMapping2_3.java index 313004b7fe..84bc3676fb 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkArrayMapping2_3.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkArrayMapping2_3.java @@ -46,6 +46,7 @@ import org.eclipse.text.edits.ReplaceEdit; import org.eclipse.wst.validation.internal.provisional.core.IMessage; import org.eclipse.wst.validation.internal.provisional.core.IReporter; +//TODO canonical metamodel generation, need to override getMetamodelTypeName() and use the target-class element public class OrmEclipseLinkArrayMapping2_3 extends AbstractOrmAttributeMapping<XmlArray> implements diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkEmbeddableImpl.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkEmbeddableImpl.java index 16dcbfb1e9..73e049092f 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkEmbeddableImpl.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkEmbeddableImpl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -26,6 +26,7 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer; import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkEmbeddable; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkConverterContainer; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkEmbeddable; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkDynamicTypeMappingValidator; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkTypeMappingValidator; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEmbeddable; import org.eclipse.text.edits.ReplaceEdit; @@ -48,12 +49,15 @@ public class OrmEclipseLinkEmbeddableImpl protected final OrmEclipseLinkCustomizer customizer; + protected String parentClass; + public OrmEclipseLinkEmbeddableImpl(OrmPersistentType parent, XmlEmbeddable xmlEmbeddable) { super(parent, xmlEmbeddable); this.converterContainer = this.buildConverterContainer(); this.changeTracking = this.buildChangeTracking(); this.customizer = this.buildCustomizer(); + this.parentClass = xmlEmbeddable.getParentClass(); } @@ -65,6 +69,7 @@ public class OrmEclipseLinkEmbeddableImpl this.converterContainer.synchronizeWithResourceModel(); this.changeTracking.synchronizeWithResourceModel(); this.customizer.synchronizeWithResourceModel(); + this.setParentClass(this.xmlTypeMapping.getParentClass()); } @Override @@ -136,6 +141,24 @@ public class OrmEclipseLinkEmbeddableImpl } + // ********** parent class ********** + + public String getParentClass() { + return this.parentClass; + } + + public void setParentClass(String parentClass) { + this.setParentClass_(parentClass); + this.xmlTypeMapping.setParentClass(parentClass); + } + + protected void setParentClass_(String parentClass) { + String old = this.parentClass; + this.parentClass = parentClass; + this.firePropertyChanged(PARENT_CLASS_PROPERTY, old, parentClass); + } + + // ********** misc ********** @Override @@ -148,6 +171,11 @@ public class OrmEclipseLinkEmbeddableImpl return (JavaEclipseLinkEmbeddable) super.getJavaTypeMappingForDefaults(); } + @Override + public OrmEclipseLinkPersistentType getPersistentType() { + return (OrmEclipseLinkPersistentType) super.getPersistentType(); + } + public boolean usesPrimaryKeyColumns() { return false; } @@ -226,6 +254,13 @@ public class OrmEclipseLinkEmbeddableImpl @Override protected JptValidator buildTypeMappingValidator() { + if (this.isDynamicType()) { + return new EclipseLinkDynamicTypeMappingValidator(this); + } return new EclipseLinkTypeMappingValidator(this, getJavaResourceType(), buildTextRangeResolver()); } + + protected boolean isDynamicType() { + return this.getPersistentType().isDynamic(); + } } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkEntityImpl.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkEntityImpl.java index fd071ec7e9..6a4c3812bc 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkEntityImpl.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkEntityImpl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -38,6 +38,7 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkCaching; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkConverterContainer; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkEntity; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMultitenancy2_3; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkDynamicTypeMappingValidator; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkEntityPrimaryKeyValidator; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkTypeMappingValidator; import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkClassExtractorAnnotation2_1; @@ -68,6 +69,8 @@ public class OrmEclipseLinkEntityImpl protected final OrmEclipseLinkMultitenancy2_3 multitenancy; + protected String parentClass; + public OrmEclipseLinkEntityImpl(OrmPersistentType parent, XmlEntity xmlEntity) { super(parent, xmlEntity); @@ -77,6 +80,7 @@ public class OrmEclipseLinkEntityImpl this.changeTracking = this.buildChangeTracking(); this.customizer = this.buildCustomizer(); this.multitenancy = this.buildMultitenancy(); + this.parentClass = xmlEntity.getParentClass(); } @@ -91,6 +95,7 @@ public class OrmEclipseLinkEntityImpl this.changeTracking.synchronizeWithResourceModel(); this.customizer.synchronizeWithResourceModel(); this.multitenancy.synchronizeWithResourceModel(); + this.setParentClass_(this.xmlTypeMapping.getParentClass()); } @Override @@ -212,6 +217,24 @@ public class OrmEclipseLinkEntityImpl } + // ********** parent class ********** + + public String getParentClass() { + return this.parentClass; + } + + public void setParentClass(String parentClass) { + this.setParentClass_(parentClass); + this.xmlTypeMapping.setParentClass(parentClass); + } + + protected void setParentClass_(String parentClass) { + String old = this.parentClass; + this.parentClass = parentClass; + this.firePropertyChanged(PARENT_CLASS_PROPERTY, old, parentClass); + } + + // ********** misc ********** @Override @@ -224,6 +247,11 @@ public class OrmEclipseLinkEntityImpl return (JavaEclipseLinkEntity) super.getJavaTypeMappingForDefaults(); } + @Override + public OrmEclipseLinkPersistentType getPersistentType() { + return (OrmEclipseLinkPersistentType) super.getPersistentType(); + } + public boolean usesPrimaryKeyColumns() { return (this.getXmlTypeMapping().getPrimaryKey() != null) || this.usesJavaPrimaryKeyColumns(); @@ -398,6 +426,13 @@ public class OrmEclipseLinkEntityImpl @Override protected JptValidator buildTypeMappingValidator() { + if (this.isDynamicType()) { + return new EclipseLinkDynamicTypeMappingValidator(this); + } return new EclipseLinkTypeMappingValidator(this, getJavaResourceType(), buildTextRangeResolver()); } + + protected boolean isDynamicType() { + return this.getPersistentType().isDynamic(); + } } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMappedSuperclassImpl.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMappedSuperclassImpl.java index 5a1381d808..5ae2d0b204 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMappedSuperclassImpl.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMappedSuperclassImpl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -34,6 +34,7 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkCaching; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkConverterContainer; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMappedSuperclass; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMultitenancy2_3; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkDynamicTypeMappingValidator; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkMappedSuperclassPrimaryKeyValidator; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkMappedSuperclassValidator; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlMappedSuperclass; @@ -66,6 +67,8 @@ public class OrmEclipseLinkMappedSuperclassImpl protected final OrmQueryContainer queryContainer; + protected String parentClass; + public OrmEclipseLinkMappedSuperclassImpl(OrmPersistentType parent, XmlMappedSuperclass xmlMappedSuperclass) { super(parent, xmlMappedSuperclass); this.caching = this.buildCaching(); @@ -75,6 +78,7 @@ public class OrmEclipseLinkMappedSuperclassImpl this.customizer = this.buildCustomizer(); this.multitenancy = this.buildMultitenancy(); this.queryContainer = this.buildQueryContainer(); + this.parentClass = xmlMappedSuperclass.getParentClass(); } @@ -90,6 +94,7 @@ public class OrmEclipseLinkMappedSuperclassImpl this.customizer.synchronizeWithResourceModel(); this.multitenancy.synchronizeWithResourceModel(); this.queryContainer.synchronizeWithResourceModel(); + this.setParentClass(this.xmlTypeMapping.getParentClass()); } @Override @@ -224,6 +229,24 @@ public class OrmEclipseLinkMappedSuperclassImpl } + // ********** parent class ********** + + public String getParentClass() { + return this.parentClass; + } + + public void setParentClass(String parentClass) { + this.setParentClass_(parentClass); + this.xmlTypeMapping.setParentClass(parentClass); + } + + protected void setParentClass_(String parentClass) { + String old = this.parentClass; + this.parentClass = parentClass; + this.firePropertyChanged(PARENT_CLASS_PROPERTY, old, parentClass); + } + + // ********** misc ********** @Override @@ -236,6 +259,11 @@ public class OrmEclipseLinkMappedSuperclassImpl return (JavaEclipseLinkMappedSuperclass) super.getJavaTypeMappingForDefaults(); } + @Override + public OrmEclipseLinkPersistentType getPersistentType() { + return (OrmEclipseLinkPersistentType) super.getPersistentType(); + } + public boolean usesPrimaryKeyColumns() { return (this.getXmlTypeMapping().getPrimaryKey() != null) || this.usesJavaPrimaryKeyColumns(); @@ -345,6 +373,13 @@ public class OrmEclipseLinkMappedSuperclassImpl @Override protected JptValidator buildTypeMappingValidator() { + if (this.isDynamicType()) { + return new EclipseLinkDynamicTypeMappingValidator(this); + } return new EclipseLinkMappedSuperclassValidator(this, this.getJavaResourceType(), this.buildTextRangeResolver()); } + + protected boolean isDynamicType() { + return this.getPersistentType().isDynamic(); + } } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMutable.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMutable.java index d993626d2d..6d2d947109 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMutable.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMutable.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -13,8 +13,8 @@ import org.eclipse.jpt.common.core.utility.TextRange; import org.eclipse.jpt.jpa.core.context.orm.OrmAttributeMapping; import org.eclipse.jpt.jpa.core.internal.context.orm.AbstractOrmXmlContextNode; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMutable; +import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkPersistentAttribute; import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.JavaEclipseLinkPersistentAttribute; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlMutable; public class OrmEclipseLinkMutable diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkPersistentAttribute.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkPersistentAttribute.java index b3a1ca5b81..708b9218a1 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkPersistentAttribute.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkPersistentAttribute.java @@ -9,14 +9,21 @@ ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm; +import java.util.List; +import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute; import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; import org.eclipse.jpt.jpa.core.internal.context.JptValidator; import org.eclipse.jpt.jpa.core.internal.context.orm.SpecifiedOrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkAccessMethodsHolder; +import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkAccessType; +import org.eclipse.jpt.jpa.eclipselink.core.internal.DefaultEclipseLinkJpaValidationMessages; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaValidationMessages; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkPersistentAttributeValidator; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAccessMethods; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAccessMethodsHolder; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAttributeMapping; +import org.eclipse.wst.validation.internal.provisional.core.IMessage; +import org.eclipse.wst.validation.internal.provisional.core.IReporter; /** * EclipseLink @@ -78,7 +85,7 @@ public class OrmEclipseLinkPersistentAttribute } protected XmlAccessMethodsHolder getXmlAccessMethodsHolder() { - return (XmlAccessMethodsHolder) this.getXmlAttributeMapping(); + return this.getXmlAttributeMapping(); } protected XmlAccessMethods getXmlAccessMethods() { @@ -116,8 +123,50 @@ public class OrmEclipseLinkPersistentAttribute } + @Override + protected JavaPersistentAttribute getCachedJavaAttribute() { + if (this.getAccess() == EclipseLinkAccessType.VIRTUAL) { + //if VIRTUAL we will always have to build and cache the 'javaAttribute' + //we clear out the cached 'javaAttribute in setSpecifiedAccess_() and setDefaultAccess_() + if (this.cachedJavaPersistentAttribute == null) { + this.cachedJavaPersistentAttribute = new VirtualJavaPersistentAttribute(this.getParent(), this.getXmlAttributeMapping()); + } + return this.cachedJavaPersistentAttribute; + } + return super.getCachedJavaAttribute(); + } + + @Override + protected XmlAttributeMapping getXmlAttributeMapping() { + return (XmlAttributeMapping) super.getXmlAttributeMapping(); + } + + // ********** validation ********** + + //TODO validate that the attribute-type exists on the classpath + @Override + protected void validateAttribute(List<IMessage> messages, IReporter reporter) { + super.validateAttribute(messages, reporter); + //TODO many-to-one needs to specify target-entity instead of attribute-type, move this validation to the mappings? + if (getAccess() == EclipseLinkAccessType.VIRTUAL) { + if (getTypeName() == null) { + messages.add( + DefaultEclipseLinkJpaValidationMessages.buildMessage( + IMessage.HIGH_SEVERITY, + EclipseLinkJpaValidationMessages.VIRTUAL_ATTRIBUTE_NO_ATTRIBUTE_TYPE_SPECIFIED, + new String[] { + this.getName() + }, + this.mapping, + this.mapping.getSelectionTextRange() + ) + ); + } + } + } + @Override protected JptValidator buildAttibuteValidator() { return new EclipseLinkPersistentAttributeValidator(this, buildTextRangeResolver()); diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkPersistentType.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkPersistentType.java index 18a00e0add..148bd79184 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkPersistentType.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkPersistentType.java @@ -9,16 +9,21 @@ ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm; -import org.eclipse.jpt.jpa.core.context.AccessType; +import java.util.List; +import org.eclipse.jpt.jpa.core.context.PersistentType; +import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType; import org.eclipse.jpt.jpa.core.context.orm.EntityMappings; import org.eclipse.jpt.jpa.core.internal.context.orm.SpecifiedOrmPersistentType; -import org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping; +import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages; +import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkAccessMethodsHolder; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkAccessType; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkEntityMappings; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmFactory; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAccessMethods; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAccessMethodsHolder; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeMapping; +import org.eclipse.wst.validation.internal.provisional.core.IMessage; /** * <code>eclipselink-orm.xml</code> persistent type:<ul> @@ -41,6 +46,8 @@ public class OrmEclipseLinkPersistentType protected String specifiedSetMethod; protected String defaultSetMethod; + protected boolean dynamic; + public static final String DYNAMIC_PROPERTY = "dynamic"; //$NON-NLS-1$ public OrmEclipseLinkPersistentType(EntityMappings parent, XmlTypeMapping xmlTypeMapping) { super(parent, xmlTypeMapping); @@ -48,6 +55,12 @@ public class OrmEclipseLinkPersistentType this.specifiedSetMethod = this.buildSpecifiedSetMethod(); } + @Override + protected XmlTypeMapping getXmlTypeMapping() { + return (XmlTypeMapping) super.getXmlTypeMapping(); + } + + // ********** synchronize/update ********** @Override @@ -62,9 +75,85 @@ public class OrmEclipseLinkPersistentType super.update(); this.setDefaultGetMethod(this.buildDefaultGetMethod()); this.setDefaultSetMethod(this.buildDefaultSetMethod()); + this.setDynamic(this.buildDynamic()); } + //*************** dynamic ***************** + + public boolean isDynamic() { + return this.dynamic; + } + + protected void setDynamic(boolean dynamic) { + boolean old = this.dynamic; + this.dynamic = dynamic; + if (this.firePropertyChanged(DYNAMIC_PROPERTY, old, this.dynamic)) { + // clear out the Java persistent type here, it will be rebuilt during "update" + if (this.javaPersistentType != null) { + this.javaPersistentType.dispose(); + this.setJavaPersistentType(null); + } + } + } + + //Base the dynamic state only on the JavaResourceType being null. + //Otherwise, the accces type affects the hierarchy + //and then the hierarchy affects the access type and we get stuck in an update. + //Validation will check that virtual access is set if it is dynamic. + protected boolean buildDynamic() { + return this.resolveJavaResourceType() == null; + } + + protected boolean isVirtualAccess() { + return this.getAccess() == EclipseLinkAccessType.VIRTUAL; + } + + @Override + protected JavaPersistentType buildJavaPersistentType() { + if (this.isDynamic()) { + return this.buildVirtualJavaPersistentType(); + } + return super.buildJavaPersistentType(); + } + + protected JavaPersistentType buildVirtualJavaPersistentType() { + return new VirtualJavaPersistentType(this, this.getXmlTypeMapping()); + } + + + @Override + public PersistentType getOverriddenPersistentType() { + if (this.isDynamic()) { + return null; + } + return super.getOverriddenPersistentType(); + } + +// //TODO should we throw an exception if there is a default attribute with this name? or even a specified attribute +// public OrmPersistentAttribute addVirtualAttribute(String attributeName, String mappingKey, String attributeType) { +// // force the creation of an empty xml attribute container beforehand or it will trigger +// // a sync and, if we do this after adding the attribute, clear out our context attributes +// Attributes xmlAttributes = this.getXmlAttributesForUpdate(); +// this.getXmlTypeMapping().setAttributes(xmlAttributes); // possibly a NOP +// +// OrmAttributeMappingDefinition md = this.getMappingFileDefinition().getAttributeMappingDefinition(mappingKey); +// XmlAttributeMapping xmlMapping = (XmlAttributeMapping) md.buildResourceMapping(this.getResourceNodeFactory()); +// xmlMapping.setName(attributeName); +// xmlMapping.setTypeName(attributeType); +// if (getAccess() != EclipseLinkAccessType.VIRTUAL) { +// xmlMapping.setAccess(EclipseLinkAccessType.VIRTUAL.getOrmAccessType()); +// } +// +// OrmPersistentAttribute specifiedAttribute = this.buildSpecifiedAttribute(xmlMapping); +// // we need to add the attribute to the right spot in the list - stupid spec... +// int specifiedIndex = this.getSpecifiedAttributeInsertionIndex(specifiedAttribute); +// this.addItemToList(specifiedIndex, specifiedAttribute, this.specifiedAttributes, SPECIFIED_ATTRIBUTES_LIST); +// specifiedAttribute.getMapping().addXmlAttributeMappingTo(xmlAttributes); +// +// return specifiedAttribute; +// } + //*************** get method ***************** public String getGetMethod() { @@ -75,21 +164,6 @@ public class OrmEclipseLinkPersistentType public String getDefaultGetMethod() { return this.defaultGetMethod; } - @Override - protected AccessType buildDefaultAccess() { - if ( ! this.mapping.isMetadataComplete()) { - if (this.javaPersistentType != null) { - if (this.javaPersistentTypeHasSpecifiedAccess()) { - return this.javaPersistentType.getAccess(); - } - if (this.superPersistentType != null) { - return this.superPersistentType.getAccess(); - } - } - } - AccessType access = this.getMappingFileRoot().getAccess(); - return (access != null) ? access : AccessType.FIELD; // default to FIELD if no specified access found - } //TODO get the default get method from the java VirtualAccessMethods annotation and from the super type protected String buildDefaultGetMethod() { @@ -184,9 +258,7 @@ public class OrmEclipseLinkPersistentType //*************** XML access methods ***************** protected XmlAccessMethodsHolder getXmlAccessMethodsHolder() { - //or do we only build an OrmEclipseLinkPersistentType for 2.1++ projects - //TODO KFB instanceof check here or platform check? this will result in a CCE for pre El 2.1 projects - return (XmlAccessMethodsHolder) this.getXmlTypeMapping(); + return this.getXmlTypeMapping(); } protected XmlAccessMethods getXmlAccessMethods() { @@ -225,4 +297,19 @@ public class OrmEclipseLinkPersistentType return (EclipseLinkEntityMappings) super.getEntityMappings(); } + @Override + protected void validateClass(List<IMessage> messages) { + if (this.isDynamic() && !this.isVirtualAccess()) { + messages.add( + DefaultJpaValidationMessages.buildMessage( + IMessage.HIGH_SEVERITY, + JpaValidationMessages.PERSISTENT_TYPE_UNRESOLVED_CLASS, + new String[] {this.getName()}, + this, + this.mapping.getClassTextRange() + ) + ); + } + } + } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/VirtualJavaPersistentAttribute.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/VirtualJavaPersistentAttribute.java new file mode 100644 index 0000000000..1ed7dca6b0 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/VirtualJavaPersistentAttribute.java @@ -0,0 +1,397 @@ +/******************************************************************************* + * Copyright (c) 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm; + +import org.eclipse.jdt.core.IType; +import org.eclipse.jdt.core.JavaModelException; +import org.eclipse.jdt.core.dom.CompilationUnit; +import org.eclipse.jpt.common.core.internal.utility.JDTTools; +import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute; +import org.eclipse.jpt.common.core.resource.java.JavaResourceField; +import org.eclipse.jpt.common.core.resource.java.JavaResourceMethod; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.common.utility.internal.ClassName; +import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable; +import org.eclipse.jpt.jpa.core.JpaStructureNode; +import org.eclipse.jpt.jpa.core.context.AccessType; +import org.eclipse.jpt.jpa.core.context.CollectionMapping; +import org.eclipse.jpt.jpa.core.context.Embeddable; +import org.eclipse.jpt.jpa.core.context.TypeMapping; +import org.eclipse.jpt.jpa.core.context.java.Accessor; +import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping; +import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute; +import org.eclipse.jpt.jpa.core.context.orm.EntityMappings; +import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; +import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaJpaContextNode; +import org.eclipse.jpt.jpa.core.internal.jpa1.context.java.GenericJavaNullAttributeMapping; +import org.eclipse.jpt.jpa.core.jpa2.context.MetamodelField; +import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaPersistentAttribute2_0; +import org.eclipse.jpt.jpa.core.jpa2.resource.java.JPA2_0; +import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkPersistentAttribute; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAttributeMapping; + +public class VirtualJavaPersistentAttribute extends AbstractJavaJpaContextNode + implements JavaPersistentAttribute2_0, JavaEclipseLinkPersistentAttribute +{ + private final XmlAttributeMapping xmlAttributeMapping; + + private final JavaAttributeMapping attributeMapping; + + public VirtualJavaPersistentAttribute(OrmPersistentType parent, XmlAttributeMapping xmlAttributeMapping) { + super(parent); + this.xmlAttributeMapping = xmlAttributeMapping; + this.attributeMapping = new GenericJavaNullAttributeMapping(this); + } + + public XmlAttributeMapping getXmlAttributeMapping() { + return this.xmlAttributeMapping; + } + + public JavaAttributeMapping getMapping() { + return this.attributeMapping; + } + + public JavaAttributeMapping setMappingKey(String key) { + throw new UnsupportedOperationException("cannot set anything on a virtual java persistent attribute"); //$NON-NLS-1$ + } + + public Accessor getAccessor() { + return null; + } + + public JavaResourceAttribute getResourceAttribute() { + return null; + } + + public boolean isFor(JavaResourceField resourceField) { + return false; + } + + public boolean isFor(JavaResourceMethod resourceGetter, JavaResourceMethod resourceSetter) { + return false; + } + + public boolean contains(int offset, CompilationUnit astRoot) { + throw new UnsupportedOperationException(); + } + + public Embeddable getEmbeddable() { + String typeName = this.getTypeName(); + return (typeName == null) ? null : this.getPersistenceUnit().getEmbeddable(typeName); + } + + public boolean typeIsBasic() { + return false;//not valid for a default basic mapping, specified in orm.xml + } + + public String getSingleReferenceTargetTypeName() { + return null; //used for building default target entity, must be specified in a virtual mapping + } + + public String getMultiReferenceTargetTypeName() { + return null; //used for building default target entity/target class, must be specified in a virtual mapping + } + + public String getMultiReferenceMapKeyTypeName() { + return null; //used for building default map key class, must be specified in a virtual mapping + } + + public String getName() { + return this.xmlAttributeMapping.getName(); + } + + public String getMappingKey() { + return null; + } + + public String getDefaultMappingKey() { + return null; + } + + public boolean isVirtual() { + throw new UnsupportedOperationException("Owing orm persistent attribute is specified, this should not be called."); //$NON-NLS-1$ + } + + public JavaPersistentAttribute getJavaPersistentAttribute() { + return this; + } + + + // ********** JpaStructureNode implementation ********** + + + public JpaStructureNode getStructureNode(int textOffset) { + throw new UnsupportedOperationException("There is no resource for a virtual java persistent attribute"); //$NON-NLS-1$ + } + + public TextRange getSelectionTextRange() { + throw new UnsupportedOperationException("There is no resource for a virtual java persistent attribute"); //$NON-NLS-1$ + } + + public ContextType getContextType() { + throw new UnsupportedOperationException("There is no resource for a virtual java persistent attribute"); //$NON-NLS-1$ + } + + public Class<? extends JpaStructureNode> getType() { + throw new UnsupportedOperationException("There is no resource for a virtual java persistent attribute"); //$NON-NLS-1$ + } + + public void dispose() { + throw new UnsupportedOperationException("There is no resource for a virtual java persistent attribute"); //$NON-NLS-1$ + } + + public AccessType getAccess() { + return null; + } + + public AccessType getSpecifiedAccess() { + return null; + } + + public void setSpecifiedAccess(AccessType newSpecifiedAccess) { + throw new UnsupportedOperationException("cannot set anything on a virtual java persistent attribute"); //$NON-NLS-1$ + } + + public AccessType getDefaultAccess() { + return null; + } + + public TextRange getValidationTextRange(CompilationUnit astRoot) { + throw new UnsupportedOperationException(); + } + + + public boolean typeIsDateOrCalendar() { + String typeName = this.getTypeName(); + if (typeName == null) { + return false; + } + return JDTTools.typeIsSubType(this.getJavaProject(), typeName, DATE_TYPE_NAME) + || JDTTools.typeIsSubType(this.getJavaProject(), typeName, CALENDAR_TYPE_NAME); + } + + public boolean typeIsSerializable() { + String typeName = this.getTypeName(); + if (typeName == null) { + return false; + } + return JDTTools.typeIsSubType(this.getJavaProject(), typeName, JDTTools.SERIALIZABLE_CLASS_NAME); + } + + public boolean typeIsValidForVariableOneToOne() { + String typeName = this.getTypeName(); + if (typeName == null) { + return false; + } + IType type = JDTTools.findType(getJavaProject(), typeName); + try { + return type != null && + type.isInterface() && + this.interfaceIsValidForVariableOneToOne(typeName); + } + catch (JavaModelException e) { + JptJpaEclipseLinkCorePlugin.log(e); + return false; + } + } + + protected boolean interfaceIsValidForVariableOneToOne(String interfaceName) { + return ! this.interfaceIsInvalidForVariableOneToOne(interfaceName); + } + + // TODO we could probably add more interfaces to this list... + protected boolean interfaceIsInvalidForVariableOneToOne(String interfaceName) { + return (interfaceName == null) || + this.typeIsContainer(interfaceName) || + interfaceName.equals("org.eclipse.persistence.indirection.ValueHolderInterface"); //$NON-NLS-1$ + } + + /** + * return whether the specified type is one of the container + * types allowed by the JPA spec + */ + protected boolean typeIsContainer(String typeName) { + return this.getJpaContainerDefinition(typeName).isContainer(); + } + + + // ********** metamodel ********** + + public String getMetamodelContainerFieldTypeName() { + throw new UnsupportedOperationException("parent OrmPersistentAttribute implements this"); //$NON-NLS-1$ + } + + public String getMetamodelContainerFieldMapKeyTypeName() { + throw new UnsupportedOperationException("parent OrmPersistentAttribute implements this"); //$NON-NLS-1$ + } + + + public String getMetamodelTypeName() { + String typeName = this.getTypeName(); + if (typeName == null) { + return MetamodelField.DEFAULT_TYPE_NAME; + } + if (ClassName.isPrimitive(typeName)) { + return ClassName.getWrapperClassName(typeName); // ??? + } + return typeName; + } + + public JpaContainerDefinition getJpaContainerDefinition() { + // 'typeName' may include array brackets ("[]") + // but not generic type arguments (e.g. "<java.lang.String>") + return this.getJpaContainerDefinition(this.getTypeName()); + } + + /** + * Return the JPA container definition corresponding to the specified type; + * return a "null" definition if the specified type is not "assignable to" one of the + * container types allowed by the JPA spec. + */ + protected JpaContainerDefinition getJpaContainerDefinition(String typeName) { + for (JpaContainerDefinition definition : getJpaContainerDefinitions()) { + if (definition.isAssignableFrom(typeName)) { + return definition; + } + } + return JpaContainerDefinition.Null.instance(); + } + + protected Iterable<JpaContainerDefinition> getJpaContainerDefinitions() { + return JPA_CONTAINER_DEFINITIONS; + } + + protected static final JpaContainerDefinition[] JPA_CONTAINER_DEFINITION_ARRAY = new JpaContainerDefinition[] { + new CollectionJpaContainerDefinition(java.util.Set.class, JPA2_0.SET_ATTRIBUTE), + new CollectionJpaContainerDefinition(java.util.List.class, JPA2_0.LIST_ATTRIBUTE), + new CollectionJpaContainerDefinition(java.util.Collection.class, JPA2_0.COLLECTION_ATTRIBUTE), + new MapJpaContainerDefinition(java.util.Map.class, JPA2_0.MAP_ATTRIBUTE) + }; + + protected static final Iterable<JpaContainerDefinition> JPA_CONTAINER_DEFINITIONS = new ArrayIterable<JpaContainerDefinition>(JPA_CONTAINER_DEFINITION_ARRAY); + + + /** + * Abstract JPA container definition + */ + protected abstract static class AbstractJpaContainerDefinition + implements JpaContainerDefinition + { + protected final Class<?> containerClass; + protected final String metamodelContainerFieldTypeName; + + protected AbstractJpaContainerDefinition(Class<?> containerClass, String metamodelContainerFieldTypeName) { + super(); + if ((containerClass == null) || (metamodelContainerFieldTypeName == null)) { + throw new NullPointerException(); + } + this.containerClass = containerClass; + this.metamodelContainerFieldTypeName = metamodelContainerFieldTypeName; + } + + public boolean isAssignableFrom(String typeName) { + try { + return this.containerClass.isAssignableFrom(Class.forName(typeName)); + } + catch (ClassNotFoundException e) { + return false; + } + } + + public boolean isContainer() { + return true; + } + + public String getMetamodelContainerFieldTypeName() { + return this.metamodelContainerFieldTypeName; + } + + public String getMultiReferenceTargetTypeName(JavaResourceAttribute resourceAttribute) { + throw new UnsupportedOperationException(); + } + + public String getMultiReferenceMapKeyTypeName(JavaResourceAttribute resourceAttribute) { + throw new UnsupportedOperationException(); + } + } + + /** + * Collection JPA container definition + */ + protected static class CollectionJpaContainerDefinition + extends AbstractJpaContainerDefinition + { + protected CollectionJpaContainerDefinition(Class<?> collectionClass, String staticMetamodelTypeDeclarationTypeName) { + super(collectionClass, staticMetamodelTypeDeclarationTypeName); + } + + public String getMetamodelContainerFieldMapKeyTypeName(CollectionMapping mapping) { + return null; + } + + public boolean isMap() { + return false; + } + } + + /** + * Map JPA container definition + */ + protected static class MapJpaContainerDefinition + extends AbstractJpaContainerDefinition + { + protected MapJpaContainerDefinition(Class<?> mapClass, String staticMetamodelTypeDeclarationTypeName) { + super(mapClass, staticMetamodelTypeDeclarationTypeName); + } + + public String getMetamodelContainerFieldMapKeyTypeName(CollectionMapping mapping) { + return mapping.getMetamodelFieldMapKeyTypeName(); + } + + public boolean isMap() { + return true; + } + } + + + // ********** misc ********** + + @Override + public OrmPersistentType getParent() { + return (OrmPersistentType) super.getParent(); + } + + public OrmPersistentType getOwningPersistentType() { + return this.getParent(); + } + + public TypeMapping getOwningTypeMapping() { + return this.getOwningPersistentType().getMapping(); + } + + protected EntityMappings getEntityMappings() { + return (EntityMappings) getParent().getMappingFileRoot(); + } + + public String getTypeName() { + String typeName = this.xmlAttributeMapping.getTypeName(); + return this.getEntityMappings().getFullyQualifiedName(typeName); + } + + public String getPrimaryKeyColumnName() { + throw new UnsupportedOperationException("Owing orm persistent attribute should handle, this should not be called."); //$NON-NLS-1$ + } + + @Override + public void toString(StringBuilder sb) { + sb.append(this.getName()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/VirtualJavaPersistentType.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/VirtualJavaPersistentType.java new file mode 100644 index 0000000000..47309d36a8 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/VirtualJavaPersistentType.java @@ -0,0 +1,348 @@ +/******************************************************************************* + * Copyright (c) 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm; + +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import org.eclipse.core.resources.IFile; +import org.eclipse.jdt.core.IPackageFragment; +import org.eclipse.jdt.core.dom.CompilationUnit; +import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement; +import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute; +import org.eclipse.jpt.common.core.resource.java.JavaResourceType; +import org.eclipse.jpt.common.core.utility.BodySourceWriter; +import org.eclipse.jpt.common.core.utility.TextRange; +import org.eclipse.jpt.common.utility.internal.CollectionTools; +import org.eclipse.jpt.common.utility.internal.iterables.ChainIterable; +import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable; +import org.eclipse.jpt.common.utility.internal.iterables.EmptyListIterable; +import org.eclipse.jpt.common.utility.internal.iterables.ListIterable; +import org.eclipse.jpt.jpa.core.JpaStructureNode; +import org.eclipse.jpt.jpa.core.context.AccessType; +import org.eclipse.jpt.jpa.core.context.PersistentType; +import org.eclipse.jpt.jpa.core.context.ReadOnlyPersistentAttribute; +import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute; +import org.eclipse.jpt.jpa.core.context.java.JavaTypeMapping; +import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaJpaContextNode; +import org.eclipse.jpt.jpa.core.internal.context.java.JavaNullTypeMapping; +import org.eclipse.jpt.jpa.core.jpa2.context.MetamodelSourceType; +import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaPersistentType2_0; +import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkEntityMappings; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeMapping; +import org.eclipse.wst.validation.internal.provisional.core.IMessage; +import org.eclipse.wst.validation.internal.provisional.core.IReporter; + +public class VirtualJavaPersistentType + extends AbstractJavaJpaContextNode + implements JavaPersistentType2_0 +{ + + private final XmlTypeMapping xmlTypeMapping; + + protected final JavaTypeMapping mapping; + protected PersistentType superPersistentType; + + public VirtualJavaPersistentType(OrmEclipseLinkPersistentType parent, XmlTypeMapping xmlTypeMapping) { + super(parent); + this.xmlTypeMapping = xmlTypeMapping; + this.mapping = new JavaNullTypeMapping(this); + } + + @Override + public OrmEclipseLinkPersistentType getParent() { + return (OrmEclipseLinkPersistentType) super.getParent(); + } + + protected EclipseLinkEntityMappings getEntityMappings() { + return getParent().getEntityMappings(); + } + + + // ********** synchronize/update ********** + @Override + public void synchronizeWithResourceModel() { + super.synchronizeWithResourceModel(); + } + + @Override + public void update() { + super.update(); + this.setSuperPersistentType(this.buildSuperPersistentType()); + } + + + // ********** name ********** + + //The parent OrmPersistentType builds its name from the specified class and package. + //In SpecifiedOrmPersistentType.updateJavaPersistentType(), it compares the names and + //rebuilds if the name has changed. We don't need to rebuild the virtual java persistent + //type based on a name change, it will get rebuilt if the dynamic state changes. + public String getName() { + return this.getParent().getName(); + } + + public String getSimpleName() { + return this.getParent().getSimpleName(); + } + + + // ********** access ********** + + public AccessType getSpecifiedAccess() { + return null; + } + + public void setSpecifiedAccess(AccessType newSpecifiedAccess) { + throw new UnsupportedOperationException(); + } + + public AccessType getDefaultAccess() { + return null; + } + + public AccessType getAccess() { + return null; + } + + + // ********** mapping ********** + + public JavaTypeMapping getMapping() { + return this.mapping; + } + + public String getMappingKey() { + return this.mapping.getKey(); + } + + public void setMappingKey(String key) { + throw new UnsupportedOperationException(); + } + + public boolean isMapped() { + return false; + } + + + // ********** super persistent type ********** + + public PersistentType getSuperPersistentType() { + return this.superPersistentType; + } + + protected void setSuperPersistentType(PersistentType superPersistentType) { + PersistentType old = this.superPersistentType; + this.superPersistentType = superPersistentType; + this.firePropertyChanged(SUPER_PERSISTENT_TYPE_PROPERTY, old, superPersistentType); + } + + protected PersistentType buildSuperPersistentType() { + HashSet<JavaResourceType> visited = new HashSet<JavaResourceType>(); + PersistentType spt = this.resolveSuperPersistentType(this.xmlTypeMapping.getParentClass(), visited); + if (spt == null) { + return null; + } + if (CollectionTools.contains(spt.getInheritanceHierarchy(), this)) { + return null; // short-circuit in this case, we have circular inheritance + } + return spt.isMapped() ? spt : spt.getSuperPersistentType(); + } + + /** + * The JPA spec allows non-persistent types in a persistent type's + * inheritance hierarchy. We check for a persistent type with the + * specified name in the persistence unit (Use the EntityMapping + * API for this because it will append the package name if unqualified). + * If it is not found we use java resource type and look for <em>its</em> super type. + * <p> + * The <code>visited</code> collection is used to detect a cycle in the + * <em>resource</em> type inheritance hierarchy and prevent the resulting + * stack overflow. Any cycles in the <em>context</em> type inheritance + * hierarchy are handled in {@link #buildSuperPersistentType()}. + */ + protected PersistentType resolveSuperPersistentType(String typeName, Collection<JavaResourceType> visited) { + if (typeName == null) { + return null; + } + PersistentType spt = this.resolvePersistentType(typeName); + if (spt != null) { + return spt; + } + JavaResourceType resourceType = this.resolveJavaResourceType(typeName); + visited.add(resourceType); + return (resourceType == null) ? null : this.resolveSuperPersistentType(resourceType.getSuperclassQualifiedName(), visited); // recurse + } + + protected PersistentType resolvePersistentType(String typeName) { + return getEntityMappings().resolvePersistentType(typeName); + } + + protected JavaResourceType resolveJavaResourceType(String typeName) { + return (JavaResourceType) this.getEntityMappings().resolveJavaResourceType(typeName, JavaResourceAnnotatedElement.Kind.TYPE); + } + + + // ********** attributes ********** + //The VirtualJavaPersistentAttributes are built by the OrmEclipseLinkPersistentAttribute, no attributes here + + public ListIterable<JavaPersistentAttribute> getAttributes() { + return EmptyListIterable.instance(); + } + + public JavaPersistentAttribute getAttributeNamed(String attributeName) { + return null; + } + + public boolean hasAnyAnnotatedAttributes() { + return false; + } + + public JavaPersistentAttribute getAttributeFor(JavaResourceAttribute javaResourceAttribute) { + return null; + } + + public int getAttributesSize() { + return 0; + } + + public Iterable<String> getAttributeNames() { + return EmptyIterable.instance(); + } + + public Iterable<ReadOnlyPersistentAttribute> getAllAttributes() { + return EmptyIterable.instance(); + } + + public Iterable<String> getAllAttributeNames() { + return EmptyIterable.instance(); + } + + public ReadOnlyPersistentAttribute resolveAttribute(String attributeName) { + return null; + } + + + // ********** inheritance ********** + + public Iterable<PersistentType> getInheritanceHierarchy() { + return this.getInheritanceHierarchyOf(this); + } + + public Iterable<PersistentType> getAncestors() { + return this.getInheritanceHierarchyOf(this.superPersistentType); + } + + protected Iterable<PersistentType> getInheritanceHierarchyOf(PersistentType start) { + // using a chain iterable to traverse up the inheritance tree + return new ChainIterable<PersistentType>(start) { + @Override + protected PersistentType nextLink(PersistentType persistentType) { + return persistentType.getSuperPersistentType(); + } + }; + } + + + // ********** JpaStructureNode implementation ********** + + public ContextType getContextType() { + throw new UnsupportedOperationException("There is no resource for a virtual java persistent type"); //$NON-NLS-1$ + } + + public Class<? extends JpaStructureNode> getType() { + throw new UnsupportedOperationException("There is no resource for a virtual java persistent type"); //$NON-NLS-1$ + } + + public JpaStructureNode getStructureNode(int textOffset) { + throw new UnsupportedOperationException("There is no resource for a virtual java persistent type"); //$NON-NLS-1$ + } + + public TextRange getSelectionTextRange() { + throw new UnsupportedOperationException("There is no resource for a virtual java persistent type"); //$NON-NLS-1$ + } + + + // ********** validation ********** + + public void validate(List<IMessage> messages, IReporter reporter) { + throw new UnsupportedOperationException(); + } + + public TextRange getValidationTextRange() { + throw new UnsupportedOperationException(); + } + + public TextRange getValidationTextRange(CompilationUnit astRoot) { + throw new UnsupportedOperationException(); + } + + + // ********** misc ********** + + public JavaResourceType getJavaResourceType() { + return null; + } + + public AccessType getOwnerOverrideAccess() { + throw new UnsupportedOperationException(); + } + + public AccessType getOwnerDefaultAccess() { + throw new UnsupportedOperationException(); + } + + public boolean isFor(String typeName) { + throw new UnsupportedOperationException(); + } + + public boolean isIn(IPackageFragment packageFragment) { + throw new UnsupportedOperationException(); + } + + public PersistentType getOverriddenPersistentType() { + throw new UnsupportedOperationException(); + } + + public String getDeclaringTypeName() { + String className = this.xmlTypeMapping.getClassName(); + int index = className == null ? -1 : className.lastIndexOf('$'); + if (index == -1) { + return null; + } + return className.substring(0, index).replace('$', '.'); + } + + public boolean isManaged() { + throw new UnsupportedOperationException(); + } + + public IFile getMetamodelFile() { + throw new UnsupportedOperationException(); + } + + public void synchronizeMetamodel(Map<String, Collection<MetamodelSourceType>> memberTypeTree) { + throw new UnsupportedOperationException(); + } + + public void printBodySourceOn(BodySourceWriter pw, Map<String, Collection<MetamodelSourceType>> memberTypeTree) { + throw new UnsupportedOperationException(); + } + + @Override + public void toString(StringBuilder sb) { + sb.append(this.getName()); + } + + public void dispose() { + //nothing to dispose + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/EclipseLink.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/EclipseLink.java index bec2cb9d24..eaee4a0baf 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/EclipseLink.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/EclipseLink.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2009 Oracle. All rights reserved. This + * Copyright (c) 2008, 2012 Oracle. All rights reserved. This * program and the accompanying materials are made available under the terms of * the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -127,4 +127,5 @@ public interface EclipseLink String TYPE_CONVERTER__OBJECT_TYPE = "object-type"; //$NON-NLS-1$ String VARIABLE_ONE_TO_ONE = "variable-one-to-one"; //$NON-NLS-1$ + String VARIABLE_ONE_TO_ONE__TARGET_INTERFACE = "target-interface"; //$NON-NLS-1$ } 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 d0731150ad..1e620d2a7e 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 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -1901,29 +1901,29 @@ public class EclipseLinkOrmPackage extends EPackageImpl */ public static final int XML_EMBEDDABLE__ACCESS_METHODS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 0; /** - * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. + * The feature id for the '<em><b>Parent Class</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 1; + public static final int XML_EMBEDDABLE__PARENT_CLASS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 1; /** - * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list. + * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_EMBEDDABLE__ASSOCIATION_OVERRIDES = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 2; + public static final int XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 2; /** - * The feature id for the '<em><b>Parent Class</b></em>' attribute. + * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_EMBEDDABLE__PARENT_CLASS = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 3; + public static final int XML_EMBEDDABLE__ASSOCIATION_OVERRIDES = OrmPackage.XML_EMBEDDABLE_FEATURE_COUNT + 3; /** * The feature id for the '<em><b>Plsql Records</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -2440,61 +2440,61 @@ public class EclipseLinkOrmPackage extends EPackageImpl */ public static final int XML_ENTITY__ENTITY_LISTENERS = OrmPackage.XML_ENTITY__ENTITY_LISTENERS; /** - * The feature id for the '<em><b>Primary Key</b></em>' containment reference. + * The feature id for the '<em><b>Access Methods</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_ENTITY__PRIMARY_KEY = OrmPackage.XML_ENTITY_FEATURE_COUNT + 0; + public static final int XML_ENTITY__ACCESS_METHODS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 0; /** - * The feature id for the '<em><b>Cache Interceptor</b></em>' containment reference. + * The feature id for the '<em><b>Parent Class</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_ENTITY__CACHE_INTERCEPTOR = OrmPackage.XML_ENTITY_FEATURE_COUNT + 1; + public static final int XML_ENTITY__PARENT_CLASS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 1; /** - * The feature id for the '<em><b>Query Redirectors</b></em>' containment reference. + * The feature id for the '<em><b>Primary Key</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_ENTITY__QUERY_REDIRECTORS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 2; + public static final int XML_ENTITY__PRIMARY_KEY = OrmPackage.XML_ENTITY_FEATURE_COUNT + 2; /** - * The feature id for the '<em><b>Access Methods</b></em>' containment reference. + * The feature id for the '<em><b>Cache Interceptor</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_ENTITY__ACCESS_METHODS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 3; + public static final int XML_ENTITY__CACHE_INTERCEPTOR = OrmPackage.XML_ENTITY_FEATURE_COUNT + 3; /** - * The feature id for the '<em><b>Fetch Groups</b></em>' containment reference list. + * The feature id for the '<em><b>Query Redirectors</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_ENTITY__FETCH_GROUPS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 4; + public static final int XML_ENTITY__QUERY_REDIRECTORS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 4; /** - * The feature id for the '<em><b>Class Extractor</b></em>' containment reference. + * The feature id for the '<em><b>Fetch Groups</b></em>' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_ENTITY__CLASS_EXTRACTOR = OrmPackage.XML_ENTITY_FEATURE_COUNT + 5; + public static final int XML_ENTITY__FETCH_GROUPS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 5; /** - * The feature id for the '<em><b>Parent Class</b></em>' attribute. + * The feature id for the '<em><b>Class Extractor</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_ENTITY__PARENT_CLASS = OrmPackage.XML_ENTITY_FEATURE_COUNT + 6; + public static final int XML_ENTITY__CLASS_EXTRACTOR = OrmPackage.XML_ENTITY_FEATURE_COUNT + 6; /** * The feature id for the '<em><b>Partitioning</b></em>' containment reference. * <!-- begin-user-doc --> @@ -3476,7 +3476,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlVariableOneToOne() * @generated */ - public static final int XML_VARIABLE_ONE_TO_ONE = 86; + public static final int XML_VARIABLE_ONE_TO_ONE = 87; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlVersion <em>Xml Version</em>}' class. * <!-- begin-user-doc --> @@ -3485,7 +3485,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlVersion() * @generated */ - public static final int XML_VERSION = 87; + public static final int XML_VERSION = 88; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlHashPartitioning <em>Xml Hash Partitioning</em>}' class. * <!-- begin-user-doc --> @@ -4408,13 +4408,29 @@ public class EclipseLinkOrmPackage extends EPackageImpl */ public static final int XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS = OrmPackage.XML_MAPPED_SUPERCLASS__ENTITY_LISTENERS; /** + * The feature id for the '<em><b>Access Methods</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_SUPERCLASS__ACCESS_METHODS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 0; + /** + * The feature id for the '<em><b>Parent Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_MAPPED_SUPERCLASS__PARENT_CLASS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 1; + /** * The feature id for the '<em><b>Primary Key</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS__PRIMARY_KEY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 0; + public static final int XML_MAPPED_SUPERCLASS__PRIMARY_KEY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 2; /** * The feature id for the '<em><b>Cacheable</b></em>' attribute. * <!-- begin-user-doc --> @@ -4422,7 +4438,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS__CACHEABLE = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 1; + public static final int XML_MAPPED_SUPERCLASS__CACHEABLE = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 3; /** * The feature id for the '<em><b>Cache Interceptor</b></em>' containment reference. * <!-- begin-user-doc --> @@ -4430,7 +4446,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 2; + public static final int XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 4; /** * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -4438,7 +4454,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS__ASSOCIATION_OVERRIDES = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 3; + public static final int XML_MAPPED_SUPERCLASS__ASSOCIATION_OVERRIDES = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 5; /** * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -4446,7 +4462,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS__ATTRIBUTE_OVERRIDES = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 4; + public static final int XML_MAPPED_SUPERCLASS__ATTRIBUTE_OVERRIDES = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 6; /** * The feature id for the '<em><b>Fetch Groups</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -4454,7 +4470,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS__FETCH_GROUPS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 5; + public static final int XML_MAPPED_SUPERCLASS__FETCH_GROUPS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 7; /** * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference. * <!-- begin-user-doc --> @@ -4462,7 +4478,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS__SEQUENCE_GENERATOR = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 6; + public static final int XML_MAPPED_SUPERCLASS__SEQUENCE_GENERATOR = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 8; /** * The feature id for the '<em><b>Table Generator</b></em>' containment reference. * <!-- begin-user-doc --> @@ -4470,7 +4486,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS__TABLE_GENERATOR = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 7; + public static final int XML_MAPPED_SUPERCLASS__TABLE_GENERATOR = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 9; /** * The feature id for the '<em><b>Named Queries</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -4478,7 +4494,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS__NAMED_QUERIES = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 8; + public static final int XML_MAPPED_SUPERCLASS__NAMED_QUERIES = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 10; /** * The feature id for the '<em><b>Named Native Queries</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -4486,7 +4502,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS__NAMED_NATIVE_QUERIES = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 9; + public static final int XML_MAPPED_SUPERCLASS__NAMED_NATIVE_QUERIES = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 11; /** * The feature id for the '<em><b>Named Stored Procedure Queries</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -4494,15 +4510,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS__NAMED_STORED_PROCEDURE_QUERIES = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 10; - /** - * The feature id for the '<em><b>Access Methods</b></em>' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - public static final int XML_MAPPED_SUPERCLASS__ACCESS_METHODS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 11; + public static final int XML_MAPPED_SUPERCLASS__NAMED_STORED_PROCEDURE_QUERIES = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 12; /** * The feature id for the '<em><b>Sql Result Set Mappings</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -4510,7 +4518,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS__SQL_RESULT_SET_MAPPINGS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 12; + public static final int XML_MAPPED_SUPERCLASS__SQL_RESULT_SET_MAPPINGS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 13; /** * The feature id for the '<em><b>Query Redirectors</b></em>' containment reference. * <!-- begin-user-doc --> @@ -4518,15 +4526,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS__QUERY_REDIRECTORS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 13; - /** - * The feature id for the '<em><b>Parent Class</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - public static final int XML_MAPPED_SUPERCLASS__PARENT_CLASS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 14; + public static final int XML_MAPPED_SUPERCLASS__QUERY_REDIRECTORS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 14; /** * The feature id for the '<em><b>Partitioning</b></em>' containment reference. * <!-- begin-user-doc --> @@ -6839,6 +6839,79 @@ public class EclipseLinkOrmPackage extends EPackageImpl */ public static final int XML_TYPE_CONVERTER_FEATURE_COUNT = XML_NAMED_CONVERTER_FEATURE_COUNT + 2; /** + * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeMapping <em>Xml Type Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeMapping + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeMapping() + * @generated + */ + public static final int XML_TYPE_MAPPING = 84; + /** + * The feature id for the '<em><b>Access</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING__ACCESS = OrmPackage.XML_TYPE_MAPPING__ACCESS; + /** + * The feature id for the '<em><b>Class Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING__CLASS_NAME = OrmPackage.XML_TYPE_MAPPING__CLASS_NAME; + /** + * The feature id for the '<em><b>Metadata Complete</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING__METADATA_COMPLETE = OrmPackage.XML_TYPE_MAPPING__METADATA_COMPLETE; + /** + * The feature id for the '<em><b>Description</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING__DESCRIPTION = OrmPackage.XML_TYPE_MAPPING__DESCRIPTION; + /** + * The feature id for the '<em><b>Attributes</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING__ATTRIBUTES = OrmPackage.XML_TYPE_MAPPING__ATTRIBUTES; + /** + * The feature id for the '<em><b>Access Methods</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING__ACCESS_METHODS = OrmPackage.XML_TYPE_MAPPING_FEATURE_COUNT + 0; + /** + * The feature id for the '<em><b>Parent Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING__PARENT_CLASS = OrmPackage.XML_TYPE_MAPPING_FEATURE_COUNT + 1; + /** + * The number of structural features of the '<em>Xml Type Mapping</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING_FEATURE_COUNT = OrmPackage.XML_TYPE_MAPPING_FEATURE_COUNT + 2; + /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlUnionPartitioning <em>Xml Union Partitioning</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -6846,7 +6919,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlUnionPartitioning() * @generated */ - public static final int XML_UNION_PARTITIONING = 84; + public static final int XML_UNION_PARTITIONING = 85; /** * The feature id for the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> @@ -6871,7 +6944,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlValuePartitioning() * @generated */ - public static final int XML_VALUE_PARTITIONING = 85; + public static final int XML_VALUE_PARTITIONING = 86; /** * The feature id for the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> @@ -7001,13 +7074,21 @@ public class EclipseLinkOrmPackage extends EPackageImpl */ public static final int XML_VARIABLE_ONE_TO_ONE__NON_CACHEABLE = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 11; /** + * The feature id for the '<em><b>Target Interface</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_VARIABLE_ONE_TO_ONE__TARGET_INTERFACE = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 12; + /** * The number of structural features of the '<em>Xml Variable One To One</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_VARIABLE_ONE_TO_ONE_FEATURE_COUNT = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 12; + public static final int XML_VARIABLE_ONE_TO_ONE_FEATURE_COUNT = OrmPackage.ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 13; /** * The feature id for the '<em><b>Access</b></em>' attribute. * <!-- begin-user-doc --> @@ -7152,7 +7233,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getCacheCoordinationType() * @generated */ - public static final int CACHE_COORDINATION_TYPE = 88; + public static final int CACHE_COORDINATION_TYPE = 89; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheType <em>Cache Type</em>}' enum. * <!-- begin-user-doc --> @@ -7161,7 +7242,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getCacheType() * @generated */ - public static final int CACHE_TYPE = 89; + public static final int CACHE_TYPE = 90; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlChangeTrackingType <em>Xml Change Tracking Type</em>}' enum. * <!-- begin-user-doc --> @@ -7170,7 +7251,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlChangeTrackingType() * @generated */ - public static final int XML_CHANGE_TRACKING_TYPE = 90; + public static final int XML_CHANGE_TRACKING_TYPE = 91; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlDirection <em>Xml Direction</em>}' enum. * <!-- begin-user-doc --> @@ -7179,7 +7260,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlDirection() * @generated */ - public static final int XML_DIRECTION = 91; + public static final int XML_DIRECTION = 92; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.ExistenceType <em>Existence Type</em>}' enum. * <!-- begin-user-doc --> @@ -7188,7 +7269,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getExistenceType() * @generated */ - public static final int EXISTENCE_TYPE = 92; + public static final int EXISTENCE_TYPE = 93; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlJoinFetchType <em>Xml Join Fetch Type</em>}' enum. * <!-- begin-user-doc --> @@ -7197,7 +7278,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlJoinFetchType() * @generated */ - public static final int XML_JOIN_FETCH_TYPE = 93; + public static final int XML_JOIN_FETCH_TYPE = 94; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlOptimisticLockingType <em>Xml Optimistic Locking Type</em>}' enum. * <!-- begin-user-doc --> @@ -7206,7 +7287,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOptimisticLockingType() * @generated */ - public static final int XML_OPTIMISTIC_LOCKING_TYPE = 94; + public static final int XML_OPTIMISTIC_LOCKING_TYPE = 95; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -7668,6 +7749,12 @@ public class EclipseLinkOrmPackage extends EPackageImpl * <!-- end-user-doc --> * @generated */ + private EClass xmlTypeMappingEClass = null; + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ private EClass xmlVariableOneToOneEClass = null; /** * <!-- begin-user-doc --> @@ -10073,6 +10160,19 @@ public class EclipseLinkOrmPackage extends EPackageImpl } /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeMapping <em>Xml Type Mapping</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Type Mapping</em>'. + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeMapping + * @generated + */ + public EClass getXmlTypeMapping() + { + return xmlTypeMappingEClass; + } + + /** * Returns the meta object for class '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlVariableOneToOne <em>Xml Variable One To One</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -10086,6 +10186,20 @@ public class EclipseLinkOrmPackage extends EPackageImpl } /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlVariableOneToOne#getTargetInterface <em>Target Interface</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Target Interface</em>'. + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlVariableOneToOne#getTargetInterface() + * @see #getXmlVariableOneToOne() + * @generated + */ + public EAttribute getXmlVariableOneToOne_TargetInterface() + { + return (EAttribute)xmlVariableOneToOneEClass.getEStructuralFeatures().get(0); + } + + /** * Returns the meta object for class '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlVersion <em>Xml Version</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -10606,11 +10720,14 @@ public class EclipseLinkOrmPackage extends EPackageImpl createEAttribute(xmlTypeConverterEClass, XML_TYPE_CONVERTER__DATA_TYPE); createEAttribute(xmlTypeConverterEClass, XML_TYPE_CONVERTER__OBJECT_TYPE); + xmlTypeMappingEClass = createEClass(XML_TYPE_MAPPING); + xmlUnionPartitioningEClass = createEClass(XML_UNION_PARTITIONING); xmlValuePartitioningEClass = createEClass(XML_VALUE_PARTITIONING); xmlVariableOneToOneEClass = createEClass(XML_VARIABLE_ONE_TO_ONE); + createEAttribute(xmlVariableOneToOneEClass, XML_VARIABLE_ONE_TO_ONE__TARGET_INTERFACE); xmlVersionEClass = createEClass(XML_VERSION); @@ -10711,7 +10828,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl xmlElementCollectionEClass.getESuperTypes().add(theEclipseLinkOrmV2_3Package.getXmlElementCollection_2_3()); xmlElementCollectionEClass.getESuperTypes().add(theEclipseLinkOrmV2_4Package.getXmlElementCollection_2_4()); xmlEmbeddableEClass.getESuperTypes().add(theOrmPackage.getXmlEmbeddable()); - xmlEmbeddableEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlEmbeddable_2_1()); + xmlEmbeddableEClass.getESuperTypes().add(this.getXmlTypeMapping()); xmlEmbeddableEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlEmbeddable_2_2()); xmlEmbeddableEClass.getESuperTypes().add(theEclipseLinkOrmV2_3Package.getXmlEmbeddable_2_3()); xmlEmbeddableEClass.getESuperTypes().add(this.getXmlCustomizerHolder()); @@ -10725,6 +10842,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl xmlEmbeddedIdEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlEmbeddedId_2_1()); xmlEmbeddedIdEClass.getESuperTypes().add(this.getXmlAttributeMapping()); xmlEntityEClass.getESuperTypes().add(theOrmPackage.getXmlEntity()); + xmlEntityEClass.getESuperTypes().add(this.getXmlTypeMapping()); xmlEntityEClass.getESuperTypes().add(theEclipseLinkOrmV1_1Package.getXmlEntity_1_1()); xmlEntityEClass.getESuperTypes().add(theEclipseLinkOrmV2_0Package.getXmlEntity_2_0()); xmlEntityEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlEntity_2_1()); @@ -10770,6 +10888,7 @@ public class EclipseLinkOrmPackage extends EPackageImpl xmlManyToOneEClass.getESuperTypes().add(this.getXmlAttributeMapping()); xmlManyToOneEClass.getESuperTypes().add(this.getXmlJoinFetch()); xmlMappedSuperclassEClass.getESuperTypes().add(theOrmPackage.getXmlMappedSuperclass()); + xmlMappedSuperclassEClass.getESuperTypes().add(this.getXmlTypeMapping()); xmlMappedSuperclassEClass.getESuperTypes().add(theEclipseLinkOrmV1_1Package.getXmlMappedSuperclass_1_1()); xmlMappedSuperclassEClass.getESuperTypes().add(theEclipseLinkOrmV2_0Package.getXmlMappedSuperclass_2_0()); xmlMappedSuperclassEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlMappedSuperclass_2_1()); @@ -10838,6 +10957,8 @@ public class EclipseLinkOrmPackage extends EPackageImpl xmlTransientEClass.getESuperTypes().add(theOrmPackage.getXmlTransient()); xmlTransientEClass.getESuperTypes().add(this.getXmlAttributeMapping()); xmlTypeConverterEClass.getESuperTypes().add(this.getXmlNamedConverter()); + xmlTypeMappingEClass.getESuperTypes().add(theOrmPackage.getXmlTypeMapping()); + xmlTypeMappingEClass.getESuperTypes().add(theEclipseLinkOrmV2_1Package.getXmlTypeMapping_2_1()); xmlUnionPartitioningEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlUnionPartitioning_2_2()); xmlValuePartitioningEClass.getESuperTypes().add(theEclipseLinkOrmV2_2Package.getXmlValuePartitioning_2_2()); xmlVariableOneToOneEClass.getESuperTypes().add(theOrmPackage.getAbstractXmlAttributeMapping()); @@ -10865,6 +10986,8 @@ public class EclipseLinkOrmPackage extends EPackageImpl initEClass(xmlAttributeMappingEClass, XmlAttributeMapping.class, "XmlAttributeMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + addEOperation(xmlAttributeMappingEClass, theXMLTypePackage.getString(), "getTypeName", 0, 1, IS_UNIQUE, IS_ORDERED); + initEClass(attributesEClass, Attributes.class, "Attributes", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getAttributes_BasicCollections(), this.getXmlBasicCollection(), null, "basicCollections", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getAttributes_BasicMaps(), this.getXmlBasicMap(), null, "basicMaps", null, 0, -1, Attributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -11107,11 +11230,14 @@ public class EclipseLinkOrmPackage extends EPackageImpl initEAttribute(getXmlTypeConverter_DataType(), theXMLTypePackage.getString(), "dataType", null, 0, 1, XmlTypeConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getXmlTypeConverter_ObjectType(), theXMLTypePackage.getString(), "objectType", null, 0, 1, XmlTypeConverter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(xmlTypeMappingEClass, XmlTypeMapping.class, "XmlTypeMapping", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(xmlUnionPartitioningEClass, XmlUnionPartitioning.class, "XmlUnionPartitioning", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(xmlValuePartitioningEClass, XmlValuePartitioning.class, "XmlValuePartitioning", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(xmlVariableOneToOneEClass, XmlVariableOneToOne.class, "XmlVariableOneToOne", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlVariableOneToOne_TargetInterface(), theXMLTypePackage.getString(), "targetInterface", null, 0, 1, XmlVariableOneToOne.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(xmlVersionEClass, XmlVersion.class, "XmlVersion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -12634,6 +12760,16 @@ public class EclipseLinkOrmPackage extends EPackageImpl public static final EAttribute XML_TYPE_CONVERTER__OBJECT_TYPE = eINSTANCE.getXmlTypeConverter_ObjectType(); /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeMapping <em>Xml Type Mapping</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeMapping + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeMapping() + * @generated + */ + public static final EClass XML_TYPE_MAPPING = eINSTANCE.getXmlTypeMapping(); + + /** * The meta object literal for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlVariableOneToOne <em>Xml Variable One To One</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -12644,6 +12780,14 @@ public class EclipseLinkOrmPackage extends EPackageImpl public static final EClass XML_VARIABLE_ONE_TO_ONE = eINSTANCE.getXmlVariableOneToOne(); /** + * The meta object literal for the '<em><b>Target Interface</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_VARIABLE_ONE_TO_ONE__TARGET_INTERFACE = eINSTANCE.getXmlVariableOneToOne_TargetInterface(); + + /** * The meta object literal for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlVersion <em>Xml Version</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/XmlArray.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlArray.java index 99243bea28..37ee6c777a 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 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Oracle. All rights reserved. + * Copyright (c) 2011, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html @@ -757,6 +757,10 @@ public class XmlArray extends AbstractXmlAttributeMapping implements XmlAttribut eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ARRAY__CONVERT, oldConvert, convert)); } + public String getTypeName() { + return this.getAttributeType(); + } + /** * <!-- 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/XmlAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlAttributeMapping.java index bf5a017b56..f2cda10aea 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlAttributeMapping.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlAttributeMapping.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -31,4 +31,12 @@ public interface XmlAttributeMapping extends org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeMapping, XmlAccessMethodsHolder, XmlPropertyContainer { + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model kind="operation" dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getTypeName(); } // XmlAttributeMapping diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlBasic.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlBasic.java index d95fc1eaf4..d78ae0a532 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlBasic.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlBasic.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -433,6 +433,10 @@ public class XmlBasic extends org.eclipse.jpt.jpa.core.resource.orm.XmlBasic imp return structConverters; } + public String getTypeName() { + return this.getAttributeType(); + } + /** * Returns the value of the '<em><b>Sequence Generator</b></em>' containment reference. * <!-- begin-user-doc --> diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlBasicCollection.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlBasicCollection.java index 66459fddc9..296044bb42 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlBasicCollection.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlBasicCollection.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2010 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -225,6 +225,10 @@ public class XmlBasicCollection extends AbstractXmlAttributeMapping implements X eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_COLLECTION__CASCADE_ON_DELETE, oldCascadeOnDelete, cascadeOnDelete)); } + public String getTypeName() { + return null; //basic-collection is deprecated, not attribute-type + } + /** * <!-- 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/XmlBasicMap.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlBasicMap.java index 224d0cfd39..4a50bf3655 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlBasicMap.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlBasicMap.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2010 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -225,6 +225,10 @@ public class XmlBasicMap extends AbstractXmlAttributeMapping implements XmlAttri eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_BASIC_MAP__CASCADE_ON_DELETE, oldCascadeOnDelete, cascadeOnDelete)); } + public String getTypeName() { + return null; //basic-map is deprecated, no attribute-type + } + /** * <!-- 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/XmlElementCollection.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlElementCollection.java index 0f23bb4345..f7825319b0 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlElementCollection.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlElementCollection.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2011 Oracle. + * Copyright (c) 2009, 2012 Oracle. * All rights reserved. This program and the accompanying materials are * made available under the terms of the Eclipse Public License v1.0 which * accompanies this distribution, and is available at @@ -1401,6 +1401,10 @@ public class XmlElementCollection extends org.eclipse.jpt.jpa.core.resource.orm. eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ELEMENT_COLLECTION__DELETE_ALL, oldDeleteAll, deleteAll)); } + public String getTypeName() { + return this.getAttributeType(); + } + /** * 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}. diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEmbeddable.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEmbeddable.java index a37cb0eac9..ec46adba8f 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEmbeddable.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEmbeddable.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -28,9 +28,9 @@ import org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer; import org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverride; import org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer; import org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbeddable_2_1; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.EclipseLink2_2; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2; 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; @@ -69,7 +69,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator; * @model kind="class" * @generated */ -public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable implements XmlEmbeddable_2_1, XmlEmbeddable_2_2, XmlEmbeddable_2_3, XmlCustomizerHolder, XmlChangeTrackingHolder, XmlConverterContainer, XmlPropertyContainer +public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbeddable implements XmlTypeMapping, XmlEmbeddable_2_2, XmlEmbeddable_2_3, XmlCustomizerHolder, XmlChangeTrackingHolder, XmlConverterContainer, XmlPropertyContainer { /** * The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference. @@ -82,44 +82,44 @@ public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbe protected XmlAccessMethods accessMethods; /** - * The cached value of the '{@link #getAttributeOverrides() <em>Attribute Overrides</em>}' containment reference list. + * The default value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getAttributeOverrides() + * @see #getParentClass() * @generated * @ordered */ - protected EList<XmlAttributeOverride> attributeOverrides; + protected static final String PARENT_CLASS_EDEFAULT = null; /** - * The cached value of the '{@link #getAssociationOverrides() <em>Association Overrides</em>}' containment reference list. + * The cached value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getAssociationOverrides() + * @see #getParentClass() * @generated * @ordered */ - protected EList<XmlAssociationOverride> associationOverrides; + protected String parentClass = PARENT_CLASS_EDEFAULT; /** - * The default value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute. + * The cached value of the '{@link #getAttributeOverrides() <em>Attribute Overrides</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getParentClass() + * @see #getAttributeOverrides() * @generated * @ordered */ - protected static final String PARENT_CLASS_EDEFAULT = null; + protected EList<XmlAttributeOverride> attributeOverrides; /** - * The cached value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute. + * The cached value of the '{@link #getAssociationOverrides() <em>Association Overrides</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getParentClass() + * @see #getAssociationOverrides() * @generated * @ordered */ - protected String parentClass = PARENT_CLASS_EDEFAULT; + protected EList<XmlAssociationOverride> associationOverrides; /** * The cached value of the '{@link #getPlsqlRecords() <em>Plsql Records</em>}' containment reference list. @@ -408,7 +408,7 @@ public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbe * <!-- end-user-doc --> * @return the value of the '<em>Parent Class</em>' attribute. * @see #setParentClass(String) - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddable_2_2_ParentClass() + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeMapping_2_1_ParentClass() * @model dataType="org.eclipse.emf.ecore.xml.type.String" * @generated */ @@ -1047,12 +1047,12 @@ public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbe { case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS: return getAccessMethods(); + case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: + return getParentClass(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES: return getAttributeOverrides(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES: return getAssociationOverrides(); - case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: - return getParentClass(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_RECORDS: return getPlsqlRecords(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_TABLES: @@ -1099,6 +1099,9 @@ public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbe case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS: setAccessMethods((XmlAccessMethods)newValue); return; + case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: + setParentClass((String)newValue); + return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES: getAttributeOverrides().clear(); getAttributeOverrides().addAll((Collection<? extends XmlAttributeOverride>)newValue); @@ -1107,9 +1110,6 @@ public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbe getAssociationOverrides().clear(); getAssociationOverrides().addAll((Collection<? extends XmlAssociationOverride>)newValue); return; - case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: - setParentClass((String)newValue); - return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_RECORDS: getPlsqlRecords().clear(); getPlsqlRecords().addAll((Collection<? extends XmlPlsqlRecord_2_3>)newValue); @@ -1176,15 +1176,15 @@ public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbe case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS: setAccessMethods((XmlAccessMethods)null); return; + case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: + setParentClass(PARENT_CLASS_EDEFAULT); + return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES: getAttributeOverrides().clear(); return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES: getAssociationOverrides().clear(); return; - case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: - setParentClass(PARENT_CLASS_EDEFAULT); - return; case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_RECORDS: getPlsqlRecords().clear(); return; @@ -1243,12 +1243,12 @@ public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbe { case EclipseLinkOrmPackage.XML_EMBEDDABLE__ACCESS_METHODS: return accessMethods != null; + case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: + return PARENT_CLASS_EDEFAULT == null ? parentClass != null : !PARENT_CLASS_EDEFAULT.equals(parentClass); case EclipseLinkOrmPackage.XML_EMBEDDABLE__ATTRIBUTE_OVERRIDES: return attributeOverrides != null && !attributeOverrides.isEmpty(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__ASSOCIATION_OVERRIDES: return associationOverrides != null && !associationOverrides.isEmpty(); - case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: - return PARENT_CLASS_EDEFAULT == null ? parentClass != null : !PARENT_CLASS_EDEFAULT.equals(parentClass); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_RECORDS: return plsqlRecords != null && !plsqlRecords.isEmpty(); case EclipseLinkOrmPackage.XML_EMBEDDABLE__PLSQL_TABLES: @@ -1297,7 +1297,15 @@ public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbe default: return -1; } } - if (baseClass == XmlEmbeddable_2_1.class) + if (baseClass == XmlTypeMapping_2_1.class) + { + switch (derivedFeatureID) + { + case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: return EclipseLinkOrmV2_1Package.XML_TYPE_MAPPING_21__PARENT_CLASS; + default: return -1; + } + } + if (baseClass == XmlTypeMapping.class) { switch (derivedFeatureID) { @@ -1324,7 +1332,6 @@ public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbe { switch (derivedFeatureID) { - case EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS: return EclipseLinkOrmV2_2Package.XML_EMBEDDABLE_22__PARENT_CLASS; default: return -1; } } @@ -1392,7 +1399,15 @@ public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbe default: return -1; } } - if (baseClass == XmlEmbeddable_2_1.class) + if (baseClass == XmlTypeMapping_2_1.class) + { + switch (baseFeatureID) + { + case EclipseLinkOrmV2_1Package.XML_TYPE_MAPPING_21__PARENT_CLASS: return EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS; + default: return -1; + } + } + if (baseClass == XmlTypeMapping.class) { switch (baseFeatureID) { @@ -1419,7 +1434,6 @@ public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbe { switch (baseFeatureID) { - case EclipseLinkOrmV2_2Package.XML_EMBEDDABLE_22__PARENT_CLASS: return EclipseLinkOrmPackage.XML_EMBEDDABLE__PARENT_CLASS; default: return -1; } } @@ -1576,7 +1590,7 @@ public class XmlEmbeddable extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbe } protected static Translator buildParentClassTranslator() { - return new Translator(EclipseLink2_2.PARENT_CLASS, EclipseLinkOrmV2_2Package.eINSTANCE.getXmlEmbeddable_2_2_ParentClass(), Translator.DOM_ATTRIBUTE); + return new Translator(EclipseLink2_2.PARENT_CLASS, EclipseLinkOrmV2_1Package.eINSTANCE.getXmlTypeMapping_2_1_ParentClass(), Translator.DOM_ATTRIBUTE); } protected static Translator buildAttributeOverrideTranslator() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEmbedded.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEmbedded.java index 45ee1b7166..70b783275e 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEmbedded.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEmbedded.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -226,6 +226,10 @@ public class XmlEmbedded extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbedd return properties; } + public String getTypeName() { + return this.getAttributeType(); + } + /** * <!-- 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/XmlEmbeddedId.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEmbeddedId.java index 6ff6d0100c..9917b45e68 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEmbeddedId.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEmbeddedId.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -226,6 +226,10 @@ public class XmlEmbeddedId extends org.eclipse.jpt.jpa.core.resource.orm.XmlEmbe return properties; } + public String getTypeName() { + return this.getAttributeType(); + } + /** * <!-- 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/XmlEntity.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEntity.java index d5ecc096f2..025558a6c2 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEntity.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEntity.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. + * Copyright (c) 2008, 2012 Oracle. * All rights reserved. This program and the accompanying materials are * made available under the terms of the Eclipse Public License v1.0 which * accompanies this distribution, and is available at @@ -37,6 +37,7 @@ import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLink2_1; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEntity_2_1; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlFetchGroupContainer_2_1; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.EclipseLink2_2; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2; @@ -96,87 +97,87 @@ import org.eclipse.wst.common.internal.emf.resource.Translator; * @model kind="class" * @generated */ -public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity implements XmlEntity_1_1, XmlEntity_2_0, XmlEntity_2_1, XmlEntity_2_2, XmlEntity_2_3, XmlEntity_2_4, XmlReadOnly, XmlCustomizerHolder, XmlChangeTrackingHolder, XmlCacheHolder, XmlConverterContainer, XmlQueryContainer, XmlPropertyContainer +public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity implements XmlTypeMapping, XmlEntity_1_1, XmlEntity_2_0, XmlEntity_2_1, XmlEntity_2_2, XmlEntity_2_3, XmlEntity_2_4, XmlReadOnly, XmlCustomizerHolder, XmlChangeTrackingHolder, XmlCacheHolder, XmlConverterContainer, XmlQueryContainer, XmlPropertyContainer { /** - * The cached value of the '{@link #getPrimaryKey() <em>Primary Key</em>}' containment reference. + * The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getPrimaryKey() + * @see #getAccessMethods() * @generated * @ordered */ - protected XmlPrimaryKey primaryKey; + protected XmlAccessMethods accessMethods; /** - * The cached value of the '{@link #getCacheInterceptor() <em>Cache Interceptor</em>}' containment reference. + * The default value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getCacheInterceptor() + * @see #getParentClass() * @generated * @ordered */ - protected XmlClassReference cacheInterceptor; + protected static final String PARENT_CLASS_EDEFAULT = null; /** - * The cached value of the '{@link #getQueryRedirectors() <em>Query Redirectors</em>}' containment reference. + * The cached value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getQueryRedirectors() + * @see #getParentClass() * @generated * @ordered */ - protected XmlQueryRedirectors queryRedirectors; + protected String parentClass = PARENT_CLASS_EDEFAULT; /** - * The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference. + * The cached value of the '{@link #getPrimaryKey() <em>Primary Key</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getAccessMethods() + * @see #getPrimaryKey() * @generated * @ordered */ - protected XmlAccessMethods accessMethods; + protected XmlPrimaryKey primaryKey; /** - * The cached value of the '{@link #getFetchGroups() <em>Fetch Groups</em>}' containment reference list. + * The cached value of the '{@link #getCacheInterceptor() <em>Cache Interceptor</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getFetchGroups() + * @see #getCacheInterceptor() * @generated * @ordered */ - protected EList<XmlFetchGroup> fetchGroups; + protected XmlClassReference cacheInterceptor; /** - * The cached value of the '{@link #getClassExtractor() <em>Class Extractor</em>}' containment reference. + * The cached value of the '{@link #getQueryRedirectors() <em>Query Redirectors</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getClassExtractor() + * @see #getQueryRedirectors() * @generated * @ordered */ - protected XmlClassReference classExtractor; + protected XmlQueryRedirectors queryRedirectors; /** - * The default value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute. + * The cached value of the '{@link #getFetchGroups() <em>Fetch Groups</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getParentClass() + * @see #getFetchGroups() * @generated * @ordered */ - protected static final String PARENT_CLASS_EDEFAULT = null; + protected EList<XmlFetchGroup> fetchGroups; /** - * The cached value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute. + * The cached value of the '{@link #getClassExtractor() <em>Class Extractor</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see #getParentClass() + * @see #getClassExtractor() * @generated * @ordered */ - protected String parentClass = PARENT_CLASS_EDEFAULT; + protected XmlClassReference classExtractor; /** * The cached value of the '{@link #getPartitioning() <em>Partitioning</em>}' containment reference. @@ -1570,7 +1571,7 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i * <!-- end-user-doc --> * @return the value of the '<em>Parent Class</em>' attribute. * @see #setParentClass(String) - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEntity_2_1_ParentClass() + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeMapping_2_1_ParentClass() * @model dataType="org.eclipse.emf.ecore.xml.type.String" * @generated */ @@ -2605,14 +2606,14 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i { switch (featureID) { + case EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS: + return basicSetAccessMethods(null, msgs); case EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY: return basicSetPrimaryKey(null, msgs); case EclipseLinkOrmPackage.XML_ENTITY__CACHE_INTERCEPTOR: return basicSetCacheInterceptor(null, msgs); case EclipseLinkOrmPackage.XML_ENTITY__QUERY_REDIRECTORS: return basicSetQueryRedirectors(null, msgs); - case EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS: - return basicSetAccessMethods(null, msgs); case EclipseLinkOrmPackage.XML_ENTITY__FETCH_GROUPS: return ((InternalEList<?>)getFetchGroups()).basicRemove(otherEnd, msgs); case EclipseLinkOrmPackage.XML_ENTITY__CLASS_EXTRACTOR: @@ -2693,20 +2694,20 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i { switch (featureID) { + case EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS: + return getAccessMethods(); + case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS: + return getParentClass(); case EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY: return getPrimaryKey(); case EclipseLinkOrmPackage.XML_ENTITY__CACHE_INTERCEPTOR: return getCacheInterceptor(); case EclipseLinkOrmPackage.XML_ENTITY__QUERY_REDIRECTORS: return getQueryRedirectors(); - case EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS: - return getAccessMethods(); case EclipseLinkOrmPackage.XML_ENTITY__FETCH_GROUPS: return getFetchGroups(); case EclipseLinkOrmPackage.XML_ENTITY__CLASS_EXTRACTOR: return getClassExtractor(); - case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS: - return getParentClass(); case EclipseLinkOrmPackage.XML_ENTITY__PARTITIONING: return getPartitioning(); case EclipseLinkOrmPackage.XML_ENTITY__REPLICATION_PARTITIONING: @@ -2794,6 +2795,12 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i { switch (featureID) { + case EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS: + setAccessMethods((XmlAccessMethods)newValue); + return; + case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS: + setParentClass((String)newValue); + return; case EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY: setPrimaryKey((XmlPrimaryKey)newValue); return; @@ -2803,9 +2810,6 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i case EclipseLinkOrmPackage.XML_ENTITY__QUERY_REDIRECTORS: setQueryRedirectors((XmlQueryRedirectors)newValue); return; - case EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS: - setAccessMethods((XmlAccessMethods)newValue); - return; case EclipseLinkOrmPackage.XML_ENTITY__FETCH_GROUPS: getFetchGroups().clear(); getFetchGroups().addAll((Collection<? extends XmlFetchGroup>)newValue); @@ -2813,9 +2817,6 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i case EclipseLinkOrmPackage.XML_ENTITY__CLASS_EXTRACTOR: setClassExtractor((XmlClassReference)newValue); return; - case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS: - setParentClass((String)newValue); - return; case EclipseLinkOrmPackage.XML_ENTITY__PARTITIONING: setPartitioning((XmlPartitioning_2_2)newValue); return; @@ -2949,6 +2950,12 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i { switch (featureID) { + case EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS: + setAccessMethods((XmlAccessMethods)null); + return; + case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS: + setParentClass(PARENT_CLASS_EDEFAULT); + return; case EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY: setPrimaryKey((XmlPrimaryKey)null); return; @@ -2958,18 +2965,12 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i case EclipseLinkOrmPackage.XML_ENTITY__QUERY_REDIRECTORS: setQueryRedirectors((XmlQueryRedirectors)null); return; - case EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS: - setAccessMethods((XmlAccessMethods)null); - return; case EclipseLinkOrmPackage.XML_ENTITY__FETCH_GROUPS: getFetchGroups().clear(); return; case EclipseLinkOrmPackage.XML_ENTITY__CLASS_EXTRACTOR: setClassExtractor((XmlClassReference)null); return; - case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS: - setParentClass(PARENT_CLASS_EDEFAULT); - return; case EclipseLinkOrmPackage.XML_ENTITY__PARTITIONING: setPartitioning((XmlPartitioning_2_2)null); return; @@ -3092,20 +3093,20 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i { switch (featureID) { + case EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS: + return accessMethods != null; + case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS: + return PARENT_CLASS_EDEFAULT == null ? parentClass != null : !PARENT_CLASS_EDEFAULT.equals(parentClass); case EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY: return primaryKey != null; case EclipseLinkOrmPackage.XML_ENTITY__CACHE_INTERCEPTOR: return cacheInterceptor != null; case EclipseLinkOrmPackage.XML_ENTITY__QUERY_REDIRECTORS: return queryRedirectors != null; - case EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS: - return accessMethods != null; case EclipseLinkOrmPackage.XML_ENTITY__FETCH_GROUPS: return fetchGroups != null && !fetchGroups.isEmpty(); case EclipseLinkOrmPackage.XML_ENTITY__CLASS_EXTRACTOR: return classExtractor != null; - case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS: - return PARENT_CLASS_EDEFAULT == null ? parentClass != null : !PARENT_CLASS_EDEFAULT.equals(parentClass); case EclipseLinkOrmPackage.XML_ENTITY__PARTITIONING: return partitioning != null; case EclipseLinkOrmPackage.XML_ENTITY__REPLICATION_PARTITIONING: @@ -3190,28 +3191,43 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i @Override public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) { - if (baseClass == XmlEntity_1_1.class) + if (baseClass == XmlAccessMethodsHolder.class) { switch (derivedFeatureID) { - case EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY: return EclipseLinkOrmV1_1Package.XML_ENTITY_11__PRIMARY_KEY; + case EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS: return EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS; default: return -1; } } - if (baseClass == XmlEntity_2_0.class) + if (baseClass == XmlTypeMapping_2_1.class) { switch (derivedFeatureID) { - case EclipseLinkOrmPackage.XML_ENTITY__CACHE_INTERCEPTOR: return EclipseLinkOrmV2_0Package.XML_ENTITY_20__CACHE_INTERCEPTOR; - case EclipseLinkOrmPackage.XML_ENTITY__QUERY_REDIRECTORS: return EclipseLinkOrmV2_0Package.XML_ENTITY_20__QUERY_REDIRECTORS; + case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS: return EclipseLinkOrmV2_1Package.XML_TYPE_MAPPING_21__PARENT_CLASS; default: return -1; } } - if (baseClass == XmlAccessMethodsHolder.class) + if (baseClass == XmlTypeMapping.class) { switch (derivedFeatureID) { - case EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS: return EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS; + default: return -1; + } + } + if (baseClass == XmlEntity_1_1.class) + { + switch (derivedFeatureID) + { + case EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY: return EclipseLinkOrmV1_1Package.XML_ENTITY_11__PRIMARY_KEY; + default: return -1; + } + } + if (baseClass == XmlEntity_2_0.class) + { + switch (derivedFeatureID) + { + case EclipseLinkOrmPackage.XML_ENTITY__CACHE_INTERCEPTOR: return EclipseLinkOrmV2_0Package.XML_ENTITY_20__CACHE_INTERCEPTOR; + case EclipseLinkOrmPackage.XML_ENTITY__QUERY_REDIRECTORS: return EclipseLinkOrmV2_0Package.XML_ENTITY_20__QUERY_REDIRECTORS; default: return -1; } } @@ -3228,7 +3244,6 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i switch (derivedFeatureID) { case EclipseLinkOrmPackage.XML_ENTITY__CLASS_EXTRACTOR: return EclipseLinkOrmV2_1Package.XML_ENTITY_21__CLASS_EXTRACTOR; - case EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS: return EclipseLinkOrmV2_1Package.XML_ENTITY_21__PARENT_CLASS; default: return -1; } } @@ -3358,28 +3373,43 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i @Override public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) { - if (baseClass == XmlEntity_1_1.class) + if (baseClass == XmlAccessMethodsHolder.class) { switch (baseFeatureID) { - case EclipseLinkOrmV1_1Package.XML_ENTITY_11__PRIMARY_KEY: return EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY; + case EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS: return EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS; default: return -1; } } - if (baseClass == XmlEntity_2_0.class) + if (baseClass == XmlTypeMapping_2_1.class) { switch (baseFeatureID) { - case EclipseLinkOrmV2_0Package.XML_ENTITY_20__CACHE_INTERCEPTOR: return EclipseLinkOrmPackage.XML_ENTITY__CACHE_INTERCEPTOR; - case EclipseLinkOrmV2_0Package.XML_ENTITY_20__QUERY_REDIRECTORS: return EclipseLinkOrmPackage.XML_ENTITY__QUERY_REDIRECTORS; + case EclipseLinkOrmV2_1Package.XML_TYPE_MAPPING_21__PARENT_CLASS: return EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS; default: return -1; } } - if (baseClass == XmlAccessMethodsHolder.class) + if (baseClass == XmlTypeMapping.class) { switch (baseFeatureID) { - case EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS: return EclipseLinkOrmPackage.XML_ENTITY__ACCESS_METHODS; + default: return -1; + } + } + if (baseClass == XmlEntity_1_1.class) + { + switch (baseFeatureID) + { + case EclipseLinkOrmV1_1Package.XML_ENTITY_11__PRIMARY_KEY: return EclipseLinkOrmPackage.XML_ENTITY__PRIMARY_KEY; + default: return -1; + } + } + if (baseClass == XmlEntity_2_0.class) + { + switch (baseFeatureID) + { + case EclipseLinkOrmV2_0Package.XML_ENTITY_20__CACHE_INTERCEPTOR: return EclipseLinkOrmPackage.XML_ENTITY__CACHE_INTERCEPTOR; + case EclipseLinkOrmV2_0Package.XML_ENTITY_20__QUERY_REDIRECTORS: return EclipseLinkOrmPackage.XML_ENTITY__QUERY_REDIRECTORS; default: return -1; } } @@ -3396,7 +3426,6 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i switch (baseFeatureID) { case EclipseLinkOrmV2_1Package.XML_ENTITY_21__CLASS_EXTRACTOR: return EclipseLinkOrmPackage.XML_ENTITY__CLASS_EXTRACTOR; - case EclipseLinkOrmV2_1Package.XML_ENTITY_21__PARENT_CLASS: return EclipseLinkOrmPackage.XML_ENTITY__PARENT_CLASS; default: return -1; } } @@ -3730,7 +3759,7 @@ public class XmlEntity extends org.eclipse.jpt.jpa.core.resource.orm.XmlEntity i } protected static Translator buildParentClassTranslator() { - return new Translator(EclipseLink2_1.PARENT_CLASS, EclipseLinkOrmV2_1Package.eINSTANCE.getXmlEntity_2_1_ParentClass(), Translator.DOM_ATTRIBUTE); + return new Translator(EclipseLink2_1.PARENT_CLASS, EclipseLinkOrmV2_1Package.eINSTANCE.getXmlTypeMapping_2_1_ParentClass(), Translator.DOM_ATTRIBUTE); } protected static Translator buildAdditionalCriteriaTranslator() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlId.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlId.java index 8d48459f2a..3683d8422d 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlId.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlId.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -538,6 +538,10 @@ public class XmlId extends org.eclipse.jpt.jpa.core.resource.orm.XmlId implement return structConverters; } + public String getTypeName() { + return this.getAttributeType(); + } + /** * Returns the value of the '<em><b>Access Methods</b></em>' containment reference. * <!-- begin-user-doc --> diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlManyToMany.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlManyToMany.java index d43d172066..9abf544c82 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlManyToMany.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlManyToMany.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -410,6 +410,10 @@ public class XmlManyToMany extends org.eclipse.jpt.jpa.core.resource.orm.XmlMany eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MANY_TO_MANY__JOIN_FETCH, oldJoinFetch, joinFetch)); } + public String getTypeName() { + return this.getAttributeType(); + } + /** * Returns the value of the '<em><b>Map Key Association Overrides</b></em>' containment reference list. * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride}. diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlManyToOne.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlManyToOne.java index 3f1513c7fe..cafbd384be 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlManyToOne.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlManyToOne.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -899,6 +899,10 @@ public class XmlManyToOne extends org.eclipse.jpt.jpa.core.resource.orm.XmlManyT eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MANY_TO_ONE__JOIN_FETCH, oldJoinFetch, joinFetch)); } + public String getTypeName() { + return this.getTargetEntity(); + } + /** * Returns the value of the '<em><b>Access Methods</b></em>' containment reference. * <!-- begin-user-doc --> diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlMappedSuperclass.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlMappedSuperclass.java index c3e91aef20..d18b4bfdd3 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlMappedSuperclass.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlMappedSuperclass.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -48,6 +48,7 @@ import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLink2_1; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlFetchGroupContainer_2_1; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlMappedSuperclass_2_1; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.EclipseLink2_2; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.XmlAdditionalCriteria_2_2; @@ -105,9 +106,39 @@ import org.eclipse.wst.common.internal.emf.resource.Translator; * @model kind="class" * @generated */ -public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass implements XmlMappedSuperclass_1_1, XmlMappedSuperclass_2_0, XmlMappedSuperclass_2_1, XmlMappedSuperclass_2_2, XmlMappedSuperclass_2_3, XmlMappedSuperclass_2_4, XmlReadOnly, XmlCustomizerHolder, XmlChangeTrackingHolder, XmlCacheHolder, XmlConverterContainer, XmlPropertyContainer +public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.XmlMappedSuperclass implements XmlTypeMapping, XmlMappedSuperclass_1_1, XmlMappedSuperclass_2_0, XmlMappedSuperclass_2_1, XmlMappedSuperclass_2_2, XmlMappedSuperclass_2_3, XmlMappedSuperclass_2_4, XmlReadOnly, XmlCustomizerHolder, XmlChangeTrackingHolder, XmlCacheHolder, XmlConverterContainer, XmlPropertyContainer { /** + * The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getAccessMethods() + * @generated + * @ordered + */ + protected XmlAccessMethods accessMethods; + + /** + * The default value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getParentClass() + * @generated + * @ordered + */ + protected static final String PARENT_CLASS_EDEFAULT = null; + + /** + * The cached value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getParentClass() + * @generated + * @ordered + */ + protected String parentClass = PARENT_CLASS_EDEFAULT; + + /** * The cached value of the '{@link #getPrimaryKey() <em>Primary Key</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -228,16 +259,6 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X protected EList<XmlNamedStoredProcedureQuery> namedStoredProcedureQueries; /** - * The cached value of the '{@link #getAccessMethods() <em>Access Methods</em>}' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getAccessMethods() - * @generated - * @ordered - */ - protected XmlAccessMethods accessMethods; - - /** * The cached value of the '{@link #getSqlResultSetMappings() <em>Sql Result Set Mappings</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -258,26 +279,6 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X protected XmlQueryRedirectors queryRedirectors; /** - * The default value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getParentClass() - * @generated - * @ordered - */ - protected static final String PARENT_CLASS_EDEFAULT = null; - - /** - * The cached value of the '{@link #getParentClass() <em>Parent Class</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getParentClass() - * @generated - * @ordered - */ - protected String parentClass = PARENT_CLASS_EDEFAULT; - - /** * The cached value of the '{@link #getPartitioning() <em>Partitioning</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1829,7 +1830,7 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X * <!-- end-user-doc --> * @return the value of the '<em>Parent Class</em>' attribute. * @see #setParentClass(String) - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlMappedSuperclass_2_1_ParentClass() + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeMapping_2_1_ParentClass() * @model dataType="org.eclipse.emf.ecore.xml.type.String" * @generated */ @@ -2709,6 +2710,8 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X { switch (featureID) { + case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS: + return basicSetAccessMethods(null, msgs); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRIMARY_KEY: return basicSetPrimaryKey(null, msgs); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR: @@ -2729,8 +2732,6 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X return ((InternalEList<?>)getNamedNativeQueries()).basicRemove(otherEnd, msgs); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__NAMED_STORED_PROCEDURE_QUERIES: return ((InternalEList<?>)getNamedStoredProcedureQueries()).basicRemove(otherEnd, msgs); - case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS: - return basicSetAccessMethods(null, msgs); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__SQL_RESULT_SET_MAPPINGS: return ((InternalEList<?>)getSqlResultSetMappings()).basicRemove(otherEnd, msgs); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__QUERY_REDIRECTORS: @@ -2805,6 +2806,10 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X { switch (featureID) { + case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS: + return getAccessMethods(); + case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS: + return getParentClass(); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRIMARY_KEY: return getPrimaryKey(); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHEABLE: @@ -2827,14 +2832,10 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X return getNamedNativeQueries(); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__NAMED_STORED_PROCEDURE_QUERIES: return getNamedStoredProcedureQueries(); - case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS: - return getAccessMethods(); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__SQL_RESULT_SET_MAPPINGS: return getSqlResultSetMappings(); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__QUERY_REDIRECTORS: return getQueryRedirectors(); - case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS: - return getParentClass(); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARTITIONING: return getPartitioning(); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__REPLICATION_PARTITIONING: @@ -2914,6 +2915,12 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X { switch (featureID) { + case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS: + setAccessMethods((XmlAccessMethods)newValue); + return; + case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS: + setParentClass((String)newValue); + return; case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRIMARY_KEY: setPrimaryKey((XmlPrimaryKey)newValue); return; @@ -2953,9 +2960,6 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X getNamedStoredProcedureQueries().clear(); getNamedStoredProcedureQueries().addAll((Collection<? extends XmlNamedStoredProcedureQuery>)newValue); return; - case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS: - setAccessMethods((XmlAccessMethods)newValue); - return; case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__SQL_RESULT_SET_MAPPINGS: getSqlResultSetMappings().clear(); getSqlResultSetMappings().addAll((Collection<? extends SqlResultSetMapping>)newValue); @@ -2963,9 +2967,6 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__QUERY_REDIRECTORS: setQueryRedirectors((XmlQueryRedirectors)newValue); return; - case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS: - setParentClass((String)newValue); - return; case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARTITIONING: setPartitioning((XmlPartitioning_2_2)newValue); return; @@ -3086,6 +3087,12 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X { switch (featureID) { + case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS: + setAccessMethods((XmlAccessMethods)null); + return; + case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS: + setParentClass(PARENT_CLASS_EDEFAULT); + return; case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRIMARY_KEY: setPrimaryKey((XmlPrimaryKey)null); return; @@ -3119,18 +3126,12 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__NAMED_STORED_PROCEDURE_QUERIES: getNamedStoredProcedureQueries().clear(); return; - case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS: - setAccessMethods((XmlAccessMethods)null); - return; case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__SQL_RESULT_SET_MAPPINGS: getSqlResultSetMappings().clear(); return; case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__QUERY_REDIRECTORS: setQueryRedirectors((XmlQueryRedirectors)null); return; - case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS: - setParentClass(PARENT_CLASS_EDEFAULT); - return; case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARTITIONING: setPartitioning((XmlPartitioning_2_2)null); return; @@ -3241,6 +3242,10 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X { switch (featureID) { + case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS: + return accessMethods != null; + case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS: + return PARENT_CLASS_EDEFAULT == null ? parentClass != null : !PARENT_CLASS_EDEFAULT.equals(parentClass); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRIMARY_KEY: return primaryKey != null; case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHEABLE: @@ -3263,14 +3268,10 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X return namedNativeQueries != null && !namedNativeQueries.isEmpty(); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__NAMED_STORED_PROCEDURE_QUERIES: return namedStoredProcedureQueries != null && !namedStoredProcedureQueries.isEmpty(); - case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS: - return accessMethods != null; case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__SQL_RESULT_SET_MAPPINGS: return sqlResultSetMappings != null && !sqlResultSetMappings.isEmpty(); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__QUERY_REDIRECTORS: return queryRedirectors != null; - case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS: - return PARENT_CLASS_EDEFAULT == null ? parentClass != null : !PARENT_CLASS_EDEFAULT.equals(parentClass); case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARTITIONING: return partitioning != null; case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__REPLICATION_PARTITIONING: @@ -3347,6 +3348,29 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X @Override public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) { + if (baseClass == XmlAccessMethodsHolder.class) + { + switch (derivedFeatureID) + { + case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS: return EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS; + default: return -1; + } + } + if (baseClass == XmlTypeMapping_2_1.class) + { + switch (derivedFeatureID) + { + case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS: return EclipseLinkOrmV2_1Package.XML_TYPE_MAPPING_21__PARENT_CLASS; + default: return -1; + } + } + if (baseClass == XmlTypeMapping.class) + { + switch (derivedFeatureID) + { + default: return -1; + } + } if (baseClass == XmlMappedSuperclass_1_1.class) { switch (derivedFeatureID) @@ -3421,21 +3445,12 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X default: return -1; } } - if (baseClass == XmlAccessMethodsHolder.class) - { - switch (derivedFeatureID) - { - case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS: return EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS; - default: return -1; - } - } if (baseClass == XmlMappedSuperclass_2_1.class) { switch (derivedFeatureID) { case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__SQL_RESULT_SET_MAPPINGS: return EclipseLinkOrmV2_1Package.XML_MAPPED_SUPERCLASS_21__SQL_RESULT_SET_MAPPINGS; case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__QUERY_REDIRECTORS: return EclipseLinkOrmV2_1Package.XML_MAPPED_SUPERCLASS_21__QUERY_REDIRECTORS; - case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS: return EclipseLinkOrmV2_1Package.XML_MAPPED_SUPERCLASS_21__PARENT_CLASS; default: return -1; } } @@ -3554,6 +3569,29 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X @Override public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) { + if (baseClass == XmlAccessMethodsHolder.class) + { + switch (baseFeatureID) + { + case EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS: return EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS; + default: return -1; + } + } + if (baseClass == XmlTypeMapping_2_1.class) + { + switch (baseFeatureID) + { + case EclipseLinkOrmV2_1Package.XML_TYPE_MAPPING_21__PARENT_CLASS: return EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS; + default: return -1; + } + } + if (baseClass == XmlTypeMapping.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } if (baseClass == XmlMappedSuperclass_1_1.class) { switch (baseFeatureID) @@ -3628,21 +3666,12 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X default: return -1; } } - if (baseClass == XmlAccessMethodsHolder.class) - { - switch (baseFeatureID) - { - case EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS: return EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__ACCESS_METHODS; - default: return -1; - } - } if (baseClass == XmlMappedSuperclass_2_1.class) { switch (baseFeatureID) { case EclipseLinkOrmV2_1Package.XML_MAPPED_SUPERCLASS_21__SQL_RESULT_SET_MAPPINGS: return EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__SQL_RESULT_SET_MAPPINGS; case EclipseLinkOrmV2_1Package.XML_MAPPED_SUPERCLASS_21__QUERY_REDIRECTORS: return EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__QUERY_REDIRECTORS; - case EclipseLinkOrmV2_1Package.XML_MAPPED_SUPERCLASS_21__PARENT_CLASS: return EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PARENT_CLASS; default: return -1; } } @@ -3764,10 +3793,10 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X if (eIsProxy()) return super.toString(); StringBuffer result = new StringBuffer(super.toString()); - result.append(" (cacheable: "); - result.append(cacheable); - result.append(", parentClass: "); + result.append(" (parentClass: "); result.append(parentClass); + result.append(", cacheable: "); + result.append(cacheable); result.append(", partitioned: "); result.append(partitioned); result.append(", readOnly: "); @@ -3979,7 +4008,7 @@ public class XmlMappedSuperclass extends org.eclipse.jpt.jpa.core.resource.orm.X } protected static Translator buildParentClassTranslator() { - return new Translator(EclipseLink2_1.PARENT_CLASS, EclipseLinkOrmV2_1Package.eINSTANCE.getXmlMappedSuperclass_2_1_ParentClass(), Translator.DOM_ATTRIBUTE); + return new Translator(EclipseLink2_1.PARENT_CLASS, EclipseLinkOrmV2_1Package.eINSTANCE.getXmlTypeMapping_2_1_ParentClass(), Translator.DOM_ATTRIBUTE); } protected static Translator buildAdditionalCriteriaTranslator() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlOneToMany.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlOneToMany.java index 9ee2f32588..88a49c4680 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlOneToMany.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlOneToMany.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -487,6 +487,10 @@ public class XmlOneToMany extends org.eclipse.jpt.jpa.core.resource.orm.XmlOneTo eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ONE_TO_MANY__JOIN_FETCH, oldJoinFetch, joinFetch)); } + public String getTypeName() { + return this.getAttributeType(); + } + /** * Returns the value of the '<em><b>Map Key Association Overrides</b></em>' containment reference list. * The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride}. diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlOneToOne.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlOneToOne.java index 65173b5cd7..970a36e8e5 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlOneToOne.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlOneToOne.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -1010,6 +1010,10 @@ public class XmlOneToOne extends org.eclipse.jpt.jpa.core.resource.orm.XmlOneToO eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_ONE_TO_ONE__JOIN_FETCH, oldJoinFetch, joinFetch)); } + public String getTypeName() { + return this.getTargetEntity(); + } + /** * Returns the value of the '<em><b>Access Methods</b></em>' containment reference. * <!-- begin-user-doc --> 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 1eb0c18323..5d88d45205 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 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Oracle. All rights reserved. + * Copyright (c) 2011, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html @@ -218,6 +218,10 @@ public class XmlStructure extends AbstractXmlAttributeMapping implements XmlAttr eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_STRUCTURE__ATTRIBUTE_TYPE, oldAttributeType, attributeType)); } + public String getTypeName() { + return this.getAttributeType(); + } + /** * <!-- 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/XmlTransformation.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlTransformation.java index 1dd37310cb..c6b24670f1 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlTransformation.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlTransformation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2010 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -226,6 +226,10 @@ public class XmlTransformation extends AbstractXmlAttributeMapping implements Xm return properties; } + public String getTypeName() { + return this.getAttributeType(); + } + /** * <!-- 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/XmlTransient.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlTransient.java index b1cc8eef0e..6a5cb132bf 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlTransient.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlTransient.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009 Oracle. + * Copyright (c) 2009, 2012 Oracle. * All rights reserved. This program and the accompanying materials are * made available under the terms of the Eclipse Public License v1.0 which * accompanies this distribution, and is available at @@ -160,6 +160,10 @@ public class XmlTransient extends org.eclipse.jpt.jpa.core.resource.orm.XmlTrans return properties; } + public String getTypeName() { + return null; + } + /** * <!-- 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/XmlTypeMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlTypeMapping.java new file mode 100644 index 0000000000..47128bd90f --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlTypeMapping.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.jpa.eclipselink.core.resource.orm; + +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Type Mapping</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeMapping() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlTypeMapping extends org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping, XmlTypeMapping_2_1 +{ +} // XmlTypeMapping diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlVariableOneToOne.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlVariableOneToOne.java index 5c23628bc9..deb55410b6 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlVariableOneToOne.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlVariableOneToOne.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -51,6 +51,12 @@ import org.eclipse.wst.common.internal.emf.resource.Translator; * * <!-- end-user-doc --> * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlVariableOneToOne#getTargetInterface <em>Target Interface</em>}</li> + * </ul> + * </p> * * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlVariableOneToOne() * @model kind="class" @@ -199,6 +205,26 @@ public class XmlVariableOneToOne extends AbstractXmlAttributeMapping implements protected boolean nonCacheable = NON_CACHEABLE_EDEFAULT; /** + * The default value of the '{@link #getTargetInterface() <em>Target Interface</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetInterface() + * @generated + * @ordered + */ + protected static final String TARGET_INTERFACE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getTargetInterface() <em>Target Interface</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTargetInterface() + * @generated + * @ordered + */ + protected String targetInterface = TARGET_INTERFACE_EDEFAULT; + + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated @@ -853,6 +879,45 @@ public class XmlVariableOneToOne extends AbstractXmlAttributeMapping implements } /** + * Returns the value of the '<em><b>Target Interface</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Target Interface</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 Interface</em>' attribute. + * @see #setTargetInterface(String) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlVariableOneToOne_TargetInterface() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + public String getTargetInterface() + { + return targetInterface; + } + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlVariableOneToOne#getTargetInterface <em>Target Interface</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Target Interface</em>' attribute. + * @see #getTargetInterface() + * @generated + */ + public void setTargetInterface(String newTargetInterface) + { + String oldTargetInterface = targetInterface; + targetInterface = newTargetInterface; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_VARIABLE_ONE_TO_ONE__TARGET_INTERFACE, oldTargetInterface, targetInterface)); + } + + public String getTypeName() { + return this.getTargetInterface(); + } + + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated @@ -920,6 +985,8 @@ public class XmlVariableOneToOne extends AbstractXmlAttributeMapping implements return getPartitioned(); case EclipseLinkOrmPackage.XML_VARIABLE_ONE_TO_ONE__NON_CACHEABLE: return isNonCacheable(); + case EclipseLinkOrmPackage.XML_VARIABLE_ONE_TO_ONE__TARGET_INTERFACE: + return getTargetInterface(); } return super.eGet(featureID, resolve, coreType); } @@ -972,6 +1039,9 @@ public class XmlVariableOneToOne extends AbstractXmlAttributeMapping implements case EclipseLinkOrmPackage.XML_VARIABLE_ONE_TO_ONE__NON_CACHEABLE: setNonCacheable((Boolean)newValue); return; + case EclipseLinkOrmPackage.XML_VARIABLE_ONE_TO_ONE__TARGET_INTERFACE: + setTargetInterface((String)newValue); + return; } super.eSet(featureID, newValue); } @@ -1022,6 +1092,9 @@ public class XmlVariableOneToOne extends AbstractXmlAttributeMapping implements case EclipseLinkOrmPackage.XML_VARIABLE_ONE_TO_ONE__NON_CACHEABLE: setNonCacheable(NON_CACHEABLE_EDEFAULT); return; + case EclipseLinkOrmPackage.XML_VARIABLE_ONE_TO_ONE__TARGET_INTERFACE: + setTargetInterface(TARGET_INTERFACE_EDEFAULT); + return; } super.eUnset(featureID); } @@ -1060,6 +1133,8 @@ public class XmlVariableOneToOne extends AbstractXmlAttributeMapping implements return PARTITIONED_EDEFAULT == null ? partitioned != null : !PARTITIONED_EDEFAULT.equals(partitioned); case EclipseLinkOrmPackage.XML_VARIABLE_ONE_TO_ONE__NON_CACHEABLE: return nonCacheable != NON_CACHEABLE_EDEFAULT; + case EclipseLinkOrmPackage.XML_VARIABLE_ONE_TO_ONE__TARGET_INTERFACE: + return TARGET_INTERFACE_EDEFAULT == null ? targetInterface != null : !TARGET_INTERFACE_EDEFAULT.equals(targetInterface); } return super.eIsSet(featureID); } @@ -1195,6 +1270,8 @@ public class XmlVariableOneToOne extends AbstractXmlAttributeMapping implements result.append(partitioned); result.append(", nonCacheable: "); result.append(nonCacheable); + result.append(", targetInterface: "); + result.append(targetInterface); result.append(')'); return result.toString(); } @@ -1213,7 +1290,14 @@ public class XmlVariableOneToOne extends AbstractXmlAttributeMapping implements private static Translator[] buildTranslatorChildren() { return new Translator[] { buildNameTranslator(), + buildTargetInterfaceTranslator(), buildAccessTranslator(), }; } + // ********** translators ********** + + protected static Translator buildTargetInterfaceTranslator() { + return new Translator(EclipseLink.VARIABLE_ONE_TO_ONE__TARGET_INTERFACE, EclipseLinkOrmPackage.eINSTANCE.getXmlVariableOneToOne_TargetInterface(), Translator.DOM_ATTRIBUTE); + } + } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlVersion.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlVersion.java index 96949ba4bc..bbcad71dbf 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlVersion.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlVersion.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -462,6 +462,10 @@ public class XmlVersion extends org.eclipse.jpt.jpa.core.resource.orm.XmlVersion return structConverters; } + public String getTypeName() { + return this.getAttributeType(); + } + /** * Returns the value of the '<em><b>Access Methods</b></em>' containment reference. * <!-- begin-user-doc --> diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/EclipseLinkOrmV2_1Package.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/EclipseLinkOrmV2_1Package.java index 22a2392882..5a31108fd0 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/EclipseLinkOrmV2_1Package.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/EclipseLinkOrmV2_1Package.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2011 Oracle. + * Copyright (c) 2010, 2012 Oracle. * All rights reserved. This program and the accompanying materials are * made available under the terms of the Eclipse Public License v1.0 which * accompanies this distribution, and is available at @@ -206,42 +206,42 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl public static final int XML_ELEMENT_COLLECTION_21_FEATURE_COUNT = EclipseLinkOrmPackage.XML_JOIN_FETCH_FEATURE_COUNT + 2; /** - * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbeddable_2_1 <em>Xml Embeddable 21</em>}' class. + * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbedded_2_1 <em>Xml Embedded 21</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbeddable_2_1 - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlEmbeddable_2_1() + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbedded_2_1 + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlEmbedded_2_1() * @generated */ - public static final int XML_EMBEDDABLE_21 = 3; + public static final int XML_EMBEDDED_21 = 3; /** - * The feature id for the '<em><b>Access Methods</b></em>' containment reference. + * 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_EMBEDDABLE_21__ACCESS_METHODS = EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS; + public static final int XML_EMBEDDED_21__ATTRIBUTE_TYPE = 0; /** - * The number of structural features of the '<em>Xml Embeddable 21</em>' class. + * The number of structural features of the '<em>Xml Embedded 21</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_EMBEDDABLE_21_FEATURE_COUNT = EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER_FEATURE_COUNT + 0; + public static final int XML_EMBEDDED_21_FEATURE_COUNT = 1; /** - * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbedded_2_1 <em>Xml Embedded 21</em>}' class. + * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbeddedId_2_1 <em>Xml Embedded Id 21</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbedded_2_1 - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlEmbedded_2_1() + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbeddedId_2_1 + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlEmbeddedId_2_1() * @generated */ - public static final int XML_EMBEDDED_21 = 4; + public static final int XML_EMBEDDED_ID_21 = 4; /** * The feature id for the '<em><b>Attribute Type</b></em>' attribute. @@ -250,44 +250,53 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @generated * @ordered */ - public static final int XML_EMBEDDED_21__ATTRIBUTE_TYPE = 0; + public static final int XML_EMBEDDED_ID_21__ATTRIBUTE_TYPE = 0; /** - * The number of structural features of the '<em>Xml Embedded 21</em>' class. + * The number of structural features of the '<em>Xml Embedded Id 21</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_EMBEDDED_21_FEATURE_COUNT = 1; + public static final int XML_EMBEDDED_ID_21_FEATURE_COUNT = 1; /** - * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbeddedId_2_1 <em>Xml Embedded Id 21</em>}' class. + * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1 <em>Xml Type Mapping 21</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbeddedId_2_1 - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlEmbeddedId_2_1() + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1 + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlTypeMapping_2_1() * @generated */ - public static final int XML_EMBEDDED_ID_21 = 5; + public static final int XML_TYPE_MAPPING_21 = 20; /** - * The feature id for the '<em><b>Attribute Type</b></em>' attribute. + * The feature id for the '<em><b>Access Methods</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_EMBEDDED_ID_21__ATTRIBUTE_TYPE = 0; + public static final int XML_TYPE_MAPPING_21__ACCESS_METHODS = EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS; /** - * The number of structural features of the '<em>Xml Embedded Id 21</em>' class. + * The feature id for the '<em><b>Parent Class</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_EMBEDDED_ID_21_FEATURE_COUNT = 1; + public static final int XML_TYPE_MAPPING_21__PARENT_CLASS = EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Xml Type Mapping 21</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + public static final int XML_TYPE_MAPPING_21_FEATURE_COUNT = EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER_FEATURE_COUNT + 1; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlFetchGroupContainer_2_1 <em>Xml Fetch Group Container 21</em>}' class. @@ -297,7 +306,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlFetchGroupContainer_2_1() * @generated */ - public static final int XML_FETCH_GROUP_CONTAINER_21 = 10; + public static final int XML_FETCH_GROUP_CONTAINER_21 = 9; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEntity_2_1 <em>Xml Entity 21</em>}' class. @@ -307,7 +316,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlEntity_2_1() * @generated */ - public static final int XML_ENTITY_21 = 6; + public static final int XML_ENTITY_21 = 5; /** * The feature id for the '<em><b>Access Methods</b></em>' containment reference. @@ -316,34 +325,34 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @generated * @ordered */ - public static final int XML_ENTITY_21__ACCESS_METHODS = EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER__ACCESS_METHODS; + public static final int XML_ENTITY_21__ACCESS_METHODS = XML_TYPE_MAPPING_21__ACCESS_METHODS; /** - * The feature id for the '<em><b>Fetch Groups</b></em>' containment reference list. + * The feature id for the '<em><b>Parent Class</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_ENTITY_21__FETCH_GROUPS = EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER_FEATURE_COUNT + 0; + public static final int XML_ENTITY_21__PARENT_CLASS = XML_TYPE_MAPPING_21__PARENT_CLASS; /** - * The feature id for the '<em><b>Class Extractor</b></em>' containment reference. + * The feature id for the '<em><b>Fetch Groups</b></em>' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_ENTITY_21__CLASS_EXTRACTOR = EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER_FEATURE_COUNT + 1; + public static final int XML_ENTITY_21__FETCH_GROUPS = XML_TYPE_MAPPING_21_FEATURE_COUNT + 0; /** - * The feature id for the '<em><b>Parent Class</b></em>' attribute. + * The feature id for the '<em><b>Class Extractor</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_ENTITY_21__PARENT_CLASS = EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER_FEATURE_COUNT + 2; + public static final int XML_ENTITY_21__CLASS_EXTRACTOR = XML_TYPE_MAPPING_21_FEATURE_COUNT + 1; /** * The number of structural features of the '<em>Xml Entity 21</em>' class. @@ -352,7 +361,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @generated * @ordered */ - public static final int XML_ENTITY_21_FEATURE_COUNT = EclipseLinkOrmPackage.XML_ACCESS_METHODS_HOLDER_FEATURE_COUNT + 3; + public static final int XML_ENTITY_21_FEATURE_COUNT = XML_TYPE_MAPPING_21_FEATURE_COUNT + 2; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEntityMappings_2_1 <em>Xml Entity Mappings 21</em>}' class. @@ -362,7 +371,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlEntityMappings_2_1() * @generated */ - public static final int XML_ENTITY_MAPPINGS_21 = 7; + public static final int XML_ENTITY_MAPPINGS_21 = 6; /** * The feature id for the '<em><b>Access Methods</b></em>' containment reference. @@ -390,7 +399,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlFetchAttribute_2_1() * @generated */ - public static final int XML_FETCH_ATTRIBUTE_21 = 8; + public static final int XML_FETCH_ATTRIBUTE_21 = 7; /** * The feature id for the '<em><b>Name</b></em>' attribute. @@ -418,7 +427,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlFetchGroup_2_1() * @generated */ - public static final int XML_FETCH_GROUP_21 = 9; + public static final int XML_FETCH_GROUP_21 = 8; /** * The feature id for the '<em><b>Name</b></em>' attribute. @@ -482,7 +491,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlId_2_1() * @generated */ - public static final int XML_ID_21 = 11; + public static final int XML_ID_21 = 10; /** * The feature id for the '<em><b>Attribute Type</b></em>' attribute. @@ -510,7 +519,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlManyToMany_2_1() * @generated */ - public static final int XML_MANY_TO_MANY_21 = 12; + public static final int XML_MANY_TO_MANY_21 = 11; /** * The feature id for the '<em><b>Batch Fetch</b></em>' containment reference. @@ -547,7 +556,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlManyToOne_2_1() * @generated */ - public static final int XML_MANY_TO_ONE_21 = 13; + public static final int XML_MANY_TO_ONE_21 = 12; /** * The feature id for the '<em><b>Batch Fetch</b></em>' containment reference. @@ -575,7 +584,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlMappedSuperclass_2_1() * @generated */ - public static final int XML_MAPPED_SUPERCLASS_21 = 14; + public static final int XML_MAPPED_SUPERCLASS_21 = 13; /** * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list. @@ -659,31 +668,31 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl public static final int XML_MAPPED_SUPERCLASS_21__ACCESS_METHODS = OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER_FEATURE_COUNT + 7; /** - * The feature id for the '<em><b>Sql Result Set Mappings</b></em>' containment reference list. + * The feature id for the '<em><b>Parent Class</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS_21__SQL_RESULT_SET_MAPPINGS = OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER_FEATURE_COUNT + 8; + public static final int XML_MAPPED_SUPERCLASS_21__PARENT_CLASS = OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER_FEATURE_COUNT + 8; /** - * The feature id for the '<em><b>Query Redirectors</b></em>' containment reference. + * The feature id for the '<em><b>Sql Result Set Mappings</b></em>' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS_21__QUERY_REDIRECTORS = OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER_FEATURE_COUNT + 9; + public static final int XML_MAPPED_SUPERCLASS_21__SQL_RESULT_SET_MAPPINGS = OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER_FEATURE_COUNT + 9; /** - * The feature id for the '<em><b>Parent Class</b></em>' attribute. + * The feature id for the '<em><b>Query Redirectors</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_MAPPED_SUPERCLASS_21__PARENT_CLASS = OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER_FEATURE_COUNT + 10; + public static final int XML_MAPPED_SUPERCLASS_21__QUERY_REDIRECTORS = OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER_FEATURE_COUNT + 10; /** * The number of structural features of the '<em>Xml Mapped Superclass 21</em>' class. @@ -702,7 +711,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlOneToMany_2_1() * @generated */ - public static final int XML_ONE_TO_MANY_21 = 15; + public static final int XML_ONE_TO_MANY_21 = 14; /** * The feature id for the '<em><b>Batch Fetch</b></em>' containment reference. @@ -739,7 +748,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlOneToOne_2_1() * @generated */ - public static final int XML_ONE_TO_ONE_21 = 16; + public static final int XML_ONE_TO_ONE_21 = 15; /** * The feature id for the '<em><b>Batch Fetch</b></em>' containment reference. @@ -767,7 +776,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlPersistenceUnitDefaults_2_1() * @generated */ - public static final int XML_PERSISTENCE_UNIT_DEFAULTS_21 = 17; + public static final int XML_PERSISTENCE_UNIT_DEFAULTS_21 = 16; /** * The feature id for the '<em><b>Access Methods</b></em>' containment reference. @@ -795,7 +804,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlReturnInsert_2_1() * @generated */ - public static final int XML_RETURN_INSERT_21 = 19; + public static final int XML_RETURN_INSERT_21 = 18; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTransformation_2_1 <em>Xml Transformation 21</em>}' class. @@ -805,7 +814,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlTransformation_2_1() * @generated */ - public static final int XML_TRANSFORMATION_21 = 20; + public static final int XML_TRANSFORMATION_21 = 19; /** * The meta object id for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlVersion_2_1 <em>Xml Version 21</em>}' class. @@ -825,7 +834,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlPrimaryKey_2_1() * @generated */ - public static final int XML_PRIMARY_KEY_21 = 18; + public static final int XML_PRIMARY_KEY_21 = 17; /** * The feature id for the '<em><b>Cache Key Type</b></em>' attribute. @@ -945,13 +954,6 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * <!-- end-user-doc --> * @generated */ - private EClass xmlEmbeddable_2_1EClass = null; - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ private EClass xmlEmbedded_2_1EClass = null; /** @@ -1064,6 +1066,13 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl * <!-- end-user-doc --> * @generated */ + private EClass xmlTypeMapping_2_1EClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ private EClass xmlVersion_2_1EClass = null; /** @@ -1306,20 +1315,6 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl /** - * Returns the meta object for class '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbeddable_2_1 <em>Xml Embeddable 21</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for class '<em>Xml Embeddable 21</em>'. - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbeddable_2_1 - * @generated - */ - public EClass getXmlEmbeddable_2_1() - { - return xmlEmbeddable_2_1EClass; - } - - - /** * Returns the meta object for class '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbedded_2_1 <em>Xml Embedded 21</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1405,21 +1400,6 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl } /** - * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEntity_2_1#getParentClass <em>Parent Class</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the attribute '<em>Parent Class</em>'. - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEntity_2_1#getParentClass() - * @see #getXmlEntity_2_1() - * @generated - */ - public EAttribute getXmlEntity_2_1_ParentClass() - { - return (EAttribute)xmlEntity_2_1EClass.getEStructuralFeatures().get(1); - } - - - /** * Returns the meta object for class '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEntityMappings_2_1 <em>Xml Entity Mappings 21</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1657,21 +1637,6 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl } /** - * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlMappedSuperclass_2_1#getParentClass <em>Parent Class</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the attribute '<em>Parent Class</em>'. - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlMappedSuperclass_2_1#getParentClass() - * @see #getXmlMappedSuperclass_2_1() - * @generated - */ - public EAttribute getXmlMappedSuperclass_2_1_ParentClass() - { - return (EAttribute)xmlMappedSuperclass_2_1EClass.getEStructuralFeatures().get(2); - } - - - /** * Returns the meta object for class '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlOneToMany_2_1 <em>Xml One To Many 21</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1785,6 +1750,35 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl /** + * Returns the meta object for class '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1 <em>Xml Type Mapping 21</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Xml Type Mapping 21</em>'. + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1 + * @generated + */ + public EClass getXmlTypeMapping_2_1() + { + return xmlTypeMapping_2_1EClass; + } + + + /** + * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1#getParentClass <em>Parent Class</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Parent Class</em>'. + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1#getParentClass() + * @see #getXmlTypeMapping_2_1() + * @generated + */ + public EAttribute getXmlTypeMapping_2_1_ParentClass() + { + return (EAttribute)xmlTypeMapping_2_1EClass.getEStructuralFeatures().get(0); + } + + + /** * Returns the meta object for class '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlVersion_2_1 <em>Xml Version 21</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1911,8 +1905,6 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl xmlElementCollection_2_1EClass = createEClass(XML_ELEMENT_COLLECTION_21); createEAttribute(xmlElementCollection_2_1EClass, XML_ELEMENT_COLLECTION_21__ATTRIBUTE_TYPE); - xmlEmbeddable_2_1EClass = createEClass(XML_EMBEDDABLE_21); - xmlEmbedded_2_1EClass = createEClass(XML_EMBEDDED_21); createEAttribute(xmlEmbedded_2_1EClass, XML_EMBEDDED_21__ATTRIBUTE_TYPE); @@ -1921,7 +1913,6 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl xmlEntity_2_1EClass = createEClass(XML_ENTITY_21); createEReference(xmlEntity_2_1EClass, XML_ENTITY_21__CLASS_EXTRACTOR); - createEAttribute(xmlEntity_2_1EClass, XML_ENTITY_21__PARENT_CLASS); xmlEntityMappings_2_1EClass = createEClass(XML_ENTITY_MAPPINGS_21); @@ -1947,7 +1938,6 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl xmlMappedSuperclass_2_1EClass = createEClass(XML_MAPPED_SUPERCLASS_21); createEReference(xmlMappedSuperclass_2_1EClass, XML_MAPPED_SUPERCLASS_21__SQL_RESULT_SET_MAPPINGS); createEReference(xmlMappedSuperclass_2_1EClass, XML_MAPPED_SUPERCLASS_21__QUERY_REDIRECTORS); - createEAttribute(xmlMappedSuperclass_2_1EClass, XML_MAPPED_SUPERCLASS_21__PARENT_CLASS); xmlOneToMany_2_1EClass = createEClass(XML_ONE_TO_MANY_21); createEAttribute(xmlOneToMany_2_1EClass, XML_ONE_TO_MANY_21__ATTRIBUTE_TYPE); @@ -1965,6 +1955,9 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl xmlTransformation_2_1EClass = createEClass(XML_TRANSFORMATION_21); createEAttribute(xmlTransformation_2_1EClass, XML_TRANSFORMATION_21__ATTRIBUTE_TYPE); + xmlTypeMapping_2_1EClass = createEClass(XML_TYPE_MAPPING_21); + createEAttribute(xmlTypeMapping_2_1EClass, XML_TYPE_MAPPING_21__PARENT_CLASS); + xmlVersion_2_1EClass = createEClass(XML_VERSION_21); createEAttribute(xmlVersion_2_1EClass, XML_VERSION_21__ATTRIBUTE_TYPE); @@ -2009,8 +2002,7 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl // Add supertypes to classes xmlElementCollection_2_1EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlJoinFetch()); xmlElementCollection_2_1EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlBatchFetchHolder()); - xmlEmbeddable_2_1EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlAccessMethodsHolder()); - xmlEntity_2_1EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlAccessMethodsHolder()); + xmlEntity_2_1EClass.getESuperTypes().add(this.getXmlTypeMapping_2_1()); xmlEntity_2_1EClass.getESuperTypes().add(this.getXmlFetchGroupContainer_2_1()); xmlEntityMappings_2_1EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlAccessMethodsHolder()); xmlManyToMany_2_1EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlBatchFetchHolder()); @@ -2021,10 +2013,11 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl xmlMappedSuperclass_2_1EClass.getESuperTypes().add(theOrmPackage.getXmlGeneratorContainer()); xmlMappedSuperclass_2_1EClass.getESuperTypes().add(theOrmPackage.getXmlQueryContainer()); xmlMappedSuperclass_2_1EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlQueryContainer()); - xmlMappedSuperclass_2_1EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlAccessMethodsHolder()); + xmlMappedSuperclass_2_1EClass.getESuperTypes().add(this.getXmlTypeMapping_2_1()); xmlOneToMany_2_1EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlBatchFetchHolder()); xmlOneToOne_2_1EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlBatchFetchHolder()); xmlPersistenceUnitDefaults_2_1EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlAccessMethodsHolder()); + xmlTypeMapping_2_1EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlAccessMethodsHolder()); // Initialize classes and features; add operations and parameters initEClass(xmlBasic_2_1EClass, XmlBasic_2_1.class, "XmlBasic_2_1", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -2039,8 +2032,6 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl initEClass(xmlElementCollection_2_1EClass, XmlElementCollection_2_1.class, "XmlElementCollection_2_1", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getXmlElementCollection_2_1_AttributeType(), theXMLTypePackage.getString(), "attributeType", null, 0, 1, XmlElementCollection_2_1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEClass(xmlEmbeddable_2_1EClass, XmlEmbeddable_2_1.class, "XmlEmbeddable_2_1", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEClass(xmlEmbedded_2_1EClass, XmlEmbedded_2_1.class, "XmlEmbedded_2_1", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getXmlEmbedded_2_1_AttributeType(), theXMLTypePackage.getString(), "attributeType", null, 0, 1, XmlEmbedded_2_1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -2049,7 +2040,6 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl initEClass(xmlEntity_2_1EClass, XmlEntity_2_1.class, "XmlEntity_2_1", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getXmlEntity_2_1_ClassExtractor(), theOrmPackage.getXmlClassReference(), null, "classExtractor", null, 0, 1, XmlEntity_2_1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getXmlEntity_2_1_ParentClass(), theXMLTypePackage.getString(), "parentClass", null, 0, 1, XmlEntity_2_1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(xmlEntityMappings_2_1EClass, XmlEntityMappings_2_1.class, "XmlEntityMappings_2_1", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -2075,7 +2065,6 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl initEClass(xmlMappedSuperclass_2_1EClass, XmlMappedSuperclass_2_1.class, "XmlMappedSuperclass_2_1", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getXmlMappedSuperclass_2_1_SqlResultSetMappings(), theOrmPackage.getSqlResultSetMapping(), null, "sqlResultSetMappings", null, 0, -1, XmlMappedSuperclass_2_1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getXmlMappedSuperclass_2_1_QueryRedirectors(), theEclipseLinkOrmPackage.getXmlQueryRedirectors(), null, "queryRedirectors", null, 0, 1, XmlMappedSuperclass_2_1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getXmlMappedSuperclass_2_1_ParentClass(), theXMLTypePackage.getString(), "parentClass", null, 0, 1, XmlMappedSuperclass_2_1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(xmlOneToMany_2_1EClass, XmlOneToMany_2_1.class, "XmlOneToMany_2_1", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getXmlOneToMany_2_1_AttributeType(), theXMLTypePackage.getString(), "attributeType", null, 0, 1, XmlOneToMany_2_1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -2093,6 +2082,9 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl initEClass(xmlTransformation_2_1EClass, XmlTransformation_2_1.class, "XmlTransformation_2_1", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getXmlTransformation_2_1_AttributeType(), theXMLTypePackage.getString(), "attributeType", null, 0, 1, XmlTransformation_2_1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(xmlTypeMapping_2_1EClass, XmlTypeMapping_2_1.class, "XmlTypeMapping_2_1", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getXmlTypeMapping_2_1_ParentClass(), theXMLTypePackage.getString(), "parentClass", null, 0, 1, XmlTypeMapping_2_1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(xmlVersion_2_1EClass, XmlVersion_2_1.class, "XmlVersion_2_1", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getXmlVersion_2_1_AttributeType(), theXMLTypePackage.getString(), "attributeType", null, 0, 1, XmlVersion_2_1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -2201,16 +2193,6 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl public static final EAttribute XML_ELEMENT_COLLECTION_21__ATTRIBUTE_TYPE = eINSTANCE.getXmlElementCollection_2_1_AttributeType(); /** - * The meta object literal for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbeddable_2_1 <em>Xml Embeddable 21</em>}' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbeddable_2_1 - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlEmbeddable_2_1() - * @generated - */ - public static final EClass XML_EMBEDDABLE_21 = eINSTANCE.getXmlEmbeddable_2_1(); - - /** * The meta object literal for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEmbedded_2_1 <em>Xml Embedded 21</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2265,14 +2247,6 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl public static final EReference XML_ENTITY_21__CLASS_EXTRACTOR = eINSTANCE.getXmlEntity_2_1_ClassExtractor(); /** - * The meta object literal for the '<em><b>Parent Class</b></em>' attribute feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public static final EAttribute XML_ENTITY_21__PARENT_CLASS = eINSTANCE.getXmlEntity_2_1_ParentClass(); - - /** * The meta object literal for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEntityMappings_2_1 <em>Xml Entity Mappings 21</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2425,14 +2399,6 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl public static final EReference XML_MAPPED_SUPERCLASS_21__QUERY_REDIRECTORS = eINSTANCE.getXmlMappedSuperclass_2_1_QueryRedirectors(); /** - * The meta object literal for the '<em><b>Parent Class</b></em>' attribute feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public static final EAttribute XML_MAPPED_SUPERCLASS_21__PARENT_CLASS = eINSTANCE.getXmlMappedSuperclass_2_1_ParentClass(); - - /** * The meta object literal for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlOneToMany_2_1 <em>Xml One To Many 21</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2507,6 +2473,24 @@ public class EclipseLinkOrmV2_1Package extends EPackageImpl public static final EAttribute XML_TRANSFORMATION_21__ATTRIBUTE_TYPE = eINSTANCE.getXmlTransformation_2_1_AttributeType(); /** + * The meta object literal for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1 <em>Xml Type Mapping 21</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1 + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlTypeMapping_2_1() + * @generated + */ + public static final EClass XML_TYPE_MAPPING_21 = eINSTANCE.getXmlTypeMapping_2_1(); + + /** + * The meta object literal for the '<em><b>Parent Class</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final EAttribute XML_TYPE_MAPPING_21__PARENT_CLASS = eINSTANCE.getXmlTypeMapping_2_1_ParentClass(); + + /** * The meta object literal for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlVersion_2_1 <em>Xml Version 21</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_1/XmlEmbeddable_2_1.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/XmlEmbeddable_2_1.java deleted file mode 100644 index 0236db9340..0000000000 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/XmlEmbeddable_2_1.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1; - -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAccessMethodsHolder; - -/** - * <!-- begin-user-doc --> - * A representation of the model object '<em><b>Xml Embeddable 21</b></em>'. - * - * Provisional API: This interface is part of an interim API that is still - * under development and expected to change significantly before reaching - * stability. It is available at this early stage to solicit feedback from - * pioneering adopters on the understanding that any code that uses this API - * will almost certainly be broken (repeatedly) as the API evolves. - * - * @version 2.3 - * @since 2.3 - * <!-- end-user-doc --> - * - * - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlEmbeddable_2_1() - * @model kind="class" interface="true" abstract="true" - * @generated - */ -public interface XmlEmbeddable_2_1 extends XmlAccessMethodsHolder -{ -} // XmlEmbeddable_2_1 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/XmlEntity_2_1.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/XmlEntity_2_1.java index 4fb916b515..327b151912 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/XmlEntity_2_1.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/XmlEntity_2_1.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 Oracle. + * Copyright (c) 2010, 2012 Oracle. * All rights reserved. This program and the accompanying materials are * made available under the terms of the Eclipse Public License v1.0 which * accompanies this distribution, and is available at @@ -12,7 +12,6 @@ package org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1; import org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAccessMethodsHolder; /** * <!-- begin-user-doc --> @@ -32,7 +31,6 @@ import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAccessMethodsHolder; * The following features are supported: * <ul> * <li>{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEntity_2_1#getClassExtractor <em>Class Extractor</em>}</li> - * <li>{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEntity_2_1#getParentClass <em>Parent Class</em>}</li> * </ul> * </p> * @@ -40,7 +38,7 @@ import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAccessMethodsHolder; * @model kind="class" interface="true" abstract="true" * @generated */ -public interface XmlEntity_2_1 extends XmlAccessMethodsHolder, XmlFetchGroupContainer_2_1 +public interface XmlEntity_2_1 extends XmlTypeMapping_2_1, XmlFetchGroupContainer_2_1 { /** * Returns the value of the '<em><b>Class Extractor</b></em>' containment reference. @@ -68,30 +66,4 @@ public interface XmlEntity_2_1 extends XmlAccessMethodsHolder, XmlFetchGroupCont */ void setClassExtractor(XmlClassReference value); - /** - * Returns the value of the '<em><b>Parent Class</b></em>' attribute. - * <!-- begin-user-doc --> - * <p> - * If the meaning of the '<em>Parent 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>Parent Class</em>' attribute. - * @see #setParentClass(String) - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlEntity_2_1_ParentClass() - * @model dataType="org.eclipse.emf.ecore.xml.type.String" - * @generated - */ - String getParentClass(); - - /** - * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlEntity_2_1#getParentClass <em>Parent Class</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Parent Class</em>' attribute. - * @see #getParentClass() - * @generated - */ - void setParentClass(String value); - } // XmlEntity_2_1 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/XmlMappedSuperclass_2_1.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/XmlMappedSuperclass_2_1.java index eda794877b..51569a5617 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/XmlMappedSuperclass_2_1.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/XmlMappedSuperclass_2_1.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 Oracle. + * Copyright (c) 2010, 2012 Oracle. * All rights reserved. This program and the accompanying materials are * made available under the terms of the Eclipse Public License v1.0 which * accompanies this distribution, and is available at @@ -17,7 +17,6 @@ import org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer; import org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer; import org.eclipse.jpt.jpa.core.resource.orm.XmlGeneratorContainer; import org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAccessMethodsHolder; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlQueryRedirectors; /** @@ -39,7 +38,6 @@ import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlQueryRedirectors; * <ul> * <li>{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlMappedSuperclass_2_1#getSqlResultSetMappings <em>Sql Result Set Mappings</em>}</li> * <li>{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlMappedSuperclass_2_1#getQueryRedirectors <em>Query Redirectors</em>}</li> - * <li>{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlMappedSuperclass_2_1#getParentClass <em>Parent Class</em>}</li> * </ul> * </p> * @@ -47,7 +45,7 @@ import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlQueryRedirectors; * @model kind="class" interface="true" abstract="true" * @generated */ -public interface XmlMappedSuperclass_2_1 extends XmlAssociationOverrideContainer, XmlAttributeOverrideContainer, XmlFetchGroupContainer_2_1, XmlGeneratorContainer, XmlQueryContainer, org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlQueryContainer, XmlAccessMethodsHolder +public interface XmlMappedSuperclass_2_1 extends XmlAssociationOverrideContainer, XmlAttributeOverrideContainer, XmlFetchGroupContainer_2_1, XmlGeneratorContainer, XmlQueryContainer, org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlQueryContainer, XmlTypeMapping_2_1 { /** * Returns the value of the '<em><b>Sql Result Set Mappings</b></em>' containment reference list. @@ -91,30 +89,4 @@ public interface XmlMappedSuperclass_2_1 extends XmlAssociationOverrideContainer */ void setQueryRedirectors(XmlQueryRedirectors value); - /** - * Returns the value of the '<em><b>Parent Class</b></em>' attribute. - * <!-- begin-user-doc --> - * <p> - * If the meaning of the '<em>Parent 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>Parent Class</em>' attribute. - * @see #setParentClass(String) - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlMappedSuperclass_2_1_ParentClass() - * @model dataType="org.eclipse.emf.ecore.xml.type.String" - * @generated - */ - String getParentClass(); - - /** - * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlMappedSuperclass_2_1#getParentClass <em>Parent Class</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Parent Class</em>' attribute. - * @see #getParentClass() - * @generated - */ - void setParentClass(String value); - } // XmlMappedSuperclass_2_1 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/XmlTypeMapping_2_1.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/XmlTypeMapping_2_1.java new file mode 100644 index 0000000000..60b6452796 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_1/XmlTypeMapping_2_1.java @@ -0,0 +1,58 @@ +/******************************************************************************* + * Copyright (c) 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1; + +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAccessMethodsHolder; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Xml Type Mapping 21</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1#getParentClass <em>Parent Class</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlTypeMapping_2_1() + * @model kind="class" interface="true" abstract="true" + * @generated + */ +public interface XmlTypeMapping_2_1 extends XmlAccessMethodsHolder +{ + + /** + * Returns the value of the '<em><b>Parent Class</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Parent 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>Parent Class</em>' attribute. + * @see #setParentClass(String) + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLinkOrmV2_1Package#getXmlTypeMapping_2_1_ParentClass() + * @model dataType="org.eclipse.emf.ecore.xml.type.String" + * @generated + */ + String getParentClass(); + + /** + * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.XmlTypeMapping_2_1#getParentClass <em>Parent Class</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Parent Class</em>' attribute. + * @see #getParentClass() + * @generated + */ + void setParentClass(String value); +} // XmlTypeMapping_2_1 diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_2/EclipseLinkOrmV2_2Package.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_2/EclipseLinkOrmV2_2Package.java index 0ccb0c4c99..e5d5def471 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_2/EclipseLinkOrmV2_2Package.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_2/EclipseLinkOrmV2_2Package.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2011 Oracle. All rights reserved. + * Copyright (c) 2010, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -615,22 +615,13 @@ public class EclipseLinkOrmV2_2Package extends EPackageImpl public static final int XML_EMBEDDABLE_22__ASSOCIATION_OVERRIDES = OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER_FEATURE_COUNT + 0; /** - * The feature id for the '<em><b>Parent Class</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - public static final int XML_EMBEDDABLE_22__PARENT_CLASS = OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER_FEATURE_COUNT + 1; - - /** * The number of structural features of the '<em>Xml Embeddable 22</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - public static final int XML_EMBEDDABLE_22_FEATURE_COUNT = OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER_FEATURE_COUNT + 2; + public static final int XML_EMBEDDABLE_22_FEATURE_COUNT = OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER_FEATURE_COUNT + 1; /** * The feature id for the '<em><b>Partitioning</b></em>' containment reference. @@ -3096,20 +3087,6 @@ public class EclipseLinkOrmV2_2Package extends EPackageImpl } /** - * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2#getParentClass <em>Parent Class</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the attribute '<em>Parent Class</em>'. - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2#getParentClass() - * @see #getXmlEmbeddable_2_2() - * @generated - */ - public EAttribute getXmlEmbeddable_2_2_ParentClass() - { - return (EAttribute)xmlEmbeddable_2_2EClass.getEStructuralFeatures().get(0); - } - - /** * Returns the meta object for class '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.XmlId_2_2 <em>Xml Id 22</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -3559,7 +3536,6 @@ public class EclipseLinkOrmV2_2Package extends EPackageImpl createEAttribute(xmlElementCollection_2_2EClass, XML_ELEMENT_COLLECTION_22__NONCACHEABLE); xmlEmbeddable_2_2EClass = createEClass(XML_EMBEDDABLE_22); - createEAttribute(xmlEmbeddable_2_2EClass, XML_EMBEDDABLE_22__PARENT_CLASS); xmlEntity_2_2EClass = createEClass(XML_ENTITY_22); createEReference(xmlEntity_2_2EClass, XML_ENTITY_22__ADDITIONAL_CRITERIA); @@ -3730,7 +3706,6 @@ public class EclipseLinkOrmV2_2Package extends EPackageImpl initEAttribute(getXmlElementCollection_2_2_Noncacheable(), theXMLTypePackage.getBoolean(), "noncacheable", null, 0, 1, XmlElementCollection_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(xmlEmbeddable_2_2EClass, XmlEmbeddable_2_2.class, "XmlEmbeddable_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getXmlEmbeddable_2_2_ParentClass(), theXMLTypePackage.getString(), "parentClass", null, 0, 1, XmlEmbeddable_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(xmlEntity_2_2EClass, XmlEntity_2_2.class, "XmlEntity_2_2", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getXmlEntity_2_2_AdditionalCriteria(), this.getXmlAdditionalCriteria_2_2(), null, "additionalCriteria", null, 0, 1, XmlEntity_2_2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -4389,14 +4364,6 @@ public class EclipseLinkOrmV2_2Package extends EPackageImpl public static final EClass XML_EMBEDDABLE_22 = eINSTANCE.getXmlEmbeddable_2_2(); /** - * The meta object literal for the '<em><b>Parent Class</b></em>' attribute feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public static final EAttribute XML_EMBEDDABLE_22__PARENT_CLASS = eINSTANCE.getXmlEmbeddable_2_2_ParentClass(); - - /** * The meta object literal for the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.XmlId_2_2 <em>Xml Id 22</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_2/XmlEmbeddable_2_2.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_2/XmlEmbeddable_2_2.java index bd073d130d..883653bcca 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_2/XmlEmbeddable_2_2.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_2/XmlEmbeddable_2_2.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 Oracle. All rights reserved. + * Copyright (c) 2010, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -23,12 +23,6 @@ import org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer; * will almost certainly be broken (repeatedly) as the API evolves. * <!-- end-user-doc --> * - * <p> - * The following features are supported: - * <ul> - * <li>{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2#getParentClass <em>Parent Class</em>}</li> - * </ul> - * </p> * * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlEmbeddable_2_2() * @model kind="class" interface="true" abstract="true" @@ -36,30 +30,5 @@ import org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer; */ public interface XmlEmbeddable_2_2 extends XmlAttributeOverrideContainer, XmlAssociationOverrideContainer { - /** - * Returns the value of the '<em><b>Parent Class</b></em>' attribute. - * <!-- begin-user-doc --> - * <p> - * If the meaning of the '<em>Parent 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>Parent Class</em>' attribute. - * @see #setParentClass(String) - * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.EclipseLinkOrmV2_2Package#getXmlEmbeddable_2_2_ParentClass() - * @model dataType="org.eclipse.emf.ecore.xml.type.String" - * @generated - */ - String getParentClass(); - - /** - * Sets the value of the '{@link org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.XmlEmbeddable_2_2#getParentClass <em>Parent Class</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Parent Class</em>' attribute. - * @see #getParentClass() - * @generated - */ - void setParentClass(String value); } // XmlEmbeddable_2_2 |