package net.sourceforge.phpeclipse.builder; import org.eclipse.core.resources.IStorage; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.ui.IEditorRegistry; import org.eclipse.ui.IPersistableElement; import org.eclipse.ui.IStorageEditorInput; import org.eclipse.ui.PlatformUI; /** * An EditorInput for an external file. */ public class ExternalEditorInput implements IStorageEditorInput { IStorage externalFile; /** * Two ExternalEditorInputs are equal if their IStorage's are equal. * * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { if (this == obj) return true; if (!(obj instanceof ExternalEditorInput)) return false; ExternalEditorInput other = (ExternalEditorInput) obj; return externalFile.equals(other.externalFile); } /* * @see IEditorInput#exists() */ public boolean exists() { // External file can not be deleted return true; } /* * @see IAdaptable#getAdapter(Class) */ public Object getAdapter(Class adapter) { return null; } /* * @see IEditorInput#getContentType() */ public String getContentType() { return externalFile.getFullPath().getFileExtension(); } /* * @see IEditorInput#getFullPath() */ public String getFullPath() { return externalFile.getFullPath().toString(); } /* * @see IEditorInput#getImageDescriptor() */ public ImageDescriptor getImageDescriptor() { IEditorRegistry registry = PlatformUI.getWorkbench() .getEditorRegistry(); return registry.getImageDescriptor(externalFile.getFullPath() .getFileExtension()); } /* * @see IEditorInput#getName() */ public String getName() { return externalFile.getName(); } /* * @see IEditorInput#getPersistable() */ public IPersistableElement getPersistable() { return null; } /* * see IStorageEditorInput#getStorage() */ public IStorage getStorage() { return externalFile; } /* * @see IEditorInput#getToolTipText() */ public String getToolTipText() { return externalFile.getFullPath().toString(); } public ExternalEditorInput(IStorage exFile) { externalFile = exFile; } }