diff options
author | kmoore | 2011-02-06 02:07:28 +0000 |
---|---|---|
committer | kmoore | 2011-02-06 02:07:28 +0000 |
commit | c9c9e2b3e236ad701f642b72bca0cfabcac1d97b (patch) | |
tree | 346196323dc94395c2348339ac67e4f4cec6ebbf /jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmAssociationOverrideContainer.java | |
parent | 8f2746f6b8c2ddc81d653d54d280043c41ed4734 (diff) | |
download | webtools.dali-c9c9e2b3e236ad701f642b72bca0cfabcac1d97b.tar.gz webtools.dali-c9c9e2b3e236ad701f642b72bca0cfabcac1d97b.tar.xz webtools.dali-c9c9e2b3e236ad701f642b72bca0cfabcac1d97b.zip |
renamed org.eclipse.jpt.core to org.eclipse.jpt.jpa.core
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmAssociationOverrideContainer.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmAssociationOverrideContainer.java | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmAssociationOverrideContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmAssociationOverrideContainer.java new file mode 100644 index 0000000000..6b34106360 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmAssociationOverrideContainer.java @@ -0,0 +1,93 @@ +/******************************************************************************* + * Copyright (c) 2009, 2011 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.core.internal.jpa1.context.orm; + +import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneIterable; +import org.eclipse.jpt.jpa.core.context.AssociationOverride; +import org.eclipse.jpt.jpa.core.context.JoinColumn; +import org.eclipse.jpt.jpa.core.context.Relationship; +import org.eclipse.jpt.jpa.core.context.RelationshipMapping; +import org.eclipse.jpt.jpa.core.context.Table; +import org.eclipse.jpt.jpa.core.context.XmlContextNode; +import org.eclipse.jpt.jpa.core.context.orm.OrmAssociationOverride; +import org.eclipse.jpt.jpa.core.context.orm.OrmAssociationOverrideContainer; +import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyAssociationOverride; +import org.eclipse.jpt.jpa.core.context.orm.OrmVirtualAssociationOverride; +import org.eclipse.jpt.jpa.core.internal.context.JoinColumnTextRangeResolver; +import org.eclipse.jpt.jpa.core.internal.context.JptValidator; +import org.eclipse.jpt.jpa.core.internal.context.MappingTools; +import org.eclipse.jpt.jpa.core.internal.context.TableTextRangeResolver; +import org.eclipse.jpt.jpa.core.resource.orm.OrmFactory; +import org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverride; + +/** + * <code>orm.xml</code> association override container + */ +public class GenericOrmAssociationOverrideContainer + extends AbstractOrmOverrideContainer< + OrmAssociationOverrideContainer.Owner, + OrmReadOnlyAssociationOverride, + OrmAssociationOverride, + OrmVirtualAssociationOverride, + XmlAssociationOverride + > + implements OrmAssociationOverrideContainer +{ + public GenericOrmAssociationOverrideContainer(XmlContextNode parent, OrmAssociationOverrideContainer.Owner owner) { + super(parent, owner); + } + + + public RelationshipMapping getRelationshipMapping(String attributeName) { + return MappingTools.getRelationshipMapping(attributeName, this.owner.getOverridableTypeMapping()); + } + + public Relationship resolveOverriddenRelationship(String associationOverrideName) { + return this.owner.resolveOverriddenRelationship(associationOverrideName); + } + + public JptValidator buildJoinTableJoinColumnValidator(AssociationOverride override, JoinColumn column, JoinColumn.Owner columnOwner, JoinColumnTextRangeResolver textRangeResolver) { + return this.owner.buildJoinTableJoinColumnValidator(override, column, columnOwner, textRangeResolver); + } + + public JptValidator buildJoinTableInverseJoinColumnValidator(AssociationOverride override, JoinColumn column, JoinColumn.Owner columnOwner, JoinColumnTextRangeResolver textRangeResolver) { + return this.owner.buildJoinTableInverseJoinColumnValidator(override, column, columnOwner, textRangeResolver); + } + + public JptValidator buildTableValidator(AssociationOverride override, Table table, TableTextRangeResolver textRangeResolver) { + return this.owner.buildTableValidator(override, table, textRangeResolver); + } + + @Override + protected Iterable<XmlAssociationOverride> getXmlOverrides_() { + // clone to reduce chance of concurrency problems + return new LiveCloneIterable<XmlAssociationOverride>(this.owner.getXmlOverrides()); + } + + @Override + protected XmlAssociationOverride buildXmlOverride() { + return OrmFactory.eINSTANCE.createXmlAssociationOverride(); + } + + @Override + protected OrmAssociationOverride buildSpecifiedOverride(XmlAssociationOverride xmlOverride) { + return this.getContextNodeFactory().buildOrmAssociationOverride(this, xmlOverride); + } + + @Override + protected void initializeSpecifiedOverride(OrmAssociationOverride specifiedOverride, OrmVirtualAssociationOverride virtualOverride) { + specifiedOverride.initializeFromVirtual(virtualOverride); + } + + @Override + protected OrmVirtualAssociationOverride buildVirtualOverride(String name) { + return this.getContextNodeFactory().buildOrmVirtualAssociationOverride(this, name); + } +} |