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 /** 041 * @return Returns the display name (Label) of the argument. 042 * @deprecated replaced with <code>getDisplayName();</code> 043 */ 044 public abstract String getDspName(); 045 046 /** 047 * @return Returns the Display name of the argument. 048 */ 049 public abstract String getDisplayName(); 050 051 /** 052 * @return the default type of the argument 053 */ 054 public int getDefaultType(); 055 056 057 /** 058 * @return the meta data defined 059 */ 060 public Struct getMetaData(); 061 062 public boolean isPassByReference(); 063 }