001    package railo.runtime.functions.arrays;
002    
003    
004    import railo.runtime.PageContext;
005    import railo.runtime.exp.ExpressionException;
006    import railo.runtime.exp.PageException;
007    import railo.runtime.functions.BIF;
008    import railo.runtime.op.Caster;
009    import railo.runtime.type.Array;
010    
011    public final class ArrayFirst extends BIF {
012    
013            private static final long serialVersionUID = 6190330742719202792L;
014    
015            public static Object call(PageContext pc , Array array) throws PageException {
016            if(array.size()==0) throw new ExpressionException("Cannot return first element of array; array is empty");
017            return array.getE(1);
018        }
019            
020            @Override
021            public Object invoke(PageContext pc, Object[] args) throws PageException {
022                    return call(pc,Caster.toArray(args[0]));
023            }
024        
025    }