package janala.utils;
import janala.config.Config;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.List;
import java.util.ArrayList;
public class Inputs {
private int index;
private List<String> inputs;
public Inputs(String filename) {
DataInputStream in = null;
index = 0;
try {
FileInputStream fstream = new FileInputStream(filename);
in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
inputs = new ArrayList<String>();
String strLine;
while ((strLine = br.readLine()) != null) {
inputs.add(strLine);
}
in.close();
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
} finally {
try {
if (in != null) {
in.close();
}
} catch (IOException ex) {
}
}
}
public Inputs(List<String> solution) {
inputs = solution;
index = 0;
}
public String read() {
String ret = inputs.get(index);
index++;
return ret;
}
public void next() {
index++;
}
public boolean isInputAvailable() {
return (inputs != null) && (index < inputs.size());
}
public boolean isBeginScope() {
return inputs.get(index).equals(Config.instance.scopeBeginMarker);
}
public boolean isEndScope() {
return inputs.get(index).equals(Config.instance.scopeEndMarker);
}
}