package org.geoserver.python.filter;
import java.util.List;
import org.geotools.filter.FunctionImpl;
import org.geotools.filter.capability.FunctionNameImpl;
import org.opengis.feature.type.Name;
import org.opengis.filter.expression.Expression;
import org.opengis.filter.expression.VolatileFunction;
public class PythonFunction extends FunctionImpl implements VolatileFunction {
PythonFilterFunctionAdapter adapter;
public PythonFunction(Name name, List<Expression> args, PythonFilterFunctionAdapter adapter) {
setName(name.getLocalPart());
setParameters(args);
functionName = new FunctionNameImpl(name, args.size());
this.adapter = adapter;
}
@Override
public Object evaluate(Object object) {
return adapter.evaluate(getName(), object, getParameters());
}
}