package com.canoo.webtest.engine.xpath;
import java.util.HashMap;
import java.util.Map;
import javax.xml.namespace.QName;
import org.apache.xpath.compiler.FunctionTable;
import org.apache.xpath.functions.Function;
public class SimpleXPathFunctionResolver
{
private final Map<QName, Function> functions_ = new HashMap<QName, Function>();
private final FunctionTable funcTable_ = new FunctionTable();
public Function resolveFunction(final QName _functionName, int _arity)
{
return functions_.get(_functionName);
}
public void registerFunction(final QName _functionName, final Class<? extends Function> _class)
{
try
{
functions_.put(_functionName, _class.newInstance());
}
catch (final Exception e)
{
throw new RuntimeException(e);
}
funcTable_.installFunction(_functionName.getLocalPart(), _class);
}
FunctionTable getFunctionTable()
{
return funcTable_;
}
}