de.katho.kBorrow.models

## Class LendingTableModel

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

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

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

See Also:
  Serialized Form

### Field Summary

Fields
`private KDataModel` `articleModel` Referenz auf das ArticleModel
`private java.util.ArrayList<KLending>` `data` Daten der Tabelle: Sämtliche aktiven Ausleihen.
`private java.lang.String[]` `header` Enthält die Überschriften der Tabellenspalten.
`private KDataModel` `lenderModel` Referenz auf das LenderModel
`private KDataModel` `lendingModel` Referenz auf das LendingModel
`private static long` `serialVersionUID` Serial Version UID
`private KDataModel` `userModel` Referenz auf das UserModel

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

`listenerList`

### Constructor Summary

Constructors
Constructor and Description
`LendingTableModel(java.util.HashMap<java.lang.String,KDataModel> pModels)` Erzeugt das LendingTableModel.

### 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 Ausleihen-ID in der übergebenen Zeile zurück.
`int` `getRowCount()` Gibt Anzahl der Tabellenzeilen zurück.
`java.lang.Object` `getValueAt(int row, int col)` Gibt den Wert der per Parameter angegebenen Tabellenzelle zurück.
`boolean` `isCellEditable(int row, int col)` 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

    private java.lang.String[] header

Enthält die Überschriften der Tabellenspalten.

#### data

    private java.util.ArrayList<KLending> data

Daten der Tabelle: Sämtliche aktiven Ausleihen.

#### articleModel

    private KDataModel articleModel

Referenz auf das ArticleModel

#### lenderModel

    private KDataModel lenderModel

Referenz auf das LenderModel

#### userModel

    private KDataModel userModel

Referenz auf das UserModel

#### lendingModel

    private KDataModel lendingModel

Referenz auf das LendingModel

### Constructor Detail

#### LendingTableModel

    public LendingTableModel(java.util.HashMap<java.lang.String,KDataModel> pModels)

Erzeugt das LendingTableModel.

Parameters:
  `pModels` - HashMap mit Referenzen auf alle KDataModels

### Method Detail

#### getColumnCount

    public int getColumnCount()

Gibt Anzahl der Tabellenspalten zurück.

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

#### 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.

#### 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 row,
                                       int col)

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

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

#### isCellEditable

    public boolean isCellEditable(int row,
                                  int col)

Gibt zurück, ob eine Tabellenzelle editierbar ist.

Alle Spalten größer 4 sind editierbar.

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

#### 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.

#### getIdFromRow

    public int getIdFromRow(int pRow)

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

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