001 /** 002 * Implements the CFML Function arrayswap 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.util.ArrayUtil; 013 014 public final class ArraySwap extends BIF { 015 016 private static final long serialVersionUID = 4539191577529273165L; 017 018 public static boolean call(PageContext pc ,Array array, double number, double number2) throws ExpressionException { 019 ArrayUtil.swap(array,(int)number,(int)number2); 020 return true; 021 } 022 023 @Override 024 public Object invoke(PageContext pc, Object[] args) throws PageException { 025 return call(pc,Caster.toArray(args[0]),Caster.toDoubleValue(args[1]),Caster.toDoubleValue(args[2])); 026 } 027 }