001    /**
002     * Implements the CFML Function iscustomfunction
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.ObjectWrap;
010    
011    public final class IsCustomFunction implements Function {
012    
013            private static final long serialVersionUID = 1578909692090122692L;
014    
015            public static boolean call(PageContext pc , Object object) {
016                    if(object instanceof ObjectWrap) {
017                    return call(pc,((ObjectWrap)object).getEmbededObject(null));
018            }
019                    return Decision.isUserDefinedFunction(object) && !Decision.isClosure(object);
020            }
021    }