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 BoundTableModel implements TableModel {
37  
38  	private static final long serialVersionUID = -7240713963348979288L;
39  
40  	Object[] _tableHeaderData; 
41  	Object[][] _data;
42  	
43  	/***
44  	 * @param tableHeaderData
45  	 * @param data
46  	 */
47  	public BoundTableModel(Object[] tableHeaderData, Object[][] data) {
48  		_tableHeaderData = tableHeaderData;
49  		_data = data;
50  	}
51  
52  	/* (non-Javadoc)
53  	 * @see nextapp.echo2.app.table.TableModel#addTableModelListener(nextapp.echo2.app.event.TableModelListener)
54  	 */
55  	public void addTableModelListener(TableModelListener arg0) {
56  	}
57  
58  	/* (non-Javadoc)
59  	 * @see nextapp.echo2.app.table.TableModel#getColumnClass(int)
60  	 */
61  	public Class getColumnClass(int col) {
62  		
63  		Object columnObject = _data[0][col];
64  		if(columnObject == null)
65  			return Object.class;
66  		return columnObject.getClass();
67  	}
68  
69  	/* (non-Javadoc)
70  	 * @see nextapp.echo2.app.table.TableModel#getColumnCount()
71  	 */
72  	public int getColumnCount() {
73  		return _tableHeaderData.length;
74  	}
75  
76  	/* (non-Javadoc)
77  	 * @see nextapp.echo2.app.table.TableModel#getColumnName(int)
78  	 */
79  	public String getColumnName(int col) {
80  		return _tableHeaderData[col].toString();
81  	}
82  
83  	/* (non-Javadoc)
84  	 * @see nextapp.echo2.app.table.TableModel#getRowCount()
85  	 */
86  	public int getRowCount() {
87  		return _data.length;
88  	}
89  
90  	/* (non-Javadoc)
91  	 * @see nextapp.echo2.app.table.TableModel#getValueAt(int, int)
92  	 */
93  	public Object getValueAt(int col, int row) {
94  		return _data[row][col];
95  	}
96  
97  	/* (non-Javadoc)
98  	 * @see nextapp.echo2.app.table.TableModel#removeTableModelListener(nextapp.echo2.app.event.TableModelListener)
99  	 */
100 	public void removeTableModelListener(TableModelListener arg0) {
101 	}
102 
103 }