001 /** 002 * Implements the CFML Function structkeyexists 003 */ 004 package railo.runtime.functions.arrays; 005 006 import railo.runtime.PageContext; 007 import railo.runtime.config.NullSupportHelper; 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 013 public final class ArrayIndexExists extends BIF { 014 015 private static final long serialVersionUID = -4490011932571314711L; 016 017 public static boolean call(PageContext pc , Array array, double index) { 018 return array.get((int)index,NullSupportHelper.NULL())!=NullSupportHelper.NULL(); 019 } 020 021 @Override 022 public Object invoke(PageContext pc, Object[] args) throws PageException { 023 return call(pc,Caster.toArray(args[0]),Caster.toDoubleValue(args[1])); 024 } 025 }