package com.jbidwatcher.ui.table; /* * Copyright (c) 2000-2007, CyberFOX Software, Inc. All Rights Reserved. * * Developed by mrs (Morgan Schweers) * Date: Jun 3, 2005 * Time: 2:11:32 AM * * Contains the basic list of columns for potential display, and their display-names. */ import com.jbidwatcher.scripting.Scripting; import java.util.HashMap; import java.util.Map; import java.util.Collection; public class TableColumnController { private static TableColumnController m_instance = new TableColumnController(); public static final int ID=0; public static final int CUR_BID=1; public static final int SNIPE_OR_MAX=2; public static final int TIME_LEFT=3; public static final int TITLE=4; public static final int STATUS=5; public static final int SELLER=6; public static final int SHIPPING_INSURANCE=7; public static final int BIDDER=8; public static final int MAX=9; public static final int SNIPE=10; public static final int COMMENT=11; public static final int END_DATE=12; public static final int FIXED_PRICE=13; public static final int SELLER_FEEDBACK=14; public static final int SELLER_POSITIVE_FEEDBACK=15; public static final int ITEM_LOCATION=16; public static final int BIDCOUNT=17; public static final int JUSTPRICE=18; public static final int CUR_TOTAL=19; public static final int SNIPE_TOTAL=20; public static final int THUMBNAIL = 21; static final int MAX_FIXED_COLUMN=21; private static int columnCount =22; private static Map<Integer, String> m_column_map; static int columnCount() { return columnCount; } private TableColumnController() { m_column_map = new HashMap<>(columnCount * 3); m_column_map.put(ID, "Number"); m_column_map.put(CUR_BID, "Current"); m_column_map.put(SNIPE_OR_MAX, "Max"); m_column_map.put(TIME_LEFT, "Time left"); m_column_map.put(TITLE, "Description"); m_column_map.put(STATUS, "Status"); m_column_map.put(SELLER, "Seller"); m_column_map.put(SHIPPING_INSURANCE, "Shipping"); m_column_map.put(BIDDER, "High Bidder"); m_column_map.put(MAX, "Max Bid"); m_column_map.put(SNIPE, "Snipe Bid"); m_column_map.put(COMMENT, "Comment"); m_column_map.put(END_DATE, "End Date"); m_column_map.put(FIXED_PRICE, "Buy Price"); m_column_map.put(SELLER_FEEDBACK, "Feedback"); m_column_map.put(SELLER_POSITIVE_FEEDBACK, "Feedback %"); m_column_map.put(ITEM_LOCATION, "Location"); m_column_map.put(BIDCOUNT, "# of bids"); m_column_map.put(JUSTPRICE, "Price"); m_column_map.put(CUR_TOTAL, "Total"); m_column_map.put(SNIPE_TOTAL, "Snipe Max"); m_column_map.put(THUMBNAIL, "Thumbnail"); } public static TableColumnController getInstance() { return m_instance; } String getColumnName(int index) { return m_column_map.get(index); } public int getColumnNumber(String colName) { if(colName.equals("Ended at")) colName = "End Date"; for (Map.Entry<Integer, String> entry : m_column_map.entrySet()) { if (entry.getValue().equals(colName)) { return entry.getKey(); } } return -1; } public Collection<String> getColumnNames() { return m_column_map.values(); } public void addColumn(String name) { m_column_map.put(columnCount++, name); } String customColumn(int j, Object auctionEntry) { return (String)Scripting.rubyMethod("custom_column", getColumnName(j), auctionEntry); } }