summaryrefslogtreecommitdiffstats
path: root/libjava/javax/swing/table/DefaultTableModel.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/javax/swing/table/DefaultTableModel.java')
-rw-r--r--libjava/javax/swing/table/DefaultTableModel.java582
1 files changed, 0 insertions, 582 deletions
diff --git a/libjava/javax/swing/table/DefaultTableModel.java b/libjava/javax/swing/table/DefaultTableModel.java
deleted file mode 100644
index cc6f3dc11df..00000000000
--- a/libjava/javax/swing/table/DefaultTableModel.java
+++ /dev/null
@@ -1,582 +0,0 @@
-/* DefaultTableModel.java --
- Copyright (C) 2002, 2004, 2005, Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package javax.swing.table;
-
-import java.io.Serializable;
-import java.util.Vector;
-
-import javax.swing.event.TableModelEvent;
-
-/**
- * A two dimensional data structure used to store <code>Object</code>
- * instances, usually for display in a <code>JTable</code> component.
- *
- * @author Andrew Selkirk
- */
-public class DefaultTableModel extends AbstractTableModel
- implements Serializable
-{
- static final long serialVersionUID = 6680042567037222321L;
-
- /**
- * Storage for the rows in the table (each row is itself
- * a <code>Vector</code>).
- */
- protected Vector dataVector;
-
- /**
- * columnIdentifiers
- */
- protected Vector columnIdentifiers;
-
- /**
- * Creates an empty table with zero rows and zero columns.
- */
- public DefaultTableModel()
- {
- this(0, 0);
- }
-
- /**
- * Creates a new table with the specified number of rows and columns.
- * All cells in the table are initially empty (set to <code>null</code>).
- *
- * @param numRows the number of rows.
- * @param numColumns the number of columns.
- */
- public DefaultTableModel(int numRows, int numColumns)
- {
- Vector defaultNames = new Vector(numColumns);
- Vector data = new Vector(numRows);
- for (int i = 0; i < numColumns; i++)
- {
- defaultNames.add(super.getColumnName(i));
- }
- for (int r = 0; r < numRows; r++)
- {
- Vector tmp = new Vector(numColumns);
- tmp.setSize(numColumns);
- data.add(tmp);
- }
- setDataVector(data, defaultNames);
- }
-
- /**
- * Creates a new table with the specified column names and number of
- * rows. The number of columns is determined by the number of column
- * names supplied.
- *
- * @param columnNames the column names.
- * @param numRows the number of rows.
- */
- public DefaultTableModel(Vector columnNames, int numRows)
- {
- if (numRows < 0)
- throw new IllegalArgumentException("numRows < 0");
- Vector data = new Vector();
- int numColumns = 0;
-
- if (columnNames != null)
- numColumns = columnNames.size();
-
- while (0 < numRows--)
- {
- Vector rowData = new Vector();
- rowData.setSize(numColumns);
- data.add(rowData);
- }
- setDataVector(data, columnNames);
- }
-
- /**
- * Creates a new table with the specified column names and row count.
- *
- * @param columnNames the column names.
- * @param numRows the number of rows.
- */
- public DefaultTableModel(Object[] columnNames, int numRows)
- {
- this(convertToVector(columnNames), numRows);
- }
-
- /**
- * Creates a new table with the specified data values and column names.
- *
- * @param data the data values.
- * @param columnNames the column names.
- */
- public DefaultTableModel(Vector data, Vector columnNames)
- {
- setDataVector(data, columnNames);
- }
-
- /**
- * Creates a new table with the specified data values and column names.
- *
- * @param data the data values.
- * @param columnNames the column names.
- */
- public DefaultTableModel(Object[][] data, Object[] columnNames)
- {
- this(convertToVector(data), convertToVector(columnNames));
- }
-
- /**
- * Returns the vector containing the row data for the table.
- *
- * @returns The data vector.
- */
- public Vector getDataVector()
- {
- return dataVector;
- }
-
- /**
- * Sets the data and column identifiers for the table. The data vector
- * contains a <code>Vector</code> for each row in the table - if the
- * number of objects in each row does not match the number of column
- * names specified, the row data is truncated or expanded (by adding
- * <code>null</code> values) as required.
- *
- * @param data the data for the table (a vector of row vectors).
- * @param columnNames the column names.
- *
- * @throws NullPointerException if either argument is <code>null</code>.
- */
- public void setDataVector(Vector data, Vector columnNames)
- {
- dataVector = data;
- columnIdentifiers = columnNames;
- for (int r = 0; r < data.size(); r++) {
- ((Vector) dataVector.get(r)).setSize(columnNames.size());
- }
- }
-
- /**
- * Sets the data and column identifiers for the table.
- *
- * @param data the data for the table.
- * @param columnNames the column names.
- *
- * @throws NullPointerException if either argument is <code>null</code>.
- */
- public void setDataVector(Object[][] data, Object[] columnNames)
- {
- setDataVector(convertToVector(data),
- convertToVector(columnNames));
- }
-
- /**
- * Sends the specified <code>event</code> to all registered listeners.
- * This method is equivalent to
- * {@link AbstractTableModel#fireTableChanged(TableModelEvent)}.
- *
- * @param event the event.
- */
- public void newDataAvailable(TableModelEvent event)
- {
- fireTableChanged(event);
- }
-
- /**
- * Sends the specified <code>event</code> to all registered listeners.
- * This method is equivalent to
- * {@link AbstractTableModel#fireTableChanged(TableModelEvent)}.
- *
- * @param event the event.
- */
- public void newRowsAdded(TableModelEvent event)
- {
- fireTableChanged(event);
- }
-
- /**
- * Sends the specified <code>event</code> to all registered listeners.
- * This method is equivalent to
- * {@link AbstractTableModel#fireTableChanged(TableModelEvent)}.
- *
- * @param event the event.
- */
- public void rowsRemoved(TableModelEvent event)
- {
- fireTableChanged(event);
- }
-
- /**
- * Sets the column identifiers, updates the data rows (truncating
- * or padding each row with <code>null</code> values) to match the
- * number of columns, and sends a {@link TableModelEvent} to all
- * registered listeners.
- *
- * @param columnIdentifiers the column identifiers.
- */
- public void setColumnIdentifiers(Vector columnIdentifiers)
- {
- this.columnIdentifiers = columnIdentifiers;
- setColumnCount((columnIdentifiers == null ? 0 : columnIdentifiers.size()));
- }
-
- /**
- * Sets the column identifiers, updates the data rows (truncating
- * or padding each row with <code>null</code> values) to match the
- * number of columns, and sends a {@link TableModelEvent} to all
- * registered listeners.
- *
- * @param columnIdentifiers the column identifiers.
- */
- public void setColumnIdentifiers(Object[] columnIdentifiers)
- {
- setColumnIdentifiers(convertToVector(columnIdentifiers));
- }
-
- /**
- * This method is obsolete, use {@link #setRowCount(int)} instead.
- *
- * @param numRows the number of rows.
- */
- public void setNumRows(int numRows)
- {
- setRowCount(numRows);
- }
-
- /**
- * Sets the number of rows in the table. If <code>rowCount</code> is less
- * than the current number of rows in the table, rows are discarded.
- * If <code>rowCount</code> is greater than the current number of rows in
- * the table, new (empty) rows are added.
- *
- * @param the row count.
- */
- public void setRowCount(int rowCount)
- {
- int existingRowCount = dataVector.size();
- if (rowCount < existingRowCount)
- {
- dataVector.setSize(rowCount);
- fireTableRowsDeleted(rowCount,existingRowCount-1);
- }
- else
- {
- int rowsToAdd = rowCount - existingRowCount;
- for (int i = 0; i < rowsToAdd; i++)
- {
- Vector tmp = new Vector();
- tmp.setSize(columnIdentifiers.size());
- dataVector.add(tmp);
- }
- fireTableRowsInserted(existingRowCount,rowCount-1);
- }
- }
-
- /**
- * Sets the number of columns in the table. Existing rows are truncated
- * or padded with <code>null</code> values to match the new column count.
- * A {@link TableModelEvent} is sent to all registered listeners.
- *
- * @param columnCount the column count.
- */
- public void setColumnCount(int columnCount)
- {
- for (int i = 0; i < dataVector.size(); ++i)
- {
- ((Vector) dataVector.get(i)).setSize(columnCount);
- }
- if (columnIdentifiers != null)
- columnIdentifiers.setSize(columnCount);
- fireTableDataChanged();
- }
-
- /**
- * Adds a column with the specified name to the table. All cell values
- * for the column are initially set to <code>null</code>.
- *
- * @param columnName the column name (<code>null</code> permitted).
- */
- public void addColumn(Object columnName)
- {
- addColumn(columnName, (Object[]) null);
- }
-
- /**
- * Adds a column with the specified name and data values to the table.
- *
- * @param columnName the column name (<code>null</code> permitted).
- * @param columnData the column data.
- */
- public void addColumn(Object columnName, Vector columnData)
- {
- Object[] dataArray = null;
- if (columnData != null)
- {
- int rowCount = dataVector.size();
- if (columnData.size() < rowCount)
- columnData.setSize(rowCount);
- dataArray = columnData.toArray();
- }
- addColumn(columnName, dataArray);
- }
-
- /**
- * Adds a column with the specified name and data values to the table.
- *
- * @param columnName the column name (<code>null</code> permitted).
- * @param columnData the column data.
- */
- public void addColumn(Object columnName, Object[] columnData) {
- if (columnData != null)
- {
- // check columnData array for cases where the number of items
- // doesn't match the number of rows in the existing table
- if (columnData.length > dataVector.size())
- {
- int rowsToAdd = columnData.length - dataVector.size();
- for (int i = 0; i < rowsToAdd; i++)
- {
- Vector tmp = new Vector();
- tmp.setSize(columnIdentifiers.size());
- dataVector.add(tmp);
- }
- }
- else if (columnData.length < dataVector.size())
- {
- Object[] tmp = new Object[dataVector.size()];
- System.arraycopy(columnData, 0, tmp, 0, columnData.length);
- columnData = tmp;
- }
- }
- for (int i = 0; i < dataVector.size(); ++i)
- {
- ((Vector) dataVector.get(i)).add(columnData == null ? null : columnData[i]);
- }
- columnIdentifiers.add(columnName);
- fireTableDataChanged();
- }
-
- /**
- * Adds a new row containing the specified data to the table and sends a
- * {@link TableModelEvent} to all registered listeners.
- *
- * @param rowData the row data (<code>null</code> permitted).
- */
- public void addRow(Vector rowData) {
- dataVector.add(rowData);
- newRowsAdded(new TableModelEvent(
- this, dataVector.size(), dataVector.size(), -1, TableModelEvent.INSERT)
- );
- }
-
- /**
- * Adds a new row containing the specified data to the table and sends a
- * {@link TableModelEvent} to all registered listeners.
- *
- * @param rowData the row data (<code>null</code> permitted).
- */
- public void addRow(Object[] rowData) {
- addRow(convertToVector(rowData));
- }
-
- /**
- * Inserts a new row into the table.
- *
- * @param row the row index.
- * @param rowData the row data.
- */
- public void insertRow(int row, Vector rowData) {
- dataVector.add(row, rowData);
- fireTableRowsInserted(row,row);
- }
-
- /**
- * Inserts a new row into the table.
- *
- * @param row the row index.
- * @param rowData the row data.
- */
- public void insertRow(int row, Object[] rowData) {
- insertRow(row, convertToVector(rowData));
- }
-
- /**
- * Moves the rows from <code>startIndex</code> to <code>endIndex</code>
- * (inclusive) to the specified row.
- *
- * @param startIndex the start row.
- * @param endIndex the end row.
- * @param toIndex the row to move to.
- */
- public void moveRow(int startIndex, int endIndex, int toIndex) {
- Vector removed = new Vector();
- for (int i = endIndex; i >= startIndex; i--)
- {
- removed.add(this.dataVector.remove(i));
- }
- for (int i = 0; i <= endIndex - startIndex; i++)
- {
- dataVector.insertElementAt(removed.get(i), toIndex);
- }
- fireTableDataChanged();
- }
-
- /**
- * Removes a row from the table and sends a {@link TableModelEvent} to
- * all registered listeners.
- *
- * @param row the row index.
- */
- public void removeRow(int row) {
- dataVector.remove(row);
- fireTableRowsDeleted(row,row);
- }
-
- /**
- * getRowCount
- * @returns int
- */
- public int getRowCount() {
- return dataVector.size();
- }
-
- /**
- * Returns the number of columns in the model.
- *
- * @return The column count.
- */
- public int getColumnCount() {
- return (columnIdentifiers == null ? 0 : columnIdentifiers.size());
- }
-
- /**
- * Returns the name of the specified column.
- *
- * @param column the column index.
- *
- * @returns The column name.
- */
- public String getColumnName(int column) {
- String result = "";
- if (columnIdentifiers == null)
- result = super.getColumnName(column);
- else
- {
- if (column < getColumnCount())
- {
- Object id = columnIdentifiers.get(column);
- if (id != null)
- result = id.toString();
- else
- result = super.getColumnName(column);
- }
- }
- return result;
- }
-
- /**
- * Returns <code>true</code> if the specified cell can be modified, and
- * <code>false</code> otherwise. For this implementation, the method
- * always returns <code>true</code>.
- *
- * @param row the row index.
- * @param column the column index.
- *
- * @returns <code>true</code> in all cases.
- */
- public boolean isCellEditable(int row, int column) {
- return true;
- }
-
- /**
- * Returns the value at the specified cell in the table.
- *
- * @param row the row index.
- * @param column the column index.
- *
- * @returns The value (<code>Object</code>, possibly <code>null</code>) at
- * the specified cell in the table.
- */
- public Object getValueAt(int row, int column) {
- return ((Vector) dataVector.get(row)).get(column);
- }
-
- /**
- * Sets the value for the specified cell in the table and sends a
- * {@link TableModelEvent} to all registered listeners.
- *
- * @param value the value (<code>Object</code>, <code>null</code> permitted).
- * @param row the row index.
- * @param column the column index.
- */
- public void setValueAt(Object value, int row, int column) {
- ((Vector) dataVector.get(row)).set(column, value);
- fireTableCellUpdated(row,column);
- }
-
- /**
- * Converts the data array to a <code>Vector</code>.
- *
- * @param data the data array (<code>null</code> permitted).
- *
- * @returns A vector (or <code>null</code> if the data array
- * is <code>null</code>).
- */
- protected static Vector convertToVector(Object[] data) {
- if (data == null)
- return null;
- Vector vector = new Vector(data.length);
- for (int i = 0; i < data.length; i++)
- vector.add(data[i]);
- return vector;
- }
-
- /**
- * Converts the data array to a <code>Vector</code> of rows.
- *
- * @param the data array (<code>null</code> permitted).
- *
- * @returns A vector (or <code>null</code> if the data array
- * is <code>null</code>.
- */
- protected static Vector convertToVector(Object[][] data) {
- if (data == null)
- return null;
- Vector vector = new Vector(data.length);
- for (int i = 0; i < data.length; i++)
- vector.add(convertToVector(data[i]));
- return vector;
- }
-}
OpenPOWER on IntegriCloud