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    }