001    package railo.transformer.bytecode.expression.var;
002    
003    import railo.transformer.bytecode.expression.ExprString;
004    import railo.transformer.bytecode.literal.LitString;
005    import railo.transformer.library.function.FunctionLibFunction;
006    
007    
008    
009    public final class BIF extends FunctionMember {
010                    private static String ANY="any";
011            
012                    private ExprString name;
013                    private int argType;
014                    private String className;
015                    private String returnType=ANY;
016                    private FunctionLibFunction flf;
017    
018    
019    
020                    public BIF(ExprString name, FunctionLibFunction flf) {
021                            this.name=name;
022                            this.flf=flf;
023                    }
024                    public BIF(String name, FunctionLibFunction flf) {
025                            this.name=LitString.toExprString(name);
026                            this.flf=flf;
027                    }
028    
029                    public void setArgType(int argType) {
030                            this.argType=argType;
031                    }
032    
033                    public void setClassName(String className) {
034                            this.className=className;
035                    }
036    
037                    public void setReturnType(String returnType) {
038                            this.returnType=returnType;
039                    }
040    
041                    /**
042                     * @return the argType
043                     */
044                    public int getArgType() {
045                            return argType;
046                    }
047    
048                    /**
049                     * @return the className
050                     */
051                    public String getClassName() {
052                            return className;
053                    }
054    
055                    /**
056                     * @return the name
057                     */
058                    public ExprString getName() {
059                            return name;
060                    }
061    
062                    /**
063                     * @return the returnType
064                     */
065                    public String getReturnType() {
066                            return returnType;
067                    }
068    
069                    /**
070                     * @return the flf
071                     */
072                    public FunctionLibFunction getFlf() {
073                            return flf;
074                    }
075    
076                    /**
077                     * @param flf the flf to set
078                     */
079                    public void setFlf(FunctionLibFunction flf) {
080                            this.flf = flf;
081                    }
082            }