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/context/java/AbstractJavaTypeMapping.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaTypeMapping.java293
1 files changed, 0 insertions, 293 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaTypeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaTypeMapping.java
deleted file mode 100644
index 03651af526..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaTypeMapping.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 Oracle. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0, which accompanies this distribution
- * and is available at http://www.eclipse.org/legal/epl-v10.html.
- *
- * Contributors:
- * Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.core.internal.context.java;
-
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.core.context.AttributeMapping;
-import org.eclipse.jpt.core.context.Column;
-import org.eclipse.jpt.core.context.PersistentType;
-import org.eclipse.jpt.core.context.ReadOnlyTable;
-import org.eclipse.jpt.core.context.Relationship;
-import org.eclipse.jpt.core.context.TypeMapping;
-import org.eclipse.jpt.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.core.context.java.JavaTypeMapping;
-import org.eclipse.jpt.core.internal.context.AttributeMappingTools;
-import org.eclipse.jpt.core.internal.context.TypeMappingTools;
-import org.eclipse.jpt.core.internal.context.JptValidator;
-import org.eclipse.jpt.core.internal.context.TypeMappingTextRangeResolver;
-import org.eclipse.jpt.core.internal.jpa1.context.GenericTypeMappingValidator;
-import org.eclipse.jpt.core.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.db.Schema;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.NotNullFilter;
-import org.eclipse.jpt.utility.internal.Tools;
-import org.eclipse.jpt.utility.internal.iterables.FilteringIterable;
-import org.eclipse.jpt.utility.internal.iterators.CompositeIterator;
-import org.eclipse.jpt.utility.internal.iterators.EmptyIterator;
-import org.eclipse.jpt.utility.internal.iterators.FilteringIterator;
-import org.eclipse.jpt.utility.internal.iterators.TransformationIterator;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-/**
- * Java type mapping
- */
-public abstract class AbstractJavaTypeMapping<A extends Annotation>
- extends AbstractJavaJpaContextNode
- implements JavaTypeMapping
-{
- // this can be null for a "null" type mapping
- protected final A mappingAnnotation;
-
-
- protected AbstractJavaTypeMapping(JavaPersistentType parent, A mappingAnnotation) {
- super(parent);
- this.mappingAnnotation = mappingAnnotation;
- }
-
-
- // ********** misc **********
-
- @Override
- public JavaPersistentType getParent() {
- return (JavaPersistentType) super.getParent();
- }
-
- public JavaPersistentType getPersistentType() {
- return this.getParent();
- }
-
- public JavaResourcePersistentType getResourcePersistentType() {
- return this.getPersistentType().getResourcePersistentType();
- }
-
- public String getName() {
- return this.getPersistentType().getName();
- }
-
- public A getMappingAnnotation() {
- return this.mappingAnnotation;
- }
-
- @Override
- public void toString(StringBuilder sb) {
- sb.append(this.getPersistentType().getName());
- }
-
-
- // ********** tables **********
-
- public String getPrimaryTableName() {
- return null;
- }
-
- public org.eclipse.jpt.db.Table getPrimaryDbTable() {
- return null;
- }
-
- public Schema getDbSchema() {
- return null;
- }
-
- public Iterator<ReadOnlyTable> associatedTables() {
- return EmptyIterator.instance();
- }
-
- public Iterator<ReadOnlyTable> allAssociatedTables() {
- return EmptyIterator.instance();
- }
-
- public Iterator<String> allAssociatedTableNames() {
- return EmptyIterator.instance();
- }
-
- public org.eclipse.jpt.db.Table resolveDbTable(String tableName) {
- return null;
- }
-
-
- // ********** inheritance **********
-
- public TypeMapping getSuperTypeMapping() {
- PersistentType superPersistentType = this.getPersistentType().getSuperPersistentType();
- return (superPersistentType == null) ? null : superPersistentType.getMapping();
- }
-
- public Iterator<TypeMapping> inheritanceHierarchy() {
- return this.convertToMappings(this.getPersistentType().inheritanceHierarchy());
- }
-
- protected Iterable<TypeMapping> getInheritanceHierarchy() {
- return CollectionTools.iterable(this.inheritanceHierarchy());
- }
-
- /**
- * Return the type mapping's "persistence" ancestors,
- * <em>excluding</em> the type mapping itself.
- * The returned iterator will return elements infinitely if the hierarchy
- * has a loop.
- */
- protected Iterator<TypeMapping> ancestors() {
- return this.convertToMappings(this.getPersistentType().ancestors());
- }
-
- protected Iterable<TypeMapping> getAncestors() {
- return CollectionTools.iterable(this.ancestors());
- }
-
- protected Iterator<TypeMapping> convertToMappings(Iterator<PersistentType> types) {
- return new TransformationIterator<PersistentType, TypeMapping>(types) {
- @Override
- protected TypeMapping transform(PersistentType type) {
- return type.getMapping();
- }
- };
- }
-
-
- // ********** attribute mappings **********
-
- public Iterator<JavaAttributeMapping> attributeMappings() {
- return new TransformationIterator<JavaPersistentAttribute, JavaAttributeMapping>(this.getPersistentType().attributes()) {
- @Override
- protected JavaAttributeMapping transform(JavaPersistentAttribute attribute) {
- return attribute.getMapping();
- }
- };
- }
-
- public Iterable<JavaAttributeMapping> getAttributeMappings(final String mappingKey) {
- return new FilteringIterable<JavaAttributeMapping>(CollectionTools.collection(this.attributeMappings())) {
- @Override
- protected boolean accept(JavaAttributeMapping o) {
- return Tools.valuesAreEqual(o.getKey(), mappingKey);
- }
- };
- }
-
- public Iterator<AttributeMapping> allAttributeMappings() {
- return new CompositeIterator<AttributeMapping>(this.allAttributeMappingsLists());
- }
-
- protected Iterator<Iterator<AttributeMapping>> allAttributeMappingsLists() {
- return new TransformationIterator<TypeMapping, Iterator<AttributeMapping>>(this.nonNullInheritanceHierarchy(), TypeMappingTools.ATTRIBUTE_MAPPINGS_TRANSFORMER);
- }
-
- protected Iterator<TypeMapping> nonNullInheritanceHierarchy() {
- return new FilteringIterator<TypeMapping>(this.inheritanceHierarchy(), NotNullFilter.<TypeMapping>instance());
- }
-
- public Iterable<AttributeMapping> getAllAttributeMappings(final String mappingKey) {
- return new FilteringIterable<AttributeMapping>(CollectionTools.collection(this.allAttributeMappings())) {
- @Override
- protected boolean accept(AttributeMapping o) {
- return Tools.valuesAreEqual(o.getKey(), mappingKey);
- }
- };
- }
-
- public boolean attributeMappingKeyAllowed(String attributeMappingKey) {
- return true;
- }
-
-
- // ********** attribute overrides **********
-
- public Iterator<String> overridableAttributeNames() {
- return new CompositeIterator<String>(this.overridableAttributeNamesLists());
- }
-
- protected Iterator<Iterator<String>> overridableAttributeNamesLists() {
- return new TransformationIterator<AttributeMapping, Iterator<String>>(this.attributeMappings(), AttributeMappingTools.ALL_OVERRIDABLE_ATTRIBUTE_MAPPING_NAMES_TRANSFORMER);
- }
-
- public Iterator<String> allOverridableAttributeNames() {
- return new CompositeIterator<String>(this.allOverridableAttributeNamesLists());
- }
-
- protected Iterator<Iterator<String>> allOverridableAttributeNamesLists() {
- return new TransformationIterator<TypeMapping, Iterator<String>>(this.inheritanceHierarchy(), TypeMappingTools.OVERRIDABLE_ATTRIBUTE_NAMES_TRANSFORMER);
- }
-
- public Column resolveOverriddenColumn(String attributeName) {
- for (AttributeMapping attributeMapping : CollectionTools.iterable(this.attributeMappings())) {
- Column column = attributeMapping.resolveOverriddenColumn(attributeName);
- if (column != null) {
- return column;
- }
- }
- return null;
- }
-
-
- // ********** association overrides **********
-
- public Iterator<String> overridableAssociationNames() {
- return new CompositeIterator<String>(this.overridableAssociationNamesLists());
- }
-
- protected Iterator<Iterator<String>> overridableAssociationNamesLists() {
- return new TransformationIterator<AttributeMapping, Iterator<String>>(this.attributeMappings(), AttributeMappingTools.ALL_OVERRIDABLE_ASSOCIATION_MAPPING_NAMES_TRANSFORMER);
- }
-
- public Iterator<String> allOverridableAssociationNames() {
- return new CompositeIterator<String>(this.allOverridableAssociationNamesLists());
- }
-
- protected Iterator<Iterator<String>> allOverridableAssociationNamesLists() {
- return new TransformationIterator<TypeMapping, Iterator<String>>(this.inheritanceHierarchy(), TypeMappingTools.OVERRIDABLE_ASSOCIATION_NAMES_TRANSFORMER);
- }
-
- public Relationship resolveOverriddenRelationship(String attributeName) {
- for (AttributeMapping attributeMapping : CollectionTools.iterable(this.attributeMappings())) {
- Relationship relationship = attributeMapping.resolveOverriddenRelationship(attributeName);
- if (relationship != null) {
- return relationship;
- }
- }
- return null;
- }
-
-
- // ********** validation **********
-
- @Override
- public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
- super.validate(messages, reporter, astRoot);
- this.validateType(messages, reporter, astRoot);
- }
-
- protected void validateType(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
- this.buildTypeMappingValidator(astRoot).validate(messages, reporter);
- }
-
- protected JptValidator buildTypeMappingValidator(CompilationUnit astRoot) {
- return new GenericTypeMappingValidator(this, this.getResourcePersistentType(), buildTextRangeResolver(astRoot));
- }
-
- protected TypeMappingTextRangeResolver buildTextRangeResolver(CompilationUnit astRoot) {
- return new JavaTypeMappingTextRangeResolver(this, astRoot);
- }
-
- public boolean validatesAgainstDatabase() {
- return this.getPersistenceUnit().validatesAgainstDatabase();
- }
-
- public TextRange getValidationTextRange(CompilationUnit astRoot) {
- TextRange textRange = this.mappingAnnotation.getTextRange(astRoot);
- return (textRange != null) ? textRange : this.getPersistentType().getValidationTextRange(astRoot);
- }
-}

Back to the top