package net.ion.craken.node.convert.rows.function;
import java.util.List;
import net.ion.craken.node.ReadNode;
import net.ion.craken.node.convert.rows.ColumnParser;
import net.ion.craken.node.convert.rows.IColumn;
import net.ion.framework.util.ListUtil;
import net.ion.framework.util.NumberUtil;
import net.ion.framework.util.ObjectUtil;
public class PowerFunction extends SingleColumn{
private List<IColumn> columns = ListUtil.newList();
private String label;
public PowerFunction(ColumnParser cparser, String[] args, String label) {
for(String arg : args){
columns.add(cparser.parse(arg.trim()));
}
this.label = label;
}
public Object getValue(ReadNode node) {
double result = Math.pow( NumberUtil.toDouble(ObjectUtil.toString(columns.get(0).getValue(node)), 0D),
NumberUtil.toDouble(ObjectUtil.toString(columns.get(1).getValue(node)), 0D));
return Double.valueOf(result).intValue();
}
public String getLabel() {
return label;
}
}
//private IColumn col ;
//private String label;
//
//public LengthFunction(String[] args, String label) {
// col = Column.parse(args[0]) ;
// this.label = label ;
//}
//
//public String getLabel() {
// return label;
//}
//
//public Object getValue(TreeNode node) {
// String val = String.valueOf(col.getValue(node));
// return StringUtil.length(val);
//}