001 package railo.runtime.query; 002 003 import railo.commons.io.res.util.UDFFilterSupport; 004 import railo.runtime.engine.ThreadLocalPageContext; 005 import railo.runtime.exp.ExpressionException; 006 import railo.runtime.exp.PageException; 007 import railo.runtime.exp.PageRuntimeException; 008 import railo.runtime.op.Caster; 009 import railo.runtime.type.UDF; 010 011 public class QueryCacheFilterUDF extends UDFFilterSupport implements QueryCacheFilter { 012 013 public QueryCacheFilterUDF(UDF udf) throws ExpressionException{ 014 super(udf); 015 } 016 017 /** 018 * @see railo.runtime.query.QueryCacheFilter#accept(java.lang.String) 019 */ 020 public boolean accept(String sql) { 021 args[0]=sql; 022 try { 023 return Caster.toBooleanValue(udf.call(ThreadLocalPageContext.get(), args, true)); 024 025 } 026 catch (PageException e) { 027 throw new PageRuntimeException(e); 028 } 029 } 030 }