001    package railo.runtime.functions;
002    
003    import railo.runtime.PageContext;
004    import railo.runtime.exp.PageException;
005    import railo.runtime.reflection.Reflector;
006    
007    public class BIFProxy extends BIF {
008    
009            private Class clazz;
010    
011            public BIFProxy(Class clazz) {
012                    this.clazz=clazz;
013            }
014    
015            @Override
016            public Object invoke(PageContext pc, Object[] args) throws PageException {
017                    Object[] _args=new Object[args.length+1];
018                    _args[0]=pc;
019                    for(int i=0;i<args.length;i++){
020                            _args[i+1]=args[i];
021                    }
022                    return Reflector.callStaticMethod(clazz,"call",_args);
023            }
024    
025    }