diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaOneToOneRelationshipReference.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaOneToOneRelationshipReference.java | 255 |
1 files changed, 0 insertions, 255 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaOneToOneRelationshipReference.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaOneToOneRelationshipReference.java deleted file mode 100644 index 971f184022..0000000000 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaOneToOneRelationshipReference.java +++ /dev/null @@ -1,255 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 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.core.internal.context.java; - -import java.util.Iterator; -import java.util.List; -import org.eclipse.jdt.core.dom.CompilationUnit; -import org.eclipse.jpt.core.MappingKeys; -import org.eclipse.jpt.core.context.AttributeMapping; -import org.eclipse.jpt.core.context.RelationshipMapping; -import org.eclipse.jpt.core.context.java.JavaJoinColumnJoiningStrategy; -import org.eclipse.jpt.core.context.java.JavaJoinTableJoiningStrategy; -import org.eclipse.jpt.core.context.java.JavaMappedByJoiningStrategy; -import org.eclipse.jpt.core.context.java.JavaOneToOneMapping; -import org.eclipse.jpt.core.context.java.JavaPrimaryKeyJoinColumnJoiningStrategy; -import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneRelationshipReference2_0; -import org.eclipse.jpt.core.resource.java.OwnableRelationshipMappingAnnotation; -import org.eclipse.jpt.utility.Filter; -import org.eclipse.wst.validation.internal.provisional.core.IMessage; -import org.eclipse.wst.validation.internal.provisional.core.IReporter; - -public abstract class AbstractJavaOneToOneRelationshipReference - extends AbstractJavaRelationshipReference - implements JavaOneToOneRelationshipReference2_0 -{ - protected final JavaMappedByJoiningStrategy mappedByJoiningStrategy; - - protected final JavaJoinColumnJoiningStrategy joinColumnJoiningStrategy; - - protected final JavaPrimaryKeyJoinColumnJoiningStrategy primaryKeyJoinColumnJoiningStrategy; - - protected final JavaJoinTableJoiningStrategy joinTableJoiningStrategy; - - protected AbstractJavaOneToOneRelationshipReference(JavaOneToOneMapping parent) { - super(parent); - this.mappedByJoiningStrategy = buildMappedByJoiningStrategy(); - this.joinColumnJoiningStrategy = buildJoinColumnJoiningStrategy(); - this.primaryKeyJoinColumnJoiningStrategy = buildPrimaryKeyJoinColumnJoiningStrategy(); - this.joinTableJoiningStrategy = buildJoinTableJoiningStrategy(); - } - - - protected JavaMappedByJoiningStrategy buildMappedByJoiningStrategy() { - return new GenericJavaMappedByJoiningStrategy(this); - } - - protected JavaJoinColumnJoiningStrategy buildJoinColumnJoiningStrategy() { - return new GenericJavaJoinColumnJoiningStrategy(this); - } - - protected JavaPrimaryKeyJoinColumnJoiningStrategy buildPrimaryKeyJoinColumnJoiningStrategy() { - return new GenericJavaPrimaryKeyJoinColumnJoiningStrategy(this); - } - - protected abstract JavaJoinTableJoiningStrategy buildJoinTableJoiningStrategy(); - - @Override - public JavaOneToOneMapping getRelationshipMapping() { - return (JavaOneToOneMapping) getParent(); - } - - public OwnableRelationshipMappingAnnotation getMappingAnnotation() { - return getRelationshipMapping().getMappingAnnotation(); - } - - public boolean isRelationshipOwner() { - return this.mappedByJoiningStrategy.getMappedByAttribute() == null; - } - - public boolean isOwnedBy(RelationshipMapping mapping) { - return this.mappedByJoiningStrategy.relationshipIsOwnedBy(mapping); - } - - @Override - public Iterator<String> javaCompletionProposals(int pos, Filter<String> filter, CompilationUnit astRoot) { - Iterator<String> result = super.javaCompletionProposals(pos, filter, astRoot); - if (result == null) { - result = this.mappedByJoiningStrategy.javaCompletionProposals(pos, filter, astRoot); - } - if (result == null) { - result = this.joinColumnJoiningStrategy.javaCompletionProposals(pos, filter, astRoot); - } - if (result == null) { - result = this.primaryKeyJoinColumnJoiningStrategy.javaCompletionProposals(pos, filter, astRoot); - } - if (result == null) { - result = this.joinTableJoiningStrategy.javaCompletionProposals(pos, filter, astRoot); - } - return result; - } - - - // **************** mapped by ********************************************** - - public JavaMappedByJoiningStrategy getMappedByJoiningStrategy() { - return this.mappedByJoiningStrategy; - } - - public boolean usesMappedByJoiningStrategy() { - return getPredominantJoiningStrategy() == this.mappedByJoiningStrategy; - } - - public void setMappedByJoiningStrategy() { - this.mappedByJoiningStrategy.addStrategy(); - this.joinColumnJoiningStrategy.removeStrategy(); - this.primaryKeyJoinColumnJoiningStrategy.removeStrategy(); - this.joinTableJoiningStrategy.removeStrategy(); - setPredominantJoiningStrategy(); - } - - public void unsetMappedByJoiningStrategy() { - this.mappedByJoiningStrategy.removeStrategy(); - setPredominantJoiningStrategy(); - } - - public boolean mayBeMappedBy(AttributeMapping mappedByMapping) { - return mappedByMapping.getKey() == MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY; - } - - - // **************** join columns ******************************************* - - public JavaJoinColumnJoiningStrategy getJoinColumnJoiningStrategy() { - return this.joinColumnJoiningStrategy; - } - - public boolean usesJoinColumnJoiningStrategy() { - return getPredominantJoiningStrategy() == this.joinColumnJoiningStrategy; - } - - public void setJoinColumnJoiningStrategy() { - this.mappedByJoiningStrategy.removeStrategy(); - this.primaryKeyJoinColumnJoiningStrategy.removeStrategy(); - this.joinTableJoiningStrategy.removeStrategy(); - // join columns are default, so no need to add annotations - setPredominantJoiningStrategy(); - } - - public void unsetJoinColumnJoiningStrategy() { - this.joinColumnJoiningStrategy.removeStrategy(); - setPredominantJoiningStrategy(); - } - - public boolean mayHaveDefaultJoinColumn() { - return this.getMappedByJoiningStrategy().getMappedByAttribute() == null - && this.getPrimaryKeyJoinColumnJoiningStrategy().primaryKeyJoinColumnsSize() == 0 - && this.getJoinTableJoiningStrategy().getJoinTable() == null; - } - - - // **************** primary key join columns ******************************* - - public JavaPrimaryKeyJoinColumnJoiningStrategy getPrimaryKeyJoinColumnJoiningStrategy() { - return this.primaryKeyJoinColumnJoiningStrategy; - } - - public boolean usesPrimaryKeyJoinColumnJoiningStrategy() { - return getPredominantJoiningStrategy() == this.primaryKeyJoinColumnJoiningStrategy; - } - - public void setPrimaryKeyJoinColumnJoiningStrategy() { - this.primaryKeyJoinColumnJoiningStrategy.addStrategy(); - this.mappedByJoiningStrategy.removeStrategy(); - this.joinColumnJoiningStrategy.removeStrategy(); - this.joinTableJoiningStrategy.removeStrategy(); - setPredominantJoiningStrategy(); - } - - public void unsetPrimaryKeyJoinColumnJoiningStrategy() { - this.primaryKeyJoinColumnJoiningStrategy.removeStrategy(); - setPredominantJoiningStrategy(); - } - - public boolean mayHaveDefaultPrimaryKeyJoinColumn() { - return false; - } - - - // **************** join table ********************************************* - - public JavaJoinTableJoiningStrategy getJoinTableJoiningStrategy() { - return this.joinTableJoiningStrategy; - } - - public boolean usesJoinTableJoiningStrategy() { - return getPredominantJoiningStrategy() == this.joinTableJoiningStrategy; - } - - public final void setJoinTableJoiningStrategy() { - this.joinTableJoiningStrategy.addStrategy(); - this.mappedByJoiningStrategy.removeStrategy(); - this.joinColumnJoiningStrategy.removeStrategy(); - this.primaryKeyJoinColumnJoiningStrategy.removeStrategy(); - setPredominantJoiningStrategy(); - } - - public final void unsetJoinTableJoiningStrategy() { - unsetJoinTableJoiningStrategy_(); - setPredominantJoiningStrategy(); - } - - protected void unsetJoinTableJoiningStrategy_() { - this.joinTableJoiningStrategy.removeStrategy(); - } - - public boolean mayHaveDefaultJoinTable() { - return false; - } - - // **************** resource => context ************************************ - - @Override - protected void initializeJoiningStrategies() { - this.mappedByJoiningStrategy.initialize(); - this.primaryKeyJoinColumnJoiningStrategy.initialize(); - this.joinTableJoiningStrategy.initialize(); - - // initialize join columns last, as the existence of a default join - // column is dependent on the other mechanisms (mappedBy, join table) - // not being specified - this.joinColumnJoiningStrategy.initialize(); - } - - @Override - protected void updateJoiningStrategies() { - this.mappedByJoiningStrategy.update(); - this.primaryKeyJoinColumnJoiningStrategy.update(); - this.joinTableJoiningStrategy.update(); - - // update join columns last, as the existence of a default join - // column is dependent on the other mechanisms (mappedBy, join table) - // not being specified - this.joinColumnJoiningStrategy.update(); - } - - - // **************** Validation ********************************************* - - @Override - public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) { - super.validate(messages, reporter, astRoot); - this.mappedByJoiningStrategy.validate(messages, reporter, astRoot); - this.primaryKeyJoinColumnJoiningStrategy.validate(messages, reporter, astRoot); - this.joinColumnJoiningStrategy.validate(messages, reporter, astRoot); - this.joinTableJoiningStrategy.validate(messages, reporter, astRoot); - } -} |