001    /**
002     * Implements the Cold Fusion Function isarray
003     */
004    package railo.runtime.functions.decision;
005    
006    import railo.runtime.PageContext;
007    import railo.runtime.ext.function.Function;
008    import railo.runtime.op.Decision;
009    import railo.runtime.type.Array;
010    
011    public final class IsArray implements Function {
012            public static boolean call(PageContext pc , Object object) {
013                    return Decision.isArray(object);
014            }
015            public static boolean call(PageContext pc , Object object, double dimension) {
016                    if(dimension==-999) return Decision.isArray(object); // -999 == default value for named argument 
017                    
018                    
019                    if((object instanceof Array)) {
020                            return ((Array)object).getDimension()==(int)dimension;
021                    }
022                    else if(dimension==1) {
023                            return Decision.isArray(object);
024                    }
025                    return false;
026            }
027    }