package jadex.base.gui.componentviewer.dfservice; import jadex.base.fipa.IDFComponentDescription; import jadex.base.fipa.IDFServiceDescription; import jadex.bridge.IComponentIdentifier; import java.util.Date; import javax.swing.table.AbstractTableModel; /** * The table model for component descriptions. */ class ComponentTableModel extends AbstractTableModel { protected IDFComponentDescription[] ads; /** * @return 6 * @see javax.swing.table.TableModel#getColumnCount() */ public int getColumnCount() { return 6; } /** * @param ad */ public void setComponentDescriptions(IDFComponentDescription[] ad) { ads = ad; fireTableDataChanged(); } /** * @return all component subscriptions length * @see javax.swing.table.TableModel#getRowCount() */ public int getRowCount() { return ads != null ? ads.length : 0; } /** * @param rowIndex * @param columnIndex * @return the values of this table * @see javax.swing.table.TableModel#getValueAt(int, int) */ public Object getValueAt(int rowIndex, int columnIndex) { if(ads == null || rowIndex < 0 || rowIndex >= ads.length) { return null; } IDFComponentDescription ad = ads[rowIndex]; switch(columnIndex) { case 0: return ad.getName(); case 1: return ad.getLeaseTime(); case 2: return ad.getServices(); case 3: return ad.getOntologies(); case 4: return ad.getLanguages(); case 5: return ad.getProtocols(); } return null; } /** * @param columnIndex * @return the name of a columnt * @see javax.swing.table.AbstractTableModel#getColumnName(int) */ public String getColumnName(int columnIndex) { switch(columnIndex) { case 0: return "Component"; case 1: return "Leasetime"; case 2: return "Services"; case 3: return "Ontologies"; case 4: return "Languages"; case 5: return "Protocols"; } return null; } /** * @param columnIndex * @return the class of a column * @see javax.swing.table.AbstractTableModel#getColumnClass(int) */ public Class getColumnClass(int columnIndex) { switch(columnIndex) { case 0: return IComponentIdentifier.class; case 1: return Date.class; case 2: return IDFServiceDescription[].class; case 3: return String[].class; case 4: return String[].class; case 5: return String[].class; } return null; } /** * @param i * @return the component description at row i */ public IDFComponentDescription getComponentDescription(int i) { return ads == null || i < 0 || i >= ads.length ? null : ads[i]; } }