package com.stardust.autojs.script;
import com.stardust.autojs.script.ScriptSource;
import com.stardust.pio.PFile;
import com.stardust.pio.UncheckedIOException;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.Reader;
/**
* Created by Stardust on 2017/4/2.
*/
public class FileScriptSource extends ScriptSource {
private File mFile;
private String mScript;
public FileScriptSource(File file) {
super(PFile.getNameWithoutExtension(file.getName()));
mFile = file;
}
public FileScriptSource(String path) {
this(new File(path));
}
public FileScriptSource(String name, File file) {
super(name);
mFile = file;
}
@Override
public String getScript() {
if (mScript == null)
mScript = PFile.read(mFile);
return mScript;
}
@Override
public Reader getScriptReader() {
try {
return new FileReader(mFile);
} catch (FileNotFoundException e) {
throw new UncheckedIOException(e);
}
}
@Override
public String toString() {
return mFile.toString();
}
}