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 ArrayLast extends BIF {
012    
013            private static final long serialVersionUID = -2378677202092684813L;
014    
015            public static Object call(PageContext pc , Array array) throws PageException {
016            if(array.size()==0) throw new ExpressionException("Cannot return last element of array; array is empty");
017            return array.getE(array.size());
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    }