Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractJavaResourceNode.java92
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractJavaResourcePersistentMember.java639
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractNamedColumn.java152
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractNamedQuery.java324
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractRelationshipMappingAnnotation.java314
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractResourceAnnotation.java138
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractResourceTable.java353
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AssociationOverrideImpl.java290
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AssociationOverridesImpl.java153
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AttributeOverrideImpl.java163
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AttributeOverridesImpl.java154
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/BaseColumnImpl.java233
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/BasicImpl.java155
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ColumnImpl.java242
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ContainerAnnotationTools.java214
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/DiscriminatorColumnImpl.java168
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/DiscriminatorValueImpl.java115
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EmbeddableImpl.java76
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EmbeddedIdImpl.java75
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EmbeddedImpl.java75
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EntityImpl.java125
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EnumeratedImpl.java116
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/GeneratedValueImpl.java152
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/GeneratorImpl.java168
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/IdClassImpl.java139
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/IdImpl.java77
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/InheritanceImpl.java115
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JavaResourcePersistentAttributeImpl.java553
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JavaResourcePersistentTypeImpl.java599
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JoinColumnImpl.java225
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JoinColumnsImpl.java157
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JoinTableImpl.java400
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JpaCompilationUnitImpl.java306
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/LobImpl.java75
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ManyToManyImpl.java165
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ManyToOneImpl.java164
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/MapKeyImpl.java125
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/MappedSuperclassImpl.java75
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedNativeQueriesImpl.java157
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedNativeQueryImpl.java238
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedQueriesImpl.java156
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedQueryImpl.java112
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullAssociationOverride.java121
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullAttributeOverrideColumn.java80
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullBaseColumn.java101
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullBaseTable.java146
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullBasic.java91
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullColumn.java80
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullDiscriminatorColumn.java58
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullDiscriminatorValue.java77
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullEmbedded.java60
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullEnumerated.java77
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullInheritance.java79
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullJoinColumn.java50
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullJoinTable.java84
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullNamedColumn.java82
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullOneToMany.java163
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullOneToOne.java173
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullPrimaryKeyJoinColumn.java50
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullTable.java28
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullTemporal.java77
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OneToManyImpl.java161
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OneToOneImpl.java205
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OrderByImpl.java116
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OverrideImpl.java98
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/PrimaryKeyJoinColumnImpl.java184
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/PrimaryKeyJoinColumnsImpl.java157
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/QueryHintImpl.java164
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/SecondaryTableImpl.java333
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/SecondaryTablesImpl.java161
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/SequenceGeneratorImpl.java157
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TableGeneratorImpl.java525
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TableImpl.java104
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TemporalImpl.java116
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TransientImpl.java75
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/UniqueConstraintImpl.java188
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/VersionImpl.java75
77 files changed, 0 insertions, 13020 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractJavaResourceNode.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractJavaResourceNode.java
deleted file mode 100644
index 506c3b075a..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractJavaResourceNode.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jpt.core.JpaAnnotationProvider;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JpaCompilationUnit;
-import org.eclipse.jpt.utility.internal.model.AbstractModel;
-import org.eclipse.jpt.utility.internal.model.CallbackChangeSupport;
-import org.eclipse.jpt.utility.internal.model.ChangeSupport;
-
-/**
- * resource containment hierarchy
- */
-public abstract class AbstractJavaResourceNode
- extends AbstractModel
- implements JavaResourceNode, CallbackChangeSupport.Source
-{
- private final JavaResourceNode parent;
-
-
- // ********** construction **********
-
- protected AbstractJavaResourceNode(JavaResourceNode parent) {
- super();
- this.checkParent(parent);
- this.parent = parent;
- }
-
- protected void checkParent(JavaResourceNode p) {
- if (p == null) {
- if (this.requiresParent()) {
- throw new IllegalArgumentException("'parent' cannot be null"); //$NON-NLS-1$
- }
- } else {
- if (this.forbidsParent()) {
- throw new IllegalArgumentException("'parent' must be null"); //$NON-NLS-1$
- }
- }
- }
-
- protected boolean requiresParent() {
- return true;
- }
-
- protected boolean forbidsParent() {
- return ! this.requiresParent(); // assume 'parent' is not optional
- }
-
- @Override
- protected ChangeSupport buildChangeSupport() {
- return new CallbackChangeSupport(this);
- }
-
-
- // ********** JavaResourceNode implementation **********
-
- public JpaCompilationUnit getJpaCompilationUnit() {
- return this.parent.getJpaCompilationUnit();
- }
-
- public IFile getFile() {
- return (IFile) this.getJpaCompilationUnit().getCompilationUnit().getResource();
- }
-
-
- // ********** CallbackChangeSupport.Source implementation **********
-
- public void aspectChanged(String aspectName) {
- this.getJpaCompilationUnit().resourceModelChanged();
- }
-
-
- // ********** convenience methods **********
-
- protected JavaResourceNode getParent() {
- return this.parent;
- }
-
- protected JpaAnnotationProvider getAnnotationProvider() {
- return this.getJpaCompilationUnit().getAnnotationProvider();
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractJavaResourcePersistentMember.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractJavaResourcePersistentMember.java
deleted file mode 100644
index 84d740dee6..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractJavaResourcePersistentMember.java
+++ /dev/null
@@ -1,639 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.ListIterator;
-import java.util.Set;
-import java.util.Vector;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ASTVisitor;
-import org.eclipse.jdt.core.dom.BodyDeclaration;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jpt.core.internal.utility.jdt.ASTNodeTextRange;
-import org.eclipse.jpt.core.internal.utility.jdt.JDTTools;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.ContainerAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.utility.MethodSignature;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneIterator;
-import org.eclipse.jpt.utility.internal.iterators.EmptyListIterator;
-import org.eclipse.jpt.utility.internal.iterators.FilteringIterator;
-import org.eclipse.jpt.utility.internal.iterators.SingleElementListIterator;
-
-/**
- *
- */
-public abstract class AbstractJavaResourcePersistentMember<E extends Member>
- extends AbstractJavaResourceNode
- implements JavaResourcePersistentMember
-{
- private final E member;
-
- /**
- * mapping annotations; no duplicates (java compiler has an error for
- * duplicates)
- */
- private final Vector<Annotation> mappingAnnotations;
-
- /**
- * supporting annotations; no duplicates (java compiler has an error for
- * duplicates)
- */
- private final Vector<Annotation> supportingAnnotations;
-
- private boolean persistable;
-
- // ********** construction/initialization **********
-
- protected AbstractJavaResourcePersistentMember(JavaResourceNode parent, E member) {
- super(parent);
- this.member = member;
- this.supportingAnnotations = new Vector<Annotation>();
- this.mappingAnnotations = new Vector<Annotation>();
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.getMember().getBodyDeclaration(astRoot).accept(this.buildInitialAnnotationVisitor(astRoot));
- this.persistable = this.buildPersistable(astRoot);
- }
-
- protected ASTVisitor buildInitialAnnotationVisitor(CompilationUnit astRoot) {
- return new InitialAnnotationVisitor(astRoot, this.getMember().getBodyDeclaration(astRoot));
- }
-
- protected void addInitialAnnotation(org.eclipse.jdt.core.dom.Annotation node, CompilationUnit astRoot) {
- String jdtAnnotationName = JDTTools.resolveAnnotation(node);
- if (jdtAnnotationName == null) {
- return;
- }
- if (this.supportingAnnotationIsValid(jdtAnnotationName)) {
- if (this.getSupportingAnnotation(jdtAnnotationName) == null) { // ignore duplicates
- Annotation annotation = this.buildSupportingAnnotation(jdtAnnotationName);
- annotation.initialize(astRoot);
- this.supportingAnnotations.add(annotation);
- }
- } else if (this.mappingAnnotationIsValid(jdtAnnotationName)) {
- if (this.getMappingAnnotation(jdtAnnotationName) == null) { // ignore duplicates
- Annotation annotation = this.buildMappingAnnotation(jdtAnnotationName);
- annotation.initialize(astRoot);
- this.mappingAnnotations.add(annotation);
- }
- }
- }
-
- // ********** mapping annotations **********
-
- public Iterator<Annotation> mappingAnnotations() {
- return new CloneIterator<Annotation>(this.mappingAnnotations);
- }
-
- public int mappingAnnotationsSize() {
- return this.mappingAnnotations.size();
- }
-
- // TODO need property change notification on this mappingAnnotation changing
- // from the context model we don't really care if their are multiple mapping
- // annotations, just which one we need to use
- public Annotation getMappingAnnotation() {
- synchronized (this.mappingAnnotations) {
- return this.getMappingAnnotation_();
- }
- }
-
- protected Annotation getMappingAnnotation_() {
- for (ListIterator<String> stream = this.validMappingAnnotationNames(); stream.hasNext();) {
- Annotation annotation = this.getMappingAnnotation(stream.next());
- if (annotation != null) {
- return annotation;
- }
- }
- return null;
- }
-
- public Annotation getMappingAnnotation(String annotationName) {
- return getAnnotation(this.mappingAnnotations(), annotationName);
- }
-
- /**
- * Remove all other *mapping* annotations that exist; not just the one
- * returned by #getMappingAnnotation(). #getMappingAnnotation() returns the
- * first mapping annotation found in the source. If there were multiple
- * mapping annotations (which is a validation error) then calling this
- * method would not work because the new mapping annotation would be added
- * to the end of the list of annotations.
- */
- public void setMappingAnnotation(String annotationName) {
- synchronized (this.mappingAnnotations) {
- this.setMappingAnnotation_(annotationName);
- }
- // hold change notification until the end so a project update does not
- // occur
- // before we are finished removing the old mapping(s) and adding the new
- // mapping;
- // just fire "collection changed" since one or more removes and/or one
- // add occurred;
- this.fireCollectionChanged(MAPPING_ANNOTATIONS_COLLECTION);
- }
-
- protected void setMappingAnnotation_(String annotationName) {
- if (annotationName == null) {
- this.removeMappingAnnotations_();
- return;
- }
-
- if (this.getMappingAnnotation(annotationName) != null) {
- throw new IllegalStateException("duplicate mapping annotation: " + annotationName); //$NON-NLS-1$
- }
-
- this.removeMappingAnnotations_();
- Annotation newMapping = this.buildMappingAnnotation(annotationName);
- this.mappingAnnotations.add(newMapping);
- newMapping.newAnnotation();
- }
-
- /**
- * Remove all mapping annotations that already exist. No change notification
- * is fired.
- */
- protected void removeMappingAnnotations() {
- synchronized (this.mappingAnnotations) {
- this.removeMappingAnnotations_();
- }
- }
-
- protected void removeMappingAnnotations_() {
- for (ListIterator<String> stream = this.validMappingAnnotationNames(); stream.hasNext();) {
- Annotation mappingAnnotation = this.getMappingAnnotation(stream.next());
- if (mappingAnnotation != null) {
- this.mappingAnnotations.remove(mappingAnnotation);
- mappingAnnotation.removeAnnotation();
- }
- }
- }
-
- public JavaResourceNode getNullMappingAnnotation(String annotationName) {
- return this.buildNullMappingAnnotation(annotationName);
- }
-
- protected abstract Annotation buildNullMappingAnnotation(String annotationName);
-
- protected boolean mappingAnnotationIsValid(String annotationName) {
- return CollectionTools.contains(this.validMappingAnnotationNames(), annotationName);
- }
-
- protected abstract ListIterator<String> validMappingAnnotationNames();
-
- protected abstract Annotation buildMappingAnnotation(String mappingAnnotationName);
-
- protected void addMappingAnnotation(Annotation annotation) {
- this.addItemToCollection(annotation, this.mappingAnnotations, MAPPING_ANNOTATIONS_COLLECTION);
- }
-
- protected void removeMappingAnnotation(Annotation annotation) {
- this.removeMappingAnnotation_(annotation);
- annotation.removeAnnotation();
- }
-
- protected void removeMappingAnnotation_(Annotation annotation) {
- this.removeItemFromCollection(annotation, this.mappingAnnotations, MAPPING_ANNOTATIONS_COLLECTION);
- }
-
- // ********** supporting annotations **********
-
- public Iterator<Annotation> supportingAnnotations() {
- return new CloneIterator<Annotation>(this.supportingAnnotations);
- }
-
- public int supportingAnnotationsSize() {
- return this.supportingAnnotations.size();
- }
-
- public ListIterator<NestableAnnotation> supportingAnnotations(String nestableAnnotationName, String containerAnnotationName) {
- ContainerAnnotation<NestableAnnotation> containerAnnotation = this.getSupportingContainerAnnotation(containerAnnotationName);
- if (containerAnnotation != null) {
- return containerAnnotation.nestedAnnotations();
- }
- NestableAnnotation nestableAnnotation = this.getSupportingNestableAnnotation(nestableAnnotationName);
- return (nestableAnnotation == null) ? EmptyListIterator.<NestableAnnotation> instance() : new SingleElementListIterator<NestableAnnotation>(nestableAnnotation);
- }
-
- protected NestableAnnotation getSupportingNestableAnnotation(String annotationName) {
- return (NestableAnnotation) this.getSupportingAnnotation(annotationName);
- }
-
- public Annotation getSupportingAnnotation(String annotationName) {
- return getAnnotation(this.supportingAnnotations(), annotationName);
- }
-
- public JavaResourceNode getNonNullSupportingAnnotation(String annotationName) {
- Annotation annotation = this.getSupportingAnnotation(annotationName);
- return (annotation != null) ? annotation : this.buildNullSupportingAnnotation(annotationName);
- }
-
- protected abstract Annotation buildNullSupportingAnnotation(String annotationName);
-
- public Annotation addSupportingAnnotation(String annotationName) {
- Annotation annotation = this.buildSupportingAnnotation(annotationName);
- this.supportingAnnotations.add(annotation);
- annotation.newAnnotation();
- this.fireItemAdded(SUPPORTING_ANNOTATIONS_COLLECTION, annotation);
- return annotation;
- }
-
- protected abstract Annotation buildSupportingAnnotation(String annotationName);
-
- protected void addSupportingAnnotation(Annotation annotation) {
- this.addItemToCollection(annotation, this.supportingAnnotations, SUPPORTING_ANNOTATIONS_COLLECTION);
- }
-
- public void removeSupportingAnnotation(String annotationName) {
- synchronized (this.supportingAnnotations) {
- this.removeSupportingAnnotation_(annotationName);
- }
- }
-
- protected void removeSupportingAnnotation_(String annotationName) {
- Annotation annotation = this.getSupportingAnnotation(annotationName);
- if (annotation != null) {
- this.removeSupportingAnnotation(annotation);
- }
- }
-
- protected void removeSupportingAnnotation(Annotation annotation) {
- this.removeSupportingAnnotation_(annotation);
- // TODO looks odd that we remove the annotation here, but in
- // addAnnotation(Annotation) we don't do the same
- annotation.removeAnnotation();
- }
-
- protected void removeSupportingAnnotation_(Annotation annotation) {
- this.removeItemFromCollection(annotation, this.supportingAnnotations, SUPPORTING_ANNOTATIONS_COLLECTION);
- }
-
- public NestableAnnotation addSupportingAnnotation(int index, String nestableAnnotationName, String containerAnnotationName) {
- synchronized (this.supportingAnnotations) {
- return this.addSupportingAnnotation_(index, nestableAnnotationName, containerAnnotationName);
- }
- }
-
- // TODO it seems we should be firing one change notification here, that a
- // new nestable annotation was added.
- protected NestableAnnotation addSupportingAnnotation_(int index, String nestableAnnotationName, String containerAnnotationName) {
- ContainerAnnotation<NestableAnnotation> containerAnnotation = this.getSupportingContainerAnnotation(containerAnnotationName);
- if (containerAnnotation != null) {
- // ignore any nestable annotation and just add to the container
- // annotation
- NestableAnnotation newNestedAnnotation = ContainerAnnotationTools.addNestedAnnotation(index, containerAnnotation);
- // TODO any event notification being fired for the add???
- return newNestedAnnotation;
- }
-
- NestableAnnotation nestedAnnotation = this.getSupportingNestableAnnotation(nestableAnnotationName);
- if (nestedAnnotation == null) {
- // add the nestable annotation since neither the nestable nor the
- // container exist
- return this.addSupportingNestableAnnotation(nestableAnnotationName);
- }
-
- // move the existing nestable annotation to a new container annotation
- // and add a new one
- ContainerAnnotation<NestableAnnotation> newContainerAnnotation = this.addSupportingContainerAnnotationTwoNestableAnnotations(containerAnnotationName);
- if (index == 0) {
- newContainerAnnotation.nestedAnnotationAt(1).initializeFrom(nestedAnnotation);
- } else {
- newContainerAnnotation.nestedAnnotationAt(0).initializeFrom(nestedAnnotation);
- }
- this.removeSupportingAnnotation(nestedAnnotation);
- return newContainerAnnotation.nestedAnnotationAt(index);
- }
-
- @SuppressWarnings("unchecked")
- protected ContainerAnnotation<NestableAnnotation> getSupportingContainerAnnotation(String annotationName) {
- return (ContainerAnnotation<NestableAnnotation>) this.getSupportingAnnotation(annotationName);
- }
-
- protected NestableAnnotation addSupportingNestableAnnotation(String annotationName) {
- return (NestableAnnotation) this.addSupportingAnnotation(annotationName);
- }
-
- protected ContainerAnnotation<NestableAnnotation> addSupportingContainerAnnotationTwoNestableAnnotations(String annotationName) {
- ContainerAnnotation<NestableAnnotation> containerAnnotation = this.buildContainerAnnotation(annotationName);
- this.supportingAnnotations.add(containerAnnotation);
- containerAnnotation.newAnnotation();
- containerAnnotation.addInternal(0).newAnnotation();
- containerAnnotation.addInternal(1).newAnnotation();
- return containerAnnotation;
- }
-
- @SuppressWarnings("unchecked")
- protected ContainerAnnotation<NestableAnnotation> buildContainerAnnotation(String annotationName) {
- return (ContainerAnnotation<NestableAnnotation>) this.buildSupportingAnnotation(annotationName);
- }
-
- protected boolean supportingAnnotationIsValid(String annotationName) {
- return CollectionTools.contains(this.validSupportingAnnotationNames(), annotationName);
- }
-
- protected abstract ListIterator<String> validSupportingAnnotationNames();
-
- public void removeSupportingAnnotation(int index, String nestableAnnotationName, String containerAnnotationName) {
- synchronized (this.supportingAnnotations) {
- this.removeSupportingAnnotation_(index, nestableAnnotationName, containerAnnotationName);
- }
- }
-
- protected void removeSupportingAnnotation_(int index, String nestableAnnotationName, String containerAnnotationName) {
- ContainerAnnotation<NestableAnnotation> containerAnnotation = this.getSupportingContainerAnnotation(containerAnnotationName);
- if (containerAnnotation == null) {
- Annotation annotation = this.getSupportingAnnotation(nestableAnnotationName);
- this.removeSupportingAnnotation(annotation);
- } else {
- this.removeSupportingAnnotation(index, containerAnnotation);
- }
- }
-
- protected void removeSupportingAnnotation(int index, ContainerAnnotation<NestableAnnotation> containerAnnotation) {
- NestableAnnotation nestableAnnotation = containerAnnotation.nestedAnnotationAt(index);
- containerAnnotation.remove(index);
- // TODO move these 2 lines to the ContainerAnnotation implementation, i think
- nestableAnnotation.removeAnnotation();
- ContainerAnnotationTools.synchAnnotationsAfterRemove(index, containerAnnotation);
-
- if (containerAnnotation.nestedAnnotationsSize() == 0) {
- this.removeSupportingAnnotation(containerAnnotation);
- } else if (containerAnnotation.nestedAnnotationsSize() == 1) {
- NestableAnnotation nestedAnnotation = containerAnnotation.nestedAnnotationAt(0);
-
- this.supportingAnnotations.remove(containerAnnotation);
- containerAnnotation.removeAnnotation();
-
- NestableAnnotation newAnnotation = (NestableAnnotation) this.buildSupportingAnnotation(containerAnnotation.getNestableAnnotationName());
- this.supportingAnnotations.add(newAnnotation);
- newAnnotation.newAnnotation();
-
- newAnnotation.initializeFrom(nestedAnnotation);
-
- this.fireItemAdded(SUPPORTING_ANNOTATIONS_COLLECTION, newAnnotation);
- this.fireItemRemoved(SUPPORTING_ANNOTATIONS_COLLECTION, containerAnnotation);
- }
- }
-
- public void moveSupportingAnnotation(int targetIndex, int sourceIndex, String containerAnnotationName) {
- this.moveAnnotation(targetIndex, sourceIndex, this.getSupportingContainerAnnotation(containerAnnotationName));
- }
-
- protected void moveAnnotation(int targetIndex, int sourceIndex, ContainerAnnotation<NestableAnnotation> containerAnnotation) {
- containerAnnotation.move(targetIndex, sourceIndex);
- ContainerAnnotationTools.synchAnnotationsAfterMove(targetIndex, sourceIndex, containerAnnotation);
- }
-
- // ********** simple state **********
-
- public boolean isPersistable() {
- return this.persistable;
- }
-
- protected void setPersistable(boolean persistable) {
- boolean old = this.persistable;
- this.persistable = persistable;
- this.firePropertyChanged(PERSISTABLE_PROPERTY, old, persistable);
- }
-
- protected boolean buildPersistable(CompilationUnit astRoot) {
- return this.getMember().isPersistable(astRoot);
- }
-
- public boolean isPersisted() {
- return this.getMappingAnnotation() != null;
- }
-
- public boolean isFor(String memberName, int occurrence) {
- return this.member.matches(memberName, occurrence);
- }
-
- public boolean isFor(MethodSignature methodSignature, int occurrence) {
- return false;
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return this.fullTextRange(astRoot);
- }
-
- protected TextRange fullTextRange(CompilationUnit astRoot) {
- return getTextRange(this.getMember().getBodyDeclaration(astRoot));
- }
-
- public TextRange getNameTextRange(CompilationUnit astRoot) {
- return this.getMember().getNameTextRange(astRoot);
- }
-
- // ********** update **********
-
- public void update(CompilationUnit astRoot) {
- this.updateAnnotations(astRoot);
- this.setPersistable(this.buildPersistable(astRoot));
- }
-
- protected void updateAnnotations(CompilationUnit astRoot) {
- synchronized (this.mappingAnnotations) {
- synchronized (this.supportingAnnotations) {
- this.updateAnnotations_(astRoot);
- }
- }
- }
-
- protected void updateAnnotations_(CompilationUnit astRoot) {
- HashSet<Annotation> mappingAnnotationsToRemove = new HashSet<Annotation>(this.mappingAnnotations);
- HashSet<Annotation> supportingAnnotationsToRemove = new HashSet<Annotation>(this.supportingAnnotations);
-
- this.getMember().getBodyDeclaration(astRoot).accept(this.buildUpdateAnnotationVisitor(astRoot, mappingAnnotationsToRemove, supportingAnnotationsToRemove));
-
- for (Annotation annotation : mappingAnnotationsToRemove) {
- this.removeMappingAnnotation_(annotation);
- }
- for (Annotation annotation : supportingAnnotationsToRemove) {
- this.removeSupportingAnnotation_(annotation);
- }
- }
-
- protected ASTVisitor buildUpdateAnnotationVisitor(CompilationUnit astRoot, Set<Annotation> mappingAnnotationsToRemove, Set<Annotation> supportingAnnotationsToRemove) {
- return new UpdateAnnotationVisitor(astRoot, this.getMember().getBodyDeclaration(astRoot), mappingAnnotationsToRemove, supportingAnnotationsToRemove);
- }
-
- protected void addOrUpdateAnnotation(org.eclipse.jdt.core.dom.Annotation node, CompilationUnit astRoot, Set<Annotation> mappingAnnotationsToRemove, Set<Annotation> supportingAnnotationsToRemove) {
- String jdtAnnotationName = JDTTools.resolveAnnotation(node);
- if (jdtAnnotationName == null) {
- return;
- }
- if (this.supportingAnnotationIsValid(jdtAnnotationName)) {
- this.addOrUpdateSupportingAnnotation(jdtAnnotationName, astRoot, supportingAnnotationsToRemove);
- return;
- }
- if (this.mappingAnnotationIsValid(jdtAnnotationName)) {
- this.addOrUpdateMappingAnnotation(jdtAnnotationName, astRoot, mappingAnnotationsToRemove);
- return;
- }
- }
-
- protected void addOrUpdateSupportingAnnotation(String jdtAnnotationName, CompilationUnit astRoot, Set<Annotation> supportingAnnotationsToRemove) {
- Annotation annotation = getAnnotation(supportingAnnotationsToRemove, jdtAnnotationName);
- if (annotation != null) {
- annotation.update(astRoot);
- supportingAnnotationsToRemove.remove(annotation);
- } else {
- annotation = this.buildSupportingAnnotation(jdtAnnotationName);
- annotation.initialize(astRoot);
- this.addSupportingAnnotation(annotation);
- }
- }
-
- protected void addOrUpdateMappingAnnotation(String jdtAnnotationName, CompilationUnit astRoot, Set<Annotation> mappingAnnotationsToRemove) {
- Annotation annotation = getAnnotation(mappingAnnotationsToRemove, jdtAnnotationName);
- if (annotation != null) {
- annotation.update(astRoot);
- mappingAnnotationsToRemove.remove(annotation);
- } else {
- annotation = this.buildMappingAnnotation(jdtAnnotationName);
- annotation.initialize(astRoot);
- this.addMappingAnnotation(annotation);
- }
- }
-
- // ********** miscellaneous **********
-
- public void resolveTypes(CompilationUnit astRoot) {
- this.setPersistable(this.buildPersistable(astRoot));
- }
-
- protected E getMember() {
- return this.member;
- }
-
- protected static Annotation getAnnotation(Iterable<Annotation> annotations, String annotationName) {
- return getAnnotation(annotations.iterator(), annotationName);
- }
-
- protected static Annotation getAnnotation(Iterator<Annotation> annotations, String annotationName) {
- while (annotations.hasNext()) {
- Annotation annotation = annotations.next();
- if (annotation.getAnnotationName().equals(annotationName)) {
- return annotation;
- }
- }
- return null;
- }
-
- protected static TextRange getTextRange(ASTNode astNode) {
- return (astNode == null) ? null : new ASTNodeTextRange(astNode);
- }
-
- protected static <T extends JavaResourcePersistentMember> Iterator<T> persistableMembers(Iterator<T> members) {
- return new FilteringIterator<T, T>(members) {
- @Override
- protected boolean accept(T member) {
- return member.isPersistable();
- }
- };
- }
-
- // ********** AST visitor **********
-
- /**
- * annotation visitor
- */
- protected static abstract class AnnotationVisitor extends ASTVisitor {
- private final CompilationUnit astRoot;
- private final BodyDeclaration bodyDeclaration;
-
- protected AnnotationVisitor(CompilationUnit astRoot, BodyDeclaration bodyDeclaration) {
- super();
- this.astRoot = astRoot;
- this.bodyDeclaration = bodyDeclaration;
- }
-
- @Override
- public boolean visit(SingleMemberAnnotation node) {
- return visit_(node);
- }
-
- @Override
- public boolean visit(NormalAnnotation node) {
- return visit_(node);
- }
-
- @Override
- public boolean visit(MarkerAnnotation node) {
- return visit_(node);
- }
-
- protected boolean visit_(org.eclipse.jdt.core.dom.Annotation node) {
- // ignore annotations for child members, only this member
- if (node.getParent() == this.bodyDeclaration) {
- this.visitChildAnnotation(node);
- }
- return false;
- }
-
- protected CompilationUnit getASTRoot() {
- return this.astRoot;
- }
-
- protected abstract void visitChildAnnotation(org.eclipse.jdt.core.dom.Annotation node);
-
- }
-
- /**
- * initial annotation visitor
- */
- protected class InitialAnnotationVisitor extends AnnotationVisitor {
-
- protected InitialAnnotationVisitor(CompilationUnit astRoot, BodyDeclaration bodyDeclaration) {
- super(astRoot, bodyDeclaration);
- }
-
- @Override
- protected void visitChildAnnotation(org.eclipse.jdt.core.dom.Annotation node) {
- AbstractJavaResourcePersistentMember.this.addInitialAnnotation(node, this.getASTRoot());
- }
-
- }
-
- /**
- * update annotation visitor
- */
- protected class UpdateAnnotationVisitor extends AnnotationVisitor {
- protected final Set<Annotation> mappingAnnotationsToRemove;
- protected final Set<Annotation> supportingAnnotationsToRemove;
-
- protected UpdateAnnotationVisitor(CompilationUnit astRoot, BodyDeclaration bodyDeclaration, Set<Annotation> mappingAnnotationsToRemove, Set<Annotation> supportingAnnotationsToRemove) {
- super(astRoot, bodyDeclaration);
- this.mappingAnnotationsToRemove = mappingAnnotationsToRemove;
- this.supportingAnnotationsToRemove = supportingAnnotationsToRemove;
- }
-
- @Override
- protected void visitChildAnnotation(org.eclipse.jdt.core.dom.Annotation node) {
- AbstractJavaResourcePersistentMember.this.addOrUpdateAnnotation(node, this.getASTRoot(), this.mappingAnnotationsToRemove, this.supportingAnnotationsToRemove);
- }
-
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractNamedColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractNamedColumn.java
deleted file mode 100644
index 600f8cb289..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractNamedColumn.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.BooleanExpressionConverter;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.NumberIntegerExpressionConverter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.NamedColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public abstract class AbstractNamedColumn extends AbstractResourceAnnotation<Member> implements NamedColumnAnnotation
-{
- // hold this so we can get the 'name' text range
- private final DeclarationAnnotationElementAdapter<String> nameDeclarationAdapter;
-
- // hold this so we can get the 'columnDefinition' text range
- private final DeclarationAnnotationElementAdapter<String> columnDefinitionDeclarationAdapter;
-
- private final AnnotationElementAdapter<String> nameAdapter;
-
- private final AnnotationElementAdapter<String> columnDefinitionAdapter;
-
- private String name;
- private String columnDefinition;
-
- public AbstractNamedColumn(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
- super(parent, member, daa, annotationAdapter);
- this.nameDeclarationAdapter = this.buildStringElementAdapter(this.getNameElementName());
- this.nameAdapter = this.buildShortCircuitElementAdapter(this.nameDeclarationAdapter);
- this.columnDefinitionDeclarationAdapter = this.buildStringElementAdapter(this.getColumnDefinitionElementName());
- this.columnDefinitionAdapter = this.buildShortCircuitElementAdapter(this.columnDefinitionDeclarationAdapter);
- }
-
- protected DeclarationAnnotationElementAdapter<String> buildStringElementAdapter(String elementName) {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(getDeclarationAnnotationAdapter(), elementName);
- }
-
- protected DeclarationAnnotationElementAdapter<Boolean> buildBooleanElementAdapter(String elementName) {
- return new ConversionDeclarationAnnotationElementAdapter<Boolean>(getDeclarationAnnotationAdapter(), elementName, BooleanExpressionConverter.instance());
- }
-
- protected DeclarationAnnotationElementAdapter<Integer> buildIntegerElementAdapter(String elementName) {
- return new ConversionDeclarationAnnotationElementAdapter<Integer>(getDeclarationAnnotationAdapter(), elementName, NumberIntegerExpressionConverter.instance());
- }
-
- protected AnnotationElementAdapter<String> buildShortCircuitElementAdapter(DeclarationAnnotationElementAdapter<String> daea) {
- return new ShortCircuitAnnotationElementAdapter<String>(getMember(), daea);
- }
-
- protected AnnotationElementAdapter<Boolean> buildShortCircuitBooleanElementAdapter(DeclarationAnnotationElementAdapter<Boolean> daea) {
- return new ShortCircuitAnnotationElementAdapter<Boolean>(getMember(), daea);
- }
-
- protected AnnotationElementAdapter<Integer> buildShortCircuitIntegerElementAdapter(DeclarationAnnotationElementAdapter<Integer> daea) {
- return new ShortCircuitAnnotationElementAdapter<Integer>(getMember(), daea);
- }
-
- protected AnnotationElementAdapter<String> buildShortCircuitStringElementAdapter(String elementName) {
- return this.buildShortCircuitElementAdapter(this.buildStringElementAdapter(elementName));
- }
-
- protected abstract String getNameElementName();
-
- protected abstract String getColumnDefinitionElementName();
-
- public void initialize(CompilationUnit astRoot) {
- this.name = this.name(astRoot);
- this.columnDefinition = this.columnDefinition(astRoot);
- }
-
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- NamedColumnAnnotation oldColumn = (NamedColumnAnnotation) oldAnnotation;
- setName(oldColumn.getName());
- setColumnDefinition(oldColumn.getColumnDefinition());
- }
-
- //************* NamedColumn implementation **************
- public String getName() {
- return this.name;
- }
-
- public void setName(String newName) {
- if (attributeValueHasNotChanged(this.name, newName)) {
- return;
- }
- String oldName = this.name;
- this.name = newName;
- this.nameAdapter.setValue(newName);
- firePropertyChanged(NAME_PROPERTY, oldName, newName);
- }
-
- public String getColumnDefinition() {
- return this.columnDefinition;
- }
-
- public void setColumnDefinition(String newColumnDefinition) {
- if (attributeValueHasNotChanged(this.columnDefinition, newColumnDefinition)) {
- return;
- }
- String oldColumnDefinition = this.columnDefinition;
- this.columnDefinition = newColumnDefinition;
- this.columnDefinitionAdapter.setValue(newColumnDefinition);
- firePropertyChanged(COLUMN_DEFINITION_PROPERTY, oldColumnDefinition, newColumnDefinition);
- }
-
- public TextRange getNameTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.nameDeclarationAdapter, astRoot);
- }
-
- public TextRange getColumnDefinitionTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.columnDefinitionDeclarationAdapter, astRoot);
- }
-
- public boolean nameTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(this.nameDeclarationAdapter, pos, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setName(this.name(astRoot));
- this.setColumnDefinition(this.columnDefinition(astRoot));
- }
-
- protected String name(CompilationUnit astRoot) {
- return this.nameAdapter.getValue(astRoot);
- }
-
- protected String columnDefinition(CompilationUnit astRoot) {
- return this.columnDefinitionAdapter.getValue(astRoot);
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.name);
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractNamedQuery.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractNamedQuery.java
deleted file mode 100644
index 41a8ded84a..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractNamedQuery.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.resource.java.ContainerAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableQueryHint;
-import org.eclipse.jpt.core.resource.java.QueryAnnotation;
-import org.eclipse.jpt.core.resource.java.QueryHintAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Type;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-public abstract class AbstractNamedQuery extends AbstractResourceAnnotation<Type>
- implements QueryAnnotation
-{
- // hold this so we can get the 'name' text range
- private final DeclarationAnnotationElementAdapter<String> nameDeclarationAdapter;
-
- // hold this so we can get the 'query' text range
- private final DeclarationAnnotationElementAdapter<String> queryDeclarationAdapter;
-
- private final AnnotationElementAdapter<String> nameAdapter;
-
- private final AnnotationElementAdapter<String> queryAdapter;
-
- private String name;
-
- private String query;
-
- protected final List<NestableQueryHint> hints;
- private final HintsContainerAnnotation hintsContainerAnnotation;
-
- protected AbstractNamedQuery(JavaResourceNode parent, Type type,DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
- super(parent, type, daa, annotationAdapter);
- this.nameDeclarationAdapter = nameAdapter(daa);
- this.queryDeclarationAdapter = queryAdapter(daa);
- this.nameAdapter = this.buildAdapter(this.nameDeclarationAdapter);
- this.queryAdapter = this.buildAdapter(this.queryDeclarationAdapter);
- this.hints = new ArrayList<NestableQueryHint>();
- this.hintsContainerAnnotation = new HintsContainerAnnotation();
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.name = this.name(astRoot);
- this.query = this.query(astRoot);
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this.hintsContainerAnnotation);
- }
-
-
- // ********** initialization **********
- protected AnnotationElementAdapter<String> buildAdapter(DeclarationAnnotationElementAdapter<String> daea) {
- return new ShortCircuitAnnotationElementAdapter<String>(getMember(), daea);
- }
-
- protected DeclarationAnnotationElementAdapter<String> nameAdapter(DeclarationAnnotationAdapter daa) {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(daa, getNameElementName());
- }
-
- protected DeclarationAnnotationElementAdapter<String> queryAdapter(DeclarationAnnotationAdapter daa) {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(daa, getQueryElementName());
- }
-
- protected abstract String getNameElementName();
-
- protected abstract String getQueryElementName();
-
- /**
- * Return the uniqueConstraints element name
- */
- protected abstract String getHintsElementName();
-
- public String getName() {
- return this.name;
- }
-
- public void setName(String newName) {
- if (attributeValueHasNotChanged(this.name, newName)) {
- return;
- }
- String oldName = this.name;
- this.name = newName;
- this.nameAdapter.setValue(newName);
- firePropertyChanged(NAME_PROPERTY, oldName, newName);
- }
-
- public String getQuery() {
- return this.query;
- }
-
- public void setQuery(String newQuery) {
- if (attributeValueHasNotChanged(this.query, newQuery)) {
- return;
- }
- String oldQuery = this.query;
- this.query = newQuery;
- this.queryAdapter.setValue(newQuery);
- firePropertyChanged(QUERY_PROPERTY, oldQuery, newQuery);
- }
-
- public ListIterator<QueryHintAnnotation> hints() {
- return new CloneListIterator<QueryHintAnnotation>(this.hints);
- }
-
- public int hintsSize() {
- return this.hints.size();
- }
-
- public NestableQueryHint hintAt(int index) {
- return this.hints.get(index);
- }
-
- public int indexOfHint(QueryHintAnnotation queryHint) {
- return this.hints.indexOf(queryHint);
- }
-
- public NestableQueryHint addHint(int index) {
- NestableQueryHint queryHint = (NestableQueryHint) ContainerAnnotationTools.addNestedAnnotation(index, this.hintsContainerAnnotation);
- fireItemAdded(QueryAnnotation.HINTS_LIST, index, queryHint);
- return queryHint;
- }
-
- protected void addHint(int index, NestableQueryHint queryHint) {
- addItemToList(index, queryHint, this.hints, HINTS_LIST);
- }
-
- public void removeHint(int index) {
- NestableQueryHint queryHint = hintAt(index);
- removeHint(queryHint);
- queryHint.removeAnnotation();
- ContainerAnnotationTools.synchAnnotationsAfterRemove(index, this.hintsContainerAnnotation);
- }
-
- protected void removeHint(NestableQueryHint queryHint) {
- removeItemFromList(queryHint, this.hints, HINTS_LIST);
- }
-
- public void moveHint(int targetIndex, int sourceIndex) {
- moveHintInternal(targetIndex, sourceIndex);
- ContainerAnnotationTools.synchAnnotationsAfterMove(targetIndex, sourceIndex, this.hintsContainerAnnotation);
- fireItemMoved(QueryAnnotation.HINTS_LIST, targetIndex, sourceIndex);
- }
-
- protected void moveHintInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.hints, targetIndex, sourceIndex);
- }
-
- public TextRange getNameTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.nameDeclarationAdapter, astRoot);
- }
-
- public TextRange getQueryTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.queryDeclarationAdapter, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setName(this.name(astRoot));
- this.setQuery(this.query(astRoot));
- this.updateQueryHintsFromJava(astRoot);
- }
-
- protected String name(CompilationUnit astRoot) {
- return this.nameAdapter.getValue(astRoot);
- }
-
- protected String query(CompilationUnit astRoot) {
- return this.queryAdapter.getValue(astRoot);
- }
-
- private void updateQueryHintsFromJava(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this.hintsContainerAnnotation);
- }
-
- protected abstract NestableQueryHint createQueryHint(int index);
-
- // ********** persistence model -> java annotations **********
- public IndexedAnnotationAdapter getIndexedAnnotationAdapter() {
- return (IndexedAnnotationAdapter) super.getAnnotationAdapter();
- }
-
- public void moveAnnotation(int newIndex) {
- getIndexedAnnotationAdapter().moveAnnotation(newIndex);
- }
-
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- AbstractNamedQuery oldNamedQuery = (AbstractNamedQuery) oldAnnotation;
- setName(oldNamedQuery.getName());
- setQuery(oldNamedQuery.getQuery());
- for (QueryHintAnnotation queryHint : CollectionTools.iterable(oldNamedQuery.hints())) {
- NestableQueryHint newQueryHint = addHint(oldNamedQuery.indexOfHint(queryHint));
- newQueryHint.initializeFrom((NestableQueryHint) queryHint);
- }
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.name);
- }
-
-
- private class HintsContainerAnnotation extends AbstractJavaResourceNode implements ContainerAnnotation<NestableQueryHint> {
-
- public HintsContainerAnnotation() {
- super(AbstractNamedQuery.this);
- }
-
- public void initialize(CompilationUnit astRoot) {
- // nothing to initialize
- }
-
- public NestableQueryHint add(int index) {
- NestableQueryHint queryHint = AbstractNamedQuery.this.createQueryHint(index);
- AbstractNamedQuery.this.addHint(index, queryHint);
- return queryHint;
- }
-
- public NestableQueryHint addInternal(int index) {
- NestableQueryHint queryHint = AbstractNamedQuery.this.createQueryHint(index);
- AbstractNamedQuery.this.hints.add(index, queryHint);
- return queryHint;
- }
-
- public String getAnnotationName() {
- return AbstractNamedQuery.this.getAnnotationName();
- }
-
- public String getNestableAnnotationName() {
- return JPA.QUERY_HINT;
- }
-
- public int indexOf(NestableQueryHint hint) {
- return AbstractNamedQuery.this.indexOfHint(hint);
- }
-
- public void move(int targetIndex, int sourceIndex) {
- AbstractNamedQuery.this.moveHint(targetIndex, sourceIndex);
- }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- AbstractNamedQuery.this.moveHintInternal(targetIndex, sourceIndex);
- }
-
- public NestableQueryHint nestedAnnotationAt(int index) {
- return AbstractNamedQuery.this.hintAt(index);
- }
-
- public NestableQueryHint nestedAnnotationFor(Annotation jdtAnnotation) {
- for (NestableQueryHint uniqueConstraint : CollectionTools.iterable(nestedAnnotations())) {
- if (jdtAnnotation == uniqueConstraint.getJdtAnnotation((CompilationUnit) jdtAnnotation.getRoot())) {
- return uniqueConstraint;
- }
- }
- return null;
- }
-
- public ListIterator<NestableQueryHint> nestedAnnotations() {
- return new CloneListIterator<NestableQueryHint>(AbstractNamedQuery.this.hints);
- }
-
- public int nestedAnnotationsSize() {
- return AbstractNamedQuery.this.hintsSize();
- }
-
- public void remove(NestableQueryHint queryHint) {
- AbstractNamedQuery.this.removeHint(queryHint);
- }
-
- public void remove(int index) {
- AbstractNamedQuery.this.removeHint(nestedAnnotationAt(index));
- }
-
- public Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return AbstractNamedQuery.this.getJdtAnnotation(astRoot);
- }
-
- public void newAnnotation() {
- AbstractNamedQuery.this.newAnnotation();
- }
-
- public void removeAnnotation() {
- AbstractNamedQuery.this.removeAnnotation();
- }
-
- public void update(CompilationUnit astRoot) {
- AbstractNamedQuery.this.update(astRoot);
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return AbstractNamedQuery.this.getTextRange(astRoot);
- }
-
- public String getElementName() {
- return "hints";
- }
-
- @Override
- public void toString(StringBuilder sb) {
- AbstractNamedQuery.this.toString(sb);
- }
-
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractRelationshipMappingAnnotation.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractRelationshipMappingAnnotation.java
deleted file mode 100644
index f7a7c6f3df..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractRelationshipMappingAnnotation.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.EnumArrayDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.EnumDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.JDTTools;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitArrayAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleTypeStringExpressionConverter;
-import org.eclipse.jpt.core.resource.java.CascadeType;
-import org.eclipse.jpt.core.resource.java.FetchType;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.core.resource.java.RelationshipMappingAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.ExpressionConverter;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-
-
-public abstract class AbstractRelationshipMappingAnnotation extends AbstractResourceAnnotation<Attribute> implements RelationshipMappingAnnotation
-{
- // hold this so we can get the 'targetEntity' text range
- private final DeclarationAnnotationElementAdapter<String> targetEntityDeclarationAdapter;
-
- // hold this so we can get the 'fetch' text range
- private final DeclarationAnnotationElementAdapter<String> fetchDeclarationAdapter;
-
- // hold this so we can get the 'cascade' text range
- private final DeclarationAnnotationElementAdapter<String[]> cascadeDeclarationAdapter;
-
- private final AnnotationElementAdapter<String> targetEntityAdapter;
-
- private final AnnotationElementAdapter<String> fetchAdapter;
-
- private final AnnotationElementAdapter<String[]> cascadeAdapter;
-
- private String targetEntity;
-
- private String fullyQualifiedTargetEntity;
-
- private FetchType fetch;
-
- protected boolean cascadeAll;
-
- protected boolean cascadePersist;
-
- protected boolean cascadeMerge;
-
- protected boolean cascadeRemove;
-
- protected boolean cascadeRefresh;
-
-
- public AbstractRelationshipMappingAnnotation(JavaResourcePersistentAttribute parent, Attribute attribute, DeclarationAnnotationAdapter daa) {
- super(parent, attribute, daa);
- this.targetEntityDeclarationAdapter = getTargetEntityAdapter();
- this.targetEntityAdapter = buildAnnotationElementAdapter(this.targetEntityDeclarationAdapter);
- this.fetchDeclarationAdapter = getFetchAdapter();
- this.fetchAdapter = buildAnnotationElementAdapter(this.fetchDeclarationAdapter);
- this.cascadeDeclarationAdapter = getCascadeAdapter();
- this.cascadeAdapter = new ShortCircuitArrayAnnotationElementAdapter<String>(attribute, this.cascadeDeclarationAdapter);
- }
-
- protected AnnotationElementAdapter<String> buildAnnotationElementAdapter(DeclarationAnnotationElementAdapter<String> daea) {
- return new ShortCircuitAnnotationElementAdapter<String>(this.getMember(), daea);
- }
-
- protected AnnotationElementAdapter<Boolean> buildBooleanAnnotationElementAdapter(DeclarationAnnotationElementAdapter<Boolean> daea) {
- return new ShortCircuitAnnotationElementAdapter<Boolean>(this.getMember(), daea);
- }
-
- /**
- * return the Java adapter's 'targetEntity' element adapter config
- */
- protected abstract DeclarationAnnotationElementAdapter<String> getTargetEntityAdapter();
-
- /**
- * return the Java adapter's 'cascade' element adapter config
- */
- protected abstract DeclarationAnnotationElementAdapter<String[]> getCascadeAdapter();
-
- /**
- * return the Java adapter's 'fetch' element adapter config
- */
- protected abstract DeclarationAnnotationElementAdapter<String> getFetchAdapter();
-
- public void initialize(CompilationUnit astRoot) {
- this.targetEntity = this.targetEntity(astRoot);
- this.fullyQualifiedTargetEntity = this.fullyQualifiedTargetEntity(astRoot);
- this.fetch = this.fetch(astRoot);
- this.initializeCascadeTypes(astRoot);
- }
-
- protected void initializeCascadeTypes(CompilationUnit astRoot) {
- String[] javaValue = this.cascadeAdapter.getValue(astRoot);
- CascadeType[] cascadeTypes = CascadeType.fromJavaAnnotationValue(javaValue);
-
- this.cascadeAll = CollectionTools.contains(cascadeTypes, CascadeType.ALL);
- this.cascadeMerge = CollectionTools.contains(cascadeTypes, CascadeType.MERGE);
- this.cascadePersist = CollectionTools.contains(cascadeTypes, CascadeType.PERSIST);
- this.cascadeRefresh = CollectionTools.contains(cascadeTypes, CascadeType.REFRESH);
- this.cascadeRemove = CollectionTools.contains(cascadeTypes, CascadeType.REMOVE);
- }
-
- public String getTargetEntity() {
- return this.targetEntity;
- }
-
- public void setTargetEntity(String newTargetEntity) {
- if (attributeValueHasNotChanged(this.targetEntity, newTargetEntity)) {
- return;
- }
- String oldTargetEntity = this.targetEntity;
- this.targetEntity = newTargetEntity;
- this.targetEntityAdapter.setValue(newTargetEntity);
- firePropertyChanged(TARGET_ENTITY_PROPERTY, oldTargetEntity, newTargetEntity);
- }
-
- public String getFullyQualifiedTargetEntity() {
- return this.fullyQualifiedTargetEntity;
- }
-
- protected void setFullyQualifiedTargetEntity(String newTargetEntity) {
- String oldTargetEntity = this.fullyQualifiedTargetEntity;
- this.fullyQualifiedTargetEntity = newTargetEntity;
- firePropertyChanged(FULLY_QUALFIEID_TARGET_ENTITY_PROPERTY, oldTargetEntity, newTargetEntity);
- }
-
- public FetchType getFetch() {
- return this.fetch;
- }
-
- public void setFetch(FetchType newFetch) {
- if (attributeValueHasNotChanged(this.fetch, newFetch)) {
- return;
- }
- FetchType oldFetch = this.fetch;
- this.fetch = newFetch;
- this.fetchAdapter.setValue(FetchType.toJavaAnnotationValue(newFetch));
- firePropertyChanged(FETCH_PROPERTY, oldFetch, newFetch);
- }
-
- public boolean isCascadeAll() {
- return this.cascadeAll;
- }
-
- public void setCascadeAll(boolean newCascadeAll) {
- if (this.cascadeAll == newCascadeAll) {
- return;
- }
- boolean oldCascadeAll = this.cascadeAll;
- this.cascadeAll = newCascadeAll;
- setCascade(newCascadeAll, CascadeType.ALL);
- firePropertyChanged(CASCADE_ALL_PROPERTY, oldCascadeAll, newCascadeAll);
- }
-
- public boolean isCascadePersist() {
- return this.cascadePersist;
- }
-
- public void setCascadePersist(boolean newCascadePersist) {
- if (this.cascadePersist == newCascadePersist) {
- return;
- }
- boolean oldCascadePersist = this.cascadePersist;
- this.cascadePersist = newCascadePersist;
- setCascade(newCascadePersist, CascadeType.PERSIST);
- firePropertyChanged(CASCADE_PERSIST_PROPERTY, oldCascadePersist, newCascadePersist);
- }
-
- public boolean isCascadeMerge() {
- return this.cascadeMerge;
- }
-
- public void setCascadeMerge(boolean newCascadeMerge) {
- if (this.cascadeMerge == newCascadeMerge) {
- return;
- }
- boolean oldCascadeMerge = this.cascadeMerge;
- this.cascadeMerge = newCascadeMerge;
- setCascade(newCascadeMerge, CascadeType.MERGE);
- firePropertyChanged(CASCADE_MERGE_PROPERTY, oldCascadeMerge, newCascadeMerge);
- }
-
- public boolean isCascadeRemove() {
- return this.cascadeRemove;
- }
-
- public void setCascadeRemove(boolean newCascadeRemove) {
- if (this.cascadeRemove == newCascadeRemove) {
- return;
- }
- boolean oldCascadeRemove = this.cascadeRemove;
- this.cascadeRemove = newCascadeRemove;
- setCascade(newCascadeRemove, CascadeType.REMOVE);
- firePropertyChanged(CASCADE_REMOVE_PROPERTY, oldCascadeRemove, newCascadeRemove);
- }
-
- public boolean isCascadeRefresh() {
- return this.cascadeRefresh;
- }
-
- public void setCascadeRefresh(boolean newCascadeRefresh) {
- if (this.cascadeRefresh == newCascadeRefresh) {
- return;
- }
- boolean oldCascadeRefresh = this.cascadeRefresh;
- this.cascadeRefresh = newCascadeRefresh;
- setCascade(newCascadeRefresh, CascadeType.REFRESH);
- firePropertyChanged(CASCADE_REFRESH_PROPERTY, oldCascadeRefresh, newCascadeRefresh);
- }
-
- private void setCascadeTypes(CascadeType[] cascadeTypes) {
- String[] newJavaValue = CascadeType.toJavaAnnotationValue(cascadeTypes);
- this.cascadeAdapter.setValue(newJavaValue);
- }
-
- private void setCascade(boolean isSet, CascadeType cascadeType) {
- String[] javaValue = this.cascadeAdapter.getValue();
- CascadeType[] cascadeTypes = CascadeType.fromJavaAnnotationValue(javaValue);
- List<CascadeType> cascadeCollection = CollectionTools.list(cascadeTypes);
-
- if (cascadeCollection.contains(cascadeType)) {
- if (!isSet) {
- cascadeCollection.remove(cascadeType);
- setCascadeTypes(cascadeCollection.toArray(new CascadeType[cascadeCollection.size()]));
- }
- }
- else {
- if (isSet) {
- cascadeCollection.add(cascadeType);
- setCascadeTypes(cascadeCollection.toArray(new CascadeType[cascadeCollection.size()]));
- }
- }
- }
-
- public TextRange getTargetEntityTextRange(CompilationUnit astRoot) {
- return getElementTextRange(this.targetEntityDeclarationAdapter, astRoot);
- }
-
- public TextRange getFetchTextRange(CompilationUnit astRoot) {
- return getElementTextRange(this.fetchDeclarationAdapter, astRoot);
- }
-
- public TextRange getCascadeTextRange(CompilationUnit astRoot) {
- return getElementTextRange(this.cascadeDeclarationAdapter, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setFetch(this.fetch(astRoot));
- this.setTargetEntity(this.targetEntity(astRoot));
- this.setFullyQualifiedTargetEntity(this.fullyQualifiedTargetEntity(astRoot));
- this.updateCascadeFromJava(astRoot);
- }
-
- protected FetchType fetch(CompilationUnit astRoot) {
- return FetchType.fromJavaAnnotationValue(this.fetchAdapter.getValue(astRoot));
- }
-
- protected String targetEntity(CompilationUnit astRoot) {
- return this.targetEntityAdapter.getValue(astRoot);
- }
-
- private void updateCascadeFromJava(CompilationUnit astRoot) {
- String[] javaValue = this.cascadeAdapter.getValue(astRoot);
- CascadeType[] cascadeTypes = CascadeType.fromJavaAnnotationValue(javaValue);
- setCascadeAll(CollectionTools.contains(cascadeTypes, CascadeType.ALL));
- setCascadeMerge(CollectionTools.contains(cascadeTypes, CascadeType.MERGE));
- setCascadePersist(CollectionTools.contains(cascadeTypes, CascadeType.PERSIST));
- setCascadeRefresh(CollectionTools.contains(cascadeTypes, CascadeType.REFRESH));
- setCascadeRemove(CollectionTools.contains(cascadeTypes, CascadeType.REMOVE));
- }
-
- private String fullyQualifiedTargetEntity(CompilationUnit astRoot) {
- if (getTargetEntity() == null) {
- return null;
- }
- return JDTTools.resolveFullyQualifiedName(this.targetEntityAdapter.getExpression(astRoot));
- }
-
- // ********** static methods **********
-
- protected static DeclarationAnnotationElementAdapter<String> buildTargetEntityAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
- // TODO what about QualifiedType?
- return buildAnnotationElementAdapter(annotationAdapter, elementName, SimpleTypeStringExpressionConverter.instance());
- }
-
- protected static DeclarationAnnotationElementAdapter<String> buildAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName, ExpressionConverter<String> converter) {
- return new ConversionDeclarationAnnotationElementAdapter<String>(annotationAdapter, elementName, false, converter);
- }
-
- protected static DeclarationAnnotationElementAdapter<String> buildFetchAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
- return new EnumDeclarationAnnotationElementAdapter(annotationAdapter, elementName, false);
- }
-
- protected static DeclarationAnnotationElementAdapter<String[]> buildEnumArrayAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
- return new EnumArrayDeclarationAnnotationElementAdapter(annotationAdapter, elementName, false);
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractResourceAnnotation.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractResourceAnnotation.java
deleted file mode 100644
index acf1790ccc..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractResourceAnnotation.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.core.internal.utility.jdt.ASTNodeTextRange;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public abstract class AbstractResourceAnnotation<E extends Member>
- extends AbstractJavaResourceNode
- implements Annotation
-{
- private final E member;
-
- private final DeclarationAnnotationAdapter daa;
-
- private final AnnotationAdapter annotationAdapter;
-
- protected AbstractResourceAnnotation(JavaResourceNode parent, E member, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
- super(parent);
- this.member = member;
- this.daa = daa;
- this.annotationAdapter = annotationAdapter;
- }
-
- public E getMember() {
- return this.member;
- }
-
- protected AbstractResourceAnnotation(JavaResourceNode parent, E member, DeclarationAnnotationAdapter daa) {
- this(parent, member, daa, new MemberAnnotationAdapter(member, daa));
- }
-
-
- public AnnotationAdapter getAnnotationAdapter() {
- return this.annotationAdapter;
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return getAnnotationAdapter().getAnnotation(astRoot);
- }
-
- public DeclarationAnnotationAdapter getDeclarationAnnotationAdapter() {
- return this.daa;
- }
-
- public void removeAnnotation() {
- getAnnotationAdapter().removeAnnotation();
- }
-
- public void newAnnotation() {
- getAnnotationAdapter().newMarkerAnnotation();
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return getAnnotationTextRange(astRoot);
- }
-
- protected TextRange getTextRange(ASTNode astNode) {
- return (astNode == null) ? null : new ASTNodeTextRange(astNode);
- }
-
- /**
- * Return the text range corresponding to the specified annotation.
- * If the annotation is missing, return null.
- */
- protected TextRange getAnnotationTextRange(CompilationUnit astRoot) {
- return this.getTextRange(getAnnotation(astRoot));
- }
-
- protected org.eclipse.jdt.core.dom.Annotation getAnnotation(CompilationUnit astRoot) {
- return this.daa.getAnnotation(getMember().getModifiedDeclaration(astRoot));
-
- }
-
- protected Expression getAnnotationElementExpression(DeclarationAnnotationElementAdapter<?> adapter, CompilationUnit astRoot) {
- return adapter.getExpression(getMember().getModifiedDeclaration(astRoot));
- }
-
- protected TextRange getAnnotationElementTextRange(DeclarationAnnotationElementAdapter<?> adapter, CompilationUnit astRoot) {
- return this.getTextRange(getAnnotationElementExpression(adapter, astRoot));
-
- }
-
- /**
- * Convenience method. If the specified element is missing
- * return the member's text range instead.
- */
- protected TextRange getElementTextRange(DeclarationAnnotationElementAdapter<?> elementAdapter, CompilationUnit astRoot) {
- return this.getElementTextRange(getAnnotationElementTextRange(elementAdapter, astRoot), astRoot);
- }
-
- /**
- * Convenience method. If the specified element text range is null
- * return the member's text range instead.
- */
- protected TextRange getElementTextRange(TextRange elementTextRange, CompilationUnit astRoot) {
- return (elementTextRange != null) ? elementTextRange : this.getTextRange(astRoot);
- }
-
- /**
- * Convenience method. Return whether the specified position touches the element.
- * Returns false if the element does not exist
- */
- protected boolean elementTouches(DeclarationAnnotationElementAdapter<?> elementAdapter, int pos, CompilationUnit astRoot) {
- return this.elementTouches(getAnnotationElementTextRange(elementAdapter, astRoot), pos);
- }
-
- /**
- * Convenience method. Return whether element's text range is not
- * null (meaning the element exists) and the specified position touches it.
- */
- protected boolean elementTouches(TextRange elementTextRange, int pos) {
- return (elementTextRange != null) && elementTextRange.touches(pos);
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.getAnnotationName());
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractResourceTable.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractResourceTable.java
deleted file mode 100644
index eedd6f999c..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractResourceTable.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.resource.java.ContainerAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.NestableUniqueConstraint;
-import org.eclipse.jpt.core.resource.java.TableAnnotation;
-import org.eclipse.jpt.core.resource.java.UniqueConstraintAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-public abstract class AbstractResourceTable extends AbstractResourceAnnotation<Member> implements TableAnnotation
-{
- // hold this so we can get the 'name' text range
- private final DeclarationAnnotationElementAdapter<String> nameDeclarationAdapter;
-
- // hold this so we can get the 'schema' text range
- private final DeclarationAnnotationElementAdapter<String> schemaDeclarationAdapter;
-
- // hold this so we can get the 'catalog' text range
- private final DeclarationAnnotationElementAdapter<String> catalogDeclarationAdapter;
-
- private final AnnotationElementAdapter<String> nameAdapter;
-
- private final AnnotationElementAdapter<String> schemaAdapter;
-
- private final AnnotationElementAdapter<String> catalogAdapter;
-
- private String name;
-
- private String catalog;
-
- private String schema;
-
- final List<NestableUniqueConstraint> uniqueConstraints;
-
- private final UniqueConstraintsContainerAnnotation uniqueConstraintsContainerAnnotation;
-
- protected AbstractResourceTable(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
- super(parent, member, daa, annotationAdapter);
- this.nameDeclarationAdapter = this.getNameAdapter(daa);
- this.schemaDeclarationAdapter = this.getSchemaAdapter(daa);
- this.catalogDeclarationAdapter = this.getCatalogAdapter(daa);
- this.nameAdapter = buildAnnotationElementAdapter(this.nameDeclarationAdapter);
- this.schemaAdapter = buildAnnotationElementAdapter(this.schemaDeclarationAdapter);
- this.catalogAdapter = buildAnnotationElementAdapter(this.catalogDeclarationAdapter);
- this.uniqueConstraints = new ArrayList<NestableUniqueConstraint>();
- this.uniqueConstraintsContainerAnnotation = new UniqueConstraintsContainerAnnotation();
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.name = this.name(astRoot);
- this.catalog = this.catalog(astRoot);
- this.schema = this.schema(astRoot);
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this.uniqueConstraintsContainerAnnotation);
- }
-
- protected AnnotationElementAdapter<String> buildAnnotationElementAdapter(DeclarationAnnotationElementAdapter<String> daea) {
- return new ShortCircuitAnnotationElementAdapter<String>(this.getMember(), daea);
- }
-
- /**
- * Build and return a declaration element adapter for the table's 'name' element
- */
- protected abstract DeclarationAnnotationElementAdapter<String> getNameAdapter(DeclarationAnnotationAdapter declarationAnnotationAdapter);
-
- /**
- * Build and return a declaration element adapter for the table's 'schema' element
- */
- protected abstract DeclarationAnnotationElementAdapter<String> getSchemaAdapter(DeclarationAnnotationAdapter declarationAnnotationAdapter);
-
- /**
- * Build and return a declaration element adapter for the table's 'catalog' element
- */
- protected abstract DeclarationAnnotationElementAdapter<String> getCatalogAdapter(DeclarationAnnotationAdapter declarationAnnotationAdapter);
-
- /**
- * Return the uniqueConstraints element name
- */
- protected abstract String getUniqueConstraintsElementName();
-
- public String getName() {
- return this.name;
- }
-
- public void setName(String newName) {
- if (attributeValueHasNotChanged(this.name, newName)) {
- return;
- }
- String oldName = this.name;
- this.name = newName;
- this.nameAdapter.setValue(newName);
- firePropertyChanged(NAME_PROPERTY, oldName, newName);
- }
-
- public String getCatalog() {
- return this.catalog;
- }
-
- public void setCatalog(String newCatalog) {
- if (attributeValueHasNotChanged(this.catalog, newCatalog)) {
- return;
- }
- String oldCatalog = this.catalog;
- this.catalog = newCatalog;
- this.catalogAdapter.setValue(newCatalog);
- firePropertyChanged(CATALOG_PROPERTY, oldCatalog, newCatalog);
- }
-
- public String getSchema() {
- return this.schema;
- }
-
- public void setSchema(String newSchema) {
- if (attributeValueHasNotChanged(this.schema, newSchema)) {
- return;
- }
- String oldSchema = this.schema;
- this.schema = newSchema;
- this.schemaAdapter.setValue(newSchema);
- firePropertyChanged(SCHEMA_PROPERTY, oldSchema, newSchema);
- }
-
- public ListIterator<UniqueConstraintAnnotation> uniqueConstraints() {
- return new CloneListIterator<UniqueConstraintAnnotation>(this.uniqueConstraints);
- }
-
- public int uniqueConstraintsSize() {
- return this.uniqueConstraints.size();
- }
-
- public NestableUniqueConstraint uniqueConstraintAt(int index) {
- return this.uniqueConstraints.get(index);
- }
-
- public int indexOfUniqueConstraint(UniqueConstraintAnnotation uniqueConstraint) {
- return this.uniqueConstraints.indexOf(uniqueConstraint);
- }
-
- public NestableUniqueConstraint addUniqueConstraint(int index) {
- NestableUniqueConstraint uniqueConstraint = (NestableUniqueConstraint) ContainerAnnotationTools.addNestedAnnotation(index, this.uniqueConstraintsContainerAnnotation);
- fireItemAdded(TableAnnotation.UNIQUE_CONSTRAINTS_LIST, index, uniqueConstraint);
- return uniqueConstraint;
- }
-
- protected void addUniqueConstraint(int index, NestableUniqueConstraint uniqueConstraint) {
- addItemToList(index, uniqueConstraint, this.uniqueConstraints, UNIQUE_CONSTRAINTS_LIST);
- }
-
- public void removeUniqueConstraint(int index) {
- NestableUniqueConstraint uniqueConstraint = this.uniqueConstraintAt(index);
- removeUniqueConstraint(uniqueConstraint);
- uniqueConstraint.removeAnnotation();
- ContainerAnnotationTools.synchAnnotationsAfterRemove(index, this.uniqueConstraintsContainerAnnotation);
- }
-
- protected void removeUniqueConstraint(NestableUniqueConstraint uniqueConstraint) {
- removeItemFromList(uniqueConstraint, this.uniqueConstraints, UNIQUE_CONSTRAINTS_LIST);
- }
-
- public void moveUniqueConstraint(int targetIndex, int sourceIndex) {
- moveUniqueConstraintInternal(targetIndex, sourceIndex);
- ContainerAnnotationTools.synchAnnotationsAfterMove(targetIndex, sourceIndex, this.uniqueConstraintsContainerAnnotation);
- fireItemMoved(TableAnnotation.UNIQUE_CONSTRAINTS_LIST, targetIndex, sourceIndex);
- }
-
- protected void moveUniqueConstraintInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.uniqueConstraints, targetIndex, sourceIndex);
- }
-
- protected abstract NestableUniqueConstraint createUniqueConstraint(int index);
-
- public TextRange getNameTextRange(CompilationUnit astRoot) {
- return getElementTextRange(this.nameDeclarationAdapter, astRoot);
- }
-
- public TextRange getSchemaTextRange(CompilationUnit astRoot) {
- return getElementTextRange(this.schemaDeclarationAdapter, astRoot);
- }
-
- public TextRange getCatalogTextRange(CompilationUnit astRoot) {
- return getElementTextRange(this.catalogDeclarationAdapter, astRoot);
- }
-
- public boolean nameTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(this.nameDeclarationAdapter, pos, astRoot);
- }
-
- public boolean catalogTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(this.catalogDeclarationAdapter, pos, astRoot);
- }
-
- public boolean schemaTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(this.schemaDeclarationAdapter, pos, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setName(this.name(astRoot));
- this.setSchema(this.schema(astRoot));
- this.setCatalog(this.catalog(astRoot));
- this.updateUniqueConstraintsFromJava(astRoot);
- }
-
- protected String name(CompilationUnit astRoot) {
- return this.nameAdapter.getValue(astRoot);
- }
-
- protected String schema(CompilationUnit astRoot) {
- return this.schemaAdapter.getValue(astRoot);
- }
-
- protected String catalog(CompilationUnit astRoot) {
- return this.catalogAdapter.getValue(astRoot);
- }
-
- /**
- * here we just worry about getting the unique constraints lists the same size;
- * then we delegate to the unique constraints to synch themselves up
- */
- private void updateUniqueConstraintsFromJava(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this.uniqueConstraintsContainerAnnotation);
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.name);
- }
-
-
- private class UniqueConstraintsContainerAnnotation extends AbstractJavaResourceNode
- implements ContainerAnnotation<NestableUniqueConstraint>
- {
- public UniqueConstraintsContainerAnnotation() {
- super(AbstractResourceTable.this);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //nothing to initialize
- }
-
- public NestableUniqueConstraint addInternal(int index) {
- NestableUniqueConstraint uniqueConstraint = AbstractResourceTable.this.createUniqueConstraint(index);
- AbstractResourceTable.this.uniqueConstraints.add(index, uniqueConstraint);
- return uniqueConstraint;
- }
-
- public NestableUniqueConstraint add(int index) {
- NestableUniqueConstraint uniqueConstraint = AbstractResourceTable.this.createUniqueConstraint(index);
- AbstractResourceTable.this.addUniqueConstraint(index, uniqueConstraint);
- return uniqueConstraint;
- }
-
- public String getAnnotationName() {
- return AbstractResourceTable.this.getAnnotationName();
- }
-
- public String getNestableAnnotationName() {
- return JPA.UNIQUE_CONSTRAINT;
- }
-
- public int indexOf(NestableUniqueConstraint uniqueConstraint) {
- return AbstractResourceTable.this.indexOfUniqueConstraint(uniqueConstraint);
- }
-
- public void move(int targetIndex, int sourceIndex) {
- AbstractResourceTable.this.moveUniqueConstraint(targetIndex, sourceIndex);
- }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- AbstractResourceTable.this.moveUniqueConstraintInternal(targetIndex, sourceIndex);
- }
-
- public NestableUniqueConstraint nestedAnnotationAt(int index) {
- return AbstractResourceTable.this.uniqueConstraintAt(index);
- }
-
- public NestableUniqueConstraint nestedAnnotationFor(Annotation jdtAnnotation) {
- for (NestableUniqueConstraint uniqueConstraint : CollectionTools.iterable(nestedAnnotations())) {
- if (jdtAnnotation == uniqueConstraint.getJdtAnnotation((CompilationUnit) jdtAnnotation.getRoot())) {
- return uniqueConstraint;
- }
- }
- return null;
- }
-
- public ListIterator<NestableUniqueConstraint> nestedAnnotations() {
- return new CloneListIterator<NestableUniqueConstraint>(AbstractResourceTable.this.uniqueConstraints);
- }
-
- public int nestedAnnotationsSize() {
- return AbstractResourceTable.this.uniqueConstraintsSize();
- }
-
- public void remove(NestableUniqueConstraint uniqueConstraint) {
- AbstractResourceTable.this.removeUniqueConstraint(uniqueConstraint);
- }
-
- public void remove(int index) {
- this.remove(nestedAnnotationAt(index));
- }
-
- public Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return AbstractResourceTable.this.getJdtAnnotation(astRoot);
- }
-
- public void newAnnotation() {
- AbstractResourceTable.this.newAnnotation();
- }
-
- public void removeAnnotation() {
- AbstractResourceTable.this.removeAnnotation();
- }
-
- public void update(CompilationUnit astRoot) {
- AbstractResourceTable.this.update(astRoot);
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return AbstractResourceTable.this.getTextRange(astRoot);
- }
-
- public String getElementName() {
- return AbstractResourceTable.this.getUniqueConstraintsElementName();
- }
-
- @Override
- public void toString(StringBuilder sb) {
- AbstractResourceTable.this.toString(sb);
- }
-
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AssociationOverrideImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AssociationOverrideImpl.java
deleted file mode 100644
index 6fe77cebf0..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AssociationOverrideImpl.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberIndexedAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.NestedIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.AssociationOverrideAnnotation;
-import org.eclipse.jpt.core.resource.java.ContainerAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.JoinColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableAssociationOverride;
-import org.eclipse.jpt.core.resource.java.NestableJoinColumn;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-public class AssociationOverrideImpl
- extends OverrideImpl
- implements NestableAssociationOverride
-{
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- protected final List<NestableJoinColumn> joinColumns;
-
- private final JoinColumnsContainerAnnotation joinColumnsContainerAnnotation;
-
- protected AssociationOverrideImpl(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
- super(parent, member, daa, annotationAdapter);
- this.joinColumns = new ArrayList<NestableJoinColumn>();
- this.joinColumnsContainerAnnotation = new JoinColumnsContainerAnnotation();
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this.joinColumnsContainerAnnotation);
- }
-
- public String getAnnotationName() {
- return AssociationOverrideAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- super.initializeFrom(oldAnnotation);
- AssociationOverrideAnnotation oldAssociationOverride = (AssociationOverrideAnnotation) oldAnnotation;
- for (JoinColumnAnnotation joinColumn : CollectionTools.iterable(oldAssociationOverride.joinColumns())) {
- NestableJoinColumn newJoinColumn = addJoinColumn(oldAssociationOverride.indexOfJoinColumn(joinColumn));
- newJoinColumn.initializeFrom((NestableAnnotation) joinColumn);
- }
- }
-
-
- // ************* Association implementation *******************
-
- public ListIterator<JoinColumnAnnotation> joinColumns() {
- return new CloneListIterator<JoinColumnAnnotation>(this.joinColumns);
- }
-
- public int joinColumnsSize() {
- return this.joinColumns.size();
- }
-
- public NestableJoinColumn joinColumnAt(int index) {
- return this.joinColumns.get(index);
- }
-
- public int indexOfJoinColumn(JoinColumnAnnotation joinColumn) {
- return this.joinColumns.indexOf(joinColumn);
- }
-
- public NestableJoinColumn addJoinColumn(int index) {
- NestableJoinColumn joinColumn = (NestableJoinColumn) ContainerAnnotationTools.addNestedAnnotation(index, this.joinColumnsContainerAnnotation);
- fireItemAdded(AssociationOverrideAnnotation.JOIN_COLUMNS_LIST, index, joinColumn);
- return joinColumn;
- }
-
- protected void addJoinColumn(int index, NestableJoinColumn joinColumn) {
- addItemToList(index, joinColumn, this.joinColumns, AssociationOverrideAnnotation.JOIN_COLUMNS_LIST);
- }
-
- public void removeJoinColumn(int index) {
- NestableJoinColumn joinColumn = this.joinColumns.get(index);
- removeJoinColumn(joinColumn);
- joinColumn.removeAnnotation();
- ContainerAnnotationTools.synchAnnotationsAfterRemove(index, this.joinColumnsContainerAnnotation);
- }
-
- protected void removeJoinColumn(NestableJoinColumn joinColumn) {
- removeItemFromList(joinColumn, this.joinColumns, AssociationOverrideAnnotation.JOIN_COLUMNS_LIST);
- }
-
- public void moveJoinColumn(int targetIndex, int sourceIndex) {
- moveJoinColumnInternal(targetIndex, sourceIndex);
- ContainerAnnotationTools.synchAnnotationsAfterMove(targetIndex, sourceIndex, this.joinColumnsContainerAnnotation);
- fireItemMoved(AssociationOverrideAnnotation.JOIN_COLUMNS_LIST, targetIndex, sourceIndex);
- }
-
- protected void moveJoinColumnInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.joinColumns, targetIndex, sourceIndex);
- }
-
- protected NestableJoinColumn createJoinColumn(int index) {
- return JoinColumnImpl.createAssociationOverrideJoinColumn(getDeclarationAnnotationAdapter(), this, getMember(), index);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.updateJoinColumnsFromJava(astRoot);
- }
-
- private void updateJoinColumnsFromJava(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this.joinColumnsContainerAnnotation);
- }
-
-
- // ********** static methods **********
- static AssociationOverrideImpl createAssociationOverride(JavaResourceNode parent, Member member) {
- return new AssociationOverrideImpl(parent, member, DECLARATION_ANNOTATION_ADAPTER, new MemberAnnotationAdapter(member, DECLARATION_ANNOTATION_ADAPTER));
- }
-
- static AssociationOverrideImpl createNestedAssociationOverride(JavaResourceNode parent, Member member, int index, DeclarationAnnotationAdapter attributeOverridesAdapter) {
- IndexedDeclarationAnnotationAdapter idaa = buildNestedDeclarationAnnotationAdapter(index, attributeOverridesAdapter);
- IndexedAnnotationAdapter annotationAdapter = new MemberIndexedAnnotationAdapter(member, idaa);
- return new AssociationOverrideImpl(parent, member, idaa, annotationAdapter);
- }
-
- private static IndexedDeclarationAnnotationAdapter buildNestedDeclarationAnnotationAdapter(int index, DeclarationAnnotationAdapter attributeOverridesAdapter) {
- return new NestedIndexedDeclarationAnnotationAdapter(attributeOverridesAdapter, index, JPA.ASSOCIATION_OVERRIDE);
- }
-
- private class JoinColumnsContainerAnnotation extends AbstractJavaResourceNode
- implements ContainerAnnotation<NestableJoinColumn>
- {
- public JoinColumnsContainerAnnotation() {
- super(AssociationOverrideImpl.this);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //nothing to initialize
- }
-
- public NestableJoinColumn addInternal(int index) {
- NestableJoinColumn joinColumn = AssociationOverrideImpl.this.createJoinColumn(index);
- AssociationOverrideImpl.this.joinColumns.add(index, joinColumn);
- return joinColumn;
- }
-
- public NestableJoinColumn add(int index) {
- NestableJoinColumn joinColumn = AssociationOverrideImpl.this.createJoinColumn(index);
- AssociationOverrideImpl.this.addJoinColumn(index, joinColumn);
- return joinColumn;
- }
-
- public int indexOf(NestableJoinColumn pkJoinColumn) {
- return AssociationOverrideImpl.this.indexOfJoinColumn(pkJoinColumn);
- }
-
- public void move(int targetIndex, int sourceIndex) {
- AssociationOverrideImpl.this.moveJoinColumn(targetIndex, sourceIndex);
- }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- AssociationOverrideImpl.this.moveJoinColumnInternal(targetIndex, sourceIndex);
- }
-
- public NestableJoinColumn nestedAnnotationAt(int index) {
- return AssociationOverrideImpl.this.joinColumnAt(index);
- }
-
- public ListIterator<NestableJoinColumn> nestedAnnotations() {
- return new CloneListIterator<NestableJoinColumn>(AssociationOverrideImpl.this.joinColumns);
- }
-
- public int nestedAnnotationsSize() {
- return joinColumnsSize();
- }
-
- public void remove(int index) {
- this.remove(nestedAnnotationAt(index));
- }
-
- public void remove(NestableJoinColumn joinColumn) {
- AssociationOverrideImpl.this.removeJoinColumn(joinColumn);
- }
-
- public String getAnnotationName() {
- return AssociationOverrideImpl.this.getAnnotationName();
- }
-
- public String getNestableAnnotationName() {
- return JPA.JOIN_COLUMN;
- }
-
- public NestableJoinColumn nestedAnnotationFor(org.eclipse.jdt.core.dom.Annotation jdtAnnotation) {
- for (NestableJoinColumn pkJoinColumn : CollectionTools.iterable(nestedAnnotations())) {
- if (jdtAnnotation == pkJoinColumn.getJdtAnnotation((CompilationUnit) jdtAnnotation.getRoot())) {
- return pkJoinColumn;
- }
- }
- return null;
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return AssociationOverrideImpl.this.getJdtAnnotation(astRoot);
- }
-
- public void newAnnotation() {
- AssociationOverrideImpl.this.newAnnotation();
- }
-
- public void removeAnnotation() {
- AssociationOverrideImpl.this.removeAnnotation();
- }
-
- public void update(CompilationUnit astRoot) {
- AssociationOverrideImpl.this.update(astRoot);
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return AssociationOverrideImpl.this.getTextRange(astRoot);
- }
-
- public String getElementName() {
- return JPA.ASSOCIATION_OVERRIDE__JOIN_COLUMNS;
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.getAnnotationName());
- }
-
- }
-
- public static class AssociationOverrideAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final AssociationOverrideAnnotationDefinition INSTANCE = new AssociationOverrideAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private AssociationOverrideAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return AssociationOverrideImpl.createAssociationOverride(parent, member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return AssociationOverrideAnnotation.ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AssociationOverridesImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AssociationOverridesImpl.java
deleted file mode 100644
index 1b49bbc9d3..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AssociationOverridesImpl.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.AssociationOverrideAnnotation;
-import org.eclipse.jpt.core.resource.java.AssociationOverridesAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NestableAssociationOverride;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-public class AssociationOverridesImpl extends AbstractResourceAnnotation<Member> implements AssociationOverridesAnnotation
-{
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- protected final List<NestableAssociationOverride> associationOverrides;
-
- protected AssociationOverridesImpl(JavaResourceNode parent, Member member) {
- super(parent, member, DECLARATION_ANNOTATION_ADAPTER);
- this.associationOverrides = new ArrayList<NestableAssociationOverride>();
- }
-
- public void initialize(CompilationUnit astRoot) {
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public String getNestableAnnotationName() {
- return AssociationOverrideAnnotation.ANNOTATION_NAME;
- }
-
- public ListIterator<NestableAssociationOverride> nestedAnnotations() {
- return new CloneListIterator<NestableAssociationOverride>(this.associationOverrides);
- }
-
- public int nestedAnnotationsSize() {
- return this.associationOverrides.size();
- }
-
- public NestableAssociationOverride addInternal(int index) {
- NestableAssociationOverride associationOverride = createAssociationOverride(index);
- this.associationOverrides.add(index, associationOverride);
- return associationOverride;
- }
-
- public NestableAssociationOverride add(int index) {
- NestableAssociationOverride associationOverride = createAssociationOverride(index);
- add(index, associationOverride);
- return associationOverride;
- }
-
- private void add(int index, NestableAssociationOverride associationOverride) {
- addItemToList(index, associationOverride, this.associationOverrides, ASSOCIATION_OVERRIDES_LIST);
- }
-
- public void remove(NestableAssociationOverride associationOverride) {
- removeItemFromList(associationOverride, this.associationOverrides, ASSOCIATION_OVERRIDES_LIST);
- }
-
- public void remove(int index) {
- removeItemFromList(index, this.associationOverrides, ASSOCIATION_OVERRIDES_LIST);
- }
-
- public int indexOf(NestableAssociationOverride associationOverride) {
- return this.associationOverrides.indexOf(associationOverride);
- }
-
- public NestableAssociationOverride nestedAnnotationAt(int index) {
- return this.associationOverrides.get(index);
- }
-
- public NestableAssociationOverride nestedAnnotationFor(Annotation jdtAnnotation) {
- for (NestableAssociationOverride associationOverride : this.associationOverrides) {
- if (jdtAnnotation == associationOverride.getJdtAnnotation((CompilationUnit) jdtAnnotation.getRoot())) {
- return associationOverride;
- }
- }
- return null;
- }
-
- public void move(int targetIndex, int sourceIndex) {
- moveItemInList(targetIndex, sourceIndex, this.associationOverrides, ASSOCIATION_OVERRIDES_LIST);
- }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.associationOverrides, targetIndex, sourceIndex);
- }
-
- public String getElementName() {
- return JPA.ASSOCIATION_OVERRIDES__VALUE;
- }
-
- public void update(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this);
- }
-
- private AssociationOverrideImpl createAssociationOverride(int index) {
- return AssociationOverrideImpl.createNestedAssociationOverride(this, getMember(), index, getDeclarationAnnotationAdapter());
- }
-
- public static class AssociationOverridesAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final AssociationOverridesAnnotationDefinition INSTANCE = new AssociationOverridesAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private AssociationOverridesAnnotationDefinition() {
- super();
- }
-
- public AssociationOverridesAnnotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new AssociationOverridesImpl(parent, member);
- }
-
- public AssociationOverridesAnnotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AttributeOverrideImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AttributeOverrideImpl.java
deleted file mode 100644
index 46a4a4036f..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AttributeOverrideImpl.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberIndexedAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.NestedIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.AttributeOverrideAnnotation;
-import org.eclipse.jpt.core.resource.java.ColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableAttributeOverride;
-import org.eclipse.jpt.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class AttributeOverrideImpl
- extends OverrideImpl
- implements NestableAttributeOverride
-{
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private final MemberAnnotationAdapter columnAdapter;
-
- private ColumnImpl column;
-
-
- protected AttributeOverrideImpl(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
- super(parent, member, daa, annotationAdapter);
- this.columnAdapter = new MemberAnnotationAdapter(getMember(), ColumnImpl.buildAttributeOverrideAnnotationAdapter(getDeclarationAnnotationAdapter()));
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- if (this.columnAdapter.getAnnotation(astRoot) != null) {
- this.column = ColumnImpl.createAttributeOverrideColumn(this, getMember(), getDeclarationAnnotationAdapter());
- this.column.initialize(astRoot);
- }
- }
-
- public String getAnnotationName() {
- return AttributeOverrideAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- super.initializeFrom(oldAnnotation);
- AttributeOverrideAnnotation oldAttributeOverride = (AttributeOverrideAnnotation) oldAnnotation;
- if (oldAttributeOverride.getColumn() != null) {
- ColumnAnnotation column = addColumn();
- ((NestableAnnotation) column).initializeFrom((NestableAnnotation) oldAttributeOverride.getColumn());
- }
- }
-
- //************ AttributeOverride implementation ****************
-
- public ColumnAnnotation getNonNullColumn() {
- return (getColumn() != null) ? getColumn() : new NullAttributeOverrideColumn(this);
- }
-
- public ColumnAnnotation getColumn() {
- return this.column;
- }
-
- public ColumnAnnotation addColumn() {
- ColumnImpl column = ColumnImpl.createAttributeOverrideColumn(this, getMember(), getDeclarationAnnotationAdapter());
- column.newAnnotation();
- setColumn(column);
- return column;
- }
-
- public void removeColumn() {
- this.column.removeAnnotation();
- setColumn(null);
- }
-
- protected void setColumn(ColumnImpl newColumn) {
- ColumnImpl oldColumn = this.column;
- this.column = newColumn;
- firePropertyChanged(AttributeOverrideAnnotation.COLUMN_PROPERTY, oldColumn, newColumn);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- if (this.columnAdapter.getAnnotation(astRoot) == null) {
- this.setColumn(null);
- }
- else {
- if (getColumn() != null) {
- getColumn().update(astRoot);
- }
- else {
- ColumnImpl column = ColumnImpl.createAttributeOverrideColumn(this, getMember(), getDeclarationAnnotationAdapter());
- column.initialize(astRoot);
- this.setColumn(column);
- }
- }
- }
-
- // ********** static methods **********
- static AttributeOverrideImpl createAttributeOverride(JavaResourceNode parent, Member member) {
- return new AttributeOverrideImpl(parent, member, DECLARATION_ANNOTATION_ADAPTER, new MemberAnnotationAdapter(member, DECLARATION_ANNOTATION_ADAPTER));
- }
-
- static AttributeOverrideImpl createNestedAttributeOverride(JavaResourceNode parent, Member member, int index, DeclarationAnnotationAdapter attributeOverridesAdapter) {
- IndexedDeclarationAnnotationAdapter idaa = buildNestedDeclarationAnnotationAdapter(index, attributeOverridesAdapter);
- IndexedAnnotationAdapter annotationAdapter = new MemberIndexedAnnotationAdapter(member, idaa);
- return new AttributeOverrideImpl(parent, member, idaa, annotationAdapter);
- }
-
- private static IndexedDeclarationAnnotationAdapter buildNestedDeclarationAnnotationAdapter(int index, DeclarationAnnotationAdapter attributeOverridesAdapter) {
- return new NestedIndexedDeclarationAnnotationAdapter(attributeOverridesAdapter, index, JPA.ATTRIBUTE_OVERRIDE);
- }
-
- public static class AttributeOverrideAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final AttributeOverrideAnnotationDefinition INSTANCE = new AttributeOverrideAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private AttributeOverrideAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return AttributeOverrideImpl.createAttributeOverride(parent, member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return AttributeOverrideAnnotation.ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AttributeOverridesImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AttributeOverridesImpl.java
deleted file mode 100644
index a92da07cb1..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AttributeOverridesImpl.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.AttributeOverrideAnnotation;
-import org.eclipse.jpt.core.resource.java.AttributeOverridesAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NestableAttributeOverride;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-public class AttributeOverridesImpl extends AbstractResourceAnnotation<Member> implements AttributeOverridesAnnotation
-{
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private final List<NestableAttributeOverride> attributesOverrides;
-
- protected AttributeOverridesImpl(JavaResourceNode parent, Member member) {
- super(parent, member, DECLARATION_ANNOTATION_ADAPTER);
- this.attributesOverrides = new ArrayList<NestableAttributeOverride>();
- }
-
- public void initialize(CompilationUnit astRoot) {
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public String getNestableAnnotationName() {
- return AttributeOverrideAnnotation.ANNOTATION_NAME;
- }
-
- public ListIterator<NestableAttributeOverride> nestedAnnotations() {
- return new CloneListIterator<NestableAttributeOverride>(this.attributesOverrides);
- }
-
- public int nestedAnnotationsSize() {
- return this.attributesOverrides.size();
- }
-
- public NestableAttributeOverride addInternal(int index) {
- NestableAttributeOverride attributeOverride = createAttributeOverride(index);
- this.attributesOverrides.add(index, attributeOverride);
- return attributeOverride;
- }
-
- public NestableAttributeOverride add(int index) {
- NestableAttributeOverride attributeOverride = createAttributeOverride(index);
- add(index, attributeOverride);
- return attributeOverride;
- }
-
- private void add(int index, NestableAttributeOverride attributeOverride) {
- addItemToList(index, attributeOverride, this.attributesOverrides, ATTRIBUTE_OVERRIDES_LIST);
- }
-
- public void remove(NestableAttributeOverride attributeOverride) {
- removeItemFromList(attributeOverride, this.attributesOverrides, ATTRIBUTE_OVERRIDES_LIST);
- }
-
- public void remove(int index) {
- removeItemFromList(index, this.attributesOverrides, ATTRIBUTE_OVERRIDES_LIST);
- }
-
- public int indexOf(NestableAttributeOverride attributeOverride) {
- return this.attributesOverrides.indexOf(attributeOverride);
- }
-
- public NestableAttributeOverride nestedAnnotationAt(int index) {
- return this.attributesOverrides.get(index);
- }
-
- public NestableAttributeOverride nestedAnnotationFor(Annotation jdtAnnotation) {
- for (NestableAttributeOverride attributeOverride : this.attributesOverrides) {
- if (jdtAnnotation == attributeOverride.getJdtAnnotation((CompilationUnit) jdtAnnotation.getRoot())) {
- return attributeOverride;
- }
- }
- return null;
- }
-
- public void move(int targetIndex, int sourceIndex) {
- moveItemInList(targetIndex, sourceIndex, this.attributesOverrides, ATTRIBUTE_OVERRIDES_LIST);
- }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.attributesOverrides, targetIndex, sourceIndex);
- }
-
- public String getElementName() {
- return JPA.ATTRIBUTE_OVERRIDES__VALUE;
- }
-
- public void update(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this);
- }
-
- private AttributeOverrideImpl createAttributeOverride(int index) {
- return AttributeOverrideImpl.createNestedAttributeOverride(this, getMember(), index, getDeclarationAnnotationAdapter());
- }
-
-
- public static class AttributeOverridesAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final AttributeOverridesAnnotationDefinition INSTANCE = new AttributeOverridesAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private AttributeOverridesAnnotationDefinition() {
- super();
- }
-
- public AttributeOverridesAnnotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new AttributeOverridesImpl(parent, member);
- }
-
- public AttributeOverridesAnnotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/BaseColumnImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/BaseColumnImpl.java
deleted file mode 100644
index f0ad392c0d..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/BaseColumnImpl.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.BaseColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public abstract class BaseColumnImpl extends AbstractNamedColumn implements BaseColumnAnnotation
-{
- // hold this so we can get the 'table' text range
- private final DeclarationAnnotationElementAdapter<String> tableDeclarationAdapter;
-
- // hold this so we can get the 'unique' text range
- private final DeclarationAnnotationElementAdapter<Boolean> uniqueDeclarationAdapter;
-
- // hold this so we can get the 'nullable' text range
- private final DeclarationAnnotationElementAdapter<Boolean> nullableDeclarationAdapter;
-
- // hold this so we can get the 'insertable' text range
- private final DeclarationAnnotationElementAdapter<Boolean> insertableDeclarationAdapter;
-
- // hold this so we can get the 'updatable' text range
- private final DeclarationAnnotationElementAdapter<Boolean> updatableDeclarationAdapter;
-
- private final AnnotationElementAdapter<String> tableAdapter;
-
- private final AnnotationElementAdapter<Boolean> uniqueAdapter;
-
- private final AnnotationElementAdapter<Boolean> nullableAdapter;
-
- private final AnnotationElementAdapter<Boolean> insertableAdapter;
-
- private final AnnotationElementAdapter<Boolean> updatableAdapter;
-
- private String table;
- private Boolean unique;
- private Boolean nullable;
- private Boolean insertable;
- private Boolean updatable;
-
-
- public BaseColumnImpl(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa) {
- this(parent, member, daa, new MemberAnnotationAdapter(member, daa));
- }
-
- public BaseColumnImpl(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
- super(parent, member, daa, annotationAdapter);
- this.tableDeclarationAdapter = this.buildStringElementAdapter(this.getTableElementName());
- this.tableAdapter = this.buildShortCircuitElementAdapter(this.tableDeclarationAdapter);
- this.uniqueDeclarationAdapter = this.buildBooleanElementAdapter(this.getUniqueElementName());
- this.uniqueAdapter = this.buildShortCircuitBooleanElementAdapter(this.uniqueDeclarationAdapter);
- this.nullableDeclarationAdapter = this.buildBooleanElementAdapter(this.getNullableElementName());
- this.nullableAdapter = this.buildShortCircuitBooleanElementAdapter(this.nullableDeclarationAdapter);
- this.insertableDeclarationAdapter = this.buildBooleanElementAdapter(this.getInsertableElementName());
- this.insertableAdapter = this.buildShortCircuitBooleanElementAdapter(this.insertableDeclarationAdapter);
- this.updatableDeclarationAdapter = this.buildBooleanElementAdapter(this.getUpdatableElementName());
- this.updatableAdapter = this.buildShortCircuitBooleanElementAdapter(this.updatableDeclarationAdapter);
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.table = this.table(astRoot);
- this.unique = this.unique(astRoot);
- this.nullable = this.nullable(astRoot);
- this.insertable = this.insertable(astRoot);
- this.updatable = this.updatable(astRoot);
- }
-
- protected abstract String getTableElementName();
-
- protected abstract String getUniqueElementName();
-
- protected abstract String getNullableElementName();
-
- protected abstract String getInsertableElementName();
-
- protected abstract String getUpdatableElementName();
-
- @Override
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- super.initializeFrom(oldAnnotation);
- BaseColumnAnnotation oldColumn = (BaseColumnAnnotation) oldAnnotation;
- setTable(oldColumn.getTable());
- setUnique(oldColumn.getUnique());
- setNullable(oldColumn.getNullable());
- setInsertable(oldColumn.getInsertable());
- setUpdatable(oldColumn.getUpdatable());
- }
-
- //************* AbstractColumn implementation *************
- public String getTable() {
- return this.table;
- }
-
- public void setTable(String newTable) {
- if (attributeValueHasNotChanged(this.table, newTable)) {
- return;
- }
- String oldTable = this.table;
- this.table = newTable;
- this.tableAdapter.setValue(newTable);
- firePropertyChanged(TABLE_PROPERTY, oldTable, newTable);
- }
-
- public Boolean getUnique() {
- return this.unique;
- }
-
- public void setUnique(Boolean newUnique) {
- if (attributeValueHasNotChanged(this.unique, newUnique)) {
- return;
- }
- Boolean oldUnique = this.unique;
- this.unique = newUnique;
- this.uniqueAdapter.setValue(newUnique);
- firePropertyChanged(UNIQUE_PROPERTY, oldUnique, newUnique);
- }
-
- public Boolean getNullable() {
- return this.nullable;
- }
-
- public void setNullable(Boolean newNullable) {
- if (attributeValueHasNotChanged(this.nullable, newNullable)) {
- return;
- }
- Boolean oldNullable = this.nullable;
- this.nullable = newNullable;
- this.nullableAdapter.setValue(newNullable);
- firePropertyChanged(NULLABLE_PROPERTY, oldNullable, newNullable);
- }
-
- public Boolean getInsertable() {
- return this.insertable;
- }
-
- public void setInsertable(Boolean newInsertable) {
- if (attributeValueHasNotChanged(this.insertable, newInsertable)) {
- return;
- }
- Boolean oldInsertable = this.insertable;
- this.insertable = newInsertable;
- this.insertableAdapter.setValue(newInsertable);
- firePropertyChanged(INSERTABLE_PROPERTY, oldInsertable, newInsertable);
- }
-
- public Boolean getUpdatable() {
- return this.updatable;
- }
-
- public void setUpdatable(Boolean newUpdatable) {
- if (attributeValueHasNotChanged(this.updatable, newUpdatable)) {
- return;
- }
- Boolean oldUpdatable = this.updatable;
- this.updatable = newUpdatable;
- this.updatableAdapter.setValue(newUpdatable);
- firePropertyChanged(UPDATABLE_PROPERTY, oldUpdatable, newUpdatable);
- }
-
- public TextRange getNullableTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.nullableDeclarationAdapter, astRoot);
- }
-
- public TextRange getInsertableTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.insertableDeclarationAdapter, astRoot);
- }
-
- public TextRange getUniqueTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.uniqueDeclarationAdapter, astRoot);
- }
-
- public TextRange getUpdatableTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.updatableDeclarationAdapter, astRoot);
- }
-
- public TextRange getTableTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.tableDeclarationAdapter, astRoot);
- }
-
- public boolean tableTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(this.tableDeclarationAdapter, pos, astRoot);
- }
-
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setTable(this.table(astRoot));
- this.setUnique(this.unique(astRoot));
- this.setNullable(this.nullable(astRoot));
- this.setInsertable(this.insertable(astRoot));
- this.setUpdatable(this.updatable(astRoot));
- }
-
- protected String table(CompilationUnit astRoot) {
- return this.tableAdapter.getValue(astRoot);
- }
-
- protected Boolean unique(CompilationUnit astRoot) {
- return this.uniqueAdapter.getValue(astRoot);
- }
-
- protected Boolean nullable(CompilationUnit astRoot) {
- return this.nullableAdapter.getValue(astRoot);
- }
-
- protected Boolean insertable(CompilationUnit astRoot) {
- return this.insertableAdapter.getValue(astRoot);
- }
-
- protected Boolean updatable(CompilationUnit astRoot) {
- return this.updatableAdapter.getValue(astRoot);
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/BasicImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/BasicImpl.java
deleted file mode 100644
index 4dd4337b0f..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/BasicImpl.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.BooleanExpressionConverter;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.EnumDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.BasicAnnotation;
-import org.eclipse.jpt.core.resource.java.FetchType;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-
-public class BasicImpl extends AbstractResourceAnnotation<Attribute> implements BasicAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private final AnnotationElementAdapter<Boolean> optionalAdapter;
-
- private final AnnotationElementAdapter<String> fetchAdapter;
-
- private static final DeclarationAnnotationElementAdapter<Boolean> OPTIONAL_ADAPTER = buildOptionalAdapter();
-
- private static final DeclarationAnnotationElementAdapter<String> FETCH_ADAPTER = buildFetchAdapter();
-
- private Boolean optional;
-
- private FetchType fetch;
-
- protected BasicImpl(JavaResourcePersistentAttribute parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- this.optionalAdapter = new ShortCircuitAnnotationElementAdapter<Boolean>(attribute, OPTIONAL_ADAPTER);
- this.fetchAdapter = new ShortCircuitAnnotationElementAdapter<String>(attribute, FETCH_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.optional = this.optional(astRoot);
- this.fetch = this.fetch(astRoot);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- //*************** Basic implementation ****************
- public Boolean getOptional() {
- return this.optional;
- }
-
- public void setOptional(Boolean newOptional) {
- if (attributeValueHasNotChanged(this.optional, newOptional)) {
- return;
- }
- Boolean oldOptional = this.optional;
- this.optional = newOptional;
- this.optionalAdapter.setValue(newOptional);
- firePropertyChanged(OPTIONAL_PROPERTY, oldOptional, newOptional);
- }
-
- public FetchType getFetch() {
- return this.fetch;
- }
-
- public void setFetch(FetchType newFetch) {
- if (attributeValueHasNotChanged(this.fetch, newFetch)) {
- return;
- }
- FetchType oldFetch = this.fetch;
- this.fetch = newFetch;
- this.fetchAdapter.setValue(FetchType.toJavaAnnotationValue(newFetch));
- firePropertyChanged(FETCH_PROPERTY, oldFetch, newFetch);
- }
-
- public TextRange getFetchTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(FETCH_ADAPTER, astRoot);
- }
-
- public TextRange getOptionalTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(OPTIONAL_ADAPTER, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setOptional(this.optional(astRoot));
- this.setFetch(this.fetch(astRoot));
- }
-
- protected FetchType fetch(CompilationUnit astRoot) {
- return FetchType.fromJavaAnnotationValue(this.fetchAdapter.getValue(astRoot));
- }
-
- protected Boolean optional(CompilationUnit astRoot) {
- return this.optionalAdapter.getValue(astRoot);
- }
-
- // ********** static methods **********
- private static DeclarationAnnotationElementAdapter<Boolean> buildOptionalAdapter() {
- return new ConversionDeclarationAnnotationElementAdapter<Boolean>(DECLARATION_ANNOTATION_ADAPTER, JPA.BASIC__OPTIONAL, false, BooleanExpressionConverter.instance());
- }
-
- private static DeclarationAnnotationElementAdapter<String> buildFetchAdapter() {
- return new EnumDeclarationAnnotationElementAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.BASIC__FETCH, false);
- }
-
- public static class BasicAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final BasicAnnotationDefinition INSTANCE = new BasicAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static BasicAnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private BasicAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new BasicImpl((JavaResourcePersistentAttribute) parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NullBasic(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ColumnImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ColumnImpl.java
deleted file mode 100644
index f275b53e33..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ColumnImpl.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.NestedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.ColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class ColumnImpl extends BaseColumnImpl implements ColumnAnnotation, NestableAnnotation
-{
- // this adapter is only used by a Column annotation associated with a mapping annotation (e.g. Basic)
- public static final DeclarationAnnotationAdapter MAPPING_DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- // hold this so we can get the 'length' text range
- private final DeclarationAnnotationElementAdapter<Integer> lengthDeclarationAdapter;
-
- // hold this so we can get the 'precision' text range
- private final DeclarationAnnotationElementAdapter<Integer> precisionDeclarationAdapter;
-
- // hold this so we can get the 'scale' text range
- private final DeclarationAnnotationElementAdapter<Integer> scaleDeclarationAdapter;
-
- private final AnnotationElementAdapter<Integer> lengthAdapter;
-
- private final AnnotationElementAdapter<Integer> precisionAdapter;
-
- private final AnnotationElementAdapter<Integer> scaleAdapter;
-
- private Integer length;
-
- private Integer precision;
-
- private Integer scale;
-
- public ColumnImpl(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa) {
- super(parent, member, daa);
- this.lengthDeclarationAdapter = this.buildIntegerElementAdapter(JPA.COLUMN__LENGTH);
- this.lengthAdapter = this.buildShortCircuitIntegerElementAdapter(this.lengthDeclarationAdapter);
- this.precisionDeclarationAdapter = this.buildIntegerElementAdapter(JPA.COLUMN__PRECISION);
- this.precisionAdapter = this.buildShortCircuitIntegerElementAdapter(this.precisionDeclarationAdapter);
- this.scaleDeclarationAdapter = this.buildIntegerElementAdapter(JPA.COLUMN__SCALE);
- this.scaleAdapter = this.buildShortCircuitIntegerElementAdapter(this.scaleDeclarationAdapter);
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.length = this.length(astRoot);
- this.precision = this.precision(astRoot);
- this.scale = this.scale(astRoot);
- }
-
- @Override
- protected String getNameElementName() {
- return JPA.COLUMN__NAME;
- }
-
- @Override
- protected String getColumnDefinitionElementName() {
- return JPA.COLUMN__COLUMN_DEFINITION;
- }
-
- @Override
- protected String getTableElementName() {
- return JPA.COLUMN__TABLE;
- }
-
- @Override
- protected String getUniqueElementName() {
- return JPA.COLUMN__UNIQUE;
- }
-
- @Override
- protected String getNullableElementName() {
- return JPA.COLUMN__NULLABLE;
- }
-
- @Override
- protected String getInsertableElementName() {
- return JPA.COLUMN__INSERTABLE;
- }
-
- @Override
- protected String getUpdatableElementName() {
- return JPA.COLUMN__UPDATABLE;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public void moveAnnotation(int newIndex) {
- //TODO move makes no sense for Column. maybe NestableAnnotation
- //needs to be split up and we could have IndexableAnnotation
- }
-
- @Override
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- super.initializeFrom(oldAnnotation);
- ColumnAnnotation oldColumn = (ColumnAnnotation) oldAnnotation;
- setLength(oldColumn.getLength());
- setPrecision(oldColumn.getPrecision());
- setScale(oldColumn.getScale());
- }
-
- //************** Column implementation **************
- public Integer getLength() {
- return this.length;
- }
-
- public void setLength(Integer newLength) {
- if (attributeValueHasNotChanged(this.length, newLength)) {
- return;
- }
- Integer oldLength = this.length;
- this.length = newLength;
- this.lengthAdapter.setValue(newLength);
- firePropertyChanged(LENGTH_PROPERTY, oldLength, newLength);
- }
-
- public Integer getPrecision() {
- return this.precision;
- }
-
- public void setPrecision(Integer newPrecision) {
- if (attributeValueHasNotChanged(this.precision, newPrecision)) {
- return;
- }
- Integer oldPrecision = this.precision;
- this.precision = newPrecision;
- this.precisionAdapter.setValue(newPrecision);
- firePropertyChanged(PRECISION_PROPERTY, oldPrecision, newPrecision);
- }
-
- public Integer getScale() {
- return this.scale;
- }
-
- public void setScale(Integer newScale) {
- if (attributeValueHasNotChanged(this.scale, newScale)) {
- return;
- }
- Integer oldScale = this.scale;
- this.scale = newScale;
- this.scaleAdapter.setValue(newScale);
- firePropertyChanged(SCALE_PROPERTY, oldScale, newScale);
- }
-
- public TextRange getLengthTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.lengthDeclarationAdapter, astRoot);
- }
-
- public TextRange getPrecisionTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.precisionDeclarationAdapter, astRoot);
- }
-
- public TextRange getScaleTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.scaleDeclarationAdapter, astRoot);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setLength(this.length(astRoot));
- this.setPrecision(this.precision(astRoot));
- this.setScale(this.scale(astRoot));
- }
-
- protected Integer length(CompilationUnit astRoot) {
- return this.lengthAdapter.getValue(astRoot);
- }
-
- protected Integer precision(CompilationUnit astRoot) {
- return this.precisionAdapter.getValue(astRoot);
- }
-
- protected Integer scale(CompilationUnit astRoot) {
- return this.scaleAdapter.getValue(astRoot);
- }
-
- // ********** static methods **********
-
- static ColumnImpl createAttributeOverrideColumn(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter attributeOverrideAnnotationAdapter) {
- return new ColumnImpl(parent, member, buildAttributeOverrideAnnotationAdapter(attributeOverrideAnnotationAdapter));
- }
-
- static DeclarationAnnotationAdapter buildAttributeOverrideAnnotationAdapter(DeclarationAnnotationAdapter attributeOverrideAnnotationAdapter) {
- return new NestedDeclarationAnnotationAdapter(attributeOverrideAnnotationAdapter, JPA.ATTRIBUTE_OVERRIDE__COLUMN, JPA.COLUMN);
- }
-
- public static class ColumnAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final ColumnAnnotationDefinition INSTANCE = new ColumnAnnotationDefinition();
-
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private ColumnAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new ColumnImpl(parent, member, ColumnImpl.MAPPING_DECLARATION_ANNOTATION_ADAPTER);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NullColumn(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ContainerAnnotationTools.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ContainerAnnotationTools.java
deleted file mode 100644
index 4d9dff0812..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ContainerAnnotationTools.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.List;
-
-import org.eclipse.jdt.core.dom.ASTVisitor;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.eclipse.jdt.core.dom.MemberValuePair;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jpt.core.internal.utility.jdt.JDTTools;
-import org.eclipse.jpt.core.resource.java.ContainerAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-
-public class ContainerAnnotationTools
-{
-
- public static NestableAnnotation addNestedAnnotation(int index, ContainerAnnotation<? extends NestableAnnotation> containerAnnotation) {
- int size = containerAnnotation.nestedAnnotationsSize();
- NestableAnnotation nestedAnnotation = containerAnnotation.addInternal(size);
- nestedAnnotation.newAnnotation();
- containerAnnotation.moveInternal(index, size);
- synchAnnotationsAfterMove(index, size, containerAnnotation);
- return nestedAnnotation;
- }
-
- /**
- * synchronize the source annotations with the model nestableAnnotations,
- * starting at the end of the list to prevent overlap
- */
- public static void synchAnnotationsAfterAdd(int index, ContainerAnnotation<? extends NestableAnnotation> containerAnnotation) {
- List<NestableAnnotation> nestableAnnotations = CollectionTools.list(containerAnnotation.nestedAnnotations());
- for (int i = nestableAnnotations.size(); i-- > index;) {
- synch(nestableAnnotations.get(i), i);
- }
- }
-
- /**
- * synchronize the source annotations with the model nestableAnnotations,
- * starting at the specified index to prevent overlap
- */
- public static void synchAnnotationsAfterRemove(int index, ContainerAnnotation<? extends NestableAnnotation> pluralAnnotation) {
- List<NestableAnnotation> nestableAnnotations = CollectionTools.list(pluralAnnotation.nestedAnnotations());
- for (int i = index; i < nestableAnnotations.size(); i++) {
- synch(nestableAnnotations.get(i), i);
- }
- }
-
- private static void synch(NestableAnnotation nestableAnnotation, int index) {
- nestableAnnotation.moveAnnotation(index);
- }
-
- /**
- * synchronize the annotations with the model nestableAnnotations
- */
- public static void synchAnnotationsAfterMove(int targetIndex, int sourceIndex, ContainerAnnotation<? extends NestableAnnotation> containerAnnotation) {
- NestableAnnotation nestableAnnotation = containerAnnotation.nestedAnnotationAt(targetIndex);
-
- synch(nestableAnnotation, containerAnnotation.nestedAnnotationsSize());
-
- List<NestableAnnotation> nestableAnnotations = CollectionTools.list(containerAnnotation.nestedAnnotations());
- if (sourceIndex < targetIndex) {
- for (int i = sourceIndex; i < targetIndex; i++) {
- synch(nestableAnnotations.get(i), i);
- }
- }
- else {
- for (int i = sourceIndex; i > targetIndex; i-- ) {
- synch(nestableAnnotations.get(i), i);
- }
- }
- synch(nestableAnnotation, targetIndex);
- }
-
-
- public static void initializeNestedAnnotations(CompilationUnit astRoot, ContainerAnnotation<?> containerAnnotation) {
- addAnnotationsFromSource(astRoot, containerAnnotation);
- }
-
- private static void addAnnotationsFromSource(CompilationUnit astRoot, ContainerAnnotation<? extends NestableAnnotation> containerAnnotation) {
- containerAnnotation.getJdtAnnotation(astRoot).accept(buildInitialAnnotationVisitor(astRoot, containerAnnotation));
- }
-
- private static ASTVisitor buildInitialAnnotationVisitor(CompilationUnit astRoot, ContainerAnnotation<? extends NestableAnnotation> containerAnnotation) {
- return new InitialAnnotationVisitor(astRoot, containerAnnotation);
- }
-
- public static void updateNestedAnnotationsFromJava(CompilationUnit astRoot, ContainerAnnotation<? extends NestableAnnotation> containerAnnotation) {
- addOrUpdateAnnotationInSource(astRoot, containerAnnotation);
- //TODO not sure how to handle generics here and get rid of this warning
- removeAnnotationsNotInSource(astRoot, (ContainerAnnotation<NestableAnnotation>) containerAnnotation);
- }
-
- private static void addOrUpdateAnnotationInSource(CompilationUnit astRoot, ContainerAnnotation<? extends NestableAnnotation> containerAnnotation) {
- containerAnnotation.getJdtAnnotation(astRoot).accept(buildUpdateAnnotationVisitor(astRoot, containerAnnotation));
- }
-
- private static void removeAnnotationsNotInSource(CompilationUnit astRoot, ContainerAnnotation<NestableAnnotation> containerAnnotation) {
- for (NestableAnnotation annotation : CollectionTools.iterable(containerAnnotation.nestedAnnotations())) {
- if (annotation.getJdtAnnotation(astRoot) == null) {
- containerAnnotation.remove(annotation);
- }
- }
- }
-
- private static ASTVisitor buildUpdateAnnotationVisitor(CompilationUnit astRoot, ContainerAnnotation<? extends NestableAnnotation> containerAnnotation) {
- return new UpdateAnnotationVisitor(astRoot, containerAnnotation);
- }
-
- private ContainerAnnotationTools() {
- super();
- throw new UnsupportedOperationException();
- }
-
-
- // ********** annotation visitor **********
-
- /**
- * Only visit the member value pair for the container annotation's element name.
- */
- private abstract static class AnnotationVisitor extends ASTVisitor {
- protected final CompilationUnit astRoot;
- protected final ContainerAnnotation<? extends NestableAnnotation> containerAnnotation;
-
- AnnotationVisitor(CompilationUnit astRoot, ContainerAnnotation<? extends NestableAnnotation> containerAnnotation) {
- this.astRoot = astRoot;
- this.containerAnnotation = containerAnnotation;
- }
-
- @Override
- public boolean visit(MemberValuePair node) {
- return node.getName().getFullyQualifiedName().equals(this.containerAnnotation.getElementName());
- }
-
- @Override
- public boolean visit(SingleMemberAnnotation node) {
- return this.visit_(node);
- }
-
- @Override
- public boolean visit(NormalAnnotation node) {
- return this.visit_(node);
- }
-
- @Override
- public boolean visit(MarkerAnnotation node) {
- return this.visit_(node);
- }
-
- protected boolean visit_(org.eclipse.jdt.core.dom.Annotation node) {
- String jdtAnnotationName = JDTTools.resolveAnnotation(node);
- if (this.containerAnnotation.getAnnotationName().equals(jdtAnnotationName)) {
- return true;
- }
- if (this.containerAnnotation.getNestableAnnotationName().equals(jdtAnnotationName)) {
- this.visitNestedAnnotation(node);
- }
- return false;
- }
-
- protected abstract void visitNestedAnnotation(org.eclipse.jdt.core.dom.Annotation node);
-
- }
-
-
- // ********** initial annotation visitor **********
-
- private static class InitialAnnotationVisitor extends AnnotationVisitor {
-
- InitialAnnotationVisitor(CompilationUnit astRoot, ContainerAnnotation<? extends NestableAnnotation> containerAnnotation) {
- super(astRoot, containerAnnotation);
- }
-
- @Override
- protected void visitNestedAnnotation(org.eclipse.jdt.core.dom.Annotation node) {
- NestableAnnotation nestedAnnotation = this.containerAnnotation.addInternal(this.containerAnnotation.nestedAnnotationsSize());
- nestedAnnotation.initialize(this.astRoot);
- }
-
- }
-
-
- // ********** update annotation visitor **********
-
- private static class UpdateAnnotationVisitor extends AnnotationVisitor {
-
- UpdateAnnotationVisitor(CompilationUnit astRoot, ContainerAnnotation<? extends NestableAnnotation> containerAnnotation) {
- super(astRoot, containerAnnotation);
- }
-
- @Override
- protected void visitNestedAnnotation(org.eclipse.jdt.core.dom.Annotation node) {
- NestableAnnotation nestedAnnotation = this.containerAnnotation.nestedAnnotationFor(node);
- if (nestedAnnotation == null) {
- nestedAnnotation = this.containerAnnotation.add(this.containerAnnotation.nestedAnnotationsSize());
- nestedAnnotation.initialize(this.astRoot);
- } else {
- nestedAnnotation.update(this.astRoot);
- }
- }
-
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/DiscriminatorColumnImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/DiscriminatorColumnImpl.java
deleted file mode 100644
index 8d11554af8..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/DiscriminatorColumnImpl.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.EnumDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.DiscriminatorColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.DiscriminatorType;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class DiscriminatorColumnImpl extends AbstractNamedColumn implements DiscriminatorColumnAnnotation
-{
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> DISCRIMINATOR_TYPE_ADAPTER = buildDiscriminatorTypeAdapter();
-
- // hold this so we can get the 'length' text range
- private final DeclarationAnnotationElementAdapter<Integer> lengthDeclarationAdapter;
-
- private final AnnotationElementAdapter<String> discriminatorTypeAdapter;
-
- private final AnnotationElementAdapter<Integer> lengthAdapter;
-
- private DiscriminatorType discriminatorType;
-
- private Integer length;
-
- protected DiscriminatorColumnImpl(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa) {
- super(parent, member, daa, new MemberAnnotationAdapter(member, daa));
- this.discriminatorTypeAdapter = new ShortCircuitAnnotationElementAdapter<String>(member, DISCRIMINATOR_TYPE_ADAPTER);
- this.lengthDeclarationAdapter = this.buildIntegerElementAdapter(JPA.DISCRIMINATOR_COLUMN__LENGTH);
- this.lengthAdapter = this.buildShortCircuitIntegerElementAdapter(this.lengthDeclarationAdapter);
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.discriminatorType = this.discriminatorType(astRoot);
- this.length = this.length(astRoot);
- }
-
- @Override
- protected String getNameElementName() {
- return JPA.DISCRIMINATOR_COLUMN__NAME;
- }
-
- @Override
- protected String getColumnDefinitionElementName() {
- return JPA.DISCRIMINATOR_COLUMN__COLUMN_DEFINITION;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public void moveAnnotation(int newIndex) {
- //TODO move makes no sense for DiscriminatorColumn. maybe NestableAnnotation
- //needs to be split up and we could have IndexableAnnotation
- }
-
- @Override
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- super.initializeFrom(oldAnnotation);
- DiscriminatorColumnAnnotation oldColumn = (DiscriminatorColumnAnnotation) oldAnnotation;
- setLength(oldColumn.getLength());
- setDiscriminatorType(oldColumn.getDiscriminatorType());
- }
-
- public DiscriminatorType getDiscriminatorType() {
- return this.discriminatorType;
- }
-
- public void setDiscriminatorType(DiscriminatorType newDiscriminatorType) {
- if (attributeValueHasNotChanged(this.discriminatorType, newDiscriminatorType)) {
- return;
- }
- DiscriminatorType oldDiscriminatorType = this.discriminatorType;
- this.discriminatorType = newDiscriminatorType;
- this.discriminatorTypeAdapter.setValue(DiscriminatorType.toJavaAnnotationValue(newDiscriminatorType));
- firePropertyChanged(DISCRIMINATOR_TYPE_PROPERTY, oldDiscriminatorType, newDiscriminatorType);
- }
-
- public Integer getLength() {
- return this.length;
- }
-
- public void setLength(Integer newLength) {
- if (attributeValueHasNotChanged(this.length, newLength)) {
- return;
- }
- Integer oldLength = this.length;
- this.length = newLength;
- this.lengthAdapter.setValue(newLength);
- firePropertyChanged(LENGTH_PROPERTY, oldLength, newLength);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setLength(this.length(astRoot));
- this.setDiscriminatorType(this.discriminatorType(astRoot));
- }
-
- protected Integer length(CompilationUnit astRoot) {
- return this.lengthAdapter.getValue(astRoot);
- }
-
- protected DiscriminatorType discriminatorType(CompilationUnit astRoot) {
- return DiscriminatorType.fromJavaAnnotationValue(this.discriminatorTypeAdapter.getValue(astRoot));
- }
-
- // ********** static methods **********
- private static DeclarationAnnotationElementAdapter<String> buildDiscriminatorTypeAdapter() {
- return new EnumDeclarationAnnotationElementAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE);
- }
-
- public static class DiscriminatorColumnAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final DiscriminatorColumnAnnotationDefinition INSTANCE = new DiscriminatorColumnAnnotationDefinition();
-
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private DiscriminatorColumnAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new DiscriminatorColumnImpl(parent, member, DiscriminatorColumnImpl.DECLARATION_ANNOTATION_ADAPTER);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NullDiscriminatorColumn(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/DiscriminatorValueImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/DiscriminatorValueImpl.java
deleted file mode 100644
index 011d122a7f..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/DiscriminatorValueImpl.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.DiscriminatorValueAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.core.utility.jdt.Type;
-
-public class DiscriminatorValueImpl extends AbstractResourceAnnotation<Type> implements DiscriminatorValueAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
- private static final DeclarationAnnotationElementAdapter<String> VALUE_ADAPTER = buildValueAdapter();
-
-
- private final AnnotationElementAdapter<String> valueAdapter;
-
- private String value;
-
- protected DiscriminatorValueImpl(JavaResourceNode parent, Type type) {
- super(parent, type, DECLARATION_ANNOTATION_ADAPTER);
- this.valueAdapter = new ShortCircuitAnnotationElementAdapter<String>(type, VALUE_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.value = this.value(astRoot);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public String getValue() {
- return this.value;
- }
-
- public void setValue(String newValue) {
- if (attributeValueHasNotChanged(this.value, newValue)) {
- return;
- }
- String oldValue = this.value;
- this.value = newValue;
- this.valueAdapter.setValue(newValue);
- firePropertyChanged(VALUE_PROPERTY, oldValue, newValue);
- }
-
- public TextRange getValueTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(VALUE_ADAPTER, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setValue(this.value(astRoot));
- }
-
- protected String value(CompilationUnit astRoot) {
- return this.valueAdapter.getValue(astRoot);
- }
-
- // ********** static methods **********
- private static DeclarationAnnotationElementAdapter<String> buildValueAdapter() {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.DISCRIMINATOR_VALUE__VALUE);
- }
-
-
- public static class DiscriminatorValueAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final DiscriminatorValueAnnotationDefinition INSTANCE = new DiscriminatorValueAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private DiscriminatorValueAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new DiscriminatorValueImpl(parent, (Type) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NullDiscriminatorValue(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EmbeddableImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EmbeddableImpl.java
deleted file mode 100644
index 4290cbd379..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EmbeddableImpl.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.EmbeddableAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.core.utility.jdt.Type;
-
-
-public class EmbeddableImpl extends AbstractResourceAnnotation<Type> implements EmbeddableAnnotation
-{
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- protected EmbeddableImpl(JavaResourcePersistentType parent, Type type) {
- super(parent, type, DECLARATION_ANNOTATION_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //nothing to initialize
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public void update(CompilationUnit astRoot) {
- //no annotation members
- }
-
-
- public static class EmbeddableAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final EmbeddableAnnotationDefinition INSTANCE = new EmbeddableAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static EmbeddableAnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private EmbeddableAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new EmbeddableImpl((JavaResourcePersistentType) parent, (Type) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EmbeddedIdImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EmbeddedIdImpl.java
deleted file mode 100644
index 39257f4576..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EmbeddedIdImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.EmbeddedIdAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class EmbeddedIdImpl extends AbstractResourceAnnotation<Attribute> implements EmbeddedIdAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- protected EmbeddedIdImpl(JavaResourcePersistentAttribute parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //nothing to initialize
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public void update(CompilationUnit astRoot) {
- //no annotation members
- }
-
-
- public static class EmbeddedIdAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final EmbeddedIdAnnotationDefinition INSTANCE = new EmbeddedIdAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static EmbeddedIdAnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private EmbeddedIdAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new EmbeddedIdImpl((JavaResourcePersistentAttribute) parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EmbeddedImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EmbeddedImpl.java
deleted file mode 100644
index 7d198c77a0..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EmbeddedImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.EmbeddedAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-
-public class EmbeddedImpl extends AbstractResourceAnnotation<Attribute> implements EmbeddedAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- protected EmbeddedImpl(JavaResourcePersistentAttribute parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //nothing to initialize
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public void update(CompilationUnit astRoot) {
- //no annotation members
- }
-
- public static class EmbeddedAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final EmbeddedAnnotationDefinition INSTANCE = new EmbeddedAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static EmbeddedAnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private EmbeddedAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new EmbeddedImpl((JavaResourcePersistentAttribute) parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NullEmbedded(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EntityImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EntityImpl.java
deleted file mode 100644
index c716307cd5..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EntityImpl.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.EntityAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.core.utility.jdt.Type;
-
-
-public class EntityImpl extends AbstractResourceAnnotation<Type> implements EntityAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private final AnnotationElementAdapter<String> nameAdapter;
-
- private static final DeclarationAnnotationElementAdapter<String> NAME_ADAPTER = buildNameAdapter();
-
- private String name;
-
- protected EntityImpl(JavaResourcePersistentType parent, Type type) {
- super(parent, type, DECLARATION_ANNOTATION_ADAPTER);
- this.nameAdapter = new ShortCircuitAnnotationElementAdapter<String>(getMember(), NAME_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.name = this.name(astRoot);
- }
-
- //*********** Annotation implementation ****************
- public String getAnnotationName() {
- return EntityAnnotation.ANNOTATION_NAME;
- }
-
- //*********** Entity implementation ****************
- public String getName() {
- return this.name;
- }
-
- public void setName(String newName) {
- if (attributeValueHasNotChanged(this.name, newName)) {
- return;
- }
- String oldName = this.name;
- this.name = newName;
- this.nameAdapter.setValue(newName);
- firePropertyChanged(EntityAnnotation.NAME_PROPERTY, oldName, newName);
- }
-
- public TextRange getNameTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(NAME_ADAPTER, astRoot);
- }
-
- //*********** JavaResource implementation ****************
- public void update(CompilationUnit astRoot) {
- this.setName(this.name(astRoot));
- }
-
- protected String name(CompilationUnit astRoot) {
- return this.nameAdapter.getValue(astRoot);
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.name);
- }
-
- //*********** static methods ****************
- private static DeclarationAnnotationElementAdapter<String> buildNameAdapter() {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.ENTITY__NAME, false); // false = do not remove annotation when empty
- }
-
-
- public static class EntityAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final EntityAnnotationDefinition INSTANCE = new EntityAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static EntityAnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private EntityAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new EntityImpl((JavaResourcePersistentType) parent, (Type) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
-
- public String getAnnotationName() {
- return EntityAnnotation.ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EnumeratedImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EnumeratedImpl.java
deleted file mode 100644
index 4e32305bec..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/EnumeratedImpl.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.EnumDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.EnumType;
-import org.eclipse.jpt.core.resource.java.EnumeratedAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class EnumeratedImpl extends AbstractResourceAnnotation<Attribute> implements EnumeratedAnnotation
-{
-
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
- private static final DeclarationAnnotationElementAdapter<String> VALUE_ADAPTER = buildValueAdapter();
-
- private final AnnotationElementAdapter<String> valueAdapter;
-
- private EnumType value;
-
- protected EnumeratedImpl(JavaResourceNode parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- this.valueAdapter = new ShortCircuitAnnotationElementAdapter<String>(attribute, VALUE_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.value = this.value(astRoot);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public EnumType getValue() {
- return this.value;
- }
-
- public void setValue(EnumType newValue) {
- if (attributeValueHasNotChanged(this.value, newValue)) {
- return;
- }
- EnumType oldValue = this.value;
- this.value = newValue;
- this.valueAdapter.setValue(EnumType.toJavaAnnotationValue(newValue));
- firePropertyChanged(VALUE_PROPERTY, oldValue, newValue);
- }
-
- public TextRange getValueTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(VALUE_ADAPTER, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setValue(this.value(astRoot));
- }
-
- protected EnumType value(CompilationUnit astRoot) {
- return EnumType.fromJavaAnnotationValue(this.valueAdapter.getValue(astRoot));
- }
-
- // ********** static methods **********
- private static DeclarationAnnotationElementAdapter<String> buildValueAdapter() {
- return new EnumDeclarationAnnotationElementAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.ENUMERATED__VALUE, false);
- }
-
- public static class EnumeratedAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final EnumeratedAnnotationDefinition INSTANCE = new EnumeratedAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private EnumeratedAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new EnumeratedImpl(parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NullEnumerated(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/GeneratedValueImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/GeneratedValueImpl.java
deleted file mode 100644
index c160ec212a..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/GeneratedValueImpl.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.EnumDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.GeneratedValueAnnotation;
-import org.eclipse.jpt.core.resource.java.GenerationType;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class GeneratedValueImpl extends AbstractResourceAnnotation<Member> implements GeneratedValueAnnotation
-{
- private final AnnotationElementAdapter<String> strategyAdapter;
-
- private final AnnotationElementAdapter<String> generatorAdapter;
-
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> STRATEGY_ADAPTER = buildStrategyAdapter();
-
- private static final DeclarationAnnotationElementAdapter<String> GENERATOR_ADAPTER = buildGeneratorAdapter();
-
- private GenerationType strategy;
-
- private String generator;
-
-
- protected GeneratedValueImpl(JavaResourceNode parent, Member member) {
- super(parent, member, DECLARATION_ANNOTATION_ADAPTER);
- this.strategyAdapter = new ShortCircuitAnnotationElementAdapter<String>(member, STRATEGY_ADAPTER);
- this.generatorAdapter = new ShortCircuitAnnotationElementAdapter<String>(member, GENERATOR_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.strategy = this.strategy(astRoot);
- this.generator = this.generator(astRoot);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public GenerationType getStrategy() {
- return this.strategy;
- }
-
- public void setStrategy(GenerationType newStrategy) {
- if (attributeValueHasNotChanged(this.strategy, newStrategy)) {
- return;
- }
- GenerationType oldStrategy = this.strategy;
- this.strategy = newStrategy;
- this.strategyAdapter.setValue(GenerationType.toJavaAnnotationValue(newStrategy));
- firePropertyChanged(STRATEGY_PROPERTY, oldStrategy, newStrategy);
- }
-
- public String getGenerator() {
- return this.generator;
- }
-
- public void setGenerator(String newGenerator) {
- if (attributeValueHasNotChanged(this.generator, newGenerator)) {
- return;
- }
- String oldGenerator = this.generator;
- this.generator = newGenerator;
- this.generatorAdapter.setValue(newGenerator);
- firePropertyChanged(GENERATOR_PROPERTY, oldGenerator, newGenerator);
- }
-
- public TextRange getStrategyTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(STRATEGY_ADAPTER, astRoot);
- }
-
- public TextRange getGeneratorTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(GENERATOR_ADAPTER, astRoot);
- }
-
- // ********** java annotations -> persistence model **********
- public void update(CompilationUnit astRoot) {
- this.setStrategy(this.strategy(astRoot));
- this.setGenerator(this.generator(astRoot));
- }
-
- protected GenerationType strategy(CompilationUnit astRoot) {
- return GenerationType.fromJavaAnnotationValue(this.strategyAdapter.getValue(astRoot));
- }
-
- protected String generator(CompilationUnit astRoot) {
- return this.generatorAdapter.getValue(astRoot);
- }
-
- // ********** static methods **********
- private static DeclarationAnnotationElementAdapter<String> buildStrategyAdapter() {
- return new EnumDeclarationAnnotationElementAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.GENERATED_VALUE__STRATEGY, false);
- }
-
- private static DeclarationAnnotationElementAdapter<String> buildGeneratorAdapter() {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.GENERATED_VALUE__GENERATOR, false);
- }
-
- public static class GeneratedValueAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final GeneratedValueAnnotationDefinition INSTANCE = new GeneratedValueAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private GeneratedValueAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new GeneratedValueImpl(parent, member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/GeneratorImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/GeneratorImpl.java
deleted file mode 100644
index a28a2bb3c1..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/GeneratorImpl.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.NumberIntegerExpressionConverter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.resource.java.GeneratorAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public abstract class GeneratorImpl
- extends AbstractResourceAnnotation<Member>
- implements GeneratorAnnotation
-{
- // hold this so we can get the 'name' text range
- private final DeclarationAnnotationElementAdapter<String> nameDeclarationAdapter;
-
- // hold this so we can get the 'initialValue' text range
- private final DeclarationAnnotationElementAdapter<Integer> initialValueDeclarationAdapter;
-
- // hold this so we can get the 'allocationSize' text range
- private final DeclarationAnnotationElementAdapter<Integer> allocationSizeDeclarationAdapter;
-
- private final AnnotationElementAdapter<String> nameAdapter;
-
- private final AnnotationElementAdapter<Integer> initialValueAdapter;
-
- private final AnnotationElementAdapter<Integer> allocationSizeAdapter;
-
- private String name;
-
- private Integer initialValue;
-
- private Integer allocationSize;
-
- public GeneratorImpl(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa) {
- super(parent, member, daa);
- this.nameDeclarationAdapter = this.getNameAdapter();
- this.nameAdapter = this.buildAdapter(this.nameDeclarationAdapter);
- this.initialValueDeclarationAdapter = this.getInitialValueAdapter();
- this.initialValueAdapter = this.buildIntegerAdapter(this.initialValueDeclarationAdapter);
- this.allocationSizeDeclarationAdapter = this.getAllocationSizeAdapter();
- this.allocationSizeAdapter = this.buildIntegerAdapter(this.allocationSizeDeclarationAdapter);
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.name = this.name(astRoot);
- this.initialValue = this.initialValue(astRoot);
- this.allocationSize = this.allocationSize(astRoot);
- }
-
- // ********** initialization **********
- protected AnnotationElementAdapter<String> buildAdapter(DeclarationAnnotationElementAdapter<String> daea) {
- return new ShortCircuitAnnotationElementAdapter<String>(getMember(), daea);
- }
-
- protected AnnotationElementAdapter<Integer> buildIntegerAdapter(DeclarationAnnotationElementAdapter<Integer> daea) {
- return new ShortCircuitAnnotationElementAdapter<Integer>(getMember(), daea);
- }
-
- protected abstract DeclarationAnnotationElementAdapter<String> getNameAdapter();
-
- protected abstract DeclarationAnnotationElementAdapter<Integer> getInitialValueAdapter();
-
- protected abstract DeclarationAnnotationElementAdapter<Integer> getAllocationSizeAdapter();
-
-
-
- public Integer getAllocationSize() {
- return this.allocationSize;
- }
-
- public void setAllocationSize(Integer newAllocationSize) {
- if (attributeValueHasNotChanged(this.allocationSize, newAllocationSize)) {
- return;
- }
- Integer oldAllocationSize = this.allocationSize;
- this.allocationSize = newAllocationSize;
- this.allocationSizeAdapter.setValue(newAllocationSize);
- firePropertyChanged(ALLOCATION_SIZE_PROPERTY, oldAllocationSize, newAllocationSize);
- }
-
- public Integer getInitialValue() {
- return this.initialValue;
- }
-
- public void setInitialValue(Integer newInitialValue) {
- if (attributeValueHasNotChanged(this.initialValue, newInitialValue)) {
- return;
- }
- Integer oldInitialValue = this.initialValue;
- this.initialValue = newInitialValue;
- this.initialValueAdapter.setValue(newInitialValue);
- firePropertyChanged(INITIAL_VALUE_PROPERTY, oldInitialValue, newInitialValue);
- }
-
- public String getName() {
- return this.name;
- }
-
- public void setName(String newName) {
- if (attributeValueHasNotChanged(this.name, newName)) {
- return;
- }
- String oldName = this.name;
- this.name = newName;
- this.nameAdapter.setValue(newName);
- firePropertyChanged(NAME_PROPERTY, oldName, newName);
- }
-
- public TextRange getNameTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.nameDeclarationAdapter, astRoot);
- }
-
- public TextRange getInitialValueTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.initialValueDeclarationAdapter, astRoot);
- }
-
- public TextRange getAllocationSizeTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.allocationSizeDeclarationAdapter, astRoot);
- }
-
- // ********** java annotations -> persistence model **********
- public void update(CompilationUnit astRoot) {
- this.setName(this.name(astRoot));
- this.setAllocationSize(this.allocationSize(astRoot));
- this.setInitialValue(this.initialValue(astRoot));
- }
-
- protected String name(CompilationUnit astRoot) {
- return this.nameAdapter.getValue(astRoot);
- }
-
- protected Integer allocationSize(CompilationUnit astRoot) {
- return this.allocationSizeAdapter.getValue(astRoot);
- }
-
- protected Integer initialValue(CompilationUnit astRoot) {
- return this.initialValueAdapter.getValue(astRoot);
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.name);
- }
-
- // ********** static methods **********
- protected static DeclarationAnnotationElementAdapter<String> buildAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(annotationAdapter, elementName);
- }
-
- protected static DeclarationAnnotationElementAdapter<Integer> buildIntegerAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
- return new ConversionDeclarationAnnotationElementAdapter<Integer>(annotationAdapter, elementName, NumberIntegerExpressionConverter.instance());
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/IdClassImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/IdClassImpl.java
deleted file mode 100644
index bb64600347..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/IdClassImpl.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.JDTTools;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleTypeStringExpressionConverter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.IdClassAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.core.utility.jdt.Type;
-
-public class IdClassImpl extends AbstractResourceAnnotation<Type> implements IdClassAnnotation
-{
- private final AnnotationElementAdapter<String> valueAdapter;
-
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> VALUE_ADAPTER = buildValueAdapter();
-
- private String value;
-
- private String fullyQualifiedValue;
-
- public IdClassImpl(JavaResourceNode parent, Type type) {
- super(parent, type, DECLARATION_ANNOTATION_ADAPTER);
- this.valueAdapter = new ShortCircuitAnnotationElementAdapter<String>(type, VALUE_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.value = this.value(astRoot);
- this.fullyQualifiedValue = fullyQualifiedClass(astRoot);
- }
-
- public String getAnnotationName() {
- return IdClassAnnotation.ANNOTATION_NAME;
- }
-
- public String getValue() {
- return this.value;
- }
-
- public void setValue(String newValue) {
- if (attributeValueHasNotChanged(this.value, newValue)) {
- return;
- }
- String oldValue = this.value;
- this.value = newValue;
- this.valueAdapter.setValue(newValue);
- firePropertyChanged(IdClassAnnotation.VALUE_PROPERTY, oldValue, newValue);
- }
-
- public String getFullyQualifiedClass() {
- return this.fullyQualifiedValue;
- }
-
- private void setFullyQualifiedClass(String newQualifiedClass) {
- String oldQualifiedClass = this.fullyQualifiedValue;
- this.fullyQualifiedValue = newQualifiedClass;
- firePropertyChanged(IdClassAnnotation.FULLY_QUALIFIED_CLASS_PROPERTY, oldQualifiedClass, newQualifiedClass);
- }
-
- public TextRange getValueTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(VALUE_ADAPTER, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setValue(this.value(astRoot));
- this.setFullyQualifiedClass(this.fullyQualifiedClass(astRoot));
- }
-
- protected String value(CompilationUnit astRoot) {
- return this.valueAdapter.getValue(astRoot);
- }
-
- private String fullyQualifiedClass(CompilationUnit astRoot) {
- if (getValue() == null) {
- return null;
- }
- return JDTTools.resolveFullyQualifiedName(this.valueAdapter.getExpression(astRoot));
- }
-
- // ********** static methods **********
- protected static DeclarationAnnotationElementAdapter<String> buildValueAdapter() {
- return new ConversionDeclarationAnnotationElementAdapter<String>(DECLARATION_ANNOTATION_ADAPTER, JPA.ID_CLASS__VALUE, SimpleTypeStringExpressionConverter.instance());
- }
-
-
- public static class IdClassAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final IdClassAnnotationDefinition INSTANCE = new IdClassAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private IdClassAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new IdClassImpl(parent, (Type) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/IdImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/IdImpl.java
deleted file mode 100644
index 31dde60793..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/IdImpl.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.IdAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-
-public class IdImpl extends AbstractResourceAnnotation<Attribute> implements IdAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- protected IdImpl(JavaResourcePersistentAttribute parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //nothing to initialize
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public void update(CompilationUnit astRoot) {
- //no annotation members
- }
-
- public static class IdAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final IdAnnotationDefinition INSTANCE = new IdAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static IdAnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private IdAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new IdImpl((JavaResourcePersistentAttribute) parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/InheritanceImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/InheritanceImpl.java
deleted file mode 100644
index 47fd924bbf..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/InheritanceImpl.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.EnumDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.InheritanceAnnotation;
-import org.eclipse.jpt.core.resource.java.InheritanceType;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.core.utility.jdt.Type;
-
-public class InheritanceImpl extends AbstractResourceAnnotation<Type> implements InheritanceAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
- private static final DeclarationAnnotationElementAdapter<String> STRATEGY_ADAPTER = buildStrategyAdapter();
-
- private final AnnotationElementAdapter<String> strategyAdapter;
-
- private InheritanceType strategy;
-
- protected InheritanceImpl(JavaResourceNode parent, Type type) {
- super(parent, type, DECLARATION_ANNOTATION_ADAPTER);
- this.strategyAdapter = new ShortCircuitAnnotationElementAdapter<String>(type, STRATEGY_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.strategy = this.strategy(astRoot);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public InheritanceType getStrategy() {
- return this.strategy;
- }
-
- public void setStrategy(InheritanceType newStrategy) {
- if (attributeValueHasNotChanged(this.strategy, newStrategy)) {
- return;
- }
- InheritanceType oldStrategy = this.strategy;
- this.strategy = newStrategy;
- this.strategyAdapter.setValue(InheritanceType.toJavaAnnotationValue(newStrategy));
- firePropertyChanged(STRATEGY_PROPERTY, oldStrategy, newStrategy);
- }
-
- public TextRange getStrategyTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(STRATEGY_ADAPTER, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setStrategy(this.strategy(astRoot));
- }
-
- protected InheritanceType strategy(CompilationUnit astRoot) {
- return InheritanceType.fromJavaAnnotationValue(this.strategyAdapter.getValue(astRoot));
- }
-
- // ********** static methods **********
- private static DeclarationAnnotationElementAdapter<String> buildStrategyAdapter() {
- return new EnumDeclarationAnnotationElementAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.INHERITANCE__STRATEGY);
- }
-
- public static class InheritanceAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final InheritanceAnnotationDefinition INSTANCE = new InheritanceAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private InheritanceAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new InheritanceImpl(parent, (Type) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NullInheritance(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JavaResourcePersistentAttributeImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JavaResourcePersistentAttributeImpl.java
deleted file mode 100644
index 5ff6e77793..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JavaResourcePersistentAttributeImpl.java
+++ /dev/null
@@ -1,553 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ListIterator;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IBinding;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jdt.core.dom.Modifier;
-import org.eclipse.jpt.core.internal.utility.jdt.JDTFieldAttribute;
-import org.eclipse.jpt.core.internal.utility.jdt.JDTMethodAttribute;
-import org.eclipse.jpt.core.internal.utility.jdt.JDTTools;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.core.resource.java.JpaCompilationUnit;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.MethodAttribute;
-import org.eclipse.jpt.core.utility.jdt.Type;
-import org.eclipse.jpt.utility.MethodSignature;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-
-/**
- *
- */
-public class JavaResourcePersistentAttributeImpl
- extends AbstractJavaResourcePersistentMember<Attribute>
- implements JavaResourcePersistentAttribute
-{
-
- private boolean typeIsBasic;
-
- private String qualifiedTypeName;
-
- private boolean typeIsSerializable;
-
- private boolean typeIsDateOrCalendar;
-
- private boolean typeIsContainer;
-
- private String qualifiedReferenceEntityTypeName;
-
- private String qualifiedReferenceEntityElementTypeName;
-
- private boolean public_; // 'public' is a reserved word
-
- private boolean final_; // 'final' is a reserved word
-
- /**
- * construct field attribute
- */
- public static JavaResourcePersistentAttribute newInstance(
- JavaResourcePersistentType parent,
- Type declaringType,
- String name,
- int occurrence,
- JpaCompilationUnit jpaCompilationUnit,
- CompilationUnit astRoot) {
- Attribute attribute = new JDTFieldAttribute(
- declaringType,
- name,
- occurrence,
- jpaCompilationUnit.getCompilationUnit(),
- jpaCompilationUnit.getModifySharedDocumentCommandExecutorProvider(),
- jpaCompilationUnit.getAnnotationEditFormatter());
- JavaResourcePersistentAttribute field = new JavaResourcePersistentAttributeImpl(parent, attribute);
- field.initialize(astRoot);
- return field;
- }
-
- /**
- * construct property attribute
- */
- public static JavaResourcePersistentAttribute newInstance(
- JavaResourcePersistentType parent,
- Type declaringType,
- MethodSignature signature,
- int occurrence,
- JpaCompilationUnit jpaCompilationUnit,
- CompilationUnit astRoot) {
- Attribute attribute = JDTMethodAttribute.newInstance(
- declaringType,
- signature,
- occurrence,
- jpaCompilationUnit.getCompilationUnit(),
- jpaCompilationUnit.getModifySharedDocumentCommandExecutorProvider(),
- jpaCompilationUnit.getAnnotationEditFormatter());
- JavaResourcePersistentAttribute field = new JavaResourcePersistentAttributeImpl(parent, attribute);
- field.initialize(astRoot);
- return field;
- }
-
- public JavaResourcePersistentAttributeImpl(JavaResourcePersistentType parent, Attribute attribute){
- super(parent, attribute);
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.typeIsBasic = this.buildTypeIsBasic(astRoot);
- this.qualifiedTypeName = this.buildQualifiedTypeName(astRoot);
- this.qualifiedReferenceEntityTypeName = this.buildQualifiedReferenceEntityTypeName(astRoot);
- this.qualifiedReferenceEntityElementTypeName = this.buildQualifiedReferenceEntityElementTypeName(astRoot);
- this.typeIsSerializable = this.buildTypeIsSerializable(astRoot);
- this.typeIsDateOrCalendar = this.buildTypeIsDateOrCalendar(astRoot);
- this.typeIsContainer = this.buildTypeIsContainer(astRoot);
- this.final_ = this.buildFinal(astRoot);
- this.public_ = this.buildPublic(astRoot);
- }
-
- public String getName() {
- return this.getMember().getAttributeName();
- }
-
- // ******** AbstractJavaPersistentResource implementation ********
-
- @Override
- protected Annotation buildMappingAnnotation(String mappingAnnotationName) {
- return this.getAnnotationProvider().buildAttributeMappingAnnotation(this, this.getMember(), mappingAnnotationName);
- }
-
- @Override
- protected Annotation buildSupportingAnnotation(String annotationName) {
- return this.getAnnotationProvider().buildAttributeSupportingAnnotation(this, this.getMember(), annotationName);
- }
-
- @Override
- protected Annotation buildNullSupportingAnnotation(String annotationName) {
- return this.getAnnotationProvider().buildNullAttributeSupportingAnnotation(this, this.getMember(), annotationName);
- }
-
- @Override
- protected Annotation buildNullMappingAnnotation(String annotationName) {
- return this.getAnnotationProvider().buildNullAttributeMappingAnnotation(this, this.getMember(), annotationName);
- }
-
- @Override
- protected ListIterator<String> validMappingAnnotationNames() {
- return this.getAnnotationProvider().attributeMappingAnnotationNames();
- }
-
- @Override
- protected ListIterator<String> validSupportingAnnotationNames() {
- return this.getAnnotationProvider().attributeSupportingAnnotationNames();
- }
-
- @Override
- public boolean isFor(MethodSignature signature, int occurrence) {
- return ((MethodAttribute) this.getMember()).matches(signature, occurrence);
- }
-
- // ******** JavaPersistentAttributeResource implementation ********
-
- public boolean isForField() {
- return this.getMember().isField();
- }
-
- public boolean isForProperty() {
- return ! this.isForField();
- }
-
- public boolean hasAnyAnnotations() {
- if (this.mappingAnnotationsSize() > 0) {
- return true;
- }
- if (this.supportingAnnotationsSize() > 0) {
- return true;
- }
- return false;
- }
-
- public boolean isPublic() {
- return this.public_;
- }
-
- protected void setPublic(boolean public_) {
- boolean old = this.public_;
- this.public_ = public_;
- this.firePropertyChanged(PUBLIC_PROPERTY, old, public_);
- }
-
- public boolean isFinal() {
- return this.final_;
- }
-
- protected void setFinal(boolean final_) {
- boolean old = this.final_;
- this.final_ = final_;
- this.firePropertyChanged(FINAL_PROPERTY, old, final_);
- }
-
- public boolean typeIsBasic() {
- return this.typeIsBasic;
- }
-
- protected void setTypeIsBasic(boolean typeIsBasic) {
- boolean old = this.typeIsBasic;
- this.typeIsBasic = typeIsBasic;
- this.firePropertyChanged(TYPE_IS_BASIC_PROPERTY, old, typeIsBasic);
- }
-
- public String getQualifiedTypeName() {
- return this.qualifiedTypeName;
- }
-
- protected void setQualifiedTypeName(String qualifiedTypeName) {
- String old = this.qualifiedTypeName;
- this.qualifiedTypeName = qualifiedTypeName;
- this.firePropertyChanged(QUALIFIED_TYPE_NAME_PROPERTY, old, qualifiedTypeName);
- }
-
- public String getQualifiedReferenceEntityTypeName() {
- return this.qualifiedReferenceEntityTypeName;
- }
-
- protected void setQualifiedReferenceEntityTypeName(String qualifiedReferenceEntityTypeName) {
- String old = this.qualifiedReferenceEntityTypeName;
- this.qualifiedReferenceEntityTypeName = qualifiedReferenceEntityTypeName;
- this.firePropertyChanged(QUALIFIED_REFERENCE_ENTITY_TYPE_NAME_PROPERTY, old, qualifiedReferenceEntityTypeName);
- }
-
- public String getQualifiedReferenceEntityElementTypeName() {
- return this.qualifiedReferenceEntityElementTypeName;
- }
-
- protected void setQualifiedReferenceEntityElementTypeName(String qualifiedReferenceEntityElementTypeName) {
- String old = this.qualifiedReferenceEntityElementTypeName;
- this.qualifiedReferenceEntityElementTypeName = qualifiedReferenceEntityElementTypeName;
- this.firePropertyChanged(QUALIFIED_REFERENCE_ENTITY_ELEMENT_TYPE_NAME_PROPERTY, old, qualifiedReferenceEntityElementTypeName);
- }
-
- public boolean typeIsSerializable() {
- return this.typeIsSerializable;
- }
-
- protected void setTypeIsSerializable(boolean typeIsSerializable) {
- boolean old = this.typeIsSerializable;
- this.typeIsSerializable = typeIsSerializable;
- this.firePropertyChanged(TYPE_IS_SERIALIZABLE_PROPERTY, old, typeIsSerializable);
- }
-
- public boolean typeIsDateOrCalendar() {
- return this.typeIsDateOrCalendar;
- }
-
- protected void setTypeIsDateOrCalendar(boolean typeIsDateOrCalendar) {
- boolean old = this.typeIsDateOrCalendar;
- this.typeIsDateOrCalendar = typeIsDateOrCalendar;
- firePropertyChanged(TYPE_IS_DATE_OR_CALENDAR_PROPERTY, old, typeIsDateOrCalendar);
- }
-
- public boolean typeIsContainer() {
- return this.typeIsContainer;
- }
-
- protected void setTypeIsContainer(boolean typeIsContainer) {
- boolean old = this.typeIsContainer;
- this.typeIsContainer = typeIsContainer;
- this.firePropertyChanged(TYPE_IS_CONTAINER_PROPERTY, old, typeIsContainer);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setTypeIsBasic(this.buildTypeIsBasic(astRoot));
- this.setQualifiedTypeName(this.buildQualifiedTypeName(astRoot));
- this.setQualifiedReferenceEntityTypeName(this.buildQualifiedReferenceEntityTypeName(astRoot));
- this.setQualifiedReferenceEntityElementTypeName(this.buildQualifiedReferenceEntityElementTypeName(astRoot));
- this.setTypeIsSerializable(this.buildTypeIsSerializable(astRoot));
- this.setTypeIsDateOrCalendar(this.buildTypeIsDateOrCalendar(astRoot));
- this.setTypeIsContainer(this.buildTypeIsContainer(astRoot));
- this.setFinal(this.buildFinal(astRoot));
- this.setPublic(this.buildPublic(astRoot));
- }
-
- @Override
- public void resolveTypes(CompilationUnit astRoot) {
- super.resolveTypes(astRoot);
- this.setTypeIsBasic(this.buildTypeIsBasic(astRoot));
- this.setQualifiedTypeName(this.buildQualifiedTypeName(astRoot));
- this.setQualifiedReferenceEntityTypeName(this.buildQualifiedReferenceEntityTypeName(astRoot));
- this.setQualifiedReferenceEntityElementTypeName(this.buildQualifiedReferenceEntityElementTypeName(astRoot));
- this.setTypeIsSerializable(this.buildTypeIsSerializable(astRoot));
- this.setTypeIsDateOrCalendar(this.buildTypeIsDateOrCalendar(astRoot));
- this.setTypeIsContainer(this.buildTypeIsContainer(astRoot));
- }
-
- protected boolean buildTypeIsBasic(CompilationUnit astRoot) {
- return typeIsBasic(this.getMember().getTypeBinding(astRoot), astRoot.getAST());
- }
-
- protected boolean buildFinal(CompilationUnit astRoot) {
- IBinding binding = this.getMember().getBinding(astRoot);
- return (binding == null) ? false : Modifier.isFinal(binding.getModifiers());
- }
-
- protected boolean buildPublic(CompilationUnit astRoot) {
- IBinding binding = this.getMember().getBinding(astRoot);
- return (binding == null) ? false : Modifier.isPublic(binding.getModifiers());
- }
-
- protected String buildQualifiedReferenceEntityTypeName(CompilationUnit astRoot) {
- ITypeBinding typeBinding = this.getMember().getTypeBinding(astRoot);
- return (typeBinding == null) ? null : buildReferenceEntityTypeName(typeBinding);
- }
-
- public static String buildReferenceEntityTypeName(ITypeBinding typeBinding) {
- if (typeBinding == null) {
- return null;
- }
- if (typeBinding.isArray()) {
- return null; // arrays cannot be entities
- }
- return typeBinding.getTypeDeclaration().getQualifiedName();
- }
-
- protected String buildQualifiedReferenceEntityElementTypeName(CompilationUnit astRoot) {
- ITypeBinding typeBinding = this.getMember().getTypeBinding(astRoot);
- if (typeBinding == null) {
- return null;
- }
-
- ITypeBinding[] typeArguments = typeBinding.getTypeArguments();
- ITypeBinding elementTypeBinding;
- if (typeArguments.length == 1) {
- elementTypeBinding = typeArguments[0];
- }
- else if (typeArguments.length == 2 && typeNamedIsMap(buildQualifiedTypeName(astRoot))) {
- elementTypeBinding = typeArguments[1];
- }
- else {
- return null;
- }
- String elementTypeName = buildReferenceEntityTypeName(elementTypeBinding);
- return typeNamedIsContainer(elementTypeName) ? null : elementTypeName;
- }
-
-
- protected boolean buildTypeIsSerializable(CompilationUnit astRoot) {
- return typeImplementsSerializable(this.getMember().getTypeBinding(astRoot), astRoot.getAST());
- }
-
- protected boolean buildTypeIsDateOrCalendar(CompilationUnit astRoot) {
- return typeImplementsDateOrCalendar(this.getMember().getTypeBinding(astRoot));
- }
-
-
- protected boolean buildTypeIsContainer(CompilationUnit astRoot) {
- String typeName = buildReferenceEntityTypeName(this.getMember().getTypeBinding(astRoot));
- return (typeName == null) ? false : typeNamedIsContainer(typeName);
- }
-
- private static final String MAP_TYPE_NAME = java.util.Map.class.getName();
-
- /**
- * return whether the specified non-array type is one of the container
- * types allowed by the JPA spec
- */
- public static boolean typeNamedIsMap(String typeName) {
- return MAP_TYPE_NAME.equals(typeName);
- }
-
- /**
- * return whether the specified non-array type is one of the container
- * types allowed by the JPA spec
- */
- public static boolean typeNamedIsContainer(String typeName) {
- return CollectionTools.contains(CONTAINER_TYPE_NAMES, typeName);
- }
-
- private static final String[] CONTAINER_TYPE_NAMES = {
- java.util.Collection.class.getName(),
- java.util.Set.class.getName(),
- java.util.List.class.getName(),
- MAP_TYPE_NAME,
- };
-
-
- protected String buildQualifiedTypeName(CompilationUnit astRoot) {
- ITypeBinding typeBinding = this.getMember().getTypeBinding(astRoot);
- return (typeBinding == null) ? null : typeBinding.getTypeDeclaration().getQualifiedName();
- }
-
-
- /**
- * From the JPA spec, when the basic mapping applies:
- * If the type of the attribute (field or property) is one of the following
- * it must be mapped as @Basic:
- * primitive types
- * byte[]
- * Byte[]
- * char[]
- * Character[]
- * primitive wrappers
- * java.lang.String
- * java.math.BigInteger
- * java.math.BigDecimal
- * java.util.Date
- * java.util.Calendar
- * java.sql.Date
- * java.sql.Time
- * java.sql.Timestamp
- * enums
- * any other type that implements java.io.Serializable
- */
- public static boolean typeIsBasic(ITypeBinding typeBinding, AST ast) {
- if (typeBinding == null) {
- return false; // type not found
- }
- if (typeBinding.isPrimitive()) {
- return true;
- }
- if (typeBinding.isArray()) {
- if (typeBinding.getDimensions() > 1) {
- return false; // multi-dimensional arrays are not supported
- }
- ITypeBinding elementTypeBinding = typeBinding.getElementType();
- if (elementTypeBinding == null) {
- return false;// unable to resolve the type
- }
- return elementTypeIsValid(elementTypeBinding.getQualifiedName());
- }
- String typeName = typeBinding.getQualifiedName();
- if (typeIsPrimitiveWrapper(typeName)) {
- return true;
- }
- if (typeIsOtherSupportedType(typeName)) {
- return true;
- }
- if (typeBinding.isEnum()) {
- return true;
- }
- if (typeImplementsSerializable(typeBinding, ast)) {
- return true;
- }
- return false;
- }
-
- /**
- * Return whether the specified type is a valid element type for
- * a one-dimensional array:
- * byte
- * char
- * java.lang.Byte
- * java.lang.Character
- */
- private static boolean elementTypeIsValid(String elementTypeName) {
- return CollectionTools.contains(VALID_ELEMENT_TYPE_NAMES, elementTypeName);
- }
-
- private static final String[] VALID_ELEMENT_TYPE_NAMES = {
- byte.class.getName(),
- char.class.getName(),
- java.lang.Byte.class.getName(),
- java.lang.Character.class.getName()
- };
-
- /**
- * Return whether the specified type is a primitive wrapper.
- */
- private static boolean typeIsPrimitiveWrapper(String typeName) {
- return CollectionTools.contains(PRIMITIVE_WRAPPER_TYPE_NAMES, typeName);
- }
-
- private static final String[] PRIMITIVE_WRAPPER_TYPE_NAMES = {
- java.lang.Byte.class.getName(),
- java.lang.Character.class.getName(),
- java.lang.Double.class.getName(),
- java.lang.Float.class.getName(),
- java.lang.Integer.class.getName(),
- java.lang.Long.class.getName(),
- java.lang.Short.class.getName(),
- java.lang.Boolean.class.getName(),
- };
-
- /**
- * Return whether the specified type is among the various other types
- * that default to a Basic mapping.
- */
- private static boolean typeIsOtherSupportedType(String typeName) {
- return CollectionTools.contains(OTHER_SUPPORTED_TYPE_NAMES, typeName);
- }
-
- private static final String[] OTHER_SUPPORTED_TYPE_NAMES = {
- java.lang.String.class.getName(),
- java.math.BigInteger.class.getName(),
- java.math.BigDecimal.class.getName(),
- java.util.Date.class.getName(),
- java.util.Calendar.class.getName(),
- java.sql.Date.class.getName(),
- java.sql.Time.class.getName(),
- java.sql.Timestamp.class.getName(),
- };
-
- /**
- * Return whether the specified type implements java.io.Serializable.
- */
- private static boolean typeImplementsSerializable(ITypeBinding typeBinding, AST ast) {
- if (typeBinding == null) {
- return false;
- }
- ITypeBinding serializableTypeBinding = ast.resolveWellKnownType(SERIALIZABLE_TYPE_NAME);
- return typeBinding.isAssignmentCompatible(serializableTypeBinding);
- }
-
- private static final String SERIALIZABLE_TYPE_NAME = java.io.Serializable.class.getName();
-
- /**
- * Return whether the specified type implements java.util.Date or java.util.Calendar.
- */
- private static boolean typeImplementsDateOrCalendar(ITypeBinding typeBinding) {
- return typeImplementsDate(typeBinding) || typeImplementsCalendar(typeBinding);
- }
-
- /**
- * Return whether the specified type implements java.util.Date.
- */
- private static boolean typeImplementsDate(ITypeBinding typeBinding) {
- if (typeBinding == null) {
- return false;
- }
- return JDTTools.findTypeInHierarchy(typeBinding, DATE_TYPE_NAME) != null;
- }
-
- private static final String DATE_TYPE_NAME = java.util.Date.class.getName();
-
- /**
- * Return whether the specified type implements java.util.Calendar.
- */
- private static boolean typeImplementsCalendar(ITypeBinding typeBinding) {
- if (typeBinding == null) {
- return false;
- }
- return JDTTools.findTypeInHierarchy(typeBinding, CALENDAR_TYPE_NAME) != null;
- }
-
- private static final String CALENDAR_TYPE_NAME = java.util.Calendar.class.getName();
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.getName());
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JavaResourcePersistentTypeImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JavaResourcePersistentTypeImpl.java
deleted file mode 100644
index 403dbbba89..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JavaResourcePersistentTypeImpl.java
+++ /dev/null
@@ -1,599 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Vector;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.Modifier;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-import org.eclipse.jpt.core.internal.utility.jdt.JDTTools;
-import org.eclipse.jpt.core.internal.utility.jdt.JDTType;
-import org.eclipse.jpt.core.resource.java.AccessType;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.core.resource.java.JpaCompilationUnit;
-import org.eclipse.jpt.core.utility.jdt.Type;
-import org.eclipse.jpt.utility.MethodSignature;
-import org.eclipse.jpt.utility.internal.Counter;
-import org.eclipse.jpt.utility.internal.iterators.CloneIterator;
-import org.eclipse.jpt.utility.internal.iterators.CompositeIterator;
-import org.eclipse.jpt.utility.internal.iterators.TreeIterator;
-
-/**
- *
- */
-public class JavaResourcePersistentTypeImpl
- extends AbstractJavaResourcePersistentMember<Type>
- implements JavaResourcePersistentType
-{
- private String name;
-
- private String qualifiedName;
-
- private String superClassQualifiedName;
-
- private boolean abstract_; // 'abstract' is a reserved word
-
- private final Vector<JavaResourcePersistentType> types;
-
- private final Vector<JavaResourcePersistentAttribute> fields;
-
- private final Vector<JavaResourcePersistentAttribute> methods;
-
- private AccessType access;
-
-
- // ********** construction **********
-
- /**
- * build top-level persistent type
- */
- public static JavaResourcePersistentType newInstance(
- JpaCompilationUnit jpaCompilationUnit,
- TypeDeclaration typeDeclaration,
- CompilationUnit astRoot) {
- Type type = new JDTType(
- typeDeclaration,
- jpaCompilationUnit.getCompilationUnit(),
- jpaCompilationUnit.getModifySharedDocumentCommandExecutorProvider(),
- jpaCompilationUnit.getAnnotationEditFormatter());
- JavaResourcePersistentType jrpt = new JavaResourcePersistentTypeImpl(jpaCompilationUnit, type);
- jrpt.initialize(astRoot);
- return jrpt;
- }
-
- /**
- * build nested persistent type
- */
- protected static JavaResourcePersistentType newInstance(
- JpaCompilationUnit jpaCompilationUnit,
- Type declaringType,
- TypeDeclaration typeDeclaration,
- int occurrence,
- CompilationUnit astRoot) {
- Type type = new JDTType(
- declaringType,
- typeDeclaration,
- occurrence,
- jpaCompilationUnit.getCompilationUnit(),
- jpaCompilationUnit.getModifySharedDocumentCommandExecutorProvider(),
- jpaCompilationUnit.getAnnotationEditFormatter());
- JavaResourcePersistentType jrpt = new JavaResourcePersistentTypeImpl(jpaCompilationUnit, type);
- jrpt.initialize(astRoot);
- return jrpt;
- }
-
- public JavaResourcePersistentTypeImpl(JpaCompilationUnit jpaCompilationUnit, Type type) {
- super(jpaCompilationUnit, type);
- this.types = new Vector<JavaResourcePersistentType>();
- this.fields = new Vector<JavaResourcePersistentAttribute>();
- this.methods = new Vector<JavaResourcePersistentAttribute>();
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.name = this.buildName(astRoot);
- this.qualifiedName = this.buildQualifiedName(astRoot);
- this.superClassQualifiedName = this.buildSuperClassQualifiedName(astRoot);
- this.abstract_ = this.buildAbstract(astRoot);
- this.initializeTypes(astRoot);
- this.initializeFields(astRoot);
- this.initializeMethods(astRoot);
- this.access = this.buildAccess();
- }
-
- protected void initializeTypes(CompilationUnit astRoot) {
- TypeDeclaration[] typeDeclarations = this.getMember().getTypes(astRoot);
- CounterMap counters = new CounterMap(typeDeclarations.length);
- for (TypeDeclaration td : typeDeclarations) {
- String tdName = td.getName().getFullyQualifiedName();
- int occurrence = counters.increment(tdName);
- this.types.add(this.buildType(td, occurrence, astRoot));
- }
- }
-
- protected void initializeFields(CompilationUnit astRoot) {
- FieldDeclaration[] fieldDeclarations = this.getMember().getFields(astRoot);
- CounterMap counters = new CounterMap(fieldDeclarations.length);
- for (FieldDeclaration fieldDeclaration : fieldDeclarations) {
- for (VariableDeclarationFragment fragment : fragments(fieldDeclaration)) {
- String fieldName = fragment.getName().getFullyQualifiedName();
- int occurrence = counters.increment(fieldName);
- this.fields.add(this.buildField(fieldName, occurrence, astRoot));
- }
- }
- }
-
- protected void initializeMethods(CompilationUnit astRoot) {
- MethodDeclaration[] methodDeclarations = this.getMember().getMethods(astRoot);
- CounterMap counters = new CounterMap(methodDeclarations.length);
- for (MethodDeclaration methodDeclaration : methodDeclarations) {
- MethodSignature signature = JDTTools.buildMethodSignature(methodDeclaration);
- int occurrence = counters.increment(signature);
- this.methods.add(this.buildMethod(signature, occurrence, astRoot));
- }
- }
-
-
- // ********** AbstractJavaResourcePersistentMember implementation **********
-
- @Override
- protected Annotation buildMappingAnnotation(String mappingAnnotationName) {
- return this.getAnnotationProvider().buildTypeMappingAnnotation(this, this.getMember(), mappingAnnotationName);
- }
-
- @Override
- protected Annotation buildNullMappingAnnotation(String annotationName) {
- return this.getAnnotationProvider().buildNullTypeMappingAnnotation(this, this.getMember(), annotationName);
- }
-
- @Override
- protected Annotation buildSupportingAnnotation(String annotationName) {
- return this.getAnnotationProvider().buildTypeSupportingAnnotation(this, this.getMember(), annotationName);
- }
-
- @Override
- protected Annotation buildNullSupportingAnnotation(String annotationName) {
- return this.getAnnotationProvider().buildNullTypeSupportingAnnotation(this, this.getMember(), annotationName);
- }
-
- @Override
- protected ListIterator<String> validMappingAnnotationNames() {
- return this.getAnnotationProvider().typeMappingAnnotationNames();
- }
-
- @Override
- protected ListIterator<String> validSupportingAnnotationNames() {
- return this.getAnnotationProvider().typeSupportingAnnotationNames();
- }
-
- @Override
- public void resolveTypes(CompilationUnit astRoot) {
- super.resolveTypes(astRoot);
-
- this.setSuperClassQualifiedName(this.buildSuperClassQualifiedName(astRoot));
-
- for (Iterator<JavaResourcePersistentAttribute> stream = this.fields(); stream.hasNext(); ) {
- stream.next().resolveTypes(astRoot);
- }
-
- // a new type can trigger a method parameter type to be a resolved,
- // fully-qualified name, so we need to rebuild our list of methods:
- // "setFoo(Foo)" is not the same as "setFoo(com.bar.Foo)"
- // and, vice-versa, a removed type can "unresolve" a parameter type
- this.updateMethods(astRoot);
-
- for (Iterator<JavaResourcePersistentAttribute> stream = this.methods(); stream.hasNext(); ) {
- stream.next().resolveTypes(astRoot);
- }
- synchronized (this.types) {
- for (JavaResourcePersistentType type : this.types) {
- type.resolveTypes(astRoot);
- }
- }
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.name);
- }
-
-
- // ******** JavaResourcePersistentType implementation ********
-
- public String getName() {
- return this.name;
- }
-
- protected void setName(String name) {
- String old = this.name;
- this.name = name;
- this.firePropertyChanged(NAME_PROPERTY, old, name);
- }
-
- public String getQualifiedName() {
- return this.qualifiedName;
- }
-
- protected void setQualifiedName(String qualifiedName) {
- String old = this.qualifiedName;
- this.qualifiedName = qualifiedName;
- this.firePropertyChanged(QUALIFIED_NAME_PROPERTY, old, qualifiedName);
- }
-
- public String getSuperClassQualifiedName() {
- return this.superClassQualifiedName;
- }
-
- protected void setSuperClassQualifiedName(String superClassQualifiedName) {
- String old = this.superClassQualifiedName;
- this.superClassQualifiedName = superClassQualifiedName;
- this.firePropertyChanged(SUPER_CLASS_QUALIFIED_NAME_PROPERTY, old, superClassQualifiedName);
- }
-
- public boolean isAbstract() {
- return this.abstract_;
- }
-
- protected void setAbstract(boolean abstract_) {
- boolean old = this.abstract_;
- this.abstract_ = abstract_;
- this.firePropertyChanged(ABSTRACT_PROPERTY, old, abstract_);
- }
-
- public AccessType getAccess() {
- return this.access;
- }
-
- // TODO
- //seems we could have a public changeAccess() api which would
- //move all annotations from fields to their corresponding methods or vice versa
- //though of course it's more complicated than that since what if the
- //corresponding field/method does not exist?
- //making this internal since it should only be set based on changes in the source, the
- //context model should not need to set this
- protected void setAccess(AccessType access) {
- AccessType old = this.access;
- this.access = access;
- this.firePropertyChanged(ACCESS_PROPERTY, old, access);
- }
-
- /**
- * check only persistable attributes
- */
- public boolean hasAnyAttributeAnnotations() {
- for (Iterator<JavaResourcePersistentAttribute> stream = this.persistableAttributes(); stream.hasNext(); ) {
- if (stream.next().hasAnyAnnotations()) {
- return true;
- }
- }
- return false;
- }
-
-
- // ********** types **********
-
- public Iterator<JavaResourcePersistentType> types() {
- return new CloneIterator<JavaResourcePersistentType>(this.types); // read-only
- }
-
- public Iterator<JavaResourcePersistentType> allTypes() {
- return new TreeIterator<JavaResourcePersistentType>(this) {
- @Override
- protected Iterator<? extends JavaResourcePersistentType> children(JavaResourcePersistentType type) {
- return type.types();
- }
- };
- }
-
- public Iterator<JavaResourcePersistentType> persistableTypes() {
- return persistableMembers(this.types());
- }
-
- public Iterator<JavaResourcePersistentType> allPersistableTypes() {
- return persistableMembers(this.allTypes());
- }
-
- protected JavaResourcePersistentType getType(String typeName, int occurrence) {
- for (JavaResourcePersistentType type : this.types) {
- if (type.isFor(typeName, occurrence)) {
- return type;
- }
- }
- return null;
- }
-
- protected void addType(JavaResourcePersistentType type) {
- this.addItemToCollection(type, this.types, TYPES_COLLECTION);
- }
-
- protected void removeTypes(Collection<JavaResourcePersistentType> remove) {
- this.removeItemsFromCollection(remove, this.types, TYPES_COLLECTION);
- }
-
-
- // ********** fields **********
-
- public Iterator<JavaResourcePersistentAttribute> fields() {
- return new CloneIterator<JavaResourcePersistentAttribute>(this.fields);
- }
-
- public Iterator<JavaResourcePersistentAttribute> persistableFields() {
- return persistableMembers(this.fields());
- }
-
- protected void addField(JavaResourcePersistentAttribute field) {
- this.addItemToCollection(field, this.fields, FIELDS_COLLECTION);
- }
-
- protected JavaResourcePersistentAttribute getField(String fieldName, int occurrence) {
- for (JavaResourcePersistentAttribute field : this.fields) {
- if (field.isFor(fieldName, occurrence)) {
- return field;
- }
- }
- return null;
- }
-
- protected void removeFields(Collection<JavaResourcePersistentAttribute> remove) {
- this.removeItemsFromCollection(remove, this.fields, FIELDS_COLLECTION);
- }
-
-
- // ********** methods **********
-
- public Iterator<JavaResourcePersistentAttribute> methods() {
- return new CloneIterator<JavaResourcePersistentAttribute>(this.methods);
- }
-
- public Iterator<JavaResourcePersistentAttribute> persistableProperties() {
- return persistableMembers(this.methods());
- }
-
- protected JavaResourcePersistentAttribute getMethod(MethodSignature signature, int occurrence) {
- for (JavaResourcePersistentAttribute method : this.methods) {
- if (method.isFor(signature, occurrence)) {
- return method;
- }
- }
- return null;
- }
-
- protected void addMethod(JavaResourcePersistentAttribute method) {
- this.addItemToCollection(method, this.methods, METHODS_COLLECTION);
- }
-
- protected void removeMethods(Collection<JavaResourcePersistentAttribute> remove) {
- this.removeItemsFromCollection(remove, this.methods, METHODS_COLLECTION);
- }
-
-
-
- // ********** attributes **********
-
- @SuppressWarnings("unchecked")
- public Iterator<JavaResourcePersistentAttribute> persistableAttributes() {
- return new CompositeIterator<JavaResourcePersistentAttribute>(this.persistableFields(), this.persistableProperties());
- }
-
-
- // ********** update from Java **********
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setName(this.buildName(astRoot));
- this.setQualifiedName(this.buildQualifiedName(astRoot));
- this.setSuperClassQualifiedName(this.buildSuperClassQualifiedName(astRoot));
- this.setAbstract(this.buildAbstract(astRoot));
- this.updateTypes(astRoot);
- this.updateFields(astRoot);
- this.updateMethods(astRoot);
- this.setAccess(this.buildAccess());
- }
-
- protected String buildName(CompilationUnit astRoot) {
- return this.getMember().getBinding(astRoot).getName();
- }
-
- protected String buildQualifiedName(CompilationUnit astRoot) {
- return this.getMember().getBinding(astRoot).getQualifiedName();
- }
-
- protected String buildSuperClassQualifiedName(CompilationUnit astRoot) {
- ITypeBinding typeBinding = this.getMember().getBinding(astRoot);
- if (typeBinding == null) {
- return null;
- }
- ITypeBinding superClassTypeBinding = typeBinding.getSuperclass();
- if (superClassTypeBinding == null) {
- return null;
- }
- return superClassTypeBinding.getTypeDeclaration().getQualifiedName();
- }
-
- protected boolean buildAbstract(CompilationUnit astRoot) {
- return Modifier.isAbstract(this.getMember().getBinding(astRoot).getModifiers());
- }
-
- protected void updateTypes(CompilationUnit astRoot) {
- synchronized (this.types) {
- this.updateTypes_(astRoot);
- }
- }
-
- protected void updateTypes_(CompilationUnit astRoot) {
- TypeDeclaration[] typeDeclarations = this.getMember().getTypes(astRoot);
- CounterMap counters = new CounterMap(typeDeclarations.length);
- HashSet<JavaResourcePersistentType> typesToRemove = new HashSet<JavaResourcePersistentType>(this.types);
- for (TypeDeclaration typeDeclaration : typeDeclarations) {
- String tdName = typeDeclaration.getName().getFullyQualifiedName();
- int occurrence = counters.increment(tdName);
-
- JavaResourcePersistentType type = this.getType(tdName, occurrence);
- if (type == null) {
- this.addType(this.buildType(typeDeclaration, occurrence, astRoot));
- } else {
- typesToRemove.remove(type);
- type.update(astRoot);
- }
- }
- this.removeTypes(typesToRemove);
- }
-
- protected JavaResourcePersistentType buildType(TypeDeclaration nestedTypeDeclaration, int occurrence, CompilationUnit astRoot) {
- return newInstance(this.getJpaCompilationUnit(), this.getMember(), nestedTypeDeclaration, occurrence, astRoot);
- }
-
- protected void updateFields(CompilationUnit astRoot) {
- synchronized (this.fields) {
- this.updateFields_(astRoot);
- }
- }
-
- protected void updateFields_(CompilationUnit astRoot) {
- FieldDeclaration[] fieldDeclarations = this.getMember().getFields(astRoot);
- CounterMap counters = new CounterMap(fieldDeclarations.length);
- HashSet<JavaResourcePersistentAttribute> fieldsToRemove = new HashSet<JavaResourcePersistentAttribute>(this.fields);
- for (FieldDeclaration fieldDeclaration : fieldDeclarations) {
- for (VariableDeclarationFragment fragment : fragments(fieldDeclaration)) {
- String fieldName = fragment.getName().getFullyQualifiedName();
- int occurrence = counters.increment(fieldName);
-
- JavaResourcePersistentAttribute field = this.getField(fieldName, occurrence);
- if (field == null) {
- this.addField(this.buildField(fieldName, occurrence, astRoot));
- } else {
- fieldsToRemove.remove(field);
- field.update(astRoot);
- }
- }
- }
- this.removeFields(fieldsToRemove);
- }
-
- protected JavaResourcePersistentAttribute buildField(String fieldName, int occurrence, CompilationUnit astRoot) {
- return JavaResourcePersistentAttributeImpl.newInstance(this, this.getMember(), fieldName, occurrence, this.getJpaCompilationUnit(), astRoot);
- }
-
- protected void updateMethods(CompilationUnit astRoot) {
- synchronized (this.methods) {
- this.updateMethods_(astRoot);
- }
- }
-
- protected void updateMethods_(CompilationUnit astRoot) {
- MethodDeclaration[] methodDeclarations = this.getMember().getMethods(astRoot);
- CounterMap counters = new CounterMap(methodDeclarations.length);
- HashSet<JavaResourcePersistentAttribute> methodsToRemove = new HashSet<JavaResourcePersistentAttribute>(this.methods);
- for (MethodDeclaration methodDeclaration : methodDeclarations) {
- MethodSignature signature = JDTTools.buildMethodSignature(methodDeclaration);
- int occurrence = counters.increment(signature);
-
- JavaResourcePersistentAttribute method = this.getMethod(signature, occurrence);
- if (method == null) {
- this.addMethod(this.buildMethod(signature, occurrence, astRoot));
- } else {
- methodsToRemove.remove(method);
- method.update(astRoot);
- }
- }
- this.removeMethods(methodsToRemove);
- }
-
- protected JavaResourcePersistentAttribute buildMethod(MethodSignature signature, int occurrence, CompilationUnit astRoot) {
- return JavaResourcePersistentAttributeImpl.newInstance(this, this.getMember(), signature, occurrence, this.getJpaCompilationUnit(), astRoot);
- }
-
- /**
- * Return the AccessType currently implied by the Java source code:
- * - if only Fields are annotated => FIELD
- * - if only Properties are annotated => PROPERTY
- * - if both Fields and Properties are annotated => FIELD
- * - if nothing is annotated
- * - and fields exist => FIELD
- * - and properties exist, but no fields exist => PROPERTY
- * - and neither fields nor properties exist => null at this level (FIELD in the context model)
- */
- protected AccessType buildAccess() {
- boolean hasPersistableFields = false;
- for (Iterator<JavaResourcePersistentAttribute> stream = this.persistableFields(); stream.hasNext(); ) {
- hasPersistableFields = true;
- if (stream.next().hasAnyAnnotations()) {
- // any field is annotated => FIELD
- return AccessType.FIELD;
- }
- }
-
- boolean hasPersistableProperties = false;
- for (Iterator<JavaResourcePersistentAttribute> stream = this.persistableProperties(); stream.hasNext(); ) {
- hasPersistableProperties = true;
- if (stream.next().hasAnyAnnotations()) {
- // none of the fields are annotated and a getter is annotated => PROPERTY
- return AccessType.PROPERTY;
- }
- }
-
- if (hasPersistableProperties && ! hasPersistableFields) {
- return AccessType.PROPERTY;
- }
-
- // if no annotations exist, access is null at the resource model level
- return null;
- }
-
-
- // ********** static methods **********
-
- // minimize scope of suppressed warnings
- @SuppressWarnings("unchecked")
- protected static List<VariableDeclarationFragment> fragments(FieldDeclaration fd) {
- return fd.fragments();
- }
-
-
- // ********** CounterMap **********
-
- protected static class CounterMap {
- private final HashMap<Object, Counter> counters;
-
- protected CounterMap(int initialCapacity) {
- super();
- this.counters = new HashMap<Object, Counter>(initialCapacity);
- }
-
- /**
- * Return the incremented count for the specified object.
- */
- int increment(Object o) {
- Counter counter = this.counters.get(o);
- if (counter == null) {
- counter = new Counter();
- this.counters.put(o, counter);
- }
- counter.increment();
- return counter.count();
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JoinColumnImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JoinColumnImpl.java
deleted file mode 100644
index a0e41d45f1..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JoinColumnImpl.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberIndexedAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.NestedIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.JoinColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableJoinColumn;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class JoinColumnImpl extends BaseColumnImpl implements NestableJoinColumn
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- // hold this so we can get the 'referenced column name' text range
- private final DeclarationAnnotationElementAdapter<String> referencedColumnNameDeclarationAdapter;
-
- private final AnnotationElementAdapter<String> referencedColumnNameAdapter;
-
- private String referencedColumnName;
-
- public JoinColumnImpl(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
- super(parent, member, daa, annotationAdapter);
- this.referencedColumnNameDeclarationAdapter = this.buildStringElementAdapter(JPA.JOIN_COLUMN__REFERENCED_COLUMN_NAME);
- this.referencedColumnNameAdapter = this.buildShortCircuitElementAdapter(this.referencedColumnNameDeclarationAdapter);
- }
-
- public JoinColumnImpl(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa) {
- this(parent, member, daa, new MemberAnnotationAdapter(member, daa));
- }
-
- public JoinColumnImpl(JavaResourceNode parent, Member member, IndexedDeclarationAnnotationAdapter idaa) {
- this(parent, member, idaa, new MemberIndexedAnnotationAdapter(member, idaa));
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.referencedColumnName = this.referencedColumnName(astRoot);
- }
-
- @Override
- protected String getNameElementName() {
- return JPA.JOIN_COLUMN__NAME;
- }
-
- @Override
- protected String getColumnDefinitionElementName() {
- return JPA.JOIN_COLUMN__COLUMN_DEFINITION;
- }
-
- @Override
- protected String getTableElementName() {
- return JPA.JOIN_COLUMN__TABLE;
- }
-
- @Override
- protected String getUniqueElementName() {
- return JPA.JOIN_COLUMN__UNIQUE;
- }
-
- @Override
- protected String getNullableElementName() {
- return JPA.JOIN_COLUMN__NULLABLE;
- }
-
- @Override
- protected String getInsertableElementName() {
- return JPA.JOIN_COLUMN__INSERTABLE;
- }
-
- @Override
- protected String getUpdatableElementName() {
- return JPA.JOIN_COLUMN__UPDATABLE;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- private IndexedAnnotationAdapter getIndexedAnnotationAdapter() {
- return (IndexedAnnotationAdapter) super.getAnnotationAdapter();
- }
-
- public void moveAnnotation(int newIndex) {
- getIndexedAnnotationAdapter().moveAnnotation(newIndex);
- }
-
- @Override
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- super.initializeFrom(oldAnnotation);
- JoinColumnAnnotation oldColumn = (JoinColumnAnnotation) oldAnnotation;
- setReferencedColumnName(oldColumn.getReferencedColumnName());
- }
-
- //************ JoinColumn implementation ***************
- public String getReferencedColumnName() {
- return this.referencedColumnName;
- }
-
- public void setReferencedColumnName(String newReferencedColumnName) {
- if (attributeValueHasNotChanged(this.referencedColumnName, newReferencedColumnName)) {
- return;
- }
- String oldReferencedColumnName = this.referencedColumnName;
- this.referencedColumnName = newReferencedColumnName;
- this.referencedColumnNameAdapter.setValue(newReferencedColumnName);
- firePropertyChanged(REFERENCED_COLUMN_NAME_PROPERTY, oldReferencedColumnName, newReferencedColumnName);
- }
-
- public TextRange getReferencedColumnNameTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.referencedColumnNameDeclarationAdapter, astRoot);
- }
-
- public boolean referencedColumnNameTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(this.referencedColumnNameDeclarationAdapter, pos, astRoot);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setReferencedColumnName(this.referencedColumnName(astRoot));
- }
-
- protected String referencedColumnName(CompilationUnit astRoot) {
- return this.referencedColumnNameAdapter.getValue(astRoot);
- }
-
- // ********** static methods **********
-
- static JoinColumnImpl createJoinColumn(JavaResourceNode parent, Member member) {
- return new JoinColumnImpl(parent, member, DECLARATION_ANNOTATION_ADAPTER);
- }
-
- static JoinColumnImpl createNestedJoinColumn(JavaResourceNode parent, Member member, int index, DeclarationAnnotationAdapter joinColumnsAdapter) {
- IndexedDeclarationAnnotationAdapter idaa = buildNestedDeclarationAnnotationAdapter(index, joinColumnsAdapter);
- IndexedAnnotationAdapter annotationAdapter = new MemberIndexedAnnotationAdapter(member, idaa);
- return new JoinColumnImpl(parent, member, idaa, annotationAdapter);
- }
-
- private static IndexedDeclarationAnnotationAdapter buildNestedDeclarationAnnotationAdapter(int index, DeclarationAnnotationAdapter joinColumnsAdapter) {
- return new NestedIndexedDeclarationAnnotationAdapter(joinColumnsAdapter, index, JPA.JOIN_COLUMN);
- }
- static NestableJoinColumn createJoinTableJoinColumn(JavaResourceNode parent, Member member, int index) {
- return new JoinColumnImpl(parent, member, buildJoinTableAnnotationAdapter(index));
- }
-
- private static IndexedDeclarationAnnotationAdapter buildJoinTableAnnotationAdapter(int index) {
- return new NestedIndexedDeclarationAnnotationAdapter(JoinTableImpl.DECLARATION_ANNOTATION_ADAPTER, JPA.JOIN_TABLE__JOIN_COLUMNS, index, JPA.JOIN_COLUMN);
- }
-
- static NestableJoinColumn createJoinTableInverseJoinColumn(JavaResourceNode parent, Member member, int index) {
- return new JoinColumnImpl(parent, member, buildJoinTableInverseAnnotationAdapter(index));
- }
-
- private static IndexedDeclarationAnnotationAdapter buildJoinTableInverseAnnotationAdapter(int index) {
- return new NestedIndexedDeclarationAnnotationAdapter(JoinTableImpl.DECLARATION_ANNOTATION_ADAPTER, JPA.JOIN_TABLE__INVERSE_JOIN_COLUMNS, index, JPA.JOIN_COLUMN);
- }
-
-
- static NestableJoinColumn createAssociationOverrideJoinColumn(DeclarationAnnotationAdapter associationOverrideAdapter, JavaResourceNode parent, Member member, int index) {
- return new JoinColumnImpl(parent, member, buildAssociationOverrideAnnotationAdapter(associationOverrideAdapter, index));
- }
-
- private static IndexedDeclarationAnnotationAdapter buildAssociationOverrideAnnotationAdapter(DeclarationAnnotationAdapter associationOverrideAdapter, int index) {
- return new NestedIndexedDeclarationAnnotationAdapter(associationOverrideAdapter, JPA.ASSOCIATION_OVERRIDE__JOIN_COLUMNS, index, JPA.JOIN_COLUMN);
- }
-
-
- public static class JoinColumnAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final JoinColumnAnnotationDefinition INSTANCE = new JoinColumnAnnotationDefinition();
-
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private JoinColumnAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return JoinColumnImpl.createJoinColumn(parent, member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JoinColumnsImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JoinColumnsImpl.java
deleted file mode 100644
index 905541069c..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JoinColumnsImpl.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.JoinColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.JoinColumnsAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableJoinColumn;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-public class JoinColumnsImpl extends AbstractResourceAnnotation<Member> implements JoinColumnsAnnotation
-{
-
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private List<NestableJoinColumn> joinColumns;
-
- protected JoinColumnsImpl(JavaResourceNode parent, Member member) {
- super(parent, member, DECLARATION_ANNOTATION_ADAPTER);
- this.joinColumns = new ArrayList<NestableJoinColumn>();
- }
-
- public void initialize(CompilationUnit astRoot) {
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public String getNestableAnnotationName() {
- return JoinColumnAnnotation.ANNOTATION_NAME;
- }
-
- public ListIterator<NestableJoinColumn> nestedAnnotations() {
- return new CloneListIterator<NestableJoinColumn>(this.joinColumns);
- }
-
- public int nestedAnnotationsSize() {
- return this.joinColumns.size();
- }
-
- public NestableJoinColumn addInternal(int index) {
- JoinColumnImpl joinColumn = createJoinColumn(index);
- this.joinColumns.add(index, joinColumn);
- return joinColumn;
- }
-
- public NestableJoinColumn add(int index) {
- JoinColumnImpl joinColumn = createJoinColumn(index);
- add(index, joinColumn);
- return joinColumn;
- }
-
- protected void add(int index, NestableJoinColumn joinColumn) {
- addItemToList(index, joinColumn, this.joinColumns, JOIN_COLUMNS_LIST);
- }
-
- public void remove(NestableJoinColumn joinColumn) {
- removeItemFromList(joinColumn, this.joinColumns, JOIN_COLUMNS_LIST);
- }
-
- public void remove(int index) {
- removeItemFromList(index, this.joinColumns, JOIN_COLUMNS_LIST);
- }
-
- public int indexOf(NestableJoinColumn joinColumn) {
- return this.joinColumns.indexOf(joinColumn);
- }
-
- public NestableJoinColumn nestedAnnotationAt(int index) {
- return this.joinColumns.get(index);
- }
-
- public NestableJoinColumn nestedAnnotationFor(Annotation jdtAnnotation) {
- for (NestableJoinColumn joinColumn : this.joinColumns) {
- if (jdtAnnotation == joinColumn.getJdtAnnotation((CompilationUnit) jdtAnnotation.getRoot())) {
- return joinColumn;
- }
- }
- return null;
- }
-
- public void move(int targetIndex, int sourceIndex) {
- moveItemInList(targetIndex, sourceIndex, this.joinColumns, JOIN_COLUMNS_LIST);
- }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.joinColumns, targetIndex, sourceIndex);
- }
-
- public String getElementName() {
- return JPA.JOIN_COLUMNS__VALUE;
- }
-
- public void update(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this);
- }
-
- private JoinColumnImpl createJoinColumn(int index) {
- return JoinColumnImpl.createNestedJoinColumn(this, getMember(), index, getDeclarationAnnotationAdapter());
- }
-
-
- public static class JoinColumnsAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final JoinColumnsAnnotationDefinition INSTANCE = new JoinColumnsAnnotationDefinition();
-
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private JoinColumnsAnnotationDefinition() {
- super();
- }
-
- public JoinColumnsAnnotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new JoinColumnsImpl(parent, member);
- }
-
- public JoinColumnsAnnotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JoinTableImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JoinTableImpl.java
deleted file mode 100644
index 361853ae7f..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JoinTableImpl.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.ContainerAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.JoinColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.JoinTableAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableJoinColumn;
-import org.eclipse.jpt.core.resource.java.NestableUniqueConstraint;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-public class JoinTableImpl extends AbstractResourceTable implements JoinTableAnnotation
-{
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(JoinTableAnnotation.ANNOTATION_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> NAME_ADAPTER = ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.JOIN_TABLE__NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> SCHEMA_ADAPTER = ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.JOIN_TABLE__SCHEMA);
-
- private static final DeclarationAnnotationElementAdapter<String> CATALOG_ADAPTER = ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.JOIN_TABLE__CATALOG);
-
- protected final List<NestableJoinColumn> joinColumns;
-
- protected final List<NestableJoinColumn> inverseJoinColumns;
-
- private final JoinColumnsContainerAnnotation joinColumnsContainerAnnotation;
-
- private final InverseJoinColumnsContainerAnnotation inverseJoinColumnsContainerAnnotation;
-
- protected JoinTableImpl(JavaResourceNode parent, Member member) {
- super(parent, member, DECLARATION_ANNOTATION_ADAPTER, new MemberAnnotationAdapter(member, DECLARATION_ANNOTATION_ADAPTER));
- this.joinColumns = new ArrayList<NestableJoinColumn>();
- this.inverseJoinColumns = new ArrayList<NestableJoinColumn>();
- this.joinColumnsContainerAnnotation = new JoinColumnsContainerAnnotation();
- this.inverseJoinColumnsContainerAnnotation = new InverseJoinColumnsContainerAnnotation();
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this.joinColumnsContainerAnnotation);
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this.inverseJoinColumnsContainerAnnotation);
- }
-
- public String getAnnotationName() {
- return JoinTableAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getNameAdapter(DeclarationAnnotationAdapter declarationAnnotationAdapter) {
- // ignore the daa passed in, @JoinTable is never nested
- return NAME_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getSchemaAdapter(DeclarationAnnotationAdapter declarationAnnotationAdapter) {
- // ignore the daa passed in, @JoinTable is never nested
- return SCHEMA_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getCatalogAdapter(DeclarationAnnotationAdapter declarationAnnotationAdapter) {
- // ignore the daa passed in, @JoinTable is never nested
- return CATALOG_ADAPTER;
- }
-
- @Override
- protected String getUniqueConstraintsElementName() {
- return JPA.JOIN_TABLE__UNIQUE_CONSTRAINTS;
- }
-
- @Override
- protected NestableUniqueConstraint createUniqueConstraint(int index) {
- return UniqueConstraintImpl.createJoinTableUniqueConstraint(this, this.getMember(), index);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.updateJoinColumnsFromJava(astRoot);
- this.updateInverseJoinColumnsFromJava(astRoot);
- }
-
- private void updateJoinColumnsFromJava(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this.joinColumnsContainerAnnotation);
- }
-
- private void updateInverseJoinColumnsFromJava(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this.inverseJoinColumnsContainerAnnotation);
- }
-
- public ListIterator<JoinColumnAnnotation> joinColumns() {
- return new CloneListIterator<JoinColumnAnnotation>(this.joinColumns);
- }
-
- public int joinColumnsSize() {
- return this.joinColumns.size();
- }
-
- public NestableJoinColumn joinColumnAt(int index) {
- return this.joinColumns.get(index);
- }
-
- public int indexOfJoinColumn(JoinColumnAnnotation joinColumn) {
- return this.joinColumns.indexOf(joinColumn);
- }
-
- public JoinColumnAnnotation addJoinColumn(int index) {
- NestableJoinColumn joinColumn = (NestableJoinColumn) ContainerAnnotationTools.addNestedAnnotation(index, this.joinColumnsContainerAnnotation);
- fireItemAdded(JoinTableAnnotation.JOIN_COLUMNS_LIST, index, joinColumn);
- return joinColumn;
- }
-
- protected void addJoinColumn(int index, NestableJoinColumn joinColumn) {
- addItemToList(index, joinColumn, this.joinColumns, JOIN_COLUMNS_LIST);
- }
-
- public void removeJoinColumn(int index) {
- NestableJoinColumn joinColumn = this.joinColumns.get(index);
- removeJoinColumn(joinColumn);
- joinColumn.removeAnnotation();
- ContainerAnnotationTools.synchAnnotationsAfterRemove(index, this.joinColumnsContainerAnnotation);
- }
-
- protected void removeJoinColumn(NestableJoinColumn joinColumn) {
- removeItemFromList(joinColumn, this.joinColumns, JOIN_COLUMNS_LIST);
- }
-
- public void moveJoinColumn(int targetIndex, int sourceIndex) {
- moveJoinColumnInternal(targetIndex, sourceIndex);
- ContainerAnnotationTools.synchAnnotationsAfterMove(targetIndex, sourceIndex, this.joinColumnsContainerAnnotation);
- fireItemMoved(JoinTableAnnotation.JOIN_COLUMNS_LIST, targetIndex, sourceIndex);
- }
-
- protected void moveJoinColumnInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.joinColumns, targetIndex, sourceIndex);
- }
-
- public ListIterator<JoinColumnAnnotation> inverseJoinColumns() {
- return new CloneListIterator<JoinColumnAnnotation>(this.inverseJoinColumns);
- }
-
- public int inverseJoinColumnsSize() {
- return this.inverseJoinColumns.size();
- }
-
- public NestableJoinColumn inverseJoinColumnAt(int index) {
- return this.inverseJoinColumns.get(index);
- }
-
- public int indexOfInverseJoinColumn(JoinColumnAnnotation joinColumn) {
- return this.inverseJoinColumns.indexOf(joinColumn);
- }
-
- public JoinColumnAnnotation addInverseJoinColumn(int index) {
- NestableJoinColumn inverseJoinColumn = (NestableJoinColumn) ContainerAnnotationTools.addNestedAnnotation(index, this.inverseJoinColumnsContainerAnnotation);
- fireItemAdded(JoinTableAnnotation.INVERSE_JOIN_COLUMNS_LIST, index, inverseJoinColumn);
- return inverseJoinColumn;
- }
-
- protected void addInverseJoinColumn(int index, NestableJoinColumn joinColumn) {
- addItemToList(index, joinColumn, this.inverseJoinColumns, INVERSE_JOIN_COLUMNS_LIST);
- }
-
- public void removeInverseJoinColumn(int index) {
- NestableJoinColumn joinColumn = this.inverseJoinColumns.get(index);
- this.removeInverseJoinColumn(joinColumn);
- joinColumn.removeAnnotation();
- ContainerAnnotationTools.synchAnnotationsAfterRemove(index, this.inverseJoinColumnsContainerAnnotation);
- }
-
- protected void removeInverseJoinColumn(NestableJoinColumn joinColumn) {
- removeItemFromList(joinColumn, this.inverseJoinColumns, INVERSE_JOIN_COLUMNS_LIST);
- }
-
- public void moveInverseJoinColumn(int targetIndex, int sourceIndex) {
- moveInverseJoinColumnInternal(targetIndex, sourceIndex);
- ContainerAnnotationTools.synchAnnotationsAfterMove(targetIndex, sourceIndex, this.inverseJoinColumnsContainerAnnotation);
- fireItemMoved(JoinTableAnnotation.INVERSE_JOIN_COLUMNS_LIST, targetIndex, sourceIndex);
- }
-
- protected void moveInverseJoinColumnInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.inverseJoinColumns, targetIndex, sourceIndex);
- }
-
- protected NestableJoinColumn createJoinColumn(int index) {
- return JoinColumnImpl.createJoinTableJoinColumn(this, getMember(), index);
- }
-
- protected NestableJoinColumn createInverseJoinColumn(int index) {
- return JoinColumnImpl.createJoinTableInverseJoinColumn(this, getMember(), index);
- }
-
- protected class JoinColumnsContainerAnnotation extends AbstractContainerAnnotation {
-
- public NestableJoinColumn addInternal(int index) {
- NestableJoinColumn joinColumn = JoinTableImpl.this.createJoinColumn(index);
- JoinTableImpl.this.joinColumns.add(index, joinColumn);
- return joinColumn;
- }
-
- public NestableJoinColumn add(int index) {
- NestableJoinColumn joinColumn = JoinTableImpl.this.createJoinColumn(index);
- JoinTableImpl.this.addJoinColumn(index, joinColumn);
- return joinColumn;
- }
-
- public int indexOf(NestableJoinColumn joinColumn) {
- return JoinTableImpl.this.indexOfJoinColumn(joinColumn);
- }
-
- public void move(int targetIndex, int sourceIndex) {
- JoinTableImpl.this.moveJoinColumn(targetIndex, sourceIndex);
- }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- JoinTableImpl.this.moveJoinColumnInternal(targetIndex, sourceIndex);
- }
-
- public NestableJoinColumn nestedAnnotationAt(int index) {
- return JoinTableImpl.this.joinColumnAt(index);
- }
-
- public ListIterator<NestableJoinColumn> nestedAnnotations() {
- return new CloneListIterator<NestableJoinColumn>(JoinTableImpl.this.joinColumns);
- }
-
- public int nestedAnnotationsSize() {
- return joinColumnsSize();
- }
-
- public void remove(NestableJoinColumn nestedAnnotation) {
- JoinTableImpl.this.removeJoinColumn(nestedAnnotation);
- }
- public String getElementName() {
- return JPA.JOIN_TABLE__JOIN_COLUMNS;
- }
- }
-
- protected class InverseJoinColumnsContainerAnnotation extends AbstractContainerAnnotation {
-
- public NestableJoinColumn addInternal(int index) {
- NestableJoinColumn joinColumn = JoinTableImpl.this.createInverseJoinColumn(index);
- JoinTableImpl.this.inverseJoinColumns.add(index, joinColumn);
- return joinColumn;
- }
-
- public NestableJoinColumn add(int index) {
- NestableJoinColumn joinColumn = JoinTableImpl.this.createInverseJoinColumn(index);
- JoinTableImpl.this.addInverseJoinColumn(index, joinColumn);
- return joinColumn;
- }
-
- public int indexOf(NestableJoinColumn joinColumn) {
- return JoinTableImpl.this.indexOfInverseJoinColumn(joinColumn);
- }
-
- public void move(int targetIndex, int sourceIndex) {
- JoinTableImpl.this.moveInverseJoinColumn(targetIndex, sourceIndex);
- }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- JoinTableImpl.this.moveInverseJoinColumnInternal(targetIndex, sourceIndex);
- }
-
- public NestableJoinColumn nestedAnnotationAt(int index) {
- return JoinTableImpl.this.inverseJoinColumnAt(index);
- }
-
- public ListIterator<NestableJoinColumn> nestedAnnotations() {
- return new CloneListIterator<NestableJoinColumn>(JoinTableImpl.this.inverseJoinColumns);
- }
-
- public int nestedAnnotationsSize() {
- return inverseJoinColumnsSize();
- }
-
- public void remove(NestableJoinColumn nestedAnnotation) {
- JoinTableImpl.this.removeInverseJoinColumn(nestedAnnotation);
- }
-
- public String getElementName() {
- return JPA.JOIN_TABLE__INVERSE_JOIN_COLUMNS;
- }
- }
-
- private abstract class AbstractContainerAnnotation extends AbstractJavaResourceNode implements ContainerAnnotation<NestableJoinColumn> {
-
- public AbstractContainerAnnotation() {
- super(JoinTableImpl.this);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //nothing to initialize
- }
-
- public String getAnnotationName() {
- return JoinTableImpl.this.getAnnotationName();
- }
-
- public String getNestableAnnotationName() {
- return JPA.JOIN_COLUMN;
- }
-
- public void remove(int index) {
- this.remove(nestedAnnotationAt(index));
- }
-
- public NestableJoinColumn nestedAnnotationFor(org.eclipse.jdt.core.dom.Annotation jdtAnnotation) {
- for (NestableJoinColumn joinColumn : CollectionTools.iterable(nestedAnnotations())) {
- if (jdtAnnotation == joinColumn.getJdtAnnotation((CompilationUnit) jdtAnnotation.getRoot())) {
- return joinColumn;
- }
- }
- return null;
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return JoinTableImpl.this.getJdtAnnotation(astRoot);
- }
-
- public void newAnnotation() {
- JoinTableImpl.this.newAnnotation();
- }
-
- public void removeAnnotation() {
- JoinTableImpl.this.removeAnnotation();
- }
-
- public void update(CompilationUnit astRoot) {
- JoinTableImpl.this.update(astRoot);
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return JoinTableImpl.this.getTextRange(astRoot);
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.getAnnotationName());
- }
-
- }
- public static class JoinTableAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final JoinTableAnnotationDefinition INSTANCE = new JoinTableAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private JoinTableAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new JoinTableImpl(parent, member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NullJoinTable(parent);
- }
-
- public String getAnnotationName() {
- return JoinTableAnnotation.ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JpaCompilationUnitImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JpaCompilationUnitImpl.java
deleted file mode 100644
index eea34364cf..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JpaCompilationUnitImpl.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.AbstractTypeDeclaration;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jpt.core.JpaAnnotationProvider;
-import org.eclipse.jpt.core.ResourceModelListener;
-import org.eclipse.jpt.core.internal.utility.jdt.JDTTools;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.core.resource.java.JpaCompilationUnit;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.utility.CommandExecutorProvider;
-import org.eclipse.jpt.utility.internal.BitTools;
-import org.eclipse.jpt.utility.internal.iterators.EmptyIterator;
-
-/**
- *
- */
-public class JpaCompilationUnitImpl
- extends AbstractJavaResourceNode
- implements JpaCompilationUnit
-{
- private final ICompilationUnit compilationUnit;
-
- private final JpaAnnotationProvider annotationProvider;
-
- private final CommandExecutorProvider modifySharedDocumentCommandExecutorProvider;
-
- private final AnnotationEditFormatter annotationEditFormatter;
-
- private final ResourceModelListener resourceModelListener;
-
- /**
- * The primary type of the AST compilation unit. We are not going to handle
- * multiple types defined in a single compilation unit. Entities must have
- * a public/protected no-arg constructor, and there is no way to access
- * the constructor in a package class (which is what all top-level,
- * non-primary classes must be).
- */
- protected JavaResourcePersistentType persistentType;
-
-
- // ********** construction **********
-
- public JpaCompilationUnitImpl(
- ICompilationUnit compilationUnit,
- JpaAnnotationProvider annotationProvider,
- CommandExecutorProvider modifySharedDocumentCommandExecutorProvider,
- AnnotationEditFormatter annotationEditFormatter,
- ResourceModelListener resourceModelListener) {
- super(null); // the JPA compilation unit is the root of its sub-tree
- this.compilationUnit = compilationUnit;
- this.annotationProvider = annotationProvider;
- this.modifySharedDocumentCommandExecutorProvider = modifySharedDocumentCommandExecutorProvider;
- this.annotationEditFormatter = annotationEditFormatter;
- this.resourceModelListener = resourceModelListener;
- this.persistentType = this.buildPersistentType();
- }
-
- protected JavaResourcePersistentType buildPersistentType() {
- this.openCompilationUnit();
- CompilationUnit astRoot = this.buildASTRoot();
- this.closeCompilationUnit();
- return this.buildPersistentType(astRoot);
- }
-
- protected void openCompilationUnit() {
- try {
- this.compilationUnit.open(null);
- } catch (JavaModelException ex) {
- // do nothing - we just won't have a primary type in this case
- }
- }
-
- protected void closeCompilationUnit() {
- try {
- this.compilationUnit.close();
- } catch (JavaModelException ex) {
- // hmmm
- }
- }
-
- protected JavaResourcePersistentType buildPersistentType(CompilationUnit astRoot) {
- TypeDeclaration td = this.getPrimaryType(astRoot);
- return (td == null) ? null : this.buildPersistentType(astRoot, td);
- }
-
- public void initialize(CompilationUnit astRoot) {
- // never called?
- }
-
-
- // ********** AbstractJavaResourceNode overrides **********
-
- @Override
- protected boolean requiresParent() {
- return false;
- }
-
- @Override
- public JpaCompilationUnit getJpaCompilationUnit() {
- return this;
- }
-
- @Override
- public JpaAnnotationProvider getAnnotationProvider() {
- return this.annotationProvider;
- }
-
-
- // ********** JavaResourceNode implementation **********
-
- public void update(CompilationUnit astRoot) {
- TypeDeclaration td = this.getPrimaryType(astRoot);
- if (td == null) {
- this.persistentType = null;
- } else {
- if (this.persistentType == null) {
- this.persistentType = this.buildPersistentType(astRoot, td);
- } else {
- this.persistentType.update(astRoot);
- }
- }
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return null;
- }
-
-
- // ********** JpaCompilationUnit implementation **********
-
- public ICompilationUnit getCompilationUnit() {
- return this.compilationUnit;
- }
-
- public Iterator<JavaResourcePersistentType> persistableTypes() {
- return (this.persistentType == null) ?
- EmptyIterator.<JavaResourcePersistentType>instance() :
- this.persistentType.allPersistableTypes();
- }
-
- public void resourceModelChanged() {
- this.resourceModelListener.resourceModelChanged();
- }
-
- public void resolveTypes() {
- if (this.persistentType != null) {
- this.persistentType.resolveTypes(this.buildASTRoot());
- }
- }
-
- public CommandExecutorProvider getModifySharedDocumentCommandExecutorProvider() {
- return this.modifySharedDocumentCommandExecutorProvider;
- }
-
- public AnnotationEditFormatter getAnnotationEditFormatter() {
- return this.annotationEditFormatter;
- }
-
-
- // ********** Java changes **********
-
- public void javaElementChanged(ElementChangedEvent event) {
- this.synchWithJavaDelta(event.getDelta());
- }
-
- protected void synchWithJavaDelta(IJavaElementDelta delta) {
- switch (delta.getElement().getElementType()) {
- case IJavaElement.JAVA_PROJECT :
- if (this.classpathHasChanged(delta)) {
- this.updateFromJava();
- break; // no need to check further
- }
- case IJavaElement.JAVA_MODEL :
- case IJavaElement.PACKAGE_FRAGMENT_ROOT :
- case IJavaElement.PACKAGE_FRAGMENT :
- this.synchChildrenWithJavaDelta(delta);
- break;
- case IJavaElement.COMPILATION_UNIT :
- if (this.deltaIsRelevant(delta)) {
- this.updateFromJava();
- }
- break;
- default :
- break; // the element type is somehow held by a compilation unit (i.e. probably doesn't happen)
- }
- }
-
- protected void synchChildrenWithJavaDelta(IJavaElementDelta delta) {
- for (IJavaElementDelta child : delta.getAffectedChildren()) {
- this.synchWithJavaDelta(child); // recurse
- }
- }
-
- // 235384 - We need to update all compilation units when a classpath change occurs.
- // The persistence.jar could have been added to or removed from the
- // classpath which affects whether we know about the JPA annotations.
- protected boolean classpathHasChanged(IJavaElementDelta delta) {
- return BitTools.anyFlagsAreSet(delta.getFlags(), this.getClasspathChangedFlags());
- }
-
- protected int getClasspathChangedFlags() {
- return CLASSPATH_CHANGED_FLAGS;
- }
-
- protected static final int CLASSPATH_CHANGED_FLAGS =
- IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED |
- IJavaElementDelta.F_CLASSPATH_CHANGED;
-
- protected boolean deltaIsRelevant(IJavaElementDelta delta) {
- // ignore changes to/from primary working copy - no content has changed;
- // and make sure there are no other flags set that indicate *both* a
- // change to/from primary working copy *and* content has changed
- if (BitTools.onlyFlagIsSet(delta.getFlags(), IJavaElementDelta.F_PRIMARY_WORKING_COPY)) {
- return false;
- }
-
- // we get the java notification for removal before we get the resource notification;
- // we do not need to handle this event and will get exceptions building an astRoot if we try
- if (delta.getKind() == IJavaElementDelta.REMOVED) {
- return false;
- }
-
- return delta.getElement().equals(this.compilationUnit);
- }
-
- protected void updateFromJava() {
- this.update(this.buildASTRoot());
- }
-
-
- // ********** internal **********
-
- protected CompilationUnit buildASTRoot() {
- return JDTTools.buildASTRoot(this.compilationUnit);
- }
-
- protected JavaResourcePersistentType buildPersistentType(CompilationUnit astRoot, TypeDeclaration typeDeclaration) {
- return JavaResourcePersistentTypeImpl.newInstance(this, typeDeclaration, astRoot);
- }
-
- /**
- * i.e. the type with the same name as the compilation unit;
- * return the first class or interface (ignore annotations and enums) with
- * the same name as the compilation unit (file);
- * NB: this type could be in error if there is an annotation or enum
- * with the same name preceding it in the compilation unit
- *
- * Return null if resolveBinding() on the TypeDeclaration returns null
- * This can occur if the project JRE is removed (bug 225332)
- */
- protected TypeDeclaration getPrimaryType(CompilationUnit astRoot) {
- String primaryTypeName = this.getPrimaryTypeName();
- for (AbstractTypeDeclaration atd : types(astRoot)) {
- if ((atd.getNodeType() == ASTNode.TYPE_DECLARATION)
- && atd.getName().getFullyQualifiedName().equals(primaryTypeName)) {
- return (atd.resolveBinding()) != null ? (TypeDeclaration) atd : null;
- }
- }
- return null;
- }
-
- // minimize scope of suppressed warnings
- @SuppressWarnings("unchecked")
- protected static List<AbstractTypeDeclaration> types(CompilationUnit astRoot) {
- return astRoot.types();
- }
-
- /**
- * i.e. the name of the compilation unit
- */
- protected String getPrimaryTypeName() {
- return removeJavaExtension(this.compilationUnit.getElementName());
- }
-
- protected static String removeJavaExtension(String fileName) {
- int index = fileName.lastIndexOf(".java"); //$NON-NLS-1$
- return (index == -1) ? fileName : fileName.substring(0, index);
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.persistentType.getName());
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/LobImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/LobImpl.java
deleted file mode 100644
index 8d3e73fadd..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/LobImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.LobAnnotation;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class LobImpl extends AbstractResourceAnnotation<Attribute> implements LobAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- protected LobImpl(JavaResourceNode parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //nothing to initialize
- }
-
- public void update(CompilationUnit astRoot) {
- //nothing to update
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
-
- public static class LobAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final LobAnnotationDefinition INSTANCE = new LobAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private LobAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new LobImpl(parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ManyToManyImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ManyToManyImpl.java
deleted file mode 100644
index afb48b8294..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ManyToManyImpl.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.ManyToManyAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-
-public class ManyToManyImpl extends AbstractRelationshipMappingAnnotation implements ManyToManyAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> TARGET_ENTITY_ADAPTER = buildTargetEntityAdapter();
-
- private static final DeclarationAnnotationElementAdapter<String[]> CASCADE_ADAPTER = buildCascadeAdapter();
-
- private static final DeclarationAnnotationElementAdapter<String> FETCH_ADAPTER = buildFetchAdapter();
-
- private static final DeclarationAnnotationElementAdapter<String> MAPPED_BY_ADAPTER = buildMappedByAdapter();
-
- private final AnnotationElementAdapter<String> mappedByAdapter;
-
- private String mappedBy;
-
- protected ManyToManyImpl(JavaResourcePersistentAttribute parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- this.mappedByAdapter = buildAnnotationElementAdapter(MAPPED_BY_ADAPTER);
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.mappedBy = this.mappedBy(astRoot);
- }
-
- //**************** AbstractRelationshipMappingAnnotation implementation **************
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getTargetEntityAdapter() {
- return TARGET_ENTITY_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String[]> getCascadeAdapter() {
- return CASCADE_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getFetchAdapter() {
- return FETCH_ADAPTER;
- }
-
-
- //**************** Annotation implementation **************
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
-
- public String getMappedBy() {
- return this.mappedBy;
- }
-
- public void setMappedBy(String newMappedBy) {
- if (attributeValueHasNotChanged(this.mappedBy, newMappedBy)) {
- return;
- }
- String oldMappedBy = this.mappedBy;
- this.mappedBy = newMappedBy;
- this.mappedByAdapter.setValue(newMappedBy);
- firePropertyChanged(MAPPED_BY_PROPERTY, oldMappedBy, newMappedBy);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setMappedBy(this.mappedBy(astRoot));
- }
-
- protected String mappedBy(CompilationUnit astRoot) {
- return this.mappedByAdapter.getValue(astRoot);
- }
-
- public TextRange getMappedByTextRange(CompilationUnit astRoot) {
- return getElementTextRange(MAPPED_BY_ADAPTER, astRoot);
- }
-
- public boolean mappedByTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(MAPPED_BY_ADAPTER, pos, astRoot);
- }
-
- // ********** static methods **********
-
- private static DeclarationAnnotationElementAdapter<String> buildTargetEntityAdapter() {
- return buildTargetEntityAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.MANY_TO_MANY__TARGET_ENTITY);
- }
-
- private static DeclarationAnnotationElementAdapter<String[]> buildCascadeAdapter() {
- return buildEnumArrayAnnotationElementAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.MANY_TO_MANY__CASCADE);
- }
-
- private static DeclarationAnnotationElementAdapter<String> buildFetchAdapter() {
- return buildFetchAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.MANY_TO_MANY__FETCH);
- }
-
-
- private static DeclarationAnnotationElementAdapter<String> buildMappedByAdapter() {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.MANY_TO_MANY__MAPPED_BY, false); // false = do not remove annotation when empty
- }
-
-
- public static class ManyToManyAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final ManyToManyAnnotationDefinition INSTANCE = new ManyToManyAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static ManyToManyAnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private ManyToManyAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new ManyToManyImpl((JavaResourcePersistentAttribute) parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ManyToOneImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ManyToOneImpl.java
deleted file mode 100644
index 5206043595..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/ManyToOneImpl.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.BooleanExpressionConverter;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.ManyToOneAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-
-public class ManyToOneImpl extends AbstractRelationshipMappingAnnotation implements ManyToOneAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> TARGET_ENTITY_ADAPTER = buildTargetEntityAdapter();
-
- private static final DeclarationAnnotationElementAdapter<String[]> CASCADE_ADAPTER = buildCascadeAdapter();
-
- private static final DeclarationAnnotationElementAdapter<String> FETCH_ADAPTER = buildFetchAdapter();
-
- private static final DeclarationAnnotationElementAdapter<Boolean> OPTIONAL_ADAPTER = buildOptionalAdapter();
-
- private final AnnotationElementAdapter<Boolean> optionalAdapter;
-
- private Boolean optional;
-
- protected ManyToOneImpl(JavaResourcePersistentAttribute parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- this.optionalAdapter = this.buildBooleanAnnotationElementAdapter(OPTIONAL_ADAPTER);
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.optional = this.optional(astRoot);
- }
-
- //**************** AbstractRelationshipMappingAnnotation implementation **************
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getTargetEntityAdapter() {
- return TARGET_ENTITY_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String[]> getCascadeAdapter() {
- return CASCADE_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getFetchAdapter() {
- return FETCH_ADAPTER;
- }
-
- //**************** Annotation implementation **************
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
-
- public Boolean getOptional() {
- return this.optional;
- }
-
- public void setOptional(Boolean newOptional) {
- if (attributeValueHasNotChanged(this.optional, newOptional)) {
- return;
- }
- Boolean oldOptional = this.optional;
- this.optional = newOptional;
- this.optionalAdapter.setValue(newOptional);
- firePropertyChanged(OPTIONAL_PROPERTY, oldOptional, newOptional);
- }
-
- public TextRange getOptionalTextRange(CompilationUnit astRoot) {
- return getElementTextRange(OPTIONAL_ADAPTER, astRoot);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setOptional(this.optional(astRoot));
- }
-
- protected Boolean optional(CompilationUnit astRoot) {
- return this.optionalAdapter.getValue(astRoot);
- }
-
- // ********** static methods **********
-
- private static DeclarationAnnotationElementAdapter<String> buildTargetEntityAdapter() {
- return buildTargetEntityAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.MANY_TO_ONE__TARGET_ENTITY);
- }
-
- private static DeclarationAnnotationElementAdapter<String[]> buildCascadeAdapter() {
- return buildEnumArrayAnnotationElementAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.MANY_TO_ONE__CASCADE);
- }
-
- private static DeclarationAnnotationElementAdapter<String> buildFetchAdapter() {
- return buildFetchAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.MANY_TO_ONE__FETCH);
- }
-
- private static DeclarationAnnotationElementAdapter<Boolean> buildOptionalAdapter() {
- return buildOptionalAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.MANY_TO_ONE__OPTIONAL);
- }
-
- private static DeclarationAnnotationElementAdapter<Boolean> buildOptionalAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
- return new ConversionDeclarationAnnotationElementAdapter<Boolean>(annotationAdapter, elementName, false, BooleanExpressionConverter.instance());
- }
-
-
- public static class ManyToOneAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final ManyToOneAnnotationDefinition INSTANCE = new ManyToOneAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static ManyToOneAnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private ManyToOneAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new ManyToOneImpl((JavaResourcePersistentAttribute) parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/MapKeyImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/MapKeyImpl.java
deleted file mode 100644
index bc3d3e4f8e..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/MapKeyImpl.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.MapKeyAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class MapKeyImpl extends AbstractResourceAnnotation<Attribute> implements MapKeyAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> NAME_ADAPTER = buildNameAdapter();
-
-
- private final AnnotationElementAdapter<String> nameAdapter;
-
- private String name;
-
- protected MapKeyImpl(JavaResourceNode parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- this.nameAdapter = new ShortCircuitAnnotationElementAdapter<String>(attribute, NAME_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.name = name(astRoot);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public String getName() {
- return this.name;
- }
-
- public void setName(String newName) {
- if (attributeValueHasNotChanged(this.name, newName)) {
- return;
- }
- String oldName = this.name;
- this.name = newName;
- this.nameAdapter.setValue(newName);
- firePropertyChanged(NAME_PROPERTY, oldName, newName);
- }
-
- public TextRange getNameTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(NAME_ADAPTER, astRoot);
- }
-
- public boolean nameTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(NAME_ADAPTER, pos, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setName(this.name(astRoot));
- }
-
- protected String name(CompilationUnit astRoot) {
- return this.nameAdapter.getValue(astRoot);
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.name);
- }
-
- // ********** static methods **********
- private static DeclarationAnnotationElementAdapter<String> buildNameAdapter() {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.MAP_KEY__NAME, false);
- }
-
-
- public static class MapKeyAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final MapKeyAnnotationDefinition INSTANCE = new MapKeyAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private MapKeyAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new MapKeyImpl(parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/MappedSuperclassImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/MappedSuperclassImpl.java
deleted file mode 100644
index 05b35fad72..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/MappedSuperclassImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.core.resource.java.MappedSuperclassAnnotation;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.core.utility.jdt.Type;
-
-
-public class MappedSuperclassImpl extends AbstractResourceAnnotation<Type> implements MappedSuperclassAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- protected MappedSuperclassImpl(JavaResourcePersistentType parent, Type type) {
- super(parent, type, DECLARATION_ANNOTATION_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //nothing to initialize
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public void update(CompilationUnit astRoot) {
- //no annotation members
- }
-
- public static class MappedSuperclassAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final MappedSuperclassAnnotationDefinition INSTANCE = new MappedSuperclassAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static MappedSuperclassAnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private MappedSuperclassAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new MappedSuperclassImpl((JavaResourcePersistentType) parent, (Type) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedNativeQueriesImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedNativeQueriesImpl.java
deleted file mode 100644
index 5ccddc9a82..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedNativeQueriesImpl.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NamedNativeQueriesAnnotation;
-import org.eclipse.jpt.core.resource.java.NamedNativeQueryAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableNamedNativeQuery;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.core.utility.jdt.Type;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-public class NamedNativeQueriesImpl extends AbstractResourceAnnotation<Type> implements NamedNativeQueriesAnnotation
-{
-
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private List<NestableNamedNativeQuery> namedNativeQueries;
-
- protected NamedNativeQueriesImpl(JavaResourceNode parent, Type type) {
- super(parent, type, DECLARATION_ANNOTATION_ADAPTER);
- this.namedNativeQueries = new ArrayList<NestableNamedNativeQuery>();
- }
-
- public void initialize(CompilationUnit astRoot) {
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this);
- }
-
- public String getAnnotationName() {
- return NamedNativeQueriesAnnotation.ANNOTATION_NAME;
- }
-
- public String getNestableAnnotationName() {
- return NamedNativeQueryAnnotation.ANNOTATION_NAME;
- }
-
- public String getElementName() {
- return JPA.NAMED_NATIVE_QUERIES__VALUE;
- }
-
- public ListIterator<NestableNamedNativeQuery> nestedAnnotations() {
- return new CloneListIterator<NestableNamedNativeQuery>(this.namedNativeQueries);
- }
-
- public int nestedAnnotationsSize() {
- return this.namedNativeQueries.size();
- }
-
- public NestableNamedNativeQuery addInternal(int index) {
- NestableNamedNativeQuery namedNativeQuery = createNamedNativeQuery(index);
- this.namedNativeQueries.add(index, namedNativeQuery);
- return namedNativeQuery;
- }
-
- public NestableNamedNativeQuery add(int index) {
- NestableNamedNativeQuery namedNativeQuery = createNamedNativeQuery(index);
- add(index, namedNativeQuery);
- return namedNativeQuery;
- }
-
- protected void add(int index, NestableNamedNativeQuery query) {
- addItemToList(index, query, this.namedNativeQueries, NamedNativeQueriesAnnotation.NAMED_NATIVE_QUERIES_LIST);
- }
-
- public void remove(NestableNamedNativeQuery query) {
- removeItemFromList(query, this.namedNativeQueries, NamedNativeQueriesAnnotation.NAMED_NATIVE_QUERIES_LIST);
- }
-
- public void remove(int index) {
- removeItemFromList(index, this.namedNativeQueries, NamedNativeQueriesAnnotation.NAMED_NATIVE_QUERIES_LIST);
- }
-
- public int indexOf(NestableNamedNativeQuery query) {
- return this.namedNativeQueries.indexOf(query);
- }
-
- public NestableNamedNativeQuery nestedAnnotationAt(int index) {
- return this.namedNativeQueries.get(index);
- }
-
- public NestableNamedNativeQuery nestedAnnotationFor(org.eclipse.jdt.core.dom.Annotation jdtAnnotation) {
- for (NestableNamedNativeQuery namedQuery : this.namedNativeQueries) {
- if (jdtAnnotation == namedQuery.getJdtAnnotation((CompilationUnit) jdtAnnotation.getRoot())) {
- return namedQuery;
- }
- }
- return null;
- }
-
- public void move(int targetIndex, int sourceIndex) {
- moveItemInList(targetIndex, sourceIndex, this.namedNativeQueries, NAMED_NATIVE_QUERIES_LIST);
- }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.namedNativeQueries, targetIndex, sourceIndex);
- }
-
- public void update(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this);
- }
-
- private NamedNativeQueryImpl createNamedNativeQuery(int index) {
- return NamedNativeQueryImpl.createNestedNamedNativeQuery(this, getMember(), index, getDeclarationAnnotationAdapter());
- }
-
-
- public static class NamedNativeQueriesAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final NamedNativeQueriesAnnotationDefinition INSTANCE = new NamedNativeQueriesAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private NamedNativeQueriesAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NamedNativeQueriesImpl(parent, (Type) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedNativeQueryImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedNativeQueryImpl.java
deleted file mode 100644
index 7fda779a80..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedNativeQueryImpl.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.JDTTools;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberIndexedAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.NestedIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleTypeStringExpressionConverter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NamedNativeQueryAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableNamedNativeQuery;
-import org.eclipse.jpt.core.resource.java.NestableQueryHint;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.core.utility.jdt.Type;
-
-public class NamedNativeQueryImpl extends AbstractNamedQuery
- implements NestableNamedNativeQuery
-{
-
- public static final SimpleDeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- // hold this so we can get the 'resultClass' text range
- private final DeclarationAnnotationElementAdapter<String> resultClassDeclarationAdapter;
-
- // hold this so we can get the 'resultSetMapping' text range
- private final DeclarationAnnotationElementAdapter<String> resultSetMappingDeclarationAdapter;
-
-
- private final AnnotationElementAdapter<String> resultClassAdapter;
-
- private final AnnotationElementAdapter<String> resultSetMappingAdapter;
-
- private String resultClass;
-
- private String fullyQualifiedResultClass;
-
- private String resultSetMapping;
-
- protected NamedNativeQueryImpl(JavaResourceNode parent, Type type, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
- super(parent, type, daa, annotationAdapter);
- this.resultClassDeclarationAdapter = resultClassAdapter(daa);
- this.resultClassAdapter = this.buildAdapter(this.resultClassDeclarationAdapter);
- this.resultSetMappingDeclarationAdapter = resultSetMappingAdapter(daa);
- this.resultSetMappingAdapter = this.buildAdapter(this.resultSetMappingDeclarationAdapter);
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.resultClass = this.resultClass(astRoot);
- this.fullyQualifiedResultClass = this.fullyQualifiedResultClass(astRoot);
- this.resultSetMapping = this.resultSetMapping(astRoot);
- }
-
-
- // ********** initialization **********
- protected DeclarationAnnotationElementAdapter<String> resultClassAdapter(DeclarationAnnotationAdapter daa) {
- return new ConversionDeclarationAnnotationElementAdapter<String>(daa, JPA.NAMED_NATIVE_QUERY__RESULT_CLASS, SimpleTypeStringExpressionConverter.instance());
- }
-
- protected DeclarationAnnotationElementAdapter<String> resultSetMappingAdapter(DeclarationAnnotationAdapter daa) {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(daa, JPA.NAMED_NATIVE_QUERY__RESULT_SET_MAPPING);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- //************* AbstractNamedQuery implementation *************
-
- @Override
- protected String getNameElementName() {
- return JPA.NAMED_NATIVE_QUERY__NAME;
- }
-
- @Override
- protected String getQueryElementName() {
- return JPA.NAMED_NATIVE_QUERY__QUERY;
- }
-
- @Override
- protected String getHintsElementName() {
- return JPA.NAMED_NATIVE_QUERY__HINTS;
- }
-
- @Override
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- super.initializeFrom(oldAnnotation);
- NamedNativeQueryAnnotation oldNamedQuery = (NamedNativeQueryAnnotation) oldAnnotation;
- setResultClass(oldNamedQuery.getResultClass());
- setResultSetMapping(oldNamedQuery.getResultSetMapping());
- }
-
- public String getResultClass() {
- return this.resultClass;
- }
-
- public void setResultClass(String newResultClass) {
- if (attributeValueHasNotChanged(this.resultClass, newResultClass)) {
- return;
- }
- String oldResultClass = this.resultClass;
- this.resultClass = newResultClass;
- this.resultClassAdapter.setValue(newResultClass);
- firePropertyChanged(RESULT_CLASS_PROPERTY, oldResultClass, newResultClass);
- }
-
- public String getFullyQualifiedResultClass() {
- return this.fullyQualifiedResultClass;
- }
-
- protected void setFullyQualifiedResultClass(String newQualifiedResultClass) {
- String oldFullyQualifiedResultClass = this.fullyQualifiedResultClass;
- this.fullyQualifiedResultClass = newQualifiedResultClass;
- firePropertyChanged(FULLY_QUALIFIED_RESULT_CLASS_PROPERTY, oldFullyQualifiedResultClass, newQualifiedResultClass);
- }
-
- public String getResultSetMapping() {
- return this.resultSetMapping;
- }
-
- public void setResultSetMapping(String newResultSetMapping) {
- if (attributeValueHasNotChanged(this.resultSetMapping, newResultSetMapping)) {
- return;
- }
- String oldResultSetMapping = this.resultSetMapping;
- this.resultSetMapping = newResultSetMapping;
- this.resultSetMappingAdapter.setValue(newResultSetMapping);
- firePropertyChanged(RESULT_SET_MAPPING_PROPERTY, oldResultSetMapping, newResultSetMapping);
- }
-
- public TextRange getResultClassTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.resultClassDeclarationAdapter, astRoot);
- }
-
- public TextRange getResultSetMappingTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.resultSetMappingDeclarationAdapter, astRoot);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setResultClass(this.resultClass(astRoot));
- this.setFullyQualifiedResultClass(this.fullyQualifiedResultClass(astRoot));
- this.setResultSetMapping(this.resultSetMapping(astRoot));
- }
-
- protected String resultClass(CompilationUnit astRoot) {
- return this.resultClassAdapter.getValue(astRoot);
- }
-
- protected String resultSetMapping(CompilationUnit astRoot) {
- return this.resultSetMappingAdapter.getValue(astRoot);
- }
-
- protected String fullyQualifiedResultClass(CompilationUnit astRoot) {
- if (getResultClass() == null) {
- return null;
- }
- return JDTTools.resolveFullyQualifiedName(this.resultClassAdapter.getExpression(astRoot));
- }
-
- @Override
- protected NestableQueryHint createQueryHint(int index) {
- return QueryHintImpl.createNamedNativeQueryQueryHint(this, this.getMember(), this.getDeclarationAnnotationAdapter(), index);
- }
-
- // ********** static methods **********
- static NamedNativeQueryImpl createNamedNativeQuery(JavaResourceNode parent, Type type) {
- return new NamedNativeQueryImpl(parent, type, DECLARATION_ANNOTATION_ADAPTER, new MemberAnnotationAdapter(type, DECLARATION_ANNOTATION_ADAPTER));
- }
-
- static NamedNativeQueryImpl createNestedNamedNativeQuery(JavaResourceNode parent, Type type, int index, DeclarationAnnotationAdapter attributeOverridesAdapter) {
- IndexedDeclarationAnnotationAdapter idaa = buildNestedDeclarationAnnotationAdapter(index, attributeOverridesAdapter);
- IndexedAnnotationAdapter annotationAdapter = new MemberIndexedAnnotationAdapter(type, idaa);
- return new NamedNativeQueryImpl(parent, type, idaa, annotationAdapter);
- }
-
- private static IndexedDeclarationAnnotationAdapter buildNestedDeclarationAnnotationAdapter(int index, DeclarationAnnotationAdapter namedQueriesAdapter) {
- return new NestedIndexedDeclarationAnnotationAdapter(namedQueriesAdapter, index, JPA.NAMED_NATIVE_QUERY);
- }
-
- public static class NamedNativeQueryAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final NamedNativeQueryAnnotationDefinition INSTANCE = new NamedNativeQueryAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private NamedNativeQueryAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return NamedNativeQueryImpl.createNamedNativeQuery(parent, (Type) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedQueriesImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedQueriesImpl.java
deleted file mode 100644
index 0f8f19a4c6..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedQueriesImpl.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NamedQueriesAnnotation;
-import org.eclipse.jpt.core.resource.java.NamedQueryAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableNamedQuery;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.core.utility.jdt.Type;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-public class NamedQueriesImpl extends AbstractResourceAnnotation<Type> implements NamedQueriesAnnotation
-{
-
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(NamedQueriesAnnotation.ANNOTATION_NAME);
-
- private List<NestableNamedQuery> namedQueries;
-
- protected NamedQueriesImpl(JavaResourceNode parent, Type type) {
- super(parent, type, DECLARATION_ANNOTATION_ADAPTER);
- this.namedQueries = new ArrayList<NestableNamedQuery>();
- }
-
- public void initialize(CompilationUnit astRoot) {
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this);
- }
-
- public String getAnnotationName() {
- return NamedQueriesAnnotation.ANNOTATION_NAME;
- }
-
- public String getNestableAnnotationName() {
- return NamedQueryAnnotation.ANNOTATION_NAME;
- }
-
- public String getElementName() {
- return JPA.NAMED_QUERIES__VALUE;
- }
-
- public ListIterator<NestableNamedQuery> nestedAnnotations() {
- return new CloneListIterator<NestableNamedQuery>(this.namedQueries);
- }
-
- public int nestedAnnotationsSize() {
- return this.namedQueries.size();
- }
-
- public NestableNamedQuery addInternal(int index) {
- NestableNamedQuery namedQuery = createNamedQuery(index);
- this.namedQueries.add(index, namedQuery);
- return namedQuery;
- }
-
- public NestableNamedQuery add(int index) {
- NestableNamedQuery namedQuery = createNamedQuery(index);
- add(index, namedQuery);
- return namedQuery;
- }
-
- protected void add(int index, NestableNamedQuery namedQuery) {
- addItemToList(index, namedQuery, this.namedQueries, NamedQueriesAnnotation.NAMED_QUERIES_LIST);
- }
-
- public void remove(NestableNamedQuery namedQuery) {
- removeItemFromList(namedQuery, this.namedQueries, NamedQueriesAnnotation.NAMED_QUERIES_LIST);
- }
-
- public void remove(int index) {
- removeItemFromList(index, this.namedQueries, NamedQueriesAnnotation.NAMED_QUERIES_LIST);
- }
-
- public int indexOf(NestableNamedQuery attributeOverride) {
- return this.namedQueries.indexOf(attributeOverride);
- }
-
- public NestableNamedQuery nestedAnnotationAt(int index) {
- return this.namedQueries.get(index);
- }
-
- public NestableNamedQuery nestedAnnotationFor(org.eclipse.jdt.core.dom.Annotation jdtAnnotation) {
- for (NestableNamedQuery namedQuery : this.namedQueries) {
- if (jdtAnnotation == namedQuery.getJdtAnnotation((CompilationUnit) jdtAnnotation.getRoot())) {
- return namedQuery;
- }
- }
- return null;
- }
-
- public void move(int targetIndex, int sourceIndex) {
- moveItemInList(targetIndex, sourceIndex, this.namedQueries, NamedQueriesAnnotation.NAMED_QUERIES_LIST);
- }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.namedQueries, targetIndex, sourceIndex);
- }
-
- public void update(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this);
- }
-
- private NamedQueryImpl createNamedQuery(int index) {
- return NamedQueryImpl.createNestedNamedQuery(this, getMember(), index, getDeclarationAnnotationAdapter());
- }
-
- public static class NamedQueriesAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final NamedQueriesAnnotationDefinition INSTANCE = new NamedQueriesAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private NamedQueriesAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NamedQueriesImpl(parent, (Type) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedQueryImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedQueryImpl.java
deleted file mode 100644
index d8977a604e..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NamedQueryImpl.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jpt.core.internal.utility.jdt.MemberAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberIndexedAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.NestedIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NestableNamedQuery;
-import org.eclipse.jpt.core.resource.java.NestableQueryHint;
-import org.eclipse.jpt.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.core.utility.jdt.Type;
-
-public class NamedQueryImpl extends AbstractNamedQuery
- implements NestableNamedQuery
-{
-
- public static final SimpleDeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- protected NamedQueryImpl(JavaResourceNode parent, Type type, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
- super(parent, type, daa, annotationAdapter);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- //************* AbstractNamedQuery implementation *************
- @Override
- protected String getNameElementName() {
- return JPA.NAMED_QUERY__NAME;
- }
-
- @Override
- protected String getQueryElementName() {
- return JPA.NAMED_QUERY__QUERY;
- }
-
- @Override
- protected String getHintsElementName() {
- return JPA.NAMED_QUERY__HINTS;
- }
-
- @Override
- protected NestableQueryHint createQueryHint(int index) {
- return QueryHintImpl.createNamedQueryQueryHint(this, getMember(), this.getDeclarationAnnotationAdapter(), index);
- }
-
- // ********** static methods **********
- static NamedQueryImpl createNamedQuery(JavaResourceNode parent, Type type) {
- return new NamedQueryImpl(parent, type, DECLARATION_ANNOTATION_ADAPTER, new MemberAnnotationAdapter(type, DECLARATION_ANNOTATION_ADAPTER));
- }
-
- static NamedQueryImpl createNestedNamedQuery(JavaResourceNode parent, Type type, int index, DeclarationAnnotationAdapter attributeOverridesAdapter) {
- IndexedDeclarationAnnotationAdapter idaa = buildNestedDeclarationAnnotationAdapter(index, attributeOverridesAdapter);
- IndexedAnnotationAdapter annotationAdapter = new MemberIndexedAnnotationAdapter(type, idaa);
- return new NamedQueryImpl(parent, type, idaa, annotationAdapter);
- }
-
- private static IndexedDeclarationAnnotationAdapter buildNestedDeclarationAnnotationAdapter(int index, DeclarationAnnotationAdapter namedQueriesAdapter) {
- return new NestedIndexedDeclarationAnnotationAdapter(namedQueriesAdapter, index, JPA.NAMED_QUERY);
- }
-
- public static class NamedQueryAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final NamedQueryAnnotationDefinition INSTANCE = new NamedQueryAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private NamedQueryAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return NamedQueryImpl.createNamedQuery(parent, (Type) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullAssociationOverride.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullAssociationOverride.java
deleted file mode 100644
index ee2838208f..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullAssociationOverride.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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.resource.java;
-
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AssociationOverrideAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.JoinColumnAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.utility.internal.iterators.EmptyListIterator;
-
-
-public class NullAssociationOverride extends AbstractJavaResourceNode implements AssociationOverrideAnnotation, Annotation
-{
- private String name;
-
- public NullAssociationOverride(JavaResourceNode parent, String name) {
- super(parent);
- this.name = name;
- }
-
- public void initialize(CompilationUnit astRoot) {
- //null, nothing to initialize
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return null;
- }
-
- public void newAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public void removeAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public String getAnnotationName() {
- return AssociationOverrideAnnotation.ANNOTATION_NAME;
- }
-
- public String getName() {
- return this.name;
- }
-
- public void setName(String name) {
- if (name != null) {
- createAssociationOverrideResource().setName(name);
- }
- }
-
- public ListIterator<JoinColumnAnnotation> joinColumns() {
- return EmptyListIterator.instance();
- }
-
- public JoinColumnAnnotation joinColumnAt(int index) {
- return null;
- }
-
- public int indexOfJoinColumn(JoinColumnAnnotation joinColumn) {
- throw new UnsupportedOperationException();
- }
-
- public int joinColumnsSize() {
- return 0;
- }
-
- public JoinColumnAnnotation addJoinColumn(int index) {
- throw new UnsupportedOperationException();
- }
-
- public void removeJoinColumn(int index) {
- throw new UnsupportedOperationException();
- }
-
- public void moveJoinColumn(int targetIndex, int sourceIndex) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public JavaResourcePersistentMember getParent() {
- return (JavaResourcePersistentMember) super.getParent();
- }
-
- protected AssociationOverrideAnnotation createAssociationOverrideResource() {
- return (AssociationOverrideAnnotation) getParent().addSupportingAnnotation(getAnnotationName());
- }
-
- public void update(CompilationUnit astRoot) {
- throw new UnsupportedOperationException();
-
- }
-
- public boolean nameTouches(int pos, CompilationUnit astRoot) {
- return false;
- }
-
- public TextRange getNameTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.getName());
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullAttributeOverrideColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullAttributeOverrideColumn.java
deleted file mode 100644
index 45aa4585d4..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullAttributeOverrideColumn.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AttributeOverrideAnnotation;
-import org.eclipse.jpt.core.resource.java.ColumnAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-public class NullAttributeOverrideColumn extends NullBaseColumn implements ColumnAnnotation, Annotation
-{
- public NullAttributeOverrideColumn(AttributeOverrideAnnotation parent) {
- super(parent);
- }
-
- @Override
- public AttributeOverrideAnnotation getParent() {
- return (AttributeOverrideAnnotation) super.getParent();
- }
-
- public String getAnnotationName() {
- return ColumnAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- protected ColumnAnnotation createResourceColumn() {
- return getParent().addColumn();
- }
-
- public Integer getLength() {
- return null;
- }
-
- public void setLength(Integer length) {
- if (length != null) {
- createResourceColumn().setLength(length);
- }
- }
-
- public Integer getScale() {
- return null;
- }
-
- public void setScale(Integer scale) {
- if (scale != null) {
- createResourceColumn().setScale(scale);
- }
- }
-
- public Integer getPrecision() {
- return null;
- }
-
- public void setPrecision(Integer precision) {
- if (precision != null) {
- createResourceColumn().setPrecision(precision);
- }
- }
-
- public TextRange getScaleTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getLengthTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getPrecisionTextRange(CompilationUnit astRoot) {
- return null;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullBaseColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullBaseColumn.java
deleted file mode 100644
index a4cd238c1b..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullBaseColumn.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.BaseColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-public abstract class NullBaseColumn extends NullNamedColumn implements BaseColumnAnnotation, Annotation
-{
- protected NullBaseColumn(JavaResourceNode parent) {
- super(parent);
- }
-
- @Override
- protected abstract BaseColumnAnnotation createResourceColumn();
-
- public String getTable() {
- return null;
- }
-
- public void setTable(String table) {
- if (table != null) {
- createResourceColumn().setTable(table);
- }
- }
-
- public Boolean getUnique() {
- return null;
- }
-
- public void setUnique(Boolean unique) {
- if (unique != null) {
- createResourceColumn().setUnique(unique);
- }
- }
-
- public Boolean getUpdatable() {
- return null;
- }
-
- public void setUpdatable(Boolean updatable) {
- if (updatable != null) {
- createResourceColumn().setUpdatable(updatable);
- }
- }
-
- public Boolean getInsertable() {
- return null;
- }
-
- public void setInsertable(Boolean insertable) {
- if (insertable != null) {
- createResourceColumn().setInsertable(insertable);
- }
- }
-
- public Boolean getNullable() {
- return null;
- }
-
- public void setNullable(Boolean nullable) {
- if (nullable != null) {
- createResourceColumn().setNullable(nullable);
- }
- }
-
- public TextRange getTableTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getUniqueTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getUpdatableTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getInsertableTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getNullableTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public boolean tableTouches(int pos, CompilationUnit astRoot) {
- return false;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullBaseTable.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullBaseTable.java
deleted file mode 100644
index ac5216bcac..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullBaseTable.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.TableAnnotation;
-import org.eclipse.jpt.core.resource.java.UniqueConstraintAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.utility.internal.iterators.EmptyListIterator;
-
-public abstract class NullBaseTable extends AbstractJavaResourceNode implements Annotation
-{
- protected NullBaseTable(JavaResourcePersistentMember parent) {
- super(parent);
- }
-
- @Override
- public JavaResourcePersistentMember getParent() {
- return (JavaResourcePersistentMember) super.getParent();
- }
-
- public void initialize(CompilationUnit astRoot) {
- //null, nothing to initialize
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return null;
- }
-
- public void newAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public void removeAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- protected TableAnnotation createTableResource() {
- return (TableAnnotation) getParent().addSupportingAnnotation(getAnnotationName());
- }
-
- public String getName() {
- return null;
- }
-
- public void setName(String name) {
- if (name != null) {
- createTableResource().setName(name);
- }
- }
-
- public String getCatalog() {
- return null;
- }
-
- public void setCatalog(String catalog) {
- if (catalog != null) {
- createTableResource().setCatalog(catalog);
- }
- }
-
- public String getSchema() {
- return null;
- }
-
- public void setSchema(String schema) {
- if (schema != null) {
- createTableResource().setSchema(schema);
- }
- }
-
- public UniqueConstraintAnnotation addUniqueConstraint(int index) {
- return createTableResource().addUniqueConstraint(index);
- }
-
- public void removeUniqueConstraint(@SuppressWarnings("unused") int index) {
- throw new UnsupportedOperationException();
- }
-
- public int indexOfUniqueConstraint(@SuppressWarnings("unused") UniqueConstraintAnnotation uniqueConstraint) {
- throw new UnsupportedOperationException();
- }
-
- public void moveUniqueConstraint(@SuppressWarnings("unused") int targetIndex, @SuppressWarnings("unused") int sourceIndex) {
- throw new UnsupportedOperationException();
- }
- public UniqueConstraintAnnotation uniqueConstraintAt(@SuppressWarnings("unused") int index) {
- throw new UnsupportedOperationException();
- }
-
- public ListIterator<UniqueConstraintAnnotation> uniqueConstraints() {
- return EmptyListIterator.instance();
- }
-
- public int uniqueConstraintsSize() {
- return 0;
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getNameTextRange(@SuppressWarnings("unused") CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getCatalogTextRange(@SuppressWarnings("unused") CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getSchemaTextRange(@SuppressWarnings("unused") CompilationUnit astRoot) {
- return null;
- }
-
- public boolean nameTouches(@SuppressWarnings("unused") int pos, @SuppressWarnings("unused") CompilationUnit astRoot) {
- return false;
- }
-
- public boolean catalogTouches(@SuppressWarnings("unused") int pos, @SuppressWarnings("unused") CompilationUnit astRoot) {
- return false;
- }
-
- public boolean schemaTouches(@SuppressWarnings("unused") int pos, @SuppressWarnings("unused") CompilationUnit astRoot) {
- return false;
- }
-
- public void update(CompilationUnit astRoot) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.getName());
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullBasic.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullBasic.java
deleted file mode 100644
index a3c65b2adf..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullBasic.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.BasicAnnotation;
-import org.eclipse.jpt.core.resource.java.FetchType;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-public class NullBasic extends AbstractJavaResourceNode implements BasicAnnotation, Annotation
-{
- protected NullBasic(JavaResourcePersistentMember parent) {
- super(parent);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //null, nothing to initialize
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return null;
- }
-
- public void newAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public void removeAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public String getAnnotationName() {
- return BasicAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- public JavaResourcePersistentMember getParent() {
- return (JavaResourcePersistentMember) super.getParent();
- }
-
- protected BasicAnnotation createBasicResource() {
- getParent().setMappingAnnotation(getAnnotationName());
- return (BasicAnnotation) getParent().getMappingAnnotation();
- }
-
- public FetchType getFetch() {
- return null;
- }
-
- public void setFetch(FetchType fetch) {
- if (fetch != null) {
- createBasicResource().setFetch(fetch);
- }
- }
-
- public Boolean getOptional() {
- return null;
- }
-
- public void setOptional(Boolean optional) {
- if (optional != null) {
- createBasicResource().setOptional(optional);
- }
- }
-
- public void update(CompilationUnit astRoot) {
- throw new UnsupportedOperationException();
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getFetchTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getOptionalTextRange(CompilationUnit astRoot) {
- return null;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullColumn.java
deleted file mode 100644
index 255fe7615b..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullColumn.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.ColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-public class NullColumn extends NullBaseColumn implements ColumnAnnotation, Annotation
-{
- public NullColumn(JavaResourcePersistentMember parent) {
- super(parent);
- }
-
- @Override
- public JavaResourcePersistentMember getParent() {
- return (JavaResourcePersistentMember) super.getParent();
- }
-
- public String getAnnotationName() {
- return ColumnAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- protected ColumnAnnotation createResourceColumn() {
- return (ColumnAnnotation) getParent().addSupportingAnnotation(getAnnotationName());
- }
-
- public Integer getLength() {
- return null;
- }
-
- public void setLength(Integer length) {
- if (length != null) {
- createResourceColumn().setLength(length);
- }
- }
-
- public Integer getScale() {
- return null;
- }
-
- public void setScale(Integer scale) {
- if (scale != null) {
- createResourceColumn().setScale(scale);
- }
- }
-
- public Integer getPrecision() {
- return null;
- }
-
- public void setPrecision(Integer precision) {
- if (precision != null) {
- createResourceColumn().setPrecision(precision);
- }
- }
-
- public TextRange getScaleTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getLengthTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getPrecisionTextRange(CompilationUnit astRoot) {
- return null;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullDiscriminatorColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullDiscriminatorColumn.java
deleted file mode 100644
index 7925517bba..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullDiscriminatorColumn.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.DiscriminatorColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.DiscriminatorType;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-
-
-
-public class NullDiscriminatorColumn extends NullNamedColumn implements DiscriminatorColumnAnnotation, Annotation
-{
- public NullDiscriminatorColumn(JavaResourcePersistentMember parent) {
- super(parent);
- }
-
- @Override
- public JavaResourcePersistentMember getParent() {
- return (JavaResourcePersistentMember) super.getParent();
- }
-
- public String getAnnotationName() {
- return DiscriminatorColumnAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- protected DiscriminatorColumnAnnotation createResourceColumn() {
- return (DiscriminatorColumnAnnotation) getParent().addSupportingAnnotation(getAnnotationName());
- }
-
- public DiscriminatorType getDiscriminatorType() {
- return null;
- }
-
- public void setDiscriminatorType(DiscriminatorType discriminatorType) {
- if (discriminatorType != null) {
- createResourceColumn().setDiscriminatorType(discriminatorType);
- }
- }
-
- public Integer getLength() {
- return null;
- }
-
- public void setLength(Integer length) {
- if (length != null) {
- createResourceColumn().setLength(length);
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullDiscriminatorValue.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullDiscriminatorValue.java
deleted file mode 100644
index 261edfbe7c..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullDiscriminatorValue.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.DiscriminatorValueAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-public class NullDiscriminatorValue extends AbstractJavaResourceNode implements DiscriminatorValueAnnotation, Annotation
-{
- protected NullDiscriminatorValue(JavaResourcePersistentMember parent) {
- super(parent);
- }
-
- @Override
- public JavaResourcePersistentMember getParent() {
- return (JavaResourcePersistentMember) super.getParent();
- }
-
- public void initialize(CompilationUnit astRoot) {
- //null, nothing to initialize
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return null;
- }
-
- public void newAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public void removeAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public String getAnnotationName() {
- return DiscriminatorValueAnnotation.ANNOTATION_NAME;
- }
-
- public String getValue() {
- return null;
- }
-
- public void setValue(String value) {
- if (value != null) {
- createDiscriminatorValueResource().setValue(value);
- }
- }
-
- protected DiscriminatorValueAnnotation createDiscriminatorValueResource() {
- return (DiscriminatorValueAnnotation) getParent().addSupportingAnnotation(getAnnotationName());
- }
-
- public void update(CompilationUnit astRoot) {
- throw new UnsupportedOperationException();
-
- }
-
- public TextRange getValueTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return null;
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullEmbedded.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullEmbedded.java
deleted file mode 100644
index a015e0b4ff..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullEmbedded.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.EmbeddedAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-public class NullEmbedded extends AbstractJavaResourceNode implements EmbeddedAnnotation, Annotation
-{
- protected NullEmbedded(JavaResourcePersistentMember parent) {
- super(parent);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //null, nothing to initialize
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return null;
- }
-
- public void newAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public void removeAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public String getAnnotationName() {
- return EmbeddedAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- public JavaResourcePersistentMember getParent() {
- return (JavaResourcePersistentMember) super.getParent();
- }
-
-
- public void update(CompilationUnit astRoot) {
- throw new UnsupportedOperationException();
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return null;
- }
-
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullEnumerated.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullEnumerated.java
deleted file mode 100644
index d471c738fc..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullEnumerated.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.EnumType;
-import org.eclipse.jpt.core.resource.java.EnumeratedAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-public class NullEnumerated extends AbstractJavaResourceNode implements EnumeratedAnnotation, Annotation
-{
- protected NullEnumerated(JavaResourcePersistentMember parent) {
- super(parent);
- }
-
- @Override
- public JavaResourcePersistentMember getParent() {
- return (JavaResourcePersistentMember) super.getParent();
- }
-
- public void initialize(CompilationUnit astRoot) {
- //null, nothing to initialize
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return null;
- }
-
- public void newAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public void removeAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public String getAnnotationName() {
- return EnumeratedAnnotation.ANNOTATION_NAME;
- }
-
- protected EnumeratedAnnotation createEnumeratedResource() {
- return (EnumeratedAnnotation) getParent().addSupportingAnnotation(getAnnotationName());
- }
-
-
- public EnumType getValue() {
- return null;
- }
-
- public void setValue(EnumType value) {
- if (value != null) {
- createEnumeratedResource().setValue(value);
- }
- }
-
- public void update(CompilationUnit astRoot) {
- throw new UnsupportedOperationException();
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getValueTextRange(CompilationUnit astRoot) {
- return null;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullInheritance.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullInheritance.java
deleted file mode 100644
index c50f01d1d5..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullInheritance.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.InheritanceAnnotation;
-import org.eclipse.jpt.core.resource.java.InheritanceType;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-public class NullInheritance extends AbstractJavaResourceNode implements InheritanceAnnotation, Annotation
-{
- protected NullInheritance(JavaResourcePersistentMember parent) {
- super(parent);
- }
-
- @Override
- public JavaResourcePersistentMember getParent() {
- return (JavaResourcePersistentMember) super.getParent();
- }
-
- public void initialize(CompilationUnit astRoot) {
- //null, nothing to initialize
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return null;
- }
-
- public void newAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public void removeAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public String getAnnotationName() {
- return InheritanceAnnotation.ANNOTATION_NAME;
- }
-
- public InheritanceType getStrategy() {
- return null;
- }
-
- public void setStrategy(InheritanceType strategy) {
- if (strategy != null) {
- createInheritanceResource().setStrategy(strategy);
- }
-
- }
-
- protected InheritanceAnnotation createInheritanceResource() {
- return (InheritanceAnnotation) getParent().addSupportingAnnotation(getAnnotationName());
- }
-
- public void update(CompilationUnit astRoot) {
- throw new UnsupportedOperationException();
-
- }
-
- public TextRange getStrategyTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return null;
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullJoinColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullJoinColumn.java
deleted file mode 100644
index 499e200d11..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullJoinColumn.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JoinColumnAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-
-public class NullJoinColumn extends NullBaseColumn implements JoinColumnAnnotation, Annotation
-{
- public NullJoinColumn(JavaResourceNode parent) {
- super(parent);
- }
-
- public String getAnnotationName() {
- return JoinColumnAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- protected JoinColumnAnnotation createResourceColumn() {
- throw new UnsupportedOperationException();
- }
-
- public String getReferencedColumnName() {
- return null;
- }
-
- public void setReferencedColumnName(String referencedColumnName) {
- throw new UnsupportedOperationException();
- }
-
- public TextRange getReferencedColumnNameTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public boolean referencedColumnNameTouches(int pos, CompilationUnit astRoot) {
- return false;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullJoinTable.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullJoinTable.java
deleted file mode 100644
index cd6098a296..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullJoinTable.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ListIterator;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.JoinColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.JoinTableAnnotation;
-import org.eclipse.jpt.utility.internal.iterators.EmptyListIterator;
-
-
-public class NullJoinTable extends NullBaseTable implements JoinTableAnnotation
-{
- protected NullJoinTable(JavaResourcePersistentMember parent) {
- super(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public JoinColumnAnnotation addInverseJoinColumn(int index) {
- throw new UnsupportedOperationException();
- }
-
- public JoinColumnAnnotation addJoinColumn(int index) {
- throw new UnsupportedOperationException();
- }
-
- public int indexOfInverseJoinColumn(JoinColumnAnnotation joinColumn) {
- throw new UnsupportedOperationException();
- }
-
- public int indexOfJoinColumn(JoinColumnAnnotation joinColumn) {
- throw new UnsupportedOperationException();
- }
-
- public JoinColumnAnnotation inverseJoinColumnAt(int index) {
- return null;
- }
-
- public ListIterator<JoinColumnAnnotation> inverseJoinColumns() {
- return EmptyListIterator.instance();
- }
-
- public int inverseJoinColumnsSize() {
- return 0;
- }
-
- public JoinColumnAnnotation joinColumnAt(int index) {
- return null;
- }
-
- public ListIterator<JoinColumnAnnotation> joinColumns() {
- return EmptyListIterator.instance();
- }
-
- public int joinColumnsSize() {
- return 0;
- }
-
- public void moveInverseJoinColumn(int targetIndex, int sourceIndex) {
- throw new UnsupportedOperationException();
- }
-
- public void moveJoinColumn(int targetIndex, int sourceIndex) {
- throw new UnsupportedOperationException();
- }
-
- public void removeInverseJoinColumn(int index) {
- throw new UnsupportedOperationException();
- }
-
- public void removeJoinColumn(int index) {
- throw new UnsupportedOperationException();
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullNamedColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullNamedColumn.java
deleted file mode 100644
index a0948a92c9..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullNamedColumn.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.NamedColumnAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-public abstract class NullNamedColumn extends AbstractJavaResourceNode implements NamedColumnAnnotation, Annotation
-{
- protected NullNamedColumn(JavaResourceNode parent) {
- super(parent);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //null, nothing to initialize
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return null;
- }
-
- public void newAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public void removeAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- protected abstract NamedColumnAnnotation createResourceColumn();
-
- public String getName() {
- return null;
- }
-
- public void setName(String name) {
- if (name != null) {
- createResourceColumn().setName(name);
- }
- }
-
- public String getColumnDefinition() {
- return null;
- }
-
- public void setColumnDefinition(String columnDefinition) {
- if (columnDefinition != null) {
- createResourceColumn().setColumnDefinition(columnDefinition);
- }
- }
-
- public void update(CompilationUnit astRoot) {
- throw new UnsupportedOperationException();
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getColumnDefinitionTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getNameTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public boolean nameTouches(int pos, CompilationUnit astRoot) {
- return false;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullOneToMany.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullOneToMany.java
deleted file mode 100644
index fed1896426..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullOneToMany.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.FetchType;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.OneToManyAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-public class NullOneToMany extends AbstractJavaResourceNode implements OneToManyAnnotation, Annotation
-{
- protected NullOneToMany(JavaResourcePersistentMember parent) {
- super(parent);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //null, nothing to initialize
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return null;
- }
-
- public void newAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public void removeAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public String getAnnotationName() {
- return OneToManyAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- public JavaResourcePersistentMember getParent() {
- return (JavaResourcePersistentMember) super.getParent();
- }
-
- protected OneToManyAnnotation createOneToManyResource() {
- getParent().setMappingAnnotation(getAnnotationName());
- return (OneToManyAnnotation) getParent().getMappingAnnotation();
- }
-
- public FetchType getFetch() {
- return null;
- }
-
- public void setFetch(FetchType fetch) {
- if (fetch != null) {
- createOneToManyResource().setFetch(fetch);
- }
- }
-
- public String getMappedBy() {
- return null;
- }
-
- public void setMappedBy(String mappedBy) {
- if (mappedBy != null) {
- createOneToManyResource().setMappedBy(mappedBy);
- }
- }
-
- public String getFullyQualifiedTargetEntity() {
- return null;
- }
-
- public String getTargetEntity() {
- return null;
- }
-
- public void setTargetEntity(String targetEntity) {
- if (targetEntity != null) {
- createOneToManyResource().setTargetEntity(targetEntity);
- }
- }
-
- public boolean isCascadeAll() {
- return false;
- }
-
- public void setCascadeAll(boolean all) {
- createOneToManyResource().setCascadeAll(all);
- }
-
- public boolean isCascadeMerge() {
- return false;
- }
-
- public void setCascadeMerge(boolean merge) {
- createOneToManyResource().setCascadeMerge(merge);
- }
-
- public boolean isCascadePersist() {
- return false;
- }
-
- public void setCascadePersist(boolean persist) {
- createOneToManyResource().setCascadePersist(persist);
- }
-
- public boolean isCascadeRefresh() {
- return false;
- }
-
- public void setCascadeRefresh(boolean refresh) {
- createOneToManyResource().setCascadeRefresh(refresh);
- }
-
- public boolean isCascadeRemove() {
- return false;
- }
-
- public void setCascadeRemove(boolean remove) {
- createOneToManyResource().setCascadeRemove(remove);
- }
-
- public void update(CompilationUnit astRoot) {
- throw new UnsupportedOperationException();
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getFetchTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getOptionalTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getMappedByTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getCascadeTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getTargetEntityTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public boolean mappedByTouches(int pos, CompilationUnit astRoot) {
- return false;
- }
-
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullOneToOne.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullOneToOne.java
deleted file mode 100644
index 7219282afb..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullOneToOne.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.FetchType;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.OneToOneAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-public class NullOneToOne extends AbstractJavaResourceNode implements OneToOneAnnotation, Annotation
-{
- protected NullOneToOne(JavaResourcePersistentMember parent) {
- super(parent);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //null, nothing to initialize
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return null;
- }
-
- public void newAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public void removeAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public String getAnnotationName() {
- return OneToOneAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- public JavaResourcePersistentMember getParent() {
- return (JavaResourcePersistentMember) super.getParent();
- }
-
- protected OneToOneAnnotation createOneToOneResource() {
- getParent().setMappingAnnotation(getAnnotationName());
- return (OneToOneAnnotation) getParent().getMappingAnnotation();
- }
-
- public FetchType getFetch() {
- return null;
- }
-
- public void setFetch(FetchType fetch) {
- if (fetch != null) {
- createOneToOneResource().setFetch(fetch);
- }
- }
-
- public Boolean getOptional() {
- return null;
- }
-
- public void setOptional(Boolean optional) {
- if (optional != null) {
- createOneToOneResource().setOptional(optional);
- }
- }
-
- public String getMappedBy() {
- return null;
- }
-
- public void setMappedBy(String mappedBy) {
- if (mappedBy != null) {
- createOneToOneResource().setMappedBy(mappedBy);
- }
- }
-
- public String getFullyQualifiedTargetEntity() {
- return null;
- }
-
- public String getTargetEntity() {
- return null;
- }
-
- public void setTargetEntity(String targetEntity) {
- if (targetEntity != null) {
- createOneToOneResource().setTargetEntity(targetEntity);
- }
- }
-
- public boolean isCascadeAll() {
- return false;
- }
-
- public void setCascadeAll(boolean all) {
- createOneToOneResource().setCascadeAll(all);
- }
-
- public boolean isCascadeMerge() {
- return false;
- }
-
- public void setCascadeMerge(boolean merge) {
- createOneToOneResource().setCascadeMerge(merge);
- }
-
- public boolean isCascadePersist() {
- return false;
- }
-
- public void setCascadePersist(boolean persist) {
- createOneToOneResource().setCascadePersist(persist);
- }
-
- public boolean isCascadeRefresh() {
- return false;
- }
-
- public void setCascadeRefresh(boolean refresh) {
- createOneToOneResource().setCascadeRefresh(refresh);
- }
-
- public boolean isCascadeRemove() {
- return false;
- }
-
- public void setCascadeRemove(boolean remove) {
- createOneToOneResource().setCascadeRemove(remove);
- }
-
- public void update(CompilationUnit astRoot) {
- throw new UnsupportedOperationException();
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getFetchTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getOptionalTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getMappedByTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getCascadeTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getTargetEntityTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public boolean mappedByTouches(int pos, CompilationUnit astRoot) {
- return false;
- }
-
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullPrimaryKeyJoinColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullPrimaryKeyJoinColumn.java
deleted file mode 100644
index 689b4b3c8b..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullPrimaryKeyJoinColumn.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.PrimaryKeyJoinColumnAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-
-public class NullPrimaryKeyJoinColumn extends NullNamedColumn implements PrimaryKeyJoinColumnAnnotation, Annotation
-{
- public NullPrimaryKeyJoinColumn(JavaResourceNode parent) {
- super(parent);
- }
-
- public String getAnnotationName() {
- return PrimaryKeyJoinColumnAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- protected PrimaryKeyJoinColumnAnnotation createResourceColumn() {
- throw new UnsupportedOperationException();
- }
-
- public String getReferencedColumnName() {
- return null;
- }
-
- public void setReferencedColumnName(String referencedColumnName) {
- throw new UnsupportedOperationException();
- }
-
- public TextRange getReferencedColumnNameTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public boolean referencedColumnNameTouches(int pos, CompilationUnit astRoot) {
- return false;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullTable.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullTable.java
deleted file mode 100644
index 1d5f9f6185..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullTable.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.TableAnnotation;
-
-
-public class NullTable extends NullBaseTable implements TableAnnotation
-{
- protected NullTable(JavaResourcePersistentMember parent) {
- super(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
-
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullTemporal.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullTemporal.java
deleted file mode 100644
index 416e4d46b5..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/NullTemporal.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.TemporalAnnotation;
-import org.eclipse.jpt.core.resource.java.TemporalType;
-import org.eclipse.jpt.core.utility.TextRange;
-
-
-public class NullTemporal extends AbstractJavaResourceNode implements TemporalAnnotation, Annotation
-{
- protected NullTemporal(JavaResourcePersistentMember parent) {
- super(parent);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //null, nothing to initialize
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return null;
- }
-
- public void newAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public void removeAnnotation() {
- throw new UnsupportedOperationException();
- }
-
- public String getAnnotationName() {
- return TemporalAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- public JavaResourcePersistentMember getParent() {
- return (JavaResourcePersistentMember) super.getParent();
- }
-
- protected TemporalAnnotation createTemporalResource() {
- return (TemporalAnnotation) getParent().addSupportingAnnotation(getAnnotationName());
- }
-
-
- public TemporalType getValue() {
- return null;
- }
-
- public void setValue(TemporalType value) {
- if (value != null) {
- createTemporalResource().setValue(value);
- }
- }
-
- public void update(CompilationUnit astRoot) {
- throw new UnsupportedOperationException();
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return null;
- }
-
- public TextRange getValueTextRange(CompilationUnit astRoot) {
- return null;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OneToManyImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OneToManyImpl.java
deleted file mode 100644
index dfb1ed5601..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OneToManyImpl.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.OneToManyAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class OneToManyImpl extends AbstractRelationshipMappingAnnotation implements OneToManyAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> TARGET_ENTITY_ADAPTER = buildTargetEntityAdapter();
-
- private static final DeclarationAnnotationElementAdapter<String[]> CASCADE_ADAPTER = buildCascadeAdapter();
-
- private static final DeclarationAnnotationElementAdapter<String> FETCH_ADAPTER = buildFetchAdapter();
-
- private static final DeclarationAnnotationElementAdapter<String> MAPPED_BY_ADAPTER = buildMappedByAdapter();
-
- private final AnnotationElementAdapter<String> mappedByAdapter;
-
- private String mappedBy;
-
- protected OneToManyImpl(JavaResourcePersistentAttribute parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- this.mappedByAdapter = buildAnnotationElementAdapter(MAPPED_BY_ADAPTER);
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.mappedBy = this.mappedBy(astRoot);
- }
-
- //**************** AbstractRelationshipMappingAnnotation implementation **************
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getTargetEntityAdapter() {
- return TARGET_ENTITY_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String[]> getCascadeAdapter() {
- return CASCADE_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getFetchAdapter() {
- return FETCH_ADAPTER;
- }
-
- //**************** Annotation implementation **************
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
-
- public String getMappedBy() {
- return this.mappedBy;
- }
-
- public void setMappedBy(String newMappedBy) {
- if (attributeValueHasNotChanged(this.mappedBy, newMappedBy)) {
- return;
- }
- String oldMappedBy = this.mappedBy;
- this.mappedBy = newMappedBy;
- this.mappedByAdapter.setValue(newMappedBy);
- firePropertyChanged(MAPPED_BY_PROPERTY, oldMappedBy, newMappedBy);
- }
-
- public TextRange getMappedByTextRange(CompilationUnit astRoot) {
- return getElementTextRange(MAPPED_BY_ADAPTER, astRoot);
- }
-
- public boolean mappedByTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(MAPPED_BY_ADAPTER, pos, astRoot);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setMappedBy(this.mappedBy(astRoot));
- }
-
- protected String mappedBy(CompilationUnit astRoot) {
- return this.mappedByAdapter.getValue(astRoot);
- }
-
- // ********** static methods **********
-
- private static DeclarationAnnotationElementAdapter<String> buildTargetEntityAdapter() {
- return buildTargetEntityAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.ONE_TO_MANY__TARGET_ENTITY);
- }
-
- private static DeclarationAnnotationElementAdapter<String[]> buildCascadeAdapter() {
- return buildEnumArrayAnnotationElementAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.ONE_TO_MANY__CASCADE);
- }
-
- private static DeclarationAnnotationElementAdapter<String> buildFetchAdapter() {
- return buildFetchAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.ONE_TO_MANY__FETCH);
- }
-
- private static DeclarationAnnotationElementAdapter<String> buildMappedByAdapter() {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.ONE_TO_MANY__MAPPED_BY, false); // false = do not remove annotation when empty
- }
-
- public static class OneToManyAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final OneToManyAnnotationDefinition INSTANCE = new OneToManyAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static OneToManyAnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private OneToManyAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new OneToManyImpl((JavaResourcePersistentAttribute) parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NullOneToMany(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OneToOneImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OneToOneImpl.java
deleted file mode 100644
index d71a616c83..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OneToOneImpl.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.BooleanExpressionConverter;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.OneToOneAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class OneToOneImpl extends AbstractRelationshipMappingAnnotation implements OneToOneAnnotation
-{
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- static final DeclarationAnnotationElementAdapter<String> TARGET_ENTITY_ADAPTER = buildTargetEntityAdapter();
-
- private static final DeclarationAnnotationElementAdapter<String[]> CASCADE_ADAPTER = buildCascadeAdapter();
-
- private static final DeclarationAnnotationElementAdapter<String> FETCH_ADAPTER = buildFetchAdapter();
-
- private static final DeclarationAnnotationElementAdapter<Boolean> OPTIONAL_ADAPTER = buildOptionalAdapter();
-
- private static final DeclarationAnnotationElementAdapter<String> MAPPED_BY_ADAPTER = buildMappedByAdapter();
-
- private final AnnotationElementAdapter<Boolean> optionalAdapter;
-
- private final AnnotationElementAdapter<String> mappedByAdapter;
-
-
- private Boolean optional;
-
- private String mappedBy;
-
- public OneToOneImpl(JavaResourcePersistentAttribute parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- this.mappedByAdapter = buildAnnotationElementAdapter(MAPPED_BY_ADAPTER);
- this.optionalAdapter = this.buildBooleanAnnotationElementAdapter(OPTIONAL_ADAPTER);
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.mappedBy = this.mappedBy(astRoot);
- this.optional = this.optional(astRoot);
- }
-
- //**************** AbstractRelationshipMappingAnnotation implementation **************
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getTargetEntityAdapter() {
- return TARGET_ENTITY_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String[]> getCascadeAdapter() {
- return CASCADE_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getFetchAdapter() {
- return FETCH_ADAPTER;
- }
-
- //**************** Annotation implementation **************
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
-
- public Boolean getOptional() {
- return this.optional;
- }
-
- public void setOptional(Boolean newOptional) {
- if (attributeValueHasNotChanged(this.optional, newOptional)) {
- return;
- }
- Boolean oldOptional = this.optional;
- this.optional = newOptional;
- this.optionalAdapter.setValue(newOptional);
- firePropertyChanged(OPTIONAL_PROPERTY, oldOptional, newOptional);
- }
-
- public String getMappedBy() {
- return this.mappedBy;
- }
-
- public void setMappedBy(String newMappedBy) {
- if (attributeValueHasNotChanged(this.mappedBy, newMappedBy)) {
- return;
- }
- String oldMappedBy = this.mappedBy;
- this.mappedBy = newMappedBy;
- this.mappedByAdapter.setValue(newMappedBy);
- firePropertyChanged(MAPPED_BY_PROPERTY, oldMappedBy, newMappedBy);
- }
-
- public TextRange getMappedByTextRange(CompilationUnit astRoot) {
- return getElementTextRange(MAPPED_BY_ADAPTER, astRoot);
- }
-
- public TextRange getOptionalTextRange(CompilationUnit astRoot) {
- return getElementTextRange(OPTIONAL_ADAPTER, astRoot);
- }
-
- public boolean mappedByTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(MAPPED_BY_ADAPTER, pos, astRoot);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setOptional(this.optional(astRoot));
- this.setMappedBy(this.mappedByAdapter.getValue(astRoot));
- }
-
- protected String mappedBy(CompilationUnit astRoot) {
- return this.mappedByAdapter.getValue(astRoot);
- }
-
- protected Boolean optional(CompilationUnit astRoot) {
- return this.optionalAdapter.getValue(astRoot);
- }
-
-
- // ********** static methods **********
-
- private static DeclarationAnnotationElementAdapter<String> buildTargetEntityAdapter() {
- return buildTargetEntityAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.ONE_TO_ONE__TARGET_ENTITY);
- }
-
- private static DeclarationAnnotationElementAdapter<String[]> buildCascadeAdapter() {
- return buildEnumArrayAnnotationElementAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.ONE_TO_ONE__CASCADE);
- }
-
- private static DeclarationAnnotationElementAdapter<String> buildFetchAdapter() {
- return buildFetchAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.ONE_TO_ONE__FETCH);
- }
-
- private static DeclarationAnnotationElementAdapter<Boolean> buildOptionalAdapter() {
- return buildOptionalAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.ONE_TO_ONE__OPTIONAL);
- }
-
- private static DeclarationAnnotationElementAdapter<Boolean> buildOptionalAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
- return new ConversionDeclarationAnnotationElementAdapter<Boolean>(annotationAdapter, elementName, false, BooleanExpressionConverter.instance());
- }
-
- private static DeclarationAnnotationElementAdapter<String> buildMappedByAdapter() {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.ONE_TO_ONE__MAPPED_BY, false); // false = do not remove annotation when empty
- }
-
- public static class OneToOneAnnotationDefinition implements AnnotationDefinition
- {
-
- // singleton
- private static final OneToOneAnnotationDefinition INSTANCE = new OneToOneAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static OneToOneAnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private OneToOneAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new OneToOneImpl((JavaResourcePersistentAttribute) parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NullOneToOne(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OrderByImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OrderByImpl.java
deleted file mode 100644
index 627907f6dd..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OrderByImpl.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.OrderByAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class OrderByImpl extends AbstractResourceAnnotation<Attribute> implements OrderByAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> VALUE_ADAPTER = buildValueAdapter();
-
-
- private final AnnotationElementAdapter<String> valueAdapter;
-
- private String value;
-
- protected OrderByImpl(JavaResourceNode parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- this.valueAdapter = new ShortCircuitAnnotationElementAdapter<String>(attribute, VALUE_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.value = this.value(astRoot);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public String getValue() {
- return this.value;
- }
-
- public void setValue(String newValue) {
- if (attributeValueHasNotChanged(this.value, newValue)) {
- return;
- }
- String oldValue = this.value;
- this.value = newValue;
- this.valueAdapter.setValue(newValue);
- firePropertyChanged(VALUE_PROPERTY, oldValue, newValue);
- }
-
- public TextRange getValueTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(VALUE_ADAPTER, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setValue(this.value(astRoot));
- }
-
- protected String value(CompilationUnit astRoot) {
- return this.valueAdapter.getValue(astRoot);
- }
-
- // ********** static methods **********
- private static DeclarationAnnotationElementAdapter<String> buildValueAdapter() {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.ORDER_BY__VALUE, false);
- }
-
-
- public static class OrderByAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final OrderByAnnotationDefinition INSTANCE = new OrderByAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private OrderByAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new OrderByImpl(parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OverrideImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OverrideImpl.java
deleted file mode 100644
index 0d5a551650..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/OverrideImpl.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.resource.java.OverrideAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public abstract class OverrideImpl
- extends AbstractResourceAnnotation<Member>
- implements OverrideAnnotation
-{
- // hold this so we can get the 'name' text range
- private final DeclarationAnnotationElementAdapter<String> nameDeclarationAdapter;
-
- private final AnnotationElementAdapter<String> nameAdapter;
-
- private String name;
-
-
- protected OverrideImpl(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
- super(parent, member, daa, annotationAdapter);
- this.nameDeclarationAdapter = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, JPA.ATTRIBUTE_OVERRIDE__NAME, false); // false = do not remove annotation when empty
- this.nameAdapter = new ShortCircuitAnnotationElementAdapter<String>(getMember(),this.nameDeclarationAdapter);
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.name = this.name(astRoot);
- }
-
- public IndexedAnnotationAdapter getIndexedAnnotationAdapter() {
- return (IndexedAnnotationAdapter) super.getAnnotationAdapter();
- }
-
- public void moveAnnotation(int newIndex) {
- getIndexedAnnotationAdapter().moveAnnotation(newIndex);
- }
-
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- OverrideAnnotation oldOverride = (OverrideAnnotation) oldAnnotation;
- setName(oldOverride.getName());
- }
-
- //************ AttriubteOverride implementation ****************
- public String getName() {
- return this.name;
- }
-
- public void setName(String newName) {
- if (attributeValueHasNotChanged(this.name, newName)) {
- return;
- }
- String oldName = this.name;
- this.name = newName;
- this.nameAdapter.setValue(newName);
- firePropertyChanged(OverrideAnnotation.NAME_PROPERTY, oldName, newName);
- }
-
- public TextRange getNameTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.nameDeclarationAdapter, astRoot);
- }
-
- public boolean nameTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(this.nameDeclarationAdapter, pos, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setName(this.name(astRoot));
- }
-
- protected String name(CompilationUnit astRoot) {
- return this.nameAdapter.getValue(astRoot);
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.name);
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/PrimaryKeyJoinColumnImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/PrimaryKeyJoinColumnImpl.java
deleted file mode 100644
index c9cb053e41..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/PrimaryKeyJoinColumnImpl.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberIndexedAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.NestedIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.resource.java.NestablePrimaryKeyJoinColumn;
-import org.eclipse.jpt.core.resource.java.PrimaryKeyJoinColumnAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class PrimaryKeyJoinColumnImpl extends AbstractNamedColumn implements NestablePrimaryKeyJoinColumn
-{
-
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- // hold this so we can get the 'referenced column name' text range
- private final DeclarationAnnotationElementAdapter<String> referencedColumnNameDeclarationAdapter;
-
- private final AnnotationElementAdapter<String> referencedColumnNameAdapter;
-
- private String referencedColumnName;
-
- protected PrimaryKeyJoinColumnImpl(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
- super(parent, member, daa, annotationAdapter);
- this.referencedColumnNameDeclarationAdapter = this.buildStringElementAdapter(JPA.PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME);
- this.referencedColumnNameAdapter = this.buildShortCircuitElementAdapter(this.referencedColumnNameDeclarationAdapter);
- }
-
- protected PrimaryKeyJoinColumnImpl(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa) {
- this(parent, member, daa, new MemberAnnotationAdapter(member, daa));
- }
-
- protected PrimaryKeyJoinColumnImpl(JavaResourceNode parent, Member member, IndexedDeclarationAnnotationAdapter idaa) {
- this(parent, member, idaa, new MemberIndexedAnnotationAdapter(member, idaa));
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.referencedColumnName = this.referencedColumnName(astRoot);
- }
-
- @Override
- protected String getNameElementName() {
- return JPA.PRIMARY_KEY_JOIN_COLUMN__NAME;
- }
-
- @Override
- protected String getColumnDefinitionElementName() {
- return JPA.PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- private IndexedAnnotationAdapter getIndexedAnnotationAdapter() {
- return (IndexedAnnotationAdapter) super.getAnnotationAdapter();
- }
-
- public void moveAnnotation(int newIndex) {
- getIndexedAnnotationAdapter().moveAnnotation(newIndex);
- }
-
- @Override
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- super.initializeFrom(oldAnnotation);
- PrimaryKeyJoinColumnAnnotation oldColumn = (PrimaryKeyJoinColumnAnnotation) oldAnnotation;
- setReferencedColumnName(oldColumn.getReferencedColumnName());
- }
-
- public String getReferencedColumnName() {
- return this.referencedColumnName;
- }
-
- public void setReferencedColumnName(String newReferencedColumnName) {
- if (attributeValueHasNotChanged(this.referencedColumnName, newReferencedColumnName)) {
- return;
- }
- String oldReferencedColumnName = this.referencedColumnName;
- this.referencedColumnName = newReferencedColumnName;
- this.referencedColumnNameAdapter.setValue(newReferencedColumnName);
- firePropertyChanged(REFERENCED_COLUMN_NAME_PROPERTY, oldReferencedColumnName, newReferencedColumnName);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setReferencedColumnName(this.referencedColumnName(astRoot));
- }
-
- protected String referencedColumnName(CompilationUnit astRoot) {
- return this.referencedColumnNameAdapter.getValue(astRoot);
- }
-
- public boolean referencedColumnNameTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(this.referencedColumnNameDeclarationAdapter, pos, astRoot);
- }
-
- public TextRange getReferencedColumnNameTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.referencedColumnNameDeclarationAdapter, astRoot);
- }
-
- // ********** static methods **********
-
- static PrimaryKeyJoinColumnImpl createPrimaryKeyJoinColumn(JavaResourceNode parent, Member member) {
- return new PrimaryKeyJoinColumnImpl(parent, member, DECLARATION_ANNOTATION_ADAPTER);
- }
-
- static PrimaryKeyJoinColumnImpl createNestedPrimaryKeyJoinColumn(JavaResourceNode parent, Member member, int index, DeclarationAnnotationAdapter pkJoinColumnsAdapter) {
- IndexedDeclarationAnnotationAdapter idaa = buildNestedDeclarationAnnotationAdapter(index, pkJoinColumnsAdapter);
- IndexedAnnotationAdapter annotationAdapter = new MemberIndexedAnnotationAdapter(member, idaa);
- return new PrimaryKeyJoinColumnImpl(parent, member, idaa, annotationAdapter);
- }
-
- private static IndexedDeclarationAnnotationAdapter buildNestedDeclarationAnnotationAdapter(int index, DeclarationAnnotationAdapter pkJoinColumnsAdapter) {
- return new NestedIndexedDeclarationAnnotationAdapter(pkJoinColumnsAdapter, index, JPA.PRIMARY_KEY_JOIN_COLUMN);
- }
-
-
- static NestablePrimaryKeyJoinColumn createSecondaryTablePrimaryKeyJoinColumn(DeclarationAnnotationAdapter secondaryTableAdapter, JavaResourceNode parent, Member member, int index) {
- return new PrimaryKeyJoinColumnImpl(parent, member, buildSecondaryTableAnnotationAdapter(secondaryTableAdapter, index));
- }
-
- private static IndexedDeclarationAnnotationAdapter buildSecondaryTableAnnotationAdapter(DeclarationAnnotationAdapter secondaryTableAdapter, int index) {
- return new NestedIndexedDeclarationAnnotationAdapter(secondaryTableAdapter, JPA.SECONDARY_TABLE__PK_JOIN_COLUMNS, index, JPA.PRIMARY_KEY_JOIN_COLUMN);
- }
-
- public static class PrimaryKeyJoinColumnAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final PrimaryKeyJoinColumnAnnotationDefinition INSTANCE = new PrimaryKeyJoinColumnAnnotationDefinition();
-
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private PrimaryKeyJoinColumnAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return PrimaryKeyJoinColumnImpl.createPrimaryKeyJoinColumn(parent, member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/PrimaryKeyJoinColumnsImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/PrimaryKeyJoinColumnsImpl.java
deleted file mode 100644
index d08876d3ed..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/PrimaryKeyJoinColumnsImpl.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NestablePrimaryKeyJoinColumn;
-import org.eclipse.jpt.core.resource.java.PrimaryKeyJoinColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.PrimaryKeyJoinColumnsAnnotation;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-public class PrimaryKeyJoinColumnsImpl extends AbstractResourceAnnotation<Member> implements PrimaryKeyJoinColumnsAnnotation
-{
-
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private List<NestablePrimaryKeyJoinColumn> pkJoinColumns;
-
- protected PrimaryKeyJoinColumnsImpl(JavaResourceNode parent, Member member) {
- super(parent, member, DECLARATION_ANNOTATION_ADAPTER);
- this.pkJoinColumns = new ArrayList<NestablePrimaryKeyJoinColumn>();
- }
-
- public void initialize(CompilationUnit astRoot) {
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public String getNestableAnnotationName() {
- return PrimaryKeyJoinColumnAnnotation.ANNOTATION_NAME;
- }
-
- public String getElementName() {
- return JPA.PRIMARY_KEY_JOIN_COLUMNS__VALUE;
- }
-
- public ListIterator<NestablePrimaryKeyJoinColumn> nestedAnnotations() {
- return new CloneListIterator<NestablePrimaryKeyJoinColumn>(this.pkJoinColumns);
- }
-
- public int nestedAnnotationsSize() {
- return this.pkJoinColumns.size();
- }
-
- public NestablePrimaryKeyJoinColumn addInternal(int index) {
- NestablePrimaryKeyJoinColumn pkJoinColumn = createPrimaryKeyJoinColumn(index);
- this.pkJoinColumns.add(index, pkJoinColumn);
- return pkJoinColumn;
- }
-
- public NestablePrimaryKeyJoinColumn add(int index) {
- NestablePrimaryKeyJoinColumn pkJoinColumn = createPrimaryKeyJoinColumn(index);
- add(index, pkJoinColumn);
- return pkJoinColumn;
- }
-
- protected void add(int index, NestablePrimaryKeyJoinColumn pkJoinColumn) {
- addItemToList(index, pkJoinColumn, this.pkJoinColumns, PK_JOIN_COLUMNS_LIST);
- }
-
- public void remove(NestablePrimaryKeyJoinColumn pkJoinColumn) {
- removeItemFromList(pkJoinColumn, this.pkJoinColumns, PK_JOIN_COLUMNS_LIST);
- }
-
- public void remove(int index) {
- removeItemFromList(index, this.pkJoinColumns, PK_JOIN_COLUMNS_LIST);
- }
-
- public int indexOf(NestablePrimaryKeyJoinColumn pkJoinColumn) {
- return this.pkJoinColumns.indexOf(pkJoinColumn);
- }
-
- public NestablePrimaryKeyJoinColumn nestedAnnotationAt(int index) {
- return this.pkJoinColumns.get(index);
- }
-
- public NestablePrimaryKeyJoinColumn nestedAnnotationFor(Annotation jdtAnnotation) {
- for (NestablePrimaryKeyJoinColumn pkJoinColumn : this.pkJoinColumns) {
- if (jdtAnnotation == pkJoinColumn.getJdtAnnotation((CompilationUnit) jdtAnnotation.getRoot())) {
- return pkJoinColumn;
- }
- }
- return null;
- }
-
- public void move(int targetIndex, int sourceIndex) {
- moveItemInList(targetIndex, sourceIndex, this.pkJoinColumns, PK_JOIN_COLUMNS_LIST);
- }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.pkJoinColumns, targetIndex, sourceIndex);
- }
-
- public void update(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this);
- }
-
- private PrimaryKeyJoinColumnImpl createPrimaryKeyJoinColumn(int index) {
- return PrimaryKeyJoinColumnImpl.createNestedPrimaryKeyJoinColumn(this, getMember(), index, getDeclarationAnnotationAdapter());
- }
-
-
- public static class PrimaryKeyJoinColumnsAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final PrimaryKeyJoinColumnsAnnotationDefinition INSTANCE = new PrimaryKeyJoinColumnsAnnotationDefinition();
-
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private PrimaryKeyJoinColumnsAnnotationDefinition() {
- super();
- }
-
- public PrimaryKeyJoinColumnsAnnotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new PrimaryKeyJoinColumnsImpl(parent, member);
- }
-
- public PrimaryKeyJoinColumnsAnnotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/QueryHintImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/QueryHintImpl.java
deleted file mode 100644
index 51d1392d5e..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/QueryHintImpl.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberIndexedAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.NestedIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableQueryHint;
-import org.eclipse.jpt.core.resource.java.QueryHintAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Type;
-
-public class QueryHintImpl extends AbstractResourceAnnotation<Type>
- implements NestableQueryHint
-{
-
- // hold this so we can get the 'name' text range
- private final DeclarationAnnotationElementAdapter<String> nameDeclarationAdapter;
-
- // hold this so we can get the 'value' text range
- private final DeclarationAnnotationElementAdapter<String> valueDeclarationAdapter;
-
- private final AnnotationElementAdapter<String> nameAdapter;
-
- private final AnnotationElementAdapter<String> valueAdapter;
-
- private String name;
-
- private String value;
-
- public QueryHintImpl(JavaResourceNode parent, Type type, IndexedDeclarationAnnotationAdapter idaa) {
- super(parent, type, idaa, new MemberIndexedAnnotationAdapter(type, idaa));
- this.nameDeclarationAdapter = this.buildNameAdapter(idaa);
- this.nameAdapter = this.buildAdapter(this.nameDeclarationAdapter);
- this.valueDeclarationAdapter = this.buildValueAdapter(idaa);
- this.valueAdapter = this.buildAdapter(this.valueDeclarationAdapter);
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.name = this.name(astRoot);
- this.value = this.value(astRoot);
- }
-
- // ********** initialization **********
- protected AnnotationElementAdapter<String> buildAdapter(DeclarationAnnotationElementAdapter<String> daea) {
- return new ShortCircuitAnnotationElementAdapter<String>(getMember(), daea);
- }
-
- protected DeclarationAnnotationElementAdapter<String> buildNameAdapter(DeclarationAnnotationAdapter daa) {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(daa, JPA.QUERY_HINT__NAME);
- }
-
- protected DeclarationAnnotationElementAdapter<String> buildValueAdapter(DeclarationAnnotationAdapter daa) {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(daa, JPA.QUERY_HINT__VALUE);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- @Override
- public IndexedAnnotationAdapter getAnnotationAdapter() {
- return (IndexedAnnotationAdapter) super.getAnnotationAdapter();
- }
-
- public String getName() {
- return this.name;
- }
-
- public void setName(String newName) {
- if (attributeValueHasNotChanged(this.name, newName)) {
- return;
- }
- String oldName = this.name;
- this.name = newName;
- this.nameAdapter.setValue(newName);
- firePropertyChanged(NAME_PROPERTY, oldName, newName);
- }
-
- public String getValue() {
- return this.value;
- }
-
- public void setValue(String newValue) {
- if (attributeValueHasNotChanged(this.value, newValue)) {
- return;
- }
- String oldValue = this.value;
- this.value = newValue;
- this.valueAdapter.setValue(newValue);
- firePropertyChanged(VALUE_PROPERTY, oldValue, newValue);
- }
-
- public TextRange getNameTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.nameDeclarationAdapter, astRoot);
- }
-
- public TextRange getValueTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(this.valueDeclarationAdapter, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setName(this.name(astRoot));
- this.setValue(this.value(astRoot));
- }
-
- protected String name(CompilationUnit astRoot) {
- return this.nameAdapter.getValue(astRoot);
- }
-
- protected String value(CompilationUnit astRoot) {
- return this.valueAdapter.getValue(astRoot);
- }
-
- // ********** persistence model -> java annotations **********
- public void moveAnnotation(int newIndex) {
- getAnnotationAdapter().moveAnnotation(newIndex);
- }
-
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- QueryHintAnnotation oldQueryHint = (QueryHintAnnotation) oldAnnotation;
- setName(oldQueryHint.getName());
- setValue(oldQueryHint.getValue());
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.name);
- }
-
- // ********** static methods **********
- static QueryHintImpl createNamedQueryQueryHint(JavaResourceNode parent, Type type, DeclarationAnnotationAdapter namedQueryAdapter, int index) {
- return new QueryHintImpl(parent, type, buildNamedQueryQueryHintAnnotationAdapter(namedQueryAdapter, index));
- }
-
- private static IndexedDeclarationAnnotationAdapter buildNamedQueryQueryHintAnnotationAdapter(DeclarationAnnotationAdapter namedQueryAdapter, int index) {
- return new NestedIndexedDeclarationAnnotationAdapter(namedQueryAdapter, JPA.NAMED_QUERY__HINTS, index, JPA.QUERY_HINT);
- }
-
- static QueryHintImpl createNamedNativeQueryQueryHint(JavaResourceNode parent, Type type, DeclarationAnnotationAdapter namedNativeQueryAdapter, int index) {
- return new QueryHintImpl(parent, type, buildNamedNativeQueryQueryHintAnnotationAdapter(namedNativeQueryAdapter, index));
- }
-
- private static IndexedDeclarationAnnotationAdapter buildNamedNativeQueryQueryHintAnnotationAdapter(DeclarationAnnotationAdapter namedNativeQueryAdapter, int index) {
- return new NestedIndexedDeclarationAnnotationAdapter(namedNativeQueryAdapter, JPA.NAMED_NATIVE_QUERY__HINTS, index, JPA.QUERY_HINT);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/SecondaryTableImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/SecondaryTableImpl.java
deleted file mode 100644
index 6d69fcf65d..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/SecondaryTableImpl.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberIndexedAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.NestedIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.ContainerAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.resource.java.NestablePrimaryKeyJoinColumn;
-import org.eclipse.jpt.core.resource.java.NestableSecondaryTable;
-import org.eclipse.jpt.core.resource.java.NestableUniqueConstraint;
-import org.eclipse.jpt.core.resource.java.PrimaryKeyJoinColumnAnnotation;
-import org.eclipse.jpt.core.resource.java.SecondaryTableAnnotation;
-import org.eclipse.jpt.core.resource.java.UniqueConstraintAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-public class SecondaryTableImpl extends AbstractResourceTable implements NestableSecondaryTable
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(SecondaryTableAnnotation.ANNOTATION_NAME);
-
- protected final List<NestablePrimaryKeyJoinColumn> pkJoinColumns;
-
- private final PkJoinColumnsContainerAnnotation pkJoinColumnsContainerAnnotation;
-
-
- protected SecondaryTableImpl(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
- super(parent, member, daa, annotationAdapter);
- this.pkJoinColumns = new ArrayList<NestablePrimaryKeyJoinColumn>();
- this.pkJoinColumnsContainerAnnotation = new PkJoinColumnsContainerAnnotation();
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this.pkJoinColumnsContainerAnnotation);
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getCatalogAdapter(DeclarationAnnotationAdapter declarationAnnotationAdapter) {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(declarationAnnotationAdapter, JPA.SECONDARY_TABLE__CATALOG);
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getNameAdapter(DeclarationAnnotationAdapter declarationAnnotationAdapter) {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(declarationAnnotationAdapter, JPA.SECONDARY_TABLE__NAME);
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getSchemaAdapter(DeclarationAnnotationAdapter declarationAnnotationAdapter) {
- return ConversionDeclarationAnnotationElementAdapter.forStrings(declarationAnnotationAdapter, JPA.SECONDARY_TABLE__SCHEMA);
- }
-
- public IndexedAnnotationAdapter getIndexedAnnotationAdapter() {
- return (IndexedAnnotationAdapter) super.getAnnotationAdapter();
- }
-
- public String getAnnotationName() {
- return SecondaryTableAnnotation.ANNOTATION_NAME;
- }
-
- public void moveAnnotation(int newIndex) {
- getIndexedAnnotationAdapter().moveAnnotation(newIndex);
- }
-
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- SecondaryTableAnnotation oldSecondaryTable = (SecondaryTableAnnotation) oldAnnotation;
- setName(oldSecondaryTable.getName());
- setCatalog(oldSecondaryTable.getCatalog());
- setSchema(oldSecondaryTable.getSchema());
- for (UniqueConstraintAnnotation uniqueConstraint : CollectionTools.iterable(oldSecondaryTable.uniqueConstraints())) {
- NestableUniqueConstraint newUniqueConstraint = addUniqueConstraint(oldSecondaryTable.indexOfUniqueConstraint(uniqueConstraint));
- newUniqueConstraint.initializeFrom((NestableAnnotation) uniqueConstraint);
- }
- for (PrimaryKeyJoinColumnAnnotation pkJoinColumn : CollectionTools.iterable(oldSecondaryTable.pkJoinColumns())) {
- NestablePrimaryKeyJoinColumn newPkJoinColumn = addPkJoinColumn(oldSecondaryTable.indexOfPkJoinColumn(pkJoinColumn));
- newPkJoinColumn.initializeFrom((NestableAnnotation) pkJoinColumn);
- }
- }
-
- @Override
- protected String getUniqueConstraintsElementName() {
- return JPA.SECONDARY_TABLE__UNIQUE_CONSTRAINTS;
- }
-
- @Override
- protected NestableUniqueConstraint createUniqueConstraint(int index) {
- return UniqueConstraintImpl.createSecondaryTableUniqueConstraint(this, this.getMember(), this.getDeclarationAnnotationAdapter(), index);
- }
-
- // ************* SecondaryTable implementation *******************
-
-
- public ListIterator<PrimaryKeyJoinColumnAnnotation> pkJoinColumns() {
- return new CloneListIterator<PrimaryKeyJoinColumnAnnotation>(this.pkJoinColumns);
- }
-
- public int pkJoinColumnsSize() {
- return this.pkJoinColumns.size();
- }
-
- public NestablePrimaryKeyJoinColumn pkJoinColumnAt(int index) {
- return this.pkJoinColumns.get(index);
- }
-
- public int indexOfPkJoinColumn(PrimaryKeyJoinColumnAnnotation joinColumn) {
- return this.pkJoinColumns.indexOf(joinColumn);
- }
-
- public NestablePrimaryKeyJoinColumn addPkJoinColumn(int index) {
- NestablePrimaryKeyJoinColumn pkJoinColumn = (NestablePrimaryKeyJoinColumn) ContainerAnnotationTools.addNestedAnnotation(index, this.pkJoinColumnsContainerAnnotation);
- fireItemAdded(SecondaryTableAnnotation.PK_JOIN_COLUMNS_LIST, index, pkJoinColumn);
- return pkJoinColumn;
- }
-
- protected void addPkJoinColumn(int index, NestablePrimaryKeyJoinColumn pkJoinColumn) {
- addItemToList(index, pkJoinColumn, this.pkJoinColumns, PK_JOIN_COLUMNS_LIST);
- }
-
- public void removePkJoinColumn(int index) {
- NestablePrimaryKeyJoinColumn pkJoinColumn = this.pkJoinColumns.get(index);
- removePkJoinColumn(pkJoinColumn);
- pkJoinColumn.removeAnnotation();
- ContainerAnnotationTools.synchAnnotationsAfterRemove(index, this.pkJoinColumnsContainerAnnotation);
- }
-
- protected void removePkJoinColumn(NestablePrimaryKeyJoinColumn pkJoinColumn) {
- removeItemFromList(pkJoinColumn, this.pkJoinColumns, SecondaryTableAnnotation.PK_JOIN_COLUMNS_LIST);
- }
-
- public void movePkJoinColumn(int targetIndex, int sourceIndex) {
- movePkJoinColumnInternal(targetIndex, sourceIndex);
- ContainerAnnotationTools.synchAnnotationsAfterMove(targetIndex, sourceIndex, this.pkJoinColumnsContainerAnnotation);
- fireItemMoved(SecondaryTableAnnotation.PK_JOIN_COLUMNS_LIST, targetIndex, sourceIndex);
- }
-
- protected void movePkJoinColumnInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.pkJoinColumns, targetIndex, sourceIndex);
- }
-
-
- protected NestablePrimaryKeyJoinColumn createPrimaryKeyJoinColumn(int index) {
- return PrimaryKeyJoinColumnImpl.createSecondaryTablePrimaryKeyJoinColumn(getDeclarationAnnotationAdapter(), this, getMember(), index);
- }
-
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.updatePkJoinColumnsFromJava(astRoot);
- }
-
- private void updatePkJoinColumnsFromJava(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this.pkJoinColumnsContainerAnnotation);
- }
-
- // ********** static methods **********
- static SecondaryTableImpl createSecondaryTable(JavaResourceNode parent, Member member) {
- return new SecondaryTableImpl(parent, member, DECLARATION_ANNOTATION_ADAPTER, new MemberAnnotationAdapter(member, DECLARATION_ANNOTATION_ADAPTER));
- }
-
- static SecondaryTableImpl createNestedSecondaryTable(JavaResourceNode parent, Member member, int index, DeclarationAnnotationAdapter secondaryTablesAdapter) {
- IndexedDeclarationAnnotationAdapter idaa = buildNestedDeclarationAnnotationAdapter(index, secondaryTablesAdapter);
- IndexedAnnotationAdapter annotationAdapter = new MemberIndexedAnnotationAdapter(member, idaa);
- return new SecondaryTableImpl(parent, member, idaa, annotationAdapter);
- }
-
- private static IndexedDeclarationAnnotationAdapter buildNestedDeclarationAnnotationAdapter(int index, DeclarationAnnotationAdapter secondaryTablesAdapter) {
- return new NestedIndexedDeclarationAnnotationAdapter(secondaryTablesAdapter, index, JPA.SECONDARY_TABLE);
- }
-
-
- private class PkJoinColumnsContainerAnnotation extends AbstractJavaResourceNode
- implements ContainerAnnotation<NestablePrimaryKeyJoinColumn>
- {
- public PkJoinColumnsContainerAnnotation() {
- super(SecondaryTableImpl.this);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //nothing to initialize
- }
-
- public NestablePrimaryKeyJoinColumn addInternal(int index) {
- NestablePrimaryKeyJoinColumn pKJoinColumn = SecondaryTableImpl.this.createPrimaryKeyJoinColumn(index);
- SecondaryTableImpl.this.pkJoinColumns.add(index, pKJoinColumn);
- return pKJoinColumn;
- }
-
- public NestablePrimaryKeyJoinColumn add(int index) {
- NestablePrimaryKeyJoinColumn pKJoinColumn = SecondaryTableImpl.this.createPrimaryKeyJoinColumn(index);
- SecondaryTableImpl.this.addPkJoinColumn(index, pKJoinColumn);
- return pKJoinColumn;
- }
-
- public int indexOf(NestablePrimaryKeyJoinColumn pkJoinColumn) {
- return SecondaryTableImpl.this.indexOfPkJoinColumn(pkJoinColumn);
- }
-
- public void move(int targetIndex, int sourceIndex) {
- SecondaryTableImpl.this.movePkJoinColumn(targetIndex, sourceIndex);
- }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- SecondaryTableImpl.this.movePkJoinColumnInternal(targetIndex, sourceIndex);
- }
-
- public NestablePrimaryKeyJoinColumn nestedAnnotationAt(int index) {
- return SecondaryTableImpl.this.pkJoinColumnAt(index);
- }
-
- public ListIterator<NestablePrimaryKeyJoinColumn> nestedAnnotations() {
- return new CloneListIterator<NestablePrimaryKeyJoinColumn>(SecondaryTableImpl.this.pkJoinColumns);
- }
-
- public int nestedAnnotationsSize() {
- return pkJoinColumnsSize();
- }
-
- public String getAnnotationName() {
- return SecondaryTableImpl.this.getAnnotationName();
- }
-
- public String getNestableAnnotationName() {
- return JPA.PRIMARY_KEY_JOIN_COLUMN;
- }
-
- public NestablePrimaryKeyJoinColumn nestedAnnotationFor(org.eclipse.jdt.core.dom.Annotation jdtAnnotation) {
- for (NestablePrimaryKeyJoinColumn pkJoinColumn : CollectionTools.iterable(nestedAnnotations())) {
- if (jdtAnnotation == pkJoinColumn.getJdtAnnotation((CompilationUnit) jdtAnnotation.getRoot())) {
- return pkJoinColumn;
- }
- }
- return null;
- }
-
- public void remove(int index) {
- this.remove(nestedAnnotationAt(index));
- }
-
- public void remove(NestablePrimaryKeyJoinColumn pkJoinColumn) {
- SecondaryTableImpl.this.removePkJoinColumn(pkJoinColumn);
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return SecondaryTableImpl.this.getJdtAnnotation(astRoot);
- }
-
- public void newAnnotation() {
- SecondaryTableImpl.this.newAnnotation();
- }
-
- public void removeAnnotation() {
- SecondaryTableImpl.this.removeAnnotation();
- }
-
- public void update(CompilationUnit astRoot) {
- SecondaryTableImpl.this.update(astRoot);
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return SecondaryTableImpl.this.getTextRange(astRoot);
- }
-
- public String getElementName() {
- return JPA.SECONDARY_TABLE__PK_JOIN_COLUMNS;
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.getAnnotationName());
- }
-
- }
-
- public static class SecondaryTableAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final SecondaryTableAnnotationDefinition INSTANCE = new SecondaryTableAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private SecondaryTableAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return SecondaryTableImpl.createSecondaryTable(parent, member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return SecondaryTableAnnotation.ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/SecondaryTablesImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/SecondaryTablesImpl.java
deleted file mode 100644
index 8502bb4cec..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/SecondaryTablesImpl.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.core.resource.java.NestableSecondaryTable;
-import org.eclipse.jpt.core.resource.java.SecondaryTableAnnotation;
-import org.eclipse.jpt.core.resource.java.SecondaryTablesAnnotation;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-public class SecondaryTablesImpl extends AbstractResourceAnnotation<Member> implements SecondaryTablesAnnotation
-{
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private final List<NestableSecondaryTable> secondaryTables;
-
- protected SecondaryTablesImpl(JavaResourcePersistentType parent, Member member) {
- super(parent, member, DECLARATION_ANNOTATION_ADAPTER);
- this.secondaryTables = new ArrayList<NestableSecondaryTable>();
- }
-
- public void initialize(CompilationUnit astRoot) {
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public String getNestableAnnotationName() {
- return SecondaryTableAnnotation.ANNOTATION_NAME;
- }
-
- public String getElementName() {
- return JPA.SECONDARY_TABLES__VALUE;
- }
-
- public ListIterator<NestableSecondaryTable> nestedAnnotations() {
- return new CloneListIterator<NestableSecondaryTable>(this.secondaryTables);
- }
-
- public int nestedAnnotationsSize() {
- return this.secondaryTables.size();
- }
-
- public NestableSecondaryTable addInternal(int index) {
- NestableSecondaryTable secondaryTable = createSecondaryTable(index);
- this.secondaryTables.add(index, secondaryTable);
- return secondaryTable;
- }
-
- public NestableSecondaryTable add(int index) {
- NestableSecondaryTable secondaryTable = createSecondaryTable(index);
- this.add(index, secondaryTable);
- return secondaryTable;
- }
-
- protected void add(int index, NestableSecondaryTable secondaryTable) {
- addItemToList(index, secondaryTable, this.secondaryTables, SECONDARY_TABLES_LIST);
- }
-
- public void remove(NestableSecondaryTable secondaryTable) {
- removeItemFromList(secondaryTable, this.secondaryTables, SECONDARY_TABLES_LIST);
- }
-
- public void remove(int index) {
- removeItemFromList(index, this.secondaryTables, SECONDARY_TABLES_LIST);
- }
-
- public int indexOf(NestableSecondaryTable secondaryTable) {
- return this.secondaryTables.indexOf(secondaryTable);
- }
-
- public NestableSecondaryTable nestedAnnotationAt(int index) {
- return this.secondaryTables.get(index);
- }
-
- public NestableSecondaryTable nestedAnnotationFor(org.eclipse.jdt.core.dom.Annotation jdtAnnotation) {
- for (NestableSecondaryTable secondaryTable : this.secondaryTables) {
- if (jdtAnnotation == secondaryTable.getJdtAnnotation((CompilationUnit) jdtAnnotation.getRoot())) {
- return secondaryTable;
- }
- }
- return null;
- }
-
- public void move(int targetIndex, int sourceIndex) {
- moveItemInList(targetIndex, sourceIndex, this.secondaryTables, SECONDARY_TABLES_LIST);
- }
- //TODO this move is different than how we handle SecondarTable.pkJoinColumns
-// public void movePkJoinColumn(int oldIndex, int newIndex) {
-// movePkJoinColumnInternal(oldIndex, newIndex);
-// ContainerAnnotationTools.synchAnnotationsAfterMove(newIndex, oldIndex, this.pkJoinColumnsContainerAnnotation);
-// fireItemMoved(SecondaryTable.PK_JOIN_COLUMNS_LIST, newIndex, oldIndex);
-// }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.secondaryTables, targetIndex, sourceIndex);
- }
-
- public void update(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this);
- }
-
- private SecondaryTableImpl createSecondaryTable(int index) {
- return SecondaryTableImpl.createNestedSecondaryTable(this, getMember(), index, getDeclarationAnnotationAdapter());
- }
-
- public static class SecondaryTablesAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final SecondaryTablesAnnotationDefinition INSTANCE = new SecondaryTablesAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private SecondaryTablesAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new SecondaryTablesImpl((JavaResourcePersistentType) parent, member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/SequenceGeneratorImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/SequenceGeneratorImpl.java
deleted file mode 100644
index 930e87a5bc..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/SequenceGeneratorImpl.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.SequenceGeneratorAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class SequenceGeneratorImpl
- extends GeneratorImpl
- implements SequenceGeneratorAnnotation
-{
- private final AnnotationElementAdapter<String> sequenceNameAdapter;
-
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> NAME_ADAPTER = buildAdapter(JPA.SEQUENCE_GENERATOR__NAME);
-
- private static final DeclarationAnnotationElementAdapter<Integer> INITIAL_VALUE_ADAPTER = buildIntegerAdapter(JPA.SEQUENCE_GENERATOR__INITIAL_VALUE);
-
- private static final DeclarationAnnotationElementAdapter<Integer> ALLOCATION_SIZE_ADAPTER = buildIntegerAdapter(JPA.SEQUENCE_GENERATOR__ALLOCATION_SIZE);
-
- private static final DeclarationAnnotationElementAdapter<String> SEQUENCE_NAME_ADAPTER = buildAdapter(JPA.SEQUENCE_GENERATOR__SEQUENCE_NAME);
-
- private String sequenceName;
-
- protected SequenceGeneratorImpl(JavaResourceNode parent, Member member) {
- super(parent, member, DECLARATION_ANNOTATION_ADAPTER);
- this.sequenceNameAdapter = this.buildAdapter(SEQUENCE_NAME_ADAPTER);
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.sequenceName = this.sequenceName(astRoot);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- //************ GeneratorImpl implementation **************
-
- @Override
- protected DeclarationAnnotationElementAdapter<Integer> getAllocationSizeAdapter() {
- return ALLOCATION_SIZE_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<Integer> getInitialValueAdapter() {
- return INITIAL_VALUE_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getNameAdapter() {
- return NAME_ADAPTER;
- }
-
-
- public String getSequenceName() {
- return this.sequenceName;
- }
-
- public void setSequenceName(String newSequenceName) {
- if (attributeValueHasNotChanged(this.sequenceName, newSequenceName)) {
- return;
- }
- String oldSequenceName = this.sequenceName;
- this.sequenceName = newSequenceName;
- this.sequenceNameAdapter.setValue(newSequenceName);
- firePropertyChanged(SEQUENCE_NAME_PROPERTY, oldSequenceName, newSequenceName);
- }
-
- public TextRange getSequenceNameTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(SEQUENCE_NAME_ADAPTER, astRoot);
- }
-
- public boolean sequenceNameTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(SEQUENCE_NAME_ADAPTER, pos, astRoot);
- }
-
- // ********** java annotations -> persistence model **********
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setSequenceName(this.sequenceName(astRoot));
- }
-
- protected String sequenceName(CompilationUnit astRoot) {
- return this.sequenceNameAdapter.getValue(astRoot);
- }
-
-
- // ********** static methods **********
-
- private static DeclarationAnnotationElementAdapter<String> buildAdapter(String elementName) {
- return buildAdapter(DECLARATION_ANNOTATION_ADAPTER, elementName);
- }
-
- private static DeclarationAnnotationElementAdapter<Integer> buildIntegerAdapter(String elementName) {
- return buildIntegerAdapter(DECLARATION_ANNOTATION_ADAPTER, elementName);
- }
-
-
- // ********** annotation definition **********
-
- public static class SequenceGeneratorAnnotationDefinition
- implements AnnotationDefinition
- {
- // singleton
- private static final SequenceGeneratorAnnotationDefinition INSTANCE = new SequenceGeneratorAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private SequenceGeneratorAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new SequenceGeneratorImpl(parent, member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TableGeneratorImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TableGeneratorImpl.java
deleted file mode 100644
index ee33090640..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TableGeneratorImpl.java
+++ /dev/null
@@ -1,525 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.ContainerAnnotation;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NestableUniqueConstraint;
-import org.eclipse.jpt.core.resource.java.TableAnnotation;
-import org.eclipse.jpt.core.resource.java.TableGeneratorAnnotation;
-import org.eclipse.jpt.core.resource.java.UniqueConstraintAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-/**
- *
- */
-public class TableGeneratorImpl
- extends GeneratorImpl
- implements TableGeneratorAnnotation
-{
- private final AnnotationElementAdapter<String> tableAdapter;
-
- private final AnnotationElementAdapter<String> catalogAdapter;
-
- private final AnnotationElementAdapter<String> schemaAdapter;
-
- private final AnnotationElementAdapter<String> pkColumnNameAdapter;
-
- private final AnnotationElementAdapter<String> valueColumnNameAdapter;
-
- private final AnnotationElementAdapter<String> pkColumnValueAdapter;
-
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> NAME_ADAPTER = buildAdapter(JPA.TABLE_GENERATOR__NAME);
-
- private static final DeclarationAnnotationElementAdapter<Integer> INITIAL_VALUE_ADAPTER = buildIntegerAdapter(JPA.TABLE_GENERATOR__INITIAL_VALUE);
-
- private static final DeclarationAnnotationElementAdapter<Integer> ALLOCATION_SIZE_ADAPTER = buildIntegerAdapter(JPA.TABLE_GENERATOR__ALLOCATION_SIZE);
-
- private static final DeclarationAnnotationElementAdapter<String> TABLE_ADAPTER = buildAdapter(JPA.TABLE_GENERATOR__TABLE);
-
- private static final DeclarationAnnotationElementAdapter<String> CATALOG_ADAPTER = buildAdapter(JPA.TABLE_GENERATOR__CATALOG);
-
- private static final DeclarationAnnotationElementAdapter<String> SCHEMA_ADAPTER = buildAdapter(JPA.TABLE_GENERATOR__SCHEMA);
-
- private static final DeclarationAnnotationElementAdapter<String> PK_COLUMN_NAME_ADAPTER = buildAdapter(JPA.TABLE_GENERATOR__PK_COLUMN_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> VALUE_COLUMN_NAME_ADAPTER = buildAdapter(JPA.TABLE_GENERATOR__VALUE_COLUMN_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> PK_COLUMN_VALUE_ADAPTER = buildAdapter(JPA.TABLE_GENERATOR__PK_COLUMN_VALUE);
-
- private String table;
-
- private String catalog;
-
- private String schema;
-
- private String pkColumnName;
-
- private String valueColumnName;
-
- private String pkColumnValue;
-
- final List<NestableUniqueConstraint> uniqueConstraints;
-
- private final UniqueConstraintsContainerAnnotation uniqueConstraintsContainerAnnotation;
-
-
- protected TableGeneratorImpl(JavaResourceNode parent, Member member) {
- super(parent, member, DECLARATION_ANNOTATION_ADAPTER);
- this.tableAdapter = this.buildAdapter(TABLE_ADAPTER);
- this.catalogAdapter = this.buildAdapter(CATALOG_ADAPTER);
- this.schemaAdapter = this.buildAdapter(SCHEMA_ADAPTER);
- this.pkColumnNameAdapter = this.buildAdapter(PK_COLUMN_NAME_ADAPTER);
- this.valueColumnNameAdapter = this.buildAdapter(VALUE_COLUMN_NAME_ADAPTER);
- this.pkColumnValueAdapter = this.buildAdapter(PK_COLUMN_VALUE_ADAPTER);
- this.uniqueConstraints = new ArrayList<NestableUniqueConstraint>();
- this.uniqueConstraintsContainerAnnotation = new UniqueConstraintsContainerAnnotation();
- }
-
- @Override
- public void initialize(CompilationUnit astRoot) {
- super.initialize(astRoot);
- this.table = this.table(astRoot);
- this.catalog = this.catalog(astRoot);
- this.schema = this.schema(astRoot);
- this.pkColumnName = this.pkColumnName(astRoot);
- this.valueColumnName = this.valueColumnName(astRoot);
- this.pkColumnValue = this.pkColumnValue(astRoot);
- ContainerAnnotationTools.initializeNestedAnnotations(astRoot, this.uniqueConstraintsContainerAnnotation);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
-
- //************ GeneratorImpl implementation **************
-
- @Override
- protected DeclarationAnnotationElementAdapter<Integer> getAllocationSizeAdapter() {
- return ALLOCATION_SIZE_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<Integer> getInitialValueAdapter() {
- return INITIAL_VALUE_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getNameAdapter() {
- return NAME_ADAPTER;
- }
-
- public String getTable() {
- return this.table;
- }
-
- public void setTable(String newTable) {
- if (attributeValueHasNotChanged(this.table, newTable)) {
- return;
- }
- String oldTable = this.table;
- this.table = newTable;
- this.tableAdapter.setValue(newTable);
- firePropertyChanged(TABLE_PROPERTY, oldTable, newTable);
- }
-
- public String getCatalog() {
- return this.catalog;
- }
-
- public void setCatalog(String newCatalog) {
- if (attributeValueHasNotChanged(this.catalog, newCatalog)) {
- return;
- }
- String oldCatalog = this.catalog;
- this.catalog = newCatalog;
- this.catalogAdapter.setValue(newCatalog);
- firePropertyChanged(CATALOG_PROPERTY, oldCatalog, newCatalog);
- }
-
- public String getSchema() {
- return this.schema;
- }
-
- public void setSchema(String newSchema) {
- if (attributeValueHasNotChanged(this.schema, newSchema)) {
- return;
- }
- String oldSchema = this.schema;
- this.schema = newSchema;
- this.schemaAdapter.setValue(newSchema);
- firePropertyChanged(SCHEMA_PROPERTY, oldSchema, newSchema);
- }
-
- public String getPkColumnName() {
- return this.pkColumnName;
- }
-
- public void setPkColumnName(String newPkColumnName) {
- if (attributeValueHasNotChanged(this.pkColumnName, newPkColumnName)) {
- return;
- }
- String oldPkColumnName = this.pkColumnName;
- this.pkColumnName = newPkColumnName;
- this.pkColumnNameAdapter.setValue(newPkColumnName);
- firePropertyChanged(PK_COLUMN_NAME_PROPERTY, oldPkColumnName, newPkColumnName);
- }
-
- public String getValueColumnName() {
- return this.valueColumnName;
- }
-
- public void setValueColumnName(String newValueColumnName) {
- if (attributeValueHasNotChanged(this.valueColumnName, newValueColumnName)) {
- return;
- }
- String oldValueColumnName = this.valueColumnName;
- this.valueColumnName = newValueColumnName;
- this.valueColumnNameAdapter.setValue(newValueColumnName);
- firePropertyChanged(VALUE_COLUMN_NAME_PROPERTY, oldValueColumnName, newValueColumnName);
- }
-
- public String getPkColumnValue() {
- return this.pkColumnValue;
- }
-
- public void setPkColumnValue(String newPkColumnValue) {
- if (attributeValueHasNotChanged(this.pkColumnValue, newPkColumnValue)) {
- return;
- }
- String oldPkColumnValue = this.pkColumnValue;
- this.pkColumnValue = newPkColumnValue;
- this.pkColumnValueAdapter.setValue(newPkColumnValue);
- firePropertyChanged(PK_COLUMN_VALUE_PROPERTY, oldPkColumnValue, newPkColumnValue);
- }
-
- public ListIterator<UniqueConstraintAnnotation> uniqueConstraints() {
- return new CloneListIterator<UniqueConstraintAnnotation>(this.uniqueConstraints);
- }
-
- public int uniqueConstraintsSize() {
- return this.uniqueConstraints.size();
- }
-
- public NestableUniqueConstraint uniqueConstraintAt(int index) {
- return this.uniqueConstraints.get(index);
- }
-
- public int indexOfUniqueConstraint(UniqueConstraintAnnotation uniqueConstraint) {
- return this.uniqueConstraints.indexOf(uniqueConstraint);
- }
-
- public NestableUniqueConstraint addUniqueConstraint(int index) {
- NestableUniqueConstraint uniqueConstraint = (NestableUniqueConstraint) ContainerAnnotationTools.addNestedAnnotation(index, this.uniqueConstraintsContainerAnnotation);
- fireItemAdded(TableGeneratorAnnotation.UNIQUE_CONSTRAINTS_LIST, index, uniqueConstraint);
- return uniqueConstraint;
- }
-
- protected void addUniqueConstraint(int index, NestableUniqueConstraint uniqueConstraint) {
- addItemToList(index, uniqueConstraint, this.uniqueConstraints, UNIQUE_CONSTRAINTS_LIST);
- }
-
- public void removeUniqueConstraint(int index) {
- NestableUniqueConstraint uniqueConstraint = this.uniqueConstraints.get(index);
- removeUniqueConstraint(uniqueConstraint);
- uniqueConstraint.removeAnnotation();
- synchUniqueConstraintAnnotationsAfterRemove(index);
- }
-
- protected void removeUniqueConstraint(NestableUniqueConstraint uniqueConstraint) {
- removeItemFromList(uniqueConstraint, this.uniqueConstraints, UNIQUE_CONSTRAINTS_LIST);
- }
-
- public void moveUniqueConstraint(int targetIndex, int sourceIndex) {
- moveUniqueConstraintInternal(targetIndex, sourceIndex);
- ContainerAnnotationTools.synchAnnotationsAfterMove(targetIndex, sourceIndex, this.uniqueConstraintsContainerAnnotation);
- fireItemMoved(TableAnnotation.UNIQUE_CONSTRAINTS_LIST, targetIndex, sourceIndex);
- }
-
- protected void moveUniqueConstraintInternal(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.uniqueConstraints, targetIndex, sourceIndex);
- }
-
- /**
- * synchronize the annotations with the model join columns,
- * starting at the specified index to prevent overlap
- */
- private void synchUniqueConstraintAnnotationsAfterRemove(int index) {
- ContainerAnnotationTools.synchAnnotationsAfterRemove(index, this.uniqueConstraintsContainerAnnotation);
- }
-
- protected NestableUniqueConstraint createUniqueConstraint(int index) {
- return UniqueConstraintImpl.createTableGeneratorUniqueConstraint(this, this.getMember(), index);
- }
-
-
- // ********** text ranges **********
-
- public TextRange getTableTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(TABLE_ADAPTER, astRoot);
- }
-
- public boolean tableTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(TABLE_ADAPTER, pos, astRoot);
- }
-
- public TextRange getCatalogTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(CATALOG_ADAPTER, astRoot);
- }
-
- public boolean catalogTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(CATALOG_ADAPTER, pos, astRoot);
- }
-
- public TextRange getSchemaTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(SCHEMA_ADAPTER, astRoot);
- }
-
- public boolean schemaTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(SCHEMA_ADAPTER, pos, astRoot);
- }
-
- public TextRange getPkColumnNameTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(PK_COLUMN_NAME_ADAPTER, astRoot);
- }
-
- public boolean pkColumnNameTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(PK_COLUMN_NAME_ADAPTER, pos, astRoot);
- }
-
- public TextRange getPkColumnValueTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(PK_COLUMN_VALUE_ADAPTER, astRoot);
- }
-
- public boolean pkColumnValueTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(PK_COLUMN_VALUE_ADAPTER, pos, astRoot);
- }
-
- public TextRange getValueColumnNameTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(VALUE_COLUMN_NAME_ADAPTER, astRoot);
- }
-
- public boolean valueColumnNameTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(VALUE_COLUMN_NAME_ADAPTER, pos, astRoot);
- }
-
- // ********** java annotations -> persistence model **********
- @Override
- public void update(CompilationUnit astRoot) {
- super.update(astRoot);
- this.setTable(this.table(astRoot));
- this.setCatalog(this.catalog(astRoot));
- this.setSchema(this.schema(astRoot));
- this.setPkColumnName(this.pkColumnName(astRoot));
- this.setValueColumnName(this.valueColumnName(astRoot));
- this.setPkColumnValue(this.pkColumnValue(astRoot));
- this.updateUniqueConstraintsFromJava(astRoot);
- }
-
- protected String table(CompilationUnit astRoot) {
- return this.tableAdapter.getValue(astRoot);
- }
- protected String catalog(CompilationUnit astRoot) {
- return this.catalogAdapter.getValue(astRoot);
- }
- protected String schema(CompilationUnit astRoot) {
- return this.schemaAdapter.getValue(astRoot);
- }
- protected String pkColumnName(CompilationUnit astRoot) {
- return this.pkColumnNameAdapter.getValue(astRoot);
- }
- protected String valueColumnName(CompilationUnit astRoot) {
- return this.valueColumnNameAdapter.getValue(astRoot);
- }
- protected String pkColumnValue(CompilationUnit astRoot) {
- return this.pkColumnValueAdapter.getValue(astRoot);
- }
-
- /**
- * here we just worry about getting the unique constraints lists the same size;
- * then we delegate to the unique constraints to synch themselves up
- */
- private void updateUniqueConstraintsFromJava(CompilationUnit astRoot) {
- ContainerAnnotationTools.updateNestedAnnotationsFromJava(astRoot, this.uniqueConstraintsContainerAnnotation);
- }
-
-
- // ********** static methods **********
-
- private static DeclarationAnnotationElementAdapter<String> buildAdapter(String elementName) {
- return buildAdapter(DECLARATION_ANNOTATION_ADAPTER, elementName);
- }
-
- private static DeclarationAnnotationElementAdapter<Integer> buildIntegerAdapter(String elementName) {
- return buildIntegerAdapter(DECLARATION_ANNOTATION_ADAPTER, elementName);
- }
-
-
- // ********** unique constraints container annotation **********
-
- private class UniqueConstraintsContainerAnnotation
- extends AbstractJavaResourceNode
- implements ContainerAnnotation<NestableUniqueConstraint>
- {
- public UniqueConstraintsContainerAnnotation() {
- super(TableGeneratorImpl.this);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //nothing to initialize
- }
-
- public NestableUniqueConstraint addInternal(int index) {
- NestableUniqueConstraint uniqueConstraint = TableGeneratorImpl.this.createUniqueConstraint(index);
- TableGeneratorImpl.this.uniqueConstraints.add(index, uniqueConstraint);
- return uniqueConstraint;
- }
-
- public NestableUniqueConstraint add(int index) {
- NestableUniqueConstraint uniqueConstraint = TableGeneratorImpl.this.createUniqueConstraint(index);
- TableGeneratorImpl.this.addUniqueConstraint(index, uniqueConstraint);
- return uniqueConstraint;
- }
-
- public String getAnnotationName() {
- return TableGeneratorImpl.this.getAnnotationName();
- }
-
- public String getNestableAnnotationName() {
- return JPA.UNIQUE_CONSTRAINT;
- }
-
- public int indexOf(NestableUniqueConstraint uniqueConstraint) {
- return TableGeneratorImpl.this.indexOfUniqueConstraint(uniqueConstraint);
- }
-
- public void move(int targetIndex, int sourceIndex) {
- TableGeneratorImpl.this.moveUniqueConstraint(targetIndex, sourceIndex);
- }
-
- public void moveInternal(int targetIndex, int sourceIndex) {
- TableGeneratorImpl.this.moveUniqueConstraintInternal(targetIndex, sourceIndex);
- }
-
- public NestableUniqueConstraint nestedAnnotationAt(int index) {
- return TableGeneratorImpl.this.uniqueConstraintAt(index);
- }
-
- public NestableUniqueConstraint nestedAnnotationFor(org.eclipse.jdt.core.dom.Annotation jdtAnnotation) {
- for (NestableUniqueConstraint uniqueConstraint : CollectionTools.iterable(nestedAnnotations())) {
- if (jdtAnnotation == uniqueConstraint.getJdtAnnotation((CompilationUnit) jdtAnnotation.getRoot())) {
- return uniqueConstraint;
- }
- }
- return null;
- }
-
- public ListIterator<NestableUniqueConstraint> nestedAnnotations() {
- return new CloneListIterator<NestableUniqueConstraint>(TableGeneratorImpl.this.uniqueConstraints);
- }
-
- public int nestedAnnotationsSize() {
- return TableGeneratorImpl.this.uniqueConstraints.size();
- }
-
- public void remove(NestableUniqueConstraint uniqueConstraint) {
- TableGeneratorImpl.this.removeUniqueConstraint(uniqueConstraint);
- }
-
- public void remove(int index) {
- this.remove(nestedAnnotationAt(index));
- }
-
- public org.eclipse.jdt.core.dom.Annotation getJdtAnnotation(CompilationUnit astRoot) {
- return TableGeneratorImpl.this.getJdtAnnotation(astRoot);
- }
-
- public void newAnnotation() {
- TableGeneratorImpl.this.newAnnotation();
- }
-
- public void removeAnnotation() {
- TableGeneratorImpl.this.removeAnnotation();
- }
-
- public void update(CompilationUnit astRoot) {
- TableGeneratorImpl.this.update(astRoot);
- }
-
- public TextRange getTextRange(CompilationUnit astRoot) {
- return TableGeneratorImpl.this.getTextRange(astRoot);
- }
-
- public String getElementName() {
- return JPA.TABLE_GENERATOR__UNIQUE_CONSTRAINTS;
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.getAnnotationName());
- }
-
- }
-
-
- // ********** annotation definition **********
-
- public static class TableGeneratorAnnotationDefinition
- implements AnnotationDefinition
- {
- // singleton
- private static final TableGeneratorAnnotationDefinition INSTANCE = new TableGeneratorAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private TableGeneratorAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new TableGeneratorImpl(parent, member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TableImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TableImpl.java
deleted file mode 100644
index 1e6b4c4df0..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TableImpl.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.NestableUniqueConstraint;
-import org.eclipse.jpt.core.resource.java.TableAnnotation;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class TableImpl extends AbstractResourceTable
-{
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> NAME_ADAPTER = ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.TABLE__NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> SCHEMA_ADAPTER = ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.TABLE__SCHEMA);
-
- private static final DeclarationAnnotationElementAdapter<String> CATALOG_ADAPTER = ConversionDeclarationAnnotationElementAdapter.forStrings(DECLARATION_ANNOTATION_ADAPTER, JPA.TABLE__CATALOG);
-
- protected TableImpl(JavaResourceNode parent, Member member) {
- super(parent, member, DECLARATION_ANNOTATION_ADAPTER, new MemberAnnotationAdapter(member, DECLARATION_ANNOTATION_ADAPTER));
- }
-
- public String getAnnotationName() {
- return TableAnnotation.ANNOTATION_NAME;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getNameAdapter(DeclarationAnnotationAdapter declarationAnnotationAdapter) {
- // ignore the daa passed in, @Table is never nested
- return NAME_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getSchemaAdapter(DeclarationAnnotationAdapter declarationAnnotationAdapter) {
- // ignore the daa passed in, @Table is never nested
- return SCHEMA_ADAPTER;
- }
-
- @Override
- protected DeclarationAnnotationElementAdapter<String> getCatalogAdapter(DeclarationAnnotationAdapter declarationAnnotationAdapter) {
- // ignore the daa passed in, @Table is never nested
- return CATALOG_ADAPTER;
- }
-
- @Override
- protected String getUniqueConstraintsElementName() {
- return JPA.TABLE__UNIQUE_CONSTRAINTS;
- }
-
- @Override
- protected NestableUniqueConstraint createUniqueConstraint(int index) {
- return UniqueConstraintImpl.createTableUniqueConstraint(this, this.getMember(), index);
- }
-
- public static class TableAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final TableAnnotationDefinition INSTANCE = new TableAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private TableAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new TableImpl(parent, member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NullTable(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TemporalImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TemporalImpl.java
deleted file mode 100644
index af42e97778..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TemporalImpl.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.EnumDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.TemporalAnnotation;
-import org.eclipse.jpt.core.resource.java.TemporalType;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class TemporalImpl extends AbstractResourceAnnotation<Attribute> implements TemporalAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- private static final DeclarationAnnotationElementAdapter<String> VALUE_ADAPTER = buildValueAdapter();
-
- private final AnnotationElementAdapter<String> valueAdapter;
-
- private TemporalType value;
-
- protected TemporalImpl(JavaResourceNode parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- this.valueAdapter = new ShortCircuitAnnotationElementAdapter<String>(attribute, VALUE_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- this.value = this.value(astRoot);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public TemporalType getValue() {
- return this.value;
- }
-
- public void setValue(TemporalType newValue) {
- if (attributeValueHasNotChanged(this.value, newValue)) {
- return;
- }
- TemporalType oldValue = this.value;
- this.value = newValue;
- this.valueAdapter.setValue(TemporalType.toJavaAnnotationValue(newValue));
- firePropertyChanged(VALUE_PROPERTY, oldValue, newValue);
- }
-
- public TextRange getValueTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(VALUE_ADAPTER, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.setValue(this.value(astRoot));
- }
-
- protected TemporalType value(CompilationUnit astRoot) {
- return TemporalType.fromJavaAnnotationValue(this.valueAdapter.getValue(astRoot));
- }
-
- // ********** static methods **********
- private static DeclarationAnnotationElementAdapter<String> buildValueAdapter() {
- return new EnumDeclarationAnnotationElementAdapter(DECLARATION_ANNOTATION_ADAPTER, JPA.TEMPORAL__VALUE);
- }
-
- public static class TemporalAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final TemporalAnnotationDefinition INSTANCE = new TemporalAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static AnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private TemporalAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new TemporalImpl(parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new NullTemporal(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TransientImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TransientImpl.java
deleted file mode 100644
index e4f348bbe4..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/TransientImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.TransientAnnotation;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class TransientImpl extends AbstractResourceAnnotation<Attribute> implements TransientAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- protected TransientImpl(JavaResourcePersistentAttribute parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //nothing to initialize
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public void update(CompilationUnit astRoot) {
- //no annotation members
- }
-
- public static class TransientAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final TransientAnnotationDefinition INSTANCE = new TransientAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static TransientAnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private TransientAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new TransientImpl((JavaResourcePersistentAttribute) parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/UniqueConstraintImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/UniqueConstraintImpl.java
deleted file mode 100644
index 6ad1c8eb89..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/UniqueConstraintImpl.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.AnnotationStringArrayExpressionConverter;
-import org.eclipse.jpt.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.MemberIndexedAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.NestedIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.ShortCircuitArrayAnnotationElementAdapter;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.core.resource.java.NestableUniqueConstraint;
-import org.eclipse.jpt.core.resource.java.UniqueConstraintAnnotation;
-import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.core.utility.jdt.ExpressionConverter;
-import org.eclipse.jpt.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-
-public class UniqueConstraintImpl extends AbstractResourceAnnotation<Member> implements NestableUniqueConstraint
-{
-
- public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(JPA.UNIQUE_CONSTRAINT);
-
- private final DeclarationAnnotationElementAdapter<String[]> columnNamesDeclarationAdapter;
-
- private final AnnotationElementAdapter<String[]> columnNamesAdapter;
-
- private final List<String> columnNames;
-
-
- public UniqueConstraintImpl(JavaResourceNode parent, Member member, IndexedDeclarationAnnotationAdapter idaa) {
- super(parent, member, idaa, new MemberIndexedAnnotationAdapter(member, idaa));
- this.columnNamesDeclarationAdapter = buildArrayAnnotationElementAdapter(idaa, JPA.UNIQUE_CONSTRAINT__COLUMN_NAMES);
- this.columnNamesAdapter = this.buildAnnotationElementAdapter(this.columnNamesDeclarationAdapter);
- this.columnNames = new ArrayList<String>();
- }
-
- public void initialize(CompilationUnit astRoot) {
- String[] javaColumnNames = this.columnNamesAdapter.getValue(astRoot);
- for (int i = 0; i < javaColumnNames.length; i++) {
- this.columnNames.add(javaColumnNames[i]);
- }
- }
-
- protected AnnotationElementAdapter<String[]> buildAnnotationElementAdapter(DeclarationAnnotationElementAdapter<String[]> daea) {
- return new ShortCircuitArrayAnnotationElementAdapter<String>(getMember(), daea);
- }
-
- protected static DeclarationAnnotationElementAdapter<String[]> buildArrayAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
- return buildArrayAnnotationElementAdapter(annotationAdapter, elementName, AnnotationStringArrayExpressionConverter.forStrings());
- }
-
- protected static DeclarationAnnotationElementAdapter<String[]> buildArrayAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName, ExpressionConverter<String[]> converter) {
- return new ConversionDeclarationAnnotationElementAdapter<String[]>(annotationAdapter, elementName, false, converter);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- @Override
- public IndexedAnnotationAdapter getAnnotationAdapter() {
- return (IndexedAnnotationAdapter) super.getAnnotationAdapter();
- }
-
- public void initializeFrom(NestableAnnotation oldAnnotation) {
- UniqueConstraintAnnotation oldUniqueConstraint = (UniqueConstraintAnnotation) oldAnnotation;
- for (String columnName : CollectionTools.iterable(oldUniqueConstraint.columnNames())) {
- addColumnName(columnName);
- }
- }
-
- public ListIterator<String> columnNames() {
- return new CloneListIterator<String>(this.columnNames);
- }
-
- public int columnNamesSize() {
- return this.columnNames.size();
- }
-
- public void addColumnName(String columnName) {
- addColumnName(columnNamesSize(), columnName);
- }
-
- public void addColumnName(int index, String columnName) {
- addColumnName_(index, columnName);
- this.columnNamesAdapter.setValue(this.columnNames.toArray(new String[this.columnNames.size()]));
- }
-
- protected void addColumnName_(String columnName) {
- this.addColumnName_(this.columnNames.size(), columnName);
- }
-
- protected void addColumnName_(int index, String columnName) {
- addItemToList(index, columnName, this.columnNames, COLUMN_NAMES_LIST);
- }
-
- public void removeColumnName(String columnName) {
- removeItemFromList(columnName, this.columnNames, COLUMN_NAMES_LIST);
- this.columnNamesAdapter.setValue(this.columnNames.toArray(new String[this.columnNames.size()]));
- }
-
- public void removeColumnName(int index) {
- removeItemFromList(index, this.columnNames, COLUMN_NAMES_LIST);
- this.columnNamesAdapter.setValue(this.columnNames.toArray(new String[this.columnNames.size()]));
- }
-
- public void moveColumnName(int targetIndex, int sourceIndex) {
- moveItemInList(targetIndex, sourceIndex, this.columnNames, COLUMN_NAMES_LIST);
- this.columnNamesAdapter.setValue(this.columnNames.toArray(new String[this.columnNames.size()]));
- }
-
- public boolean columnNamesTouches(int pos, CompilationUnit astRoot) {
- return this.elementTouches(this.columnNamesDeclarationAdapter, pos, astRoot);
- }
-
- public void update(CompilationUnit astRoot) {
- this.updateColumnNamesFromJava(astRoot);
- }
-
- protected void updateColumnNamesFromJava(CompilationUnit astRoot) {
- String[] javaColumnNames = this.columnNamesAdapter.getValue(astRoot);
- //TODO hmm, seems we need change notification for this
- CollectionTools.retainAll(this.columnNames, javaColumnNames);
- for (int i = 0; i < javaColumnNames.length; i++) {
- String columnName = javaColumnNames[i];
- if (!this.columnNames.contains(columnName)) {
- addColumnName_(columnName);
- }
- }
- }
-
- // ********** persistence model -> java annotations **********
- public void moveAnnotation(int newIndex) {
- getAnnotationAdapter().moveAnnotation(newIndex);
- }
-
- // ********** static methods **********
- static NestableUniqueConstraint createSecondaryTableUniqueConstraint(JavaResourceNode parent, Member member, DeclarationAnnotationAdapter declarationAnnotationAdapter, int index) {
- return new UniqueConstraintImpl(parent, member, buildSecondaryTableUniqueConstraintAnnotationAdapter(declarationAnnotationAdapter, index));
- }
-
- private static IndexedDeclarationAnnotationAdapter buildSecondaryTableUniqueConstraintAnnotationAdapter(DeclarationAnnotationAdapter declarationAnnotationAdapter, int index) {
- return new NestedIndexedDeclarationAnnotationAdapter(declarationAnnotationAdapter, JPA.SECONDARY_TABLE__UNIQUE_CONSTRAINTS, index, JPA.UNIQUE_CONSTRAINT);
- }
-
- static NestableUniqueConstraint createJoinTableUniqueConstraint(JavaResourceNode parent, Member member, int index) {
- return new UniqueConstraintImpl(parent, member, buildJoinTableUniqueConstraintAnnotationAdapter(index));
- }
-
- private static IndexedDeclarationAnnotationAdapter buildJoinTableUniqueConstraintAnnotationAdapter(int index) {
- return new NestedIndexedDeclarationAnnotationAdapter(JoinTableImpl.DECLARATION_ANNOTATION_ADAPTER, JPA.JOIN_TABLE__UNIQUE_CONSTRAINTS, index, JPA.UNIQUE_CONSTRAINT);
- }
-
- static NestableUniqueConstraint createTableUniqueConstraint(JavaResourceNode parent, Member member, int index) {
- return new UniqueConstraintImpl(parent, member, buildTableUniqueConstraintAnnotationAdapter(index));
- }
-
- private static IndexedDeclarationAnnotationAdapter buildTableUniqueConstraintAnnotationAdapter(int index) {
- return new NestedIndexedDeclarationAnnotationAdapter(TableImpl.DECLARATION_ANNOTATION_ADAPTER, JPA.TABLE__UNIQUE_CONSTRAINTS, index, JPA.UNIQUE_CONSTRAINT);
- }
-
- static NestableUniqueConstraint createTableGeneratorUniqueConstraint(JavaResourceNode parent, Member member, int index) {
- return new UniqueConstraintImpl(parent, member, buildTableGeneratorUniqueConstraintAnnotationAdapter(index));
- }
-
- private static IndexedDeclarationAnnotationAdapter buildTableGeneratorUniqueConstraintAnnotationAdapter(int index) {
- return new NestedIndexedDeclarationAnnotationAdapter(TableGeneratorImpl.DECLARATION_ANNOTATION_ADAPTER, JPA.TABLE_GENERATOR__UNIQUE_CONSTRAINTS, index, JPA.UNIQUE_CONSTRAINT);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/VersionImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/VersionImpl.java
deleted file mode 100644
index e9c4431f1f..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/VersionImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 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.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.VersionAnnotation;
-import org.eclipse.jpt.core.utility.jdt.Attribute;
-import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.utility.jdt.Member;
-
-public class VersionImpl extends AbstractResourceAnnotation<Attribute> implements VersionAnnotation
-{
- private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
-
- public VersionImpl(JavaResourcePersistentAttribute parent, Attribute attribute) {
- super(parent, attribute, DECLARATION_ANNOTATION_ADAPTER);
- }
-
- public void initialize(CompilationUnit astRoot) {
- //nothing to initialize
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- public void update(CompilationUnit astRoot) {
- //no annotation members
- }
-
- public static class VersionAnnotationDefinition implements AnnotationDefinition
- {
- // singleton
- private static final VersionAnnotationDefinition INSTANCE = new VersionAnnotationDefinition();
-
- /**
- * Return the singleton.
- */
- public static VersionAnnotationDefinition instance() {
- return INSTANCE;
- }
-
- /**
- * Ensure single instance.
- */
- private VersionAnnotationDefinition() {
- super();
- }
-
- public Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member) {
- return new VersionImpl((JavaResourcePersistentAttribute) parent, (Attribute) member);
- }
-
- public Annotation buildNullAnnotation(JavaResourcePersistentMember parent, Member member) {
- return null;
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
- }
-
-}

Back to the top