001    /**
002     * Implements the Cold Fusion Function array
003     */
004    package railo.runtime.functions.arrays;
005    
006    import railo.runtime.PageContext;
007    import railo.runtime.exp.ExpressionException;
008    import railo.runtime.ext.function.Function;
009    import railo.runtime.type.Array;
010    import railo.runtime.type.ArrayImpl;
011    import railo.runtime.type.FunctionValue;
012    
013    /**
014     * implementation of the Function array
015     */
016    public class Array_ implements Function {
017            
018            private static final long serialVersionUID = 4974431571073577001L;
019    
020            /**
021             * @param pc
022             * @param objArr
023             * @return
024             * @throws ExpressionException
025             */
026            public static Array call(PageContext pc , Object[] objArr) {
027                    for(int i=0;i<objArr.length;i++) {
028                            if(objArr[i] instanceof FunctionValue)objArr[i]=((FunctionValue)objArr[i]).getValue();
029                    }
030                    return new ArrayImpl(objArr);
031            }
032    }