001 package data.swing; 002 003 import data.*; 004 005 import util.swing.*; 006 007 /** 008 * A {@link TableEntryDescriptor} that can be used with a {@link CatalogTableModel}. 009 * 010 * <p>There will be two columns headed "Name" and "Value". The first will display the 011 * CatalogItems' names, the second their values.</p> 012 * 013 * @author Steffen Zschaler 014 * @version 2.0 23/08/1999 015 * @since v2.0 016 */ 017 public class DefaultCatalogItemTED extends AbstractTableEntryDescriptor { 018 019 /** 020 * ID for serialization. 021 */ 022 private static final long serialVersionUID = -301307331065480096L; 023 024 /** 025 * Create a new DefaultCatalogItemTED. 026 */ 027 public DefaultCatalogItemTED() { 028 super(); 029 } 030 031 /** 032 * @return 2. 033 * @override Sometimes 034 */ 035 public int getColumnCount() { 036 return 2; 037 } 038 039 /** 040 * @return "Name" for the first, "Value" for the second column. 041 * @override Sometimes 042 */ 043 public String getColumnName(int nIdx) { 044 String[] asNames = { 045 "Name", "Value"}; 046 return asNames[nIdx]; 047 } 048 049 /** 050 * @return <code>String.class</code> for the first, <code>{@link Value}.class</code> for the second column. 051 * @override Sometimes 052 */ 053 public Class<?> getColumnClass(int nIdx) { 054 Class[] acClasses = { 055 String.class, Value.class}; 056 return acClasses[nIdx]; 057 } 058 059 /** 060 * @return the CatalogItem's name for the first, its value for the second column. 061 * @override Sometimes 062 */ 063 public Object getValueAt(Object oData, int nIdx) { 064 if (nIdx == 0) { 065 return ((CatalogItem)oData).getName(); 066 } else { 067 return ((CatalogItem)oData).getValue(); 068 } 069 } 070 }