// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __javax_swing_table_DefaultTableModel__
#define __javax_swing_table_DefaultTableModel__

#pragma interface

#include <javax/swing/table/AbstractTableModel.h>
#include <gcj/array.h>

extern "Java"
{
  namespace javax
  {
    namespace swing
    {
      namespace table
      {
        class DefaultTableModel;
      }
      namespace event
      {
        class TableModelEvent;
      }
    }
  }
}

class javax::swing::table::DefaultTableModel : public ::javax::swing::table::AbstractTableModel
{
public:
  DefaultTableModel ();
  DefaultTableModel (jint, jint);
  DefaultTableModel (::java::util::Vector *, jint);
  DefaultTableModel (JArray< ::java::lang::Object *> *, jint);
  DefaultTableModel (::java::util::Vector *, ::java::util::Vector *);
  DefaultTableModel (JArray<JArray< ::java::lang::Object *> *> *, JArray< ::java::lang::Object *> *);
  virtual ::java::util::Vector *getDataVector () { return dataVector; }
  virtual void setDataVector (::java::util::Vector *, ::java::util::Vector *);
  virtual void setDataVector (JArray<JArray< ::java::lang::Object *> *> *, JArray< ::java::lang::Object *> *);
  virtual void newDataAvailable (::javax::swing::event::TableModelEvent *);
  virtual void newRowsAdded (::javax::swing::event::TableModelEvent *);
  virtual void rowsRemoved (::javax::swing::event::TableModelEvent *);
  virtual void setColumnIdentifiers (::java::util::Vector *);
  virtual void setColumnIdentifiers (JArray< ::java::lang::Object *> *);
  virtual void setNumRows (jint);
  virtual void setRowCount (jint);
  virtual void setColumnCount (jint);
  virtual void addColumn (::java::lang::Object *);
  virtual void addColumn (::java::lang::Object *, ::java::util::Vector *);
  virtual void addColumn (::java::lang::Object *, JArray< ::java::lang::Object *> *);
  virtual void addRow (::java::util::Vector *);
  virtual void addRow (JArray< ::java::lang::Object *> *);
  virtual void insertRow (jint, ::java::util::Vector *);
  virtual void insertRow (jint, JArray< ::java::lang::Object *> *);
  virtual void moveRow (jint, jint, jint);
  virtual void removeRow (jint);
  virtual jint getRowCount ();
  virtual jint getColumnCount ();
  virtual ::java::lang::String *getColumnName (jint);
  virtual jboolean isCellEditable (jint, jint);
  virtual ::java::lang::Object *getValueAt (jint, jint);
  virtual void setValueAt (::java::lang::Object *, jint, jint);
public:  // actually protected
  static ::java::util::Vector *convertToVector (JArray< ::java::lang::Object *> *);
  static ::java::util::Vector *convertToVector (JArray<JArray< ::java::lang::Object *> *> *);
private:
  void addExtraRows (jint, jint);
  void checkSize ();
public: // actually package-private
  static const jlong serialVersionUID = 6680042567037222321LL;
public:  // actually protected
  ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::table::AbstractTableModel )))) dataVector;
  ::java::util::Vector *columnIdentifiers;
public:

  static ::java::lang::Class class$;
};

#endif /* __javax_swing_table_DefaultTableModel__ */
