de.katho.kBorrow.models

## Class ArticleTableModel

- java.lang.Object
- - javax.swing.table.AbstractTableModel
  - - de.katho.kBorrow.models.ArticleTableModel

All Implemented Interfaces:
  KGuiModel, java.io.Serializable, javax.swing.table.TableModel

Direct Known Subclasses:
  FreeArticleTableModel

    public class ArticleTableModel
    extends javax.swing.table.AbstractTableModel
    implements KGuiModel

Enthält die für die ArticleTable benötigten Daten.

See Also:
  Serialized Form

### Field Summary

Fields
`protected java.util.ArrayList<KArticle>` `data` Daten der Tabelle: Komplette Liste der Artikel
`protected java.lang.String[]` `header` Enthält die Überschriften der Tabellenspalten
`private static long` `serialVersionUID` Serial Version UID

### Fields inherited from class javax.swing.table.AbstractTableModel

`listenerList`

### Constructor Summary

Constructors
Constructor and Description
`ArticleTableModel(KArticleModel pModel)` Erzeugt das ArticleTableModel.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `fetchData(KDataModel pModel)` Holt die benötigten Daten aus dem als Parameter übergebenen KDataModel.
`int` `getColumnCount()` Gibt Anzahl der Tabellenspalten zurück.
`java.lang.String` `getColumnName(int col)` Gibt Namen der per Parameter angegebenen Tabellenspalte zurück.
`int` `getIdFromRow(int pRow)` Gibt die Artikel-ID in der übergebenen Zeile zurück.
`int` `getRowCount()` Gibt Anzahl der Tabellenzeilen zurück.
`java.lang.Object` `getValueAt(int pRow, int pCol)` Gibt den Wert der per Parameter angegebenen Tabellenzelle zurück.
`boolean` `isCellEditable(int pRow, int pCol)` Gibt zurück, ob eine Tabellenzelle editierbar ist.

### Methods inherited from class javax.swing.table.AbstractTableModel

`addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener, setValueAt`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### serialVersionUID

    private static final long serialVersionUID

Serial Version UID

See Also:
  Constant Field Values

#### header

    protected java.lang.String[] header

Enthält die Überschriften der Tabellenspalten

#### data

    protected java.util.ArrayList<KArticle> data

Daten der Tabelle: Komplette Liste der Artikel

### Constructor Detail

#### ArticleTableModel

    public ArticleTableModel(KArticleModel pModel)

Erzeugt das ArticleTableModel.

Parameters:
  `pModel` - Referenz auf das KArticleModel

### Method Detail

#### getColumnName

    public java.lang.String getColumnName(int col)

Gibt Namen der per Parameter angegebenen Tabellenspalte zurück.

Specified by:
  `getColumnName` in interface `javax.swing.table.TableModel`
Overrides:
  `getColumnName` in class `javax.swing.table.AbstractTableModel`
Parameters:
  `col` - Spaltennummer, deren Name zurückgegeben werden soll.
Returns:
  Spaltenname als String.

#### getColumnCount

    public int getColumnCount()

Gibt Anzahl der Tabellenspalten zurück.

Specified by:
  `getColumnCount` in interface `javax.swing.table.TableModel`
Returns:
  Anzahl der Tabellenspalten.

#### getRowCount

    public int getRowCount()

Gibt Anzahl der Tabellenzeilen zurück.

Specified by:
  `getRowCount` in interface `javax.swing.table.TableModel`
Returns:
  Anzahl der Tabellenzeilen als Int.

#### getValueAt

    public java.lang.Object getValueAt(int pRow,
                                       int pCol)

Gibt den Wert der per Parameter angegebenen Tabellenzelle zurück.

Specified by:
  `getValueAt` in interface `javax.swing.table.TableModel`
Parameters:
  `pRow` - Zeile der angefragten Tabellenzelle.
  `pCol` - Spalte der angefragten Tabellenzelle.
Returns:
  Inhalt der angefragten Tabellenzelle.

#### isCellEditable

    public boolean isCellEditable(int pRow,
                                  int pCol)

Gibt zurück, ob eine Tabellenzelle editierbar ist.

Alle Spalten größer 2 sind editierbar.

Specified by:
  `isCellEditable` in interface `javax.swing.table.TableModel`
Overrides:
  `isCellEditable` in class `javax.swing.table.AbstractTableModel`
Parameters:
  `pRow` - Zeile der angefragten Zelle.
  `pCol` - Spalte der angefragten Zelle.
Returns:
  Editierbarkeit einer Tabellenzelle (true, falls pCol größer 2).

#### getIdFromRow

    public int getIdFromRow(int pRow)

Gibt die Artikel-ID in der übergebenen Zeile zurück.

Parameters:
  `pRow` - Zeile, deren Artikel-ID ermittelt werden soll.
Returns:
  Artikel-ID als Int.

#### fetchData

    public void fetchData(KDataModel pModel)

Holt die benötigten Daten aus dem als Parameter übergebenen KDataModel.

Specified by:
  `fetchData` in interface `KGuiModel`
Parameters:
  `pModel` - KDataModel, von dem die Daten geholt werden sollen.