001    import data.*;
002    import data.swing.*;
003    
004    import sale.*;
005    
006    
007    /**
008     * Ein TableEntryDescriptor zur Darstellung des Videoangebotes.
009     */
010    public class OfferTED extends DefaultMoneyBagItemTED
011    {
012    
013      //// attributes ///////////////////////////////////////////////////////////
014    
015      private boolean withCount;  // Spalte fuer Anzahl mit anzeigen?
016    
017    
018      //// constructor ///////////////////////////////////////////////////////////
019    
020      /**
021       * Konstruktor. Erzeugt einen neues Objekt vom Typ OfferTED.
022       */
023      public OfferTED(boolean withCount)
024      {
025        super((Currency)Shop.getTheShop().getCatalog("DM"));
026        this.withCount = withCount;
027      }
028      
029    
030      //// public methods ///////////////////////////////////////////////////////
031    
032      /**
033       * Gibt die Spaltenanzahl der Tabelle zurück.
034       */
035      public int getColumnCount()
036      {
037        return withCount?3:2;
038      }
039      
040      /**
041       * Gibt die Überschrift einer Spalte zurück.
042       */
043      public String getColumnName(int nIndex)
044      {
045        return (new String[] {"Name", "Price", "Available"}) [nIndex];
046      }
047      
048      /**
049       * Gibt den Wert einer Tabellenzelle zurück.
050       */
051      public Object getValueAt(Object oRecord, int nIndex)
052      {
053        // wenn Preis angefordert...
054        if (nIndex == 1) 
055        {
056          // die videokassette ermitteln
057          VideoCassette vidCassette = (VideoCassette)(
058            (CountingStockTableModel.Record)oRecord).getDescriptor();
059          
060          // den Verkaufspreis ermitteln und zurueckgeben
061          return ((QuoteValue)vidCassette.getValue()).getBid();
062        }
063        else 
064          return super.getValueAt(oRecord, nIndex);
065      }
066    }