001 //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/tags/2.1/src/org/deegree/model/table/Table.java $ 002 package org.deegree.model.table; 003 004 /** 005 * 006 * 007 * 008 * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a> 009 * @author last edited by: $Author: apoth $ 010 * 011 * @version. $Revision: 6705 $, $Date: 2007-04-26 21:55:39 +0200 (Do, 26 Apr 2007) $ 012 */ 013 public interface Table { 014 015 /** 016 * returns the name of the table. If the table hasn't a name an empty string 017 * ("") will be returned. 018 * 019 */ 020 String getTableName(); 021 022 /** 023 * @see Table#getTableName() 024 * 025 */ 026 void setTableName(String tableName); 027 028 /** 029 * returns the value of the table field indexed by <tt>row</tt> and <tt>col</tt> 030 */ 031 Object getValueAt(int row, int col); 032 033 /** 034 * set a value at the table field indexed by <tt>row</tt> and <tt>col</tt> 035 */ 036 void setValueAt(Object value, int row, int col); 037 038 /** 039 * returns the data of the row'th row of the table 040 */ 041 Object[] getRow(int row); 042 043 /** 044 * sets the data of the row'th row 045 */ 046 void setRow(Object[] data, int row) throws TableException; 047 048 /** 049 * appends a row to the table and sets its data 050 */ 051 void appendRow(Object[] data) throws TableException; 052 053 /** 054 * returns the number rows of the table 055 */ 056 int getRowCount(); 057 058 /** 059 * adds a new column to the table 060 */ 061 void addColumn(String name, int type); 062 063 /** 064 * returns the number columns of the table 065 */ 066 int getColumnCount(); 067 068 /** 069 * returns the names of all table columns. If a column hasn't a name a empty 070 * String ("") will be returned. 071 */ 072 String[] getColumnNames(); 073 074 /** 075 * returns the name of the specified column. If a column hasn't a name a empty 076 * String ("") will be returned. 077 */ 078 String getColumnName(int col); 079 080 /** 081 * returns the names of all column types. For each column a type (name of a 082 * java class) has to be defined. 083 */ 084 int[] getColumnTypes(); 085 086 /** 087 * returns the name of the type of the specifies column. For each column a 088 * type (name of a java class) has to be defined. 089 */ 090 int getColumnType(int col); 091 092 /** 093 * sets the type of a column. the implementing class have to 094 * ensure that this is a valid operation 095 */ 096 void setColumnType(int col, int type) throws TableException; 097 098 /** 099 * sets the name of a column. 100 */ 101 void setColumnName(int col, String name); 102 103 /** 104 * removes a row from the table 105 */ 106 Object[] removeRow(int index); 107 108 /** 109 * returns the index of the submitted columns name. If no column with that 110 * name if present -1 will be returned. 111 */ 112 int getColumnIndex(String columnName); 113 114 115 }