001 package railo.runtime.type; 002 003 import java.io.Serializable; 004 005 /** 006 * a function argument definition 007 */ 008 public interface FunctionArgument extends Serializable { 009 010 public static final int DEFAULT_TYPE_NULL = 0; 011 public static final int DEFAULT_TYPE_LITERAL = 1; 012 public static final int DEFAULT_TYPE_RUNTIME_EXPRESSION = 2; 013 014 /** 015 * @return Returns the name of the argument. 016 */ 017 public abstract Collection.Key getName(); 018 019 /** 020 * @return Returns if argument is required or not. 021 */ 022 public abstract boolean isRequired(); 023 024 /** 025 * @return Returns the type of the argument. 026 */ 027 public abstract short getType(); 028 029 /** 030 * @return Returns the type of the argument. 031 */ 032 public abstract String getTypeAsString(); 033 034 /** 035 * @return Returns the Hint of the argument. 036 */ 037 public abstract String getHint(); 038 039 /** 040 * @return Returns the Display name of the argument. 041 */ 042 public abstract String getDisplayName(); 043 044 /** 045 * @return the default type of the argument 046 */ 047 public int getDefaultType(); 048 049 050 /** 051 * @return the meta data defined 052 */ 053 public Struct getMetaData(); 054 055 public boolean isPassByReference(); 056 }