001 package railo.runtime.functions.query; 002 003 import railo.runtime.PageContext; 004 import railo.runtime.exp.PageException; 005 import railo.runtime.functions.BIF; 006 import railo.runtime.op.Caster; 007 import railo.runtime.type.Query; 008 import railo.runtime.type.QueryImpl; 009 010 /** 011 * Implements the CFML Function querynew 012 */ 013 public final class QueryColumnCount extends BIF { 014 015 private static final long serialVersionUID = 7637016307562378310L; 016 017 public static double call(PageContext pc , Query qry) { 018 if(qry instanceof QueryImpl) 019 return ((QueryImpl)qry).getColumnCount(); 020 return qry.getColumnNames().length; 021 } 022 023 @Override 024 public Object invoke(PageContext pc, Object[] args) throws PageException { 025 return call(pc,Caster.toQuery(args[0])); 026 } 027 }