diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/Generic2_0VirtualXmlEmbeddedId.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/Generic2_0VirtualXmlEmbeddedId.java | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/Generic2_0VirtualXmlEmbeddedId.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/Generic2_0VirtualXmlEmbeddedId.java new file mode 100644 index 0000000000..0471732167 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/Generic2_0VirtualXmlEmbeddedId.java @@ -0,0 +1,75 @@ +/******************************************************************************* + * Copyright (c) 2009 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.core.internal.jpa2.context.orm; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.jpt.core.context.java.JavaEmbeddedIdMapping; +import org.eclipse.jpt.core.context.orm.OrmTypeMapping; +import org.eclipse.jpt.core.internal.context.orm.VirtualXmlEmbeddedId; +import org.eclipse.jpt.core.jpa2.resource.orm.XmlEmbeddedId; +import org.eclipse.jpt.core.resource.orm.AccessType; +import org.eclipse.jpt.core.resource.orm.XmlAttributeOverride; +import org.eclipse.jpt.core.utility.TextRange; + +/** + * VirtualBasic is an implementation of Basic used when there is + * no tag in the orm.xml and an underlying javaBasicMapping exists. + */ +public class Generic2_0VirtualXmlEmbeddedId extends XmlEmbeddedId +{ + + protected OrmTypeMapping ormTypeMapping; + + protected final JavaEmbeddedIdMapping javaAttributeMapping; + + protected final VirtualXmlEmbeddedId virtualXmlEmbeddedId; + + public Generic2_0VirtualXmlEmbeddedId(OrmTypeMapping ormTypeMapping, JavaEmbeddedIdMapping javaEmbeddedIdMapping) { + super(); + this.ormTypeMapping = ormTypeMapping; + this.javaAttributeMapping = javaEmbeddedIdMapping; + this.virtualXmlEmbeddedId = new VirtualXmlEmbeddedId(ormTypeMapping, javaEmbeddedIdMapping); + } + + @Override + public String getMappingKey() { + return this.virtualXmlEmbeddedId.getMappingKey(); + } + + @Override + public String getName() { + return this.virtualXmlEmbeddedId.getName(); + } + + @Override + public void setName(String newName) { + this.virtualXmlEmbeddedId.setName(newName); + } + + @Override + public TextRange getNameTextRange() { + return this.virtualXmlEmbeddedId.getNameTextRange(); + } + + @Override + public EList<XmlAttributeOverride> getAttributeOverrides() { + return this.virtualXmlEmbeddedId.getAttributeOverrides(); + } + + @Override + public AccessType getAccess() { + return org.eclipse.jpt.core.context.AccessType.toOrmResourceModel(this.javaAttributeMapping.getPersistentAttribute().getAccess()); + } + + @Override + public void setAccess(AccessType value) { + throw new UnsupportedOperationException("cannot set values on a virtual mapping"); //$NON-NLS-1$ + } +} |