package org.rascalmpl.eclipse.editor.highlight;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IStorage;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import io.usethesource.impulse.editor.UniversalEditor;
class StringStorage implements IStorage {
private String string;
private UniversalEditor editor;
private IProject project;
private String ext;
StringStorage(UniversalEditor editor, IProject project, String input, String ext) {
this.editor = editor;
this.project = project;
this.string = input;
this.ext = ext;
}
@Override
public InputStream getContents() throws CoreException {
return new ByteArrayInputStream(string.getBytes());
}
@Override
public IPath getFullPath() {
return project.getFullPath().addFileExtension(ext);
}
@SuppressWarnings("rawtypes")
@Override
public Object getAdapter(Class adapter) {
return null;
}
@Override
public String getName() {
return editor.getEditorInput().getName() + "." + ext;
}
@Override
public boolean isReadOnly() {
return true;
}
}