001 package railo.runtime.type.scope; 002 003 import java.util.Set; 004 005 import railo.runtime.exp.PageException; 006 import railo.runtime.type.Array; 007 import railo.runtime.type.Collection; 008 009 /** 010 * interface for Argument scope 011 */ 012 public interface Argument extends Scope,Array,BindScope { 013 014 /** 015 * sets if scope is binded to a other variable for using outside of a udf 016 * @param bind 017 */ 018 public abstract void setBind(boolean bind); 019 020 /** 021 * @return returns if scope is binded to a other variable for using outside of a udf 022 */ 023 public abstract boolean isBind(); 024 025 /** 026 * insert a key in argument scope at defined position 027 * @param index 028 * @param key 029 * @param value 030 * @return boolean 031 * @throws PageException 032 */ 033 public abstract boolean insert(int index, String key, Object value) 034 throws PageException; 035 036 037 038 public Object setArgument(Object obj) throws PageException; 039 040 public static final Object NULL = null; 041 042 public Object getFunctionArgument(String key, Object defaultValue); 043 044 public Object getFunctionArgument(Collection.Key key, Object defaultValue); 045 046 public void setFunctionArgumentNames(Set functionArgumentNames); 047 048 public boolean containsFunctionArgumentKey(Key key); 049 050 }