All pastes #262884 Raw Edit

EventModel

public text v1 · immutable
#262884 ·published 2006-11-30 23:27 UTC
rendered paste body
package se20.coursework;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.table.AbstractTableModel;
/**
*
* @author James Szabo
* @version
*/

public abstract class EventsModel extends AbstractTableModel
{
  
  private static final int NUM_COLUMNS = 6;
  
  public int getColumnCount()
  {
    return NUM_COLUMNS;
  }
  
  @Override public String getColumnName(int columnIndex)
  {
    switch (columnIndex) {
      case 0: return "Date";
      case 1: return "Time";
      case 2: return "Room";
      case 3: return "Artist";
      case 4: return "Ticket Price";
      case 5: return "Tickets Available";
      default: return null;
    }
  }
  
  public Object getValueAt(int rowIndex, int columnIndex)
  {
    switch (columnIndex) {
      case 0: return getEvent(rowIndex).getDate();
      case 1: return getEvent(rowIndex).getTime();
      case 2: return getEvent(rowIndex).getRoom();
      case 3: return getEvent(rowIndex).getArtist();
      case 4: return getEvent(rowIndex).getTicketPrice();
      case 5: return getEvent(rowIndex).getTicketsRemaining();
      default: return null;
    }
  }
  
  
    private ResultSet data;
    public EventsModel()
    {
      data = null;
    }

    public EventsModel(ResultSet results)
    {
      update(results);
    }

public void update(ResultSet results)
    {
      data = results;
      fireTableDataChanged();
    }

    public int getRowCount()
    {
      if (data == null)
        return 0;

      try {
        data.last();
        return data.getRow();
      }
      catch (SQLException error) {
        return 0;
      }
    }

protected Event getEvent(int rowIndex)
    {
      if (data == null)
        return null;

      try {
        if (!data.absolute(rowIndex+1))
          return null;
        else {
          String date = data.getString(1);
          String time = data.getString(2);
          String room = data.getString(3);
          String artist = data.getString(4);
          int ticketPrice = data.getInt(5);
          int ticketsRemaining = data.getInt(6);
          return new Event(date, time, room, artist, ticketPrice, ticketsRemaining);
        }
      }
      catch (SQLException error) {
        return null;
      }
    }
  }