001 package railo.runtime.type; 002 003 import railo.runtime.exp.PageException; 004 import railo.runtime.op.Castable; 005 import railo.runtime.type.ref.Reference; 006 007 /** 008 * represent a Single column of a query object 009 */ 010 public interface QueryColumn extends Collection,Reference,Castable { 011 012 /** 013 * removes the value but dont the index 014 * @param row 015 * @return removed Object 016 * @throws PageException 017 */ 018 public Object remove(int row)throws PageException; 019 020 /** 021 * remove a row from query 022 * @param row 023 * @return removed value 024 * @throws PageException 025 */ 026 public Object removeRow(int row)throws PageException; 027 028 /** 029 * removes method with int as key 030 * @param row 031 * @return removed Object 032 */ 033 public Object removeEL(int row); 034 035 /** 036 * get method with a int as key 037 * @param row row to get value 038 * @return row value 039 * @throws PageException 040 */ 041 public Object get(int row) throws PageException; 042 043 /** 044 * getExpressionLess method with a int as key 045 * @param row row to get value 046 * @return row value 047 */ 048 public Object get(int row, Object defaultValue); 049 050 /** 051 * set method with a int as key 052 * @param row row to set 053 * @param value value to set 054 * @return setted value 055 * @throws PageException 056 */ 057 public Object set(int row, Object value) throws PageException; 058 059 /** 060 * adds a value to the column 061 * @param value value to add 062 */ 063 public void add(Object value); 064 065 066 /** 067 * setExpressionLess method with a int as key 068 * @param row row to set 069 * @param value value to set 070 * @return setted value 071 */ 072 public Object setEL(int row, Object value); 073 074 075 /** 076 * @param count adds count row to the column 077 */ 078 public void addRow(int count); 079 080 /** 081 * @return returns the type of the Column (java.sql.Types.XYZ) 082 */ 083 public int getType(); 084 085 /** 086 * @return returns the type of the Column as String 087 */ 088 public String getTypeAsString(); 089 090 /** 091 * cuts row to defined size 092 * @param maxrows 093 */ 094 public void cutRowsTo(int maxrows); 095 096 }