/******************************************************************************* * Copyright (c) 2008, 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.eclipselink.core.internal.v1_1.context.orm; import org.eclipse.emf.common.util.EList; import org.eclipse.jpt.core.context.java.JavaManyToOneMapping; import org.eclipse.jpt.core.context.orm.OrmTypeMapping; import org.eclipse.jpt.core.resource.orm.AccessType; import org.eclipse.jpt.core.resource.orm.CascadeType; import org.eclipse.jpt.core.resource.orm.FetchType; import org.eclipse.jpt.core.resource.orm.XmlJoinColumn; import org.eclipse.jpt.core.resource.orm.XmlJoinTable; import org.eclipse.jpt.core.utility.TextRange; import org.eclipse.jpt.eclipselink.core.internal.context.orm.VirtualEclipseLinkXmlManyToOne; import org.eclipse.jpt.eclipselink.core.resource.orm.XmlAccessMethods; import org.eclipse.jpt.eclipselink.core.resource.orm.XmlJoinFetchType; import org.eclipse.jpt.eclipselink.core.resource.orm.XmlManyToOne; import org.eclipse.jpt.eclipselink.core.resource.orm.XmlProperty; /** * VirtualBasic is an implementation of Basic used when there is * no tag in the orm.xml and an underlying javaBasicMapping exists. */ public class VirtualEclipseLinkXmlManyToOne1_1 extends XmlManyToOne { protected OrmTypeMapping ormTypeMapping; protected final JavaManyToOneMapping javaAttributeMapping; protected final VirtualEclipseLinkXmlManyToOne virtualXmlManyToOne; public VirtualEclipseLinkXmlManyToOne1_1(OrmTypeMapping ormTypeMapping, JavaManyToOneMapping javaManyToOneMapping) { super(); this.ormTypeMapping = ormTypeMapping; this.javaAttributeMapping = javaManyToOneMapping; this.virtualXmlManyToOne = new VirtualEclipseLinkXmlManyToOne(ormTypeMapping, javaManyToOneMapping); } protected boolean isOrmMetadataComplete() { return this.ormTypeMapping.isMetadataComplete(); } @Override public String getMappingKey() { return this.virtualXmlManyToOne.getMappingKey(); } @Override public String getName() { return this.virtualXmlManyToOne.getName(); } @Override public void setName(String newName) { this.virtualXmlManyToOne.setName(newName); } @Override public TextRange getNameTextRange() { return this.virtualXmlManyToOne.getNameTextRange(); } @Override public FetchType getFetch() { return this.virtualXmlManyToOne.getFetch(); } @Override public void setFetch(FetchType newFetch) { this.virtualXmlManyToOne.setFetch(newFetch); } @Override public Boolean getOptional() { return this.virtualXmlManyToOne.getOptional(); } @Override public void setOptional(Boolean newOptional) { this.virtualXmlManyToOne.setOptional(newOptional); } @Override public EList getJoinColumns() { return this.virtualXmlManyToOne.getJoinColumns(); } @Override public CascadeType getCascade() { return this.virtualXmlManyToOne.getCascade(); } @Override public void setCascade(CascadeType value) { this.virtualXmlManyToOne.setCascade(value); } @Override public XmlJoinTable getJoinTable() { return this.virtualXmlManyToOne.getJoinTable(); } @Override public void setJoinTable(XmlJoinTable value) { this.virtualXmlManyToOne.setJoinTable(value); } @Override public String getTargetEntity() { return this.virtualXmlManyToOne.getTargetEntity(); } @Override public void setTargetEntity(String value) { this.virtualXmlManyToOne.setTargetEntity(value); } @Override public TextRange getTargetEntityTextRange() { return this.virtualXmlManyToOne.getTargetEntityTextRange(); } @Override public XmlJoinFetchType getJoinFetch() { return this.virtualXmlManyToOne.getJoinFetch(); } @Override public void setJoinFetch(XmlJoinFetchType value) { this.virtualXmlManyToOne.setJoinFetch(value); } @Override public XmlAccessMethods getAccessMethods() { return this.virtualXmlManyToOne.getAccessMethods(); } @Override public void setAccessMethods(XmlAccessMethods value) { this.virtualXmlManyToOne.setAccessMethods(value); } @Override public EList getProperties() { return this.virtualXmlManyToOne.getProperties(); } @Override public TextRange getJoinFetchTextRange() { return this.virtualXmlManyToOne.getJoinFetchTextRange(); } @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$ } }