View Javadoc

1   /***
2    * Copyright (C) 2006 Philipp Mpalampanis
3    *
4    * License: MPL 1.1/GPL 2.0/LGPL 2.1
5    *
6    * The contents of this file are subject to the Mozilla Public License Version
7    * 1.1 (the "License"); you may not use this file except in compliance with
8    * the License. You may obtain a copy of the License at
9    * http://www.mozilla.org/MPL/
10   *
11   * Software distributed under the License is distributed on an "AS IS" basis,
12   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13   * for the specific language governing rights and limitations under the
14   * License.
15   *
16   * Alternatively, the contents of this file may be used under the terms of
17   * either the GNU General Public License Version 2 or later (the "GPL"), or
18   * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
19   * in which case the provisions of the GPL or the LGPL are applicable instead
20   * of those above. If you wish to allow use of your version of this file only
21   * under the terms of either the GPL or the LGPL, and not to allow others to
22   * use your version of this file under the terms of the MPL, indicate your
23   * decision by deleting the provisions above and replace them with the notice
24   * and other provisions required by the GPL or the LGPL. If you do not delete
25   * the provisions above, a recipient may use your version of this file under
26   * the terms of any one of the MPL, the GPL or the LGPL.
27   */
28  package net.sf.echobinding.table;
29  
30  import nextapp.echo2.app.event.TableModelListener;
31  import nextapp.echo2.app.table.TableModel;
32  
33  /***
34   *
35   */
36  public class EditableTableModel implements TableModel {
37  
38  	Object[][] _data;
39  	Object[] _headerData;
40  	
41  	
42  	
43  	/***
44  	 * @param data
45  	 * @param headerData
46  	 */
47  	public EditableTableModel(Object[] headerData, Object[][] data ) {
48  		super();
49  		
50  		_data = data;
51  		_headerData = headerData;
52  	}
53  
54  	/* (non-Javadoc)
55  	 * @see nextapp.echo2.app.table.TableModel#addTableModelListener(nextapp.echo2.app.event.TableModelListener)
56  	 */
57  	public void addTableModelListener(TableModelListener arg0) {
58  	}
59  
60  	/* (non-Javadoc)
61  	 * @see nextapp.echo2.app.table.TableModel#getColumnClass(int)
62  	 */
63  	public Class getColumnClass(int col) {
64  		if(col==0) {
65  			return String.class;
66  		}
67  		
68  		Object columnObject = _data[0][col-1];
69  		if(columnObject == null)
70  			return Object.class;
71  		return columnObject.getClass();
72  	}
73  
74  	/* (non-Javadoc)
75  	 * @see nextapp.echo2.app.table.TableModel#getColumnCount()
76  	 */
77  	public int getColumnCount() {
78  		return 1 + _headerData.length;
79  	}
80  
81  	/* (non-Javadoc)
82  	 * @see nextapp.echo2.app.table.TableModel#getColumnName(int)
83  	 */
84  	public String getColumnName(int col) {
85  		if(col==0)
86  			return "";
87  		return _headerData[col-1].toString();
88  	}
89  
90  	/* (non-Javadoc)
91  	 * @see nextapp.echo2.app.table.TableModel#getRowCount()
92  	 */
93  	public int getRowCount() {
94  		return _data.length;
95  	}
96  
97  	/* (non-Javadoc)
98  	 * @see nextapp.echo2.app.table.TableModel#getValueAt(int, int)
99  	 */
100 	public Object getValueAt(int col, int row) {
101 		if(col==0) {
102 			return new String("[buttonPanel]");
103 		}
104 		return _data[row][col-1];
105 	}
106 
107 	/* (non-Javadoc)
108 	 * @see nextapp.echo2.app.table.TableModel#removeTableModelListener(nextapp.echo2.app.event.TableModelListener)
109 	 */
110 	public void removeTableModelListener(TableModelListener arg0) {
111 	}
112 
113 	
114 }