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/orm/GenericOrmIdClassReference.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmIdClassReference.java277
1 files changed, 0 insertions, 277 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmIdClassReference.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmIdClassReference.java
deleted file mode 100644
index d1aec207e9..0000000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmIdClassReference.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Oracle.
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.core.internal.context.orm;
-
-import java.util.List;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jpt.core.context.AccessType;
-import org.eclipse.jpt.core.context.java.JavaIdClassReference;
-import org.eclipse.jpt.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.core.context.orm.EntityMappings;
-import org.eclipse.jpt.core.context.orm.OrmIdClassReference;
-import org.eclipse.jpt.core.context.orm.OrmPersistentType;
-import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
-import org.eclipse.jpt.core.internal.context.AbstractXmlContextNode;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.core.resource.orm.OrmFactory;
-import org.eclipse.jpt.core.resource.orm.XmlClassReference;
-import org.eclipse.jpt.core.resource.orm.XmlIdClassContainer;
-import org.eclipse.jpt.core.resource.orm.XmlTypeMapping;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.utility.internal.iterables.SingleElementIterable;
-import org.eclipse.text.edits.ReplaceEdit;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-public class GenericOrmIdClassReference
- extends AbstractXmlContextNode
- implements OrmIdClassReference
-{
- protected String specifiedIdClassName;
-
- protected String defaultIdClassName;
-
- protected JavaPersistentType idClass;
-
-
- public GenericOrmIdClassReference(OrmTypeMapping parent, JavaIdClassReference javaIdClassReference) {
- super(parent);
- this.specifiedIdClassName = buildSpecifiedIdClassName();
- this.defaultIdClassName = buildDefaultIdClassName(javaIdClassReference);
- this.idClass = buildIdClass();
- }
-
-
- protected OrmTypeMapping getTypeMapping() {
- return (OrmTypeMapping) getParent();
- }
-
- protected OrmPersistentType getPersistentType() {
- return getTypeMapping().getPersistentType();
- }
-
-
- // **************** PersistentType.Owner impl *****************************
-
- public AccessType getOverridePersistentTypeAccess() {
- return getPersistentType().getAccess();
- }
-
- public AccessType getDefaultPersistentTypeAccess() {
- // this shouldn't be needed, since we've specified an override access, but just to be safe ...
- return getPersistentType().getAccess();
- }
-
-
- // **************** IdClassReference impl *********************************
-
- public String getSpecifiedIdClassName() {
- return this.specifiedIdClassName;
- }
-
- public void setSpecifiedIdClassName(String newClassName) {
- String oldClassName = this.specifiedIdClassName;
- this.specifiedIdClassName = newClassName;
- if (valuesAreDifferent(oldClassName, newClassName)) {
- if (getIdXmlClassRef() != null) {
- getIdXmlClassRef().setClassName(newClassName);
- if (getIdXmlClassRef().isUnset()) {
- removeIdClassElement();
- }
- }
- else if (newClassName != null) {
- addIdClassElement();
- getIdXmlClassRef().setClassName(newClassName);
- }
- }
- firePropertyChanged(SPECIFIED_ID_CLASS_NAME_PROPERTY, oldClassName, newClassName);
- }
-
- protected void setSpecifiedIdClassName_(String newClassName) {
- String oldClassName = this.specifiedIdClassName;
- this.specifiedIdClassName = newClassName;
- firePropertyChanged(SPECIFIED_ID_CLASS_NAME_PROPERTY, oldClassName, newClassName);
- }
-
- protected String buildSpecifiedIdClassName() {
- XmlClassReference idXmlClassRef = this.getIdXmlClassRef();
- return (idXmlClassRef == null) ? null : idXmlClassRef.getClassName();
- }
-
- public String getDefaultIdClassName() {
- return this.defaultIdClassName;
- }
-
- protected void setDefaultIdClassName_(String newClassName) {
- String oldClassName = this.defaultIdClassName;
- this.defaultIdClassName = newClassName;
- firePropertyChanged(DEFAULT_ID_CLASS_NAME_PROPERTY, oldClassName, newClassName);
- }
-
- protected String buildDefaultIdClassName(JavaIdClassReference javaIdClassReference) {
- return (javaIdClassReference == null) ? null : javaIdClassReference.getFullyQualifiedIdClassName();
- }
-
- public String getIdClassName() {
- return (this.specifiedIdClassName == null) ? this.defaultIdClassName : this.specifiedIdClassName;
- }
-
- public boolean isSpecified() {
- return getIdClassName() != null;
- }
-
- public JavaPersistentType getIdClass() {
- return this.idClass;
- }
-
- protected void setIdClass_(JavaPersistentType newIdClass) {
- JavaPersistentType oldIdClass = this.idClass;
- this.idClass = newIdClass;
- firePropertyChanged(ID_CLASS_PROPERTY, oldIdClass, newIdClass);
- }
-
- protected JavaPersistentType buildIdClass() {
- JavaResourcePersistentType resourceIdClass = getResourceIdClass();
- return (resourceIdClass == null) ?
- null : this.buildIdClass(resourceIdClass);
- }
-
- protected JavaPersistentType buildIdClass(JavaResourcePersistentType resourceClass) {
- return getJpaFactory().buildJavaPersistentType(this, resourceClass);
- }
-
- protected XmlTypeMapping getResourceTypeMapping() {
- return getTypeMapping().getResourceTypeMapping();
- }
-
- protected XmlIdClassContainer getResourceIdClassContainer() {
- return (XmlIdClassContainer) getResourceTypeMapping();
- }
-
- protected XmlClassReference getIdXmlClassRef() {
- return this.getResourceIdClassContainer().getIdClass();
- }
-
- protected void addIdClassElement() {
- getResourceIdClassContainer().setIdClass(OrmFactory.eINSTANCE.createXmlClassReference());
- }
-
- protected void removeIdClassElement() {
- getResourceIdClassContainer().setIdClass(null);
- }
-
- protected JavaResourcePersistentType getResourceIdClass() {
- XmlClassReference idXmlClassRef = this.getIdXmlClassRef();
- if (idXmlClassRef == null) {
- return null;
- }
-
- String className = idXmlClassRef.getClassName();
- if (className == null) {
- return null;
- }
-
- return this.getEntityMappings().resolveJavaResourcePersistentType(className);
- }
-
- protected EntityMappings getEntityMappings() {
- return (EntityMappings) getMappingFileRoot();
- }
-
- public char getIdClassEnclosingTypeSeparator() {
- return '$';
- }
-
- public void update(JavaIdClassReference javaIdClassReference) {
- setDefaultIdClassName_(buildDefaultIdClassName(javaIdClassReference));
- setSpecifiedIdClassName_(buildSpecifiedIdClassName());
- updateIdClass();
- }
-
- protected void updateIdClass() {
- JavaResourcePersistentType resourceIdClass = getResourceIdClass();
- if (resourceIdClass == null) {
- setIdClass_(null);
- }
- else {
- if (this.idClass == null || this.idClass.getResourcePersistentType() != resourceIdClass) {
- setIdClass_(buildIdClass(resourceIdClass));
- }
- else {
- this.idClass.update(resourceIdClass);
- }
- }
- }
-
-
- //************************* refactoring ************************
-
- public Iterable<ReplaceEdit> createRenameTypeEdits(IType originalType, String newName) {
- if (this.isFor(originalType.getFullyQualifiedName('.'))) {
- return new SingleElementIterable<ReplaceEdit>(this.createRenameEdit(originalType, newName));
- }
- return EmptyIterable.instance();
- }
-
- protected ReplaceEdit createRenameEdit(IType originalType, String newName) {
- return getIdXmlClassRef().createRenameEdit(originalType, newName);
- }
-
- protected boolean isFor(String typeName) {
- if (this.idClass != null && this.idClass.isFor(typeName)) {
- return true;
- }
- return false;
- }
-
- public Iterable<ReplaceEdit> createMoveTypeEdits(IType originalType, IPackageFragment newPackage) {
- if (this.isFor(originalType.getFullyQualifiedName('.'))) {
- return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newPackage.getElementName()));
- }
- return EmptyIterable.instance();
- }
-
- public Iterable<ReplaceEdit> createRenamePackageEdits(IPackageFragment originalPackage, String newName) {
- if (this.isIn(originalPackage)) {
- return new SingleElementIterable<ReplaceEdit>(this.createRenamePackageEdit(newName));
- }
- return EmptyIterable.instance();
- }
-
- protected ReplaceEdit createRenamePackageEdit(String newName) {
- return getIdXmlClassRef().createRenamePackageEdit(newName);
- }
-
- protected boolean isIn(IPackageFragment originalPackage) {
- if (this.idClass != null && this.idClass.isIn(originalPackage)) {
- return true;
- }
- return false;
- }
-
-
- // **************** validation ********************************************
-
- public TextRange getValidationTextRange() {
- XmlClassReference idXmlClassRef = getIdXmlClassRef();
- return (idXmlClassRef == null) ?
- this.getTypeMapping().getValidationTextRange() :
- idXmlClassRef.getClassNameTextRange();
- }
-
- @Override
- public void validate(List<IMessage> messages, IReporter reporter) {
- super.validate(messages, reporter);
- // most validation is done "holistically" from the type mapping level
- }
-}

Back to the top