package org.hibernate.eclipse.console;
import org.eclipse.core.resources.IStorage;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.IPersistableElement;
import org.eclipse.ui.IStorageEditorInput;
public abstract class QueryEditorInput implements IStorageEditorInput, IPersistableElement {
/** The name of ths editor input. */
private String name;
/** The storage object used by this editor input. */
private IStorage storage;
/**
* Constructs an instance of this class with the given <code>IStorage</code>
* object as the editor input source.
*
* @param storage the storage object for this editor input
*/
public QueryEditorInput( IStorage storage ) {
if (storage == null) {
throw new IllegalArgumentException();
}
setStorage( storage );
setName( storage.getName() );
}
/**
* Gets whether the editor input exists.
*
* @see org.eclipse.ui.IEditorInput#exists()
*/
public boolean exists() {
if (storage != null)
return true;
return false;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public Object getAdapter( Class adapter ) {
return null;
}
public ImageDescriptor getImageDescriptor() {
return null;
}
public String getName() {
return name;
}
public IStorage getStorage() {
return storage;
}
public String getToolTipText() {
return getName();
}
public void setName( String name ) {
this.name = name;
}
public void setStorage( IStorage storage ) {
this.storage = storage;
}
public IPersistableElement getPersistable() {
return this;
}
public boolean equals(Object obj) { // used to identify if HQL editor is the same
/*if(obj instanceof HQLEditorInput) {
return ((HQLEditorInput)obj).getConsoleConfigurationName().equals(getConsoleConfigurationName());
}*/
return super.equals(obj);
}
public int hashCode() {
return name==null?0:name.hashCode();
}
public void setQuery(String query) {
if (getStorage() instanceof QueryEditorStorage) {
((QueryEditorStorage)getStorage()).setContents(query);
}
}
public String getConsoleConfigurationName() {
return ((QueryEditorStorage)getStorage()).getConfigurationName();
}
public void setConsoleConfigurationName(String name2) {
((QueryEditorStorage)getStorage()).setConfigurationName(name2);
}
abstract public void resetName();
}