001 /** 002 * Implements the CFML Function arraynew 003 */ 004 package railo.runtime.functions.arrays; 005 006 import railo.runtime.PageContext; 007 import railo.runtime.exp.ExpressionException; 008 import railo.runtime.exp.PageException; 009 import railo.runtime.functions.BIF; 010 import railo.runtime.op.Caster; 011 import railo.runtime.type.Array; 012 import railo.runtime.type.ArrayImpl; 013 014 public final class ArrayNew extends BIF { 015 016 private static final long serialVersionUID = -5923269433550568279L; 017 018 public static Array call(PageContext pc) throws ExpressionException { 019 return new ArrayImpl(1); 020 } 021 022 public static Array call(PageContext pc , double number) throws ExpressionException { 023 return new ArrayImpl((int)number); 024 } 025 026 @Override 027 public Object invoke(PageContext pc, Object[] args) throws PageException { 028 if(args.length==0) return call(pc); 029 return call(pc,Caster.toDoubleValue(args[0])); 030 } 031 032 }