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 * Create a new DefaultCatalogItemTED.
021 */
022 public DefaultCatalogItemTED() {
023 super();
024 }
025
026 /**
027 * @return 2.
028 * @override Sometimes
029 */
030 public int getColumnCount() {
031 return 2;
032 }
033
034 /**
035 * @return "Name" for the first, "Value" for the second column.
036 * @override Sometimes
037 */
038 public String getColumnName(int nIdx) {
039 String[] asNames = {
040 "Name", "Value"};
041 return asNames[nIdx];
042 }
043
044 /**
045 * @return <code>String.class</code> for the first, <code>{@link Value}.class</code> for the second column.
046 * @override Sometimes
047 */
048 public Class getColumnClass(int nIdx) {
049 Class[] acClasses = {
050 String.class, Value.class};
051 return acClasses[nIdx];
052 }
053
054 /**
055 * @return the CatalogItem's name for the first, its value for the second column.
056 * @override Sometimes
057 */
058 public Object getValueAt(Object oData, int nIdx) {
059 if (nIdx == 0) {
060 return ((CatalogItem)oData).getName();
061 } else {
062 return ((CatalogItem)oData).getValue();
063 }
064 }
065 }