diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/GenericJavaManyToOneRelationship.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/GenericJavaManyToOneRelationship.java | 75 |
1 files changed, 49 insertions, 26 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/GenericJavaManyToOneRelationship.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/GenericJavaManyToOneRelationship.java index d58beb9ea7..455dda9032 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/GenericJavaManyToOneRelationship.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/GenericJavaManyToOneRelationship.java @@ -26,6 +26,9 @@ public class GenericJavaManyToOneRelationship extends AbstractJavaMappingRelationship<JavaManyToOneMapping> implements JavaManyToOneRelationship2_0 { + protected boolean strategyIsJoinColumn; + protected boolean strategyIsJoinTable; + protected final JavaSpecifiedJoinColumnRelationshipStrategy joinColumnStrategy; // JPA 2.0 @@ -53,6 +56,8 @@ public class GenericJavaManyToOneRelationship @Override public void update(IProgressMonitor monitor) { super.update(monitor); + this.setStrategyIsJoinColumn(this.buildStrategyIsJoinColumn()); + this.setStrategyIsJoinTable(this.buildStrategyIsJoinTable()); this.joinColumnStrategy.update(monitor); this.joinTableStrategy.update(monitor); } @@ -71,6 +76,41 @@ public class GenericJavaManyToOneRelationship } + // ********** join column strategy ********** + + public JavaSpecifiedJoinColumnRelationshipStrategy getJoinColumnStrategy() { + return this.joinColumnStrategy; + } + + public boolean strategyIsJoinColumn() { + return this.strategyIsJoinColumn; + } + + protected void setStrategyIsJoinColumn(boolean strategyIsJoinColumn) { + boolean old = this.strategyIsJoinColumn; + this.firePropertyChanged(STRATEGY_IS_JOIN_COLUMN_PROPERTY, old, this.strategyIsJoinColumn = strategyIsJoinColumn); + } + + protected boolean buildStrategyIsJoinColumn() { + return this.strategy == this.joinColumnStrategy; + } + + public void setStrategyToJoinColumn() { + // join column strategy is the default; so no need to add stuff, + // just remove all the others + this.joinTableStrategy.removeStrategy(); + this.updateStrategy(); + } + + public boolean mayHaveDefaultJoinColumn() { + return this.joinTableStrategy.getJoinTable() == null; + } + + protected JavaSpecifiedJoinColumnRelationshipStrategy buildJoinColumnStrategy() { + return new GenericJavaMappingJoinColumnRelationshipStrategy(this); + } + + // ********** join table strategy ********** public JavaSpecifiedJoinTableRelationshipStrategy getJoinTableStrategy() { @@ -78,6 +118,15 @@ public class GenericJavaManyToOneRelationship } public boolean strategyIsJoinTable() { + return this.strategyIsJoinTable; + } + + protected void setStrategyIsJoinTable(boolean strategyIsJoinTable) { + boolean old = this.strategyIsJoinTable; + this.firePropertyChanged(STRATEGY_IS_JOIN_TABLE_PROPERTY, old, this.strategyIsJoinTable = strategyIsJoinTable); + } + + protected boolean buildStrategyIsJoinTable() { return this.strategy == this.joinTableStrategy; } @@ -98,32 +147,6 @@ public class GenericJavaManyToOneRelationship } - // ********** join column strategy ********** - - public JavaSpecifiedJoinColumnRelationshipStrategy getJoinColumnStrategy() { - return this.joinColumnStrategy; - } - - public boolean strategyIsJoinColumn() { - return this.strategy == this.joinColumnStrategy; - } - - public void setStrategyToJoinColumn() { - // join column strategy is the default; so no need to add stuff, - // just remove all the others - this.joinTableStrategy.removeStrategy(); - this.updateStrategy(); - } - - public boolean mayHaveDefaultJoinColumn() { - return this.joinTableStrategy.getJoinTable() == null; - } - - protected JavaSpecifiedJoinColumnRelationshipStrategy buildJoinColumnStrategy() { - return new GenericJavaMappingJoinColumnRelationshipStrategy(this); - } - - // ********** misc ********** public boolean isOwner() { |