package water.rapids.ast.params;
import water.rapids.Env;
import water.rapids.ast.AstParameter;
import water.rapids.vals.ValStr;
/**
* A String. Execution is just to return the constant.
*/
public class AstStr extends AstParameter {
private final ValStr _v;
public AstStr() {
this(null);
}
public AstStr(String str) {
_v = new ValStr(str);
}
@Override
public String str() {
return _v.toString().replaceAll("^\"|^\'|\"$|\'$", "");
}
@Override
public ValStr exec(Env env) {
return _v;
}
@Override
public String toJavaString() {
return "\"" + str() + "\"";
}
@Override
public int[] columns(String[] names) {
int i = water.util.ArrayUtils.find(names, _v.getStr());
if (i == -1) throw new IllegalArgumentException("Column " + _v.getStr() + " not found");
return new int[]{i};
}
public String getStr() {
return _v.getStr();
}
}