//------------------------------------------------------------------------------ // Copyright (c) 2005, 2006 IBM Corporation and others. // 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: // IBM Corporation - initial implementation //------------------------------------------------------------------------------ package org.eclipse.epf.authoring.ui.editors; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.epf.library.ui.IMethodElementProvider; import org.eclipse.epf.uma.MethodElement; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IPersistableElement; /** * An editor input for method element editor * @author Phong Nguyen Le * @since 1.0 */ public class MethodElementEditorInput implements IEditorInput, IMethodElementProvider { private MethodElement methodElement; private ImageDescriptor imageDescriptor = null; // the current object being edited by the RTE private EObject fModalObject; // the current feature being edited by the RTE private EStructuralFeature fModalObjectFeature; public MethodElementEditorInput(MethodElement e) { methodElement = e; } public MethodElement getMethodElement() { return methodElement; } /** * * @see org.eclipse.ui.IEditorInput#exists() */ public boolean exists() { return false; } /** * @see org.eclipse.ui.IEditorInput#getImageDescriptor() */ public ImageDescriptor getImageDescriptor() { return imageDescriptor; } /** * @see org.eclipse.ui.IEditorInput#getName() */ public String getName() { return methodElement.getName(); } /** * * @return Name of method element + "." + name of feature being edited */ public String getFullName() { String result = getName(); if (fModalObjectFeature != null) { result += "."; //$NON-NLS-1$ result += fModalObjectFeature.getName(); } return result; } /** * @see org.eclipse.ui.IEditorInput#getPersistable() */ public IPersistableElement getPersistable() { return null; } /** * @see org.eclipse.ui.IEditorInput#getToolTipText() */ public String getToolTipText() { return ""; //$NON-NLS-1$ } /** * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) */ public Object getAdapter(Class adapter) { return null; } /** * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { if (this == obj) return true; if (getClass().isInstance(obj)) { return methodElement == ((MethodElementEditorInput) obj).getMethodElement() && fModalObject == ((MethodElementEditorInput) obj).getModalObject() && fModalObjectFeature == ((MethodElementEditorInput) obj).getModalObjectFeature(); } return false; } @Override public int hashCode() { int result = methodElement.hashCode(); if (fModalObject != null) { result ^= fModalObject.hashCode(); } if (fModalObjectFeature != null) { result ^= fModalObjectFeature.hashCode(); } return result; } public EObject getModalObject() { return fModalObject; } public void setModalObject(EObject object) { fModalObject = object; } public EStructuralFeature getModalObjectFeature() { return fModalObjectFeature; } public void setModalObjectFeature(EStructuralFeature feature) { fModalObjectFeature = feature; } }