24 lines
576 B
Java
24 lines
576 B
Java
|
package com.metaweb.gridlock.expr;
|
||
|
|
||
|
import java.util.Properties;
|
||
|
|
||
|
public class FunctionCallExpr implements Evaluable {
|
||
|
final protected Evaluable[] _args;
|
||
|
final protected Function _function;
|
||
|
|
||
|
public FunctionCallExpr(Evaluable[] args, Function f) {
|
||
|
_args = args;
|
||
|
_function = f;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Object evaluate(Properties bindings) {
|
||
|
Object[] args = new Object[_args.length];
|
||
|
for (int i = 0; i < _args.length; i++) {
|
||
|
args[i] = _args[i].evaluate(bindings);
|
||
|
}
|
||
|
return _function.call(bindings, args);
|
||
|
}
|
||
|
|
||
|
}
|