001 package railo.runtime.interpreter.ref; 002 003 import railo.runtime.PageContext; 004 import railo.runtime.exp.PageException; 005 006 /** 007 * Define a Reference to a Object 008 */ 009 public interface Ref { 010 011 /** 012 * return the value for that the reference is for 013 * @return value to reference 014 * @throws PageException 015 */ 016 public Object touchValue(PageContext pc) throws PageException; 017 018 /** 019 * return the value for that the reference is for 020 * @return value to reference 021 * @throws PageException 022 */ 023 public Object getValue(PageContext pc) throws PageException; 024 025 /** 026 * return the value for that the reference is for 027 * @return value to reference 028 * @throws PageException 029 */ 030 public Object getCollection(PageContext pc) throws PageException; 031 032 /** 033 * return the name name of a reference 034 * @return type as string 035 */ 036 public String getTypeName(); 037 038 039 public boolean eeq(PageContext pc,Ref other) throws PageException; 040 }