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/JpaFile.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/JpaFile.java343
1 files changed, 43 insertions, 300 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/JpaFile.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/JpaFile.java
index 31a1cc89f1..778a834504 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/JpaFile.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/JpaFile.java
@@ -10,334 +10,77 @@
package org.eclipse.jpt.core.internal;
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.jdt.core.ElementChangedEvent;
+import org.eclipse.jpt.core.internal.context.base.IJpaContextNode;
/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Persistence File</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jpt.core.internal.JpaFile#getContentId <em>Content Id</em>}</li>
- * <li>{@link org.eclipse.jpt.core.internal.JpaFile#getContent <em>Content</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jpt.core.internal.JpaCorePackage#getJpaFile()
- * @model kind="class"
- * @generated
+ *
*/
-public class JpaFile extends JpaEObject implements IJpaFile
+public class JpaFile extends JpaNode implements IJpaFile
{
- // temporary bridge until we remove EMF stuff
- private IJpaProject jpaProject;
-
- /**
- * The default value of the '{@link #getContentId() <em>Content Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getContentId()
- * @generated
- * @ordered
- */
- protected static final String CONTENT_ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getContentId() <em>Content Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getContentId()
- * @generated
- * @ordered
- */
- protected String contentId = CONTENT_ID_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getContent() <em>Content</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getContent()
- * @generated
- * @ordered
- */
- protected IJpaRootContentNode content;
-
/**
* The IFile associated with this JPA file
*/
- protected IFile file;
-
+ protected final IFile file;
+
/**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
+ * The resource model represented by this JPA file
*/
- protected JpaFile() {
- super();
- }
-
- public JpaFile(IJpaProject jpaProject, IFile file, IJpaFileContentProvider provider) {
- this();
- this.jpaProject = jpaProject;
- this.setFile(file);
- this.setContentId(provider.contentType());
- provider.buildRootContent(this);
- }
-
- // temporary bridge until we get rid of EMF stuff
- @Override
- public IJpaProject getJpaProject() {
- return this.jpaProject;
+ protected final IResourceModel resourceModel;
+
+
+ public JpaFile(IJpaProject jpaProject, IFile file, IResourceModel resourceModel) {
+ super(jpaProject);
+ this.file = file;
+ this.resourceModel = resourceModel;
}
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return JpaCorePackage.Literals.JPA_FILE;
- }
-
- /**
- * Returns the value of the '<em><b>Content Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Content Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Content Id</em>' attribute.
- * @see #setContentId(String)
- * @see org.eclipse.jpt.core.internal.JpaCorePackage#getJpaFile_ContentId()
- * @model required="true"
- * @generated
- */
- public String getContentId() {
- return contentId;
- }
-
- /**
- * Sets the value of the '{@link org.eclipse.jpt.core.internal.JpaFile#getContentId <em>Content Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Content Id</em>' attribute.
- * @see #getContentId()
- * @generated
- */
- public void setContentId(String newContentId) {
- String oldContentId = contentId;
- contentId = newContentId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JpaCorePackage.JPA_FILE__CONTENT_ID, oldContentId, contentId));
- }
-
- /**
- * Returns the value of the '<em><b>Content</b></em>' containment reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.jpt.core.internal.IJpaRootContentNode#getJpaFile <em>Jpa File</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Content</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Content</em>' containment reference.
- * @see #setContent(IJpaRootContentNode)
- * @see org.eclipse.jpt.core.internal.JpaCorePackage#getJpaFile_Content()
- * @see org.eclipse.jpt.core.internal.IJpaRootContentNode#getJpaFile
- * @model opposite="jpaFile" containment="true"
- * @generated
- */
- public IJpaRootContentNode getContent() {
- return content;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetContent(IJpaRootContentNode newContent, NotificationChain msgs) {
- IJpaRootContentNode oldContent = content;
- content = newContent;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, JpaCorePackage.JPA_FILE__CONTENT, oldContent, newContent);
- if (msgs == null)
- msgs = notification;
- else
- msgs.add(notification);
- }
- return msgs;
- }
-
+
/**
- * Sets the value of the '{@link org.eclipse.jpt.core.internal.JpaFile#getContent <em>Content</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Content</em>' containment reference.
- * @see #getContent()
- * @generated
+ * @see IJpaFile#getFile()
*/
- public void setContent(IJpaRootContentNode newContent) {
- if (newContent != content) {
- NotificationChain msgs = null;
- if (content != null)
- msgs = ((InternalEObject) content).eInverseRemove(this, JpaCorePackage.IJPA_ROOT_CONTENT_NODE__JPA_FILE, IJpaRootContentNode.class, msgs);
- if (newContent != null)
- msgs = ((InternalEObject) newContent).eInverseAdd(this, JpaCorePackage.IJPA_ROOT_CONTENT_NODE__JPA_FILE, IJpaRootContentNode.class, msgs);
- msgs = basicSetContent(newContent, msgs);
- if (msgs != null)
- msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JpaCorePackage.JPA_FILE__CONTENT, newContent, newContent));
- }
-
public IFile getFile() {
return file;
}
- void setFile(IFile theFile) {
- file = theFile;
- }
-
- public void dispose() {
- this.content.dispose();
- }
-
- public void javaElementChanged(ElementChangedEvent event) {
- this.content.javaElementChanged(event);
- }
-
/**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
+ * @see IJpaFile#getResourceModel()
*/
- @Override
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case JpaCorePackage.JPA_FILE__CONTENT :
- if (content != null)
- msgs = ((InternalEObject) content).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - JpaCorePackage.JPA_FILE__CONTENT, null, msgs);
- return basicSetContent((IJpaRootContentNode) otherEnd, msgs);
- }
- return super.eInverseAdd(otherEnd, featureID, msgs);
+ public IResourceModel getResourceModel() {
+ return resourceModel;
}
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case JpaCorePackage.JPA_FILE__CONTENT :
- return basicSetContent(null, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
+
+ public IJpaContextNode contextNode(int textOffset) {
+ return null;
}
-
+
/**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
+ * @see IJpaFile#getResourceType()
*/
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case JpaCorePackage.JPA_FILE__CONTENT_ID :
- return getContentId();
- case JpaCorePackage.JPA_FILE__CONTENT :
- return getContent();
- }
- return super.eGet(featureID, resolve, coreType);
+ public String getResourceType() {
+ return getResourceModel().getResourceType();
}
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case JpaCorePackage.JPA_FILE__CONTENT_ID :
- setContentId((String) newValue);
- return;
- case JpaCorePackage.JPA_FILE__CONTENT :
- setContent((IJpaRootContentNode) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case JpaCorePackage.JPA_FILE__CONTENT_ID :
- setContentId(CONTENT_ID_EDEFAULT);
- return;
- case JpaCorePackage.JPA_FILE__CONTENT :
- setContent((IJpaRootContentNode) null);
- return;
- }
- super.eUnset(featureID);
+
+ public void dispose() {
+ getResourceModel().dispose();
}
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case JpaCorePackage.JPA_FILE__CONTENT_ID :
- return CONTENT_ID_EDEFAULT == null ? contentId != null : !CONTENT_ID_EDEFAULT.equals(contentId);
- case JpaCorePackage.JPA_FILE__CONTENT :
- return content != null;
- }
- return super.eIsSet(featureID);
+
+ public void javaElementChanged(ElementChangedEvent event) {
+ getResourceModel().handleJavaElementChangedEvent(event);
}
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy())
- return super.toString();
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (contentId: ");
- result.append(contentId);
- result.append(')');
- return result.toString();
+
+ public void fileAdded(IJpaFile jpaFile) {
+ getResourceModel().resolveTypes();
}
-
- public IJpaContentNode getContentNode(int offset) {
- return getContent().getContentNode(offset);
+
+ public void fileRemoved(IJpaFile jpaFile) {
+ getResourceModel().resolveTypes();
}
-
+
@Override
- public IResource getResource() {
- return file;
+ public void toString(StringBuilder sb) {
+ sb.append(getFile().toString());
+ sb.append(" (resourceType: ");
+ sb.append(getResourceType());
+ sb.append(")");
}
}

Back to the top