home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.table;
-
- import com.sun.java.swing.event.TableModelEvent;
- import java.io.Serializable;
- import java.util.Enumeration;
- import java.util.Vector;
-
- public class DefaultTableModel extends AbstractTableModel implements Serializable {
- protected Vector dataVector;
- protected Vector columnIdentifiers;
- int numColumns;
- int numRows;
-
- public DefaultTableModel() {
- this((Vector)null, 0);
- }
-
- public DefaultTableModel(int var1, int var2) {
- this(new Vector(var1), var2);
- }
-
- public DefaultTableModel(Vector var1, int var2) {
- if (var1 != null) {
- this.numColumns = var1.size();
- this.columnIdentifiers = var1;
- } else {
- this.numColumns = 0;
- this.columnIdentifiers = new Vector();
- }
-
- this.dataVector = new Vector();
- this.numRows = 0;
- if (var2 != 0) {
- this.setNumRows(var2);
- }
-
- }
-
- public DefaultTableModel(Object[] var1, int var2) {
- this(convertToVector(var1), var2);
- }
-
- public DefaultTableModel(Vector var1, Vector var2) {
- this((Vector)null, 0);
- this.setDataVector(var1, var2);
- }
-
- public DefaultTableModel(Object[][] var1, Object[] var2) {
- this((Vector)null, 0);
- this.setDataVector(var1, var2);
- }
-
- public Vector getDataVector() {
- return this.dataVector;
- }
-
- public void setDataVector(Vector var1, Vector var2) {
- if (var1 == null) {
- throw new IllegalArgumentException("setDataVector() - Null parameter");
- } else {
- if (var2 != null) {
- this.columnIdentifiers = var2;
- }
-
- this.dataVector = var1;
- this.numColumns = ((Vector)this.dataVector.elementAt(0)).size();
- this.newDataAvailable((TableModelEvent)null);
- }
- }
-
- public void setDataVector(Object[][] var1, Object[] var2) {
- Vector var3 = null;
- if (var2 != null) {
- var3 = convertToVector(var2);
- }
-
- this.setDataVector(convertToVector(var1), var3);
- }
-
- public void newDataAvailable(TableModelEvent var1) {
- if (var1 == null || this.dataVector.size() != this.numRows) {
- this.numRows = this.dataVector.size();
- var1 = new TableModelEvent(this, -1);
- this.setColumnIdentifiers(this.columnIdentifiers);
- }
-
- ((AbstractTableModel)this).fireTableChanged(var1);
- }
-
- public void newRowsAdded(TableModelEvent var1) {
- this.numRows = this.dataVector.size();
- int var2 = var1.getFirstRow();
- int var3 = var1.getLastRow();
- if (var2 < 0) {
- var2 = 0;
- }
-
- if (var3 < 0) {
- var3 = this.numRows - 1;
- }
-
- for(int var4 = var2; var4 <= var3; ++var4) {
- ((Vector)this.dataVector.elementAt(var4)).setSize(this.numColumns);
- }
-
- ((AbstractTableModel)this).fireTableChanged(var1);
- }
-
- public void rowsRemoved(TableModelEvent var1) {
- if (var1 == null) {
- throw new IllegalArgumentException("rowsRemoved() - null parameter");
- } else {
- this.numRows = this.dataVector.size();
- ((AbstractTableModel)this).fireTableChanged(var1);
- }
- }
-
- public void setColumnIdentifiers(Vector var1) {
- if (var1 != null) {
- this.columnIdentifiers = var1;
- this.numColumns = var1.size();
- } else {
- this.columnIdentifiers = new Vector();
- this.numColumns = 0;
- }
-
- ((AbstractTableModel)this).fireTableStructureChanged();
- }
-
- public void setColumnIdentifiers(Object[] var1) {
- this.setColumnIdentifiers(convertToVector(var1));
- }
-
- public void setNumRows(int var1) {
- if (var1 >= 0 && var1 != this.numRows) {
- int var2 = this.numRows;
- if (var1 <= this.numRows) {
- this.numRows = var1;
- this.dataVector.setSize(this.numRows);
- this.rowsRemoved(new TableModelEvent(this, this.numRows, var2 - 1, -1, -1));
- } else {
- while(this.numRows < var1) {
- Vector var3 = new Vector(this.numColumns);
- this.dataVector.addElement(var3);
- ++this.numRows;
- }
-
- this.newRowsAdded(new TableModelEvent(this, var2, this.numRows - 1, -1, 1));
- }
- }
- }
-
- public void addColumn(Object var1) {
- this.addColumn(var1, (Vector)null);
- }
-
- public void addColumn(Object var1, Vector var2) {
- if (var1 == null) {
- throw new IllegalArgumentException("addColumn() - null parameter");
- } else {
- this.columnIdentifiers.addElement(var1);
- ++this.numColumns;
- int var3 = 0;
-
- for(Enumeration var4 = this.dataVector.elements(); var4.hasMoreElements(); ++var3) {
- Object var5;
- if (var2 != null && var3 < var2.size()) {
- var5 = var2.elementAt(var3);
- } else {
- var5 = null;
- }
-
- ((Vector)var4.nextElement()).addElement(var5);
- }
-
- ((AbstractTableModel)this).fireTableChanged((TableModelEvent)null);
- }
- }
-
- public void addColumn(Object var1, Object[] var2) {
- if (var1 == null) {
- throw new IllegalArgumentException("addColumn() - null parameter");
- } else {
- this.columnIdentifiers.addElement(var1);
- ++this.numColumns;
- int var3 = 0;
-
- for(Enumeration var4 = this.dataVector.elements(); var4.hasMoreElements(); ++var3) {
- Object var5;
- if (var2 != null && var3 < var2.length) {
- var5 = var2[var3];
- } else {
- var5 = null;
- }
-
- ((Vector)var4.nextElement()).addElement(var5);
- }
-
- ((AbstractTableModel)this).fireTableChanged((TableModelEvent)null);
- }
- }
-
- public void addRow(Vector var1) {
- if (var1 == null) {
- new Vector(this.numColumns);
- }
-
- this.dataVector.addElement(var1);
- ++this.numRows;
- this.newRowsAdded(new TableModelEvent(this, this.numRows - 1, this.numRows - 1, -1, 1));
- }
-
- public void addRow(Object[] var1) {
- Vector var2 = null;
- if (var1 != null) {
- var2 = convertToVector(var1);
- }
-
- this.addRow(var2);
- }
-
- public void insertRow(int var1, Vector var2) {
- Vector var3 = var2;
- if (var2 == null) {
- var3 = new Vector(this.numColumns);
- }
-
- var3.setSize(this.numColumns);
- this.dataVector.insertElementAt(var3, var1);
- ++this.numRows;
- this.newRowsAdded(new TableModelEvent(this, var1, this.numRows - 1, -1, 1));
- }
-
- public void insertRow(int var1, Object[] var2) {
- Vector var3 = null;
- if (var2 != null) {
- var3 = convertToVector(var2);
- }
-
- this.insertRow(var1, var3);
- }
-
- public void moveRow(int var1, int var2, int var3) {
- if (var1 >= 0 && var1 < this.numColumns) {
- if (var2 >= 0 && var2 < this.numColumns) {
- if (var1 < var2) {
- throw new ArrayIndexOutOfBoundsException();
- } else if (var1 > var3 || var3 > var2) {
- boolean var4 = var3 < var1;
- Object var5 = null;
- TableModelEvent var8;
- if (var4) {
- var8 = new TableModelEvent(this, var3, var2);
- } else {
- var8 = new TableModelEvent(this, var1, var3);
- }
-
- for(int var6 = var1; var6 <= var2; ++var6) {
- Object var7 = this.dataVector.elementAt(var6);
- this.dataVector.removeElementAt(var6);
- this.dataVector.insertElementAt(var7, var3);
- if (var4) {
- ++var3;
- }
- }
-
- ((AbstractTableModel)this).fireTableChanged(var8);
- }
- } else {
- throw new ArrayIndexOutOfBoundsException(var2);
- }
- } else {
- throw new ArrayIndexOutOfBoundsException(var1);
- }
- }
-
- public void removeRow(int var1) {
- this.dataVector.removeElementAt(var1);
- --this.numRows;
- this.rowsRemoved(new TableModelEvent(this, var1, this.numRows - 1, -1, -1));
- }
-
- public int getRowCount() {
- return this.numRows;
- }
-
- public int getColumnCount() {
- return this.numColumns;
- }
-
- public String getColumnName(int var1) {
- if (this.columnIdentifiers != null && this.columnIdentifiers.size() > var1) {
- Object var2 = this.columnIdentifiers.elementAt(var1);
- return var2 == null ? super.getColumnName(var1) : var2.toString();
- } else {
- return super.getColumnName(var1);
- }
- }
-
- public boolean isCellEditable(int var1, int var2) {
- return true;
- }
-
- public Object getValueAt(int var1, int var2) {
- Vector var3 = (Vector)this.dataVector.elementAt(var1);
- return var3.elementAt(var2);
- }
-
- public void setValueAt(Object var1, int var2, int var3) {
- Vector var4 = (Vector)this.dataVector.elementAt(var2);
- var4.setElementAt(var1, var3);
- ((AbstractTableModel)this).fireTableChanged(new TableModelEvent(this, var2, var2, var3));
- }
-
- protected static Vector convertToVector(Object[] var0) {
- if (var0 == null) {
- return new Vector();
- } else {
- Vector var1 = new Vector(var0.length);
-
- for(int var2 = 0; var2 < var0.length; ++var2) {
- var1.addElement(var0[var2]);
- }
-
- return var1;
- }
- }
-
- protected static Vector convertToVector(Object[][] var0) {
- if (var0 == null) {
- return new Vector();
- } else {
- Vector var1 = new Vector(var0.length);
-
- for(int var2 = 0; var2 < var0.length; ++var2) {
- var1.addElement(convertToVector(var0[var2]));
- }
-
- return var1;
- }
- }
- }
-