import java.util.*; import java.io.*; import javax.swing.table.AbstractTableModel; /** *

Überschrift: UserCon

* *

Beschreibung: Container Klasse zum speichern von Benutzern

* *

Copyright: Copyright (c) 2005

* *

Organisation:

* * @author Andreas Spirka, Sven Eisenhauer * @version 1.0 */ public class UserCon extends AbstractTableModel implements Serializable { Vector vec = new Vector(); String[] colnam = { "Login","Passwort","Vollständiger Name","UID","Rolle"}; /** * Konstruktor. */ public UserCon() {} /** * @param u User * Fügt u dem Container hinzu */ public void addUser( User u ) { vec.add( u ); // Model wurde verändert fireTableDataChanged(); } /** * @param u User * Löscht u aus dem Container */ public void removeUser( User u ) { vec.remove( u ); // Model wurde verändert fireTableDataChanged(); } /** * Returns the number of columns in the model. * * @return the number of columns in the model * @todo Diese javax.swing.table.TableModel-Methode implementieren */ public int getColumnCount() { return colnam.length; } /** * Column name. * Methode overrides that from AbstactTableModel * @param column int * @return String */ public String getColumnName(int column) { return colnam[ column ]; } /** * Returns the number of rows in the model. * * @return the number of rows in the model * @todo Diese javax.swing.table.TableModel-Methode implementieren */ public int getRowCount() { return vec.size(); } /** * Returns the value for the cell at columnIndex and * rowIndex. * * @param rowIndex the row whose value is to be queried * @param columnIndex the column whose value is to be queried * @return the value Object at the specified cell * @todo Diese javax.swing.table.TableModel-Methode implementieren */ public Object getValueAt(int rowIndex, int columnIndex) { User u = (User) vec.elementAt( rowIndex ); switch (columnIndex) { case 0: // Login return u.getUserName(); case 1: // Passwort return u.getPassWd(); case 2: // Vollst. Name return u.getFullName(); case 3: // UID return u.getUserIdAsString(); case 4: // Rolle als String return u.getRoleAsString(); default: } return null; } /* (non-Javadoc) * @see javax.swing.table.TableModel#setValueAt(java.lang.Object, int, int) */ public void setValueAt(Object o,int rowIndex, int columnIndex) { User u = (User) vec.elementAt(rowIndex); switch (columnIndex) { case 0: // Login u.setUserName((String) o); break; case 1: // Passwort u.setPassWd((String) o); break; case 2: // Vollst. Name u.setFullName((String) o); break; case 3: // UID u.setUserId((String) o); break; case 4: // Rolle u.setRole((String) o); break; default: } vec.setElementAt(u,rowIndex); fireTableCellUpdated(rowIndex,columnIndex); } /** * @return int * Elemente des Containers */ public int size() { return vec.size(); } /** * @param i int * @return Object * Return element at i */ public Object elementAt(int i) { return (Object) vec.elementAt(i); } /* (non-Javadoc) * @see javax.swing.table.TableModel#isCellEditable(int, int) */ public boolean isCellEditable(int x, int y) { return true; } /*public Class getColumnClass(int c) { return getValueAt(0, c).getClass(); }*/ } // end Class UserCon