diff options
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.java | 343 |
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(")"); } } |