Please take time to read the code disclaimer.

<--Go back to Kent's Projects

<--Go back to project post

/**
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package encodergui;

import encodequerygenerator.*;
import javax.swing.table.*;

/**
 * @author Kent
 */
public class LanguageDetailsTableModel extends AbstractTableModel {

  private LanguageType languageType = new LanguageType(new Language(new Title(new DVD(new Series(new DVDScanner(new EncodeFrame()), "No Series!"), "No DVD!"))));

  /**
   * Constructor
   * @param languageType 
   */
  public LanguageDetailsTableModel(LanguageType languageType) {
    this.languageType = languageType;
  }

  /**
   * Returns the number of rows for the table
   * @return the size of the Chapter List
   */
  @Override
  public int getRowCount() {
    return languageType.getLanguageList().size();
  }

  /**
   * Returns the number of columns we want for the table
   * @return the number of columns
   */
  @Override
  public int getColumnCount() {
    return 4;
  }

  /**
   * Returns the given cell value
   */
  @Override
  public Object getValueAt(int rowIndex, int columnIndex) {
    Language language = languageType.getLanguageList().get(rowIndex);
    switch (columnIndex) {
      case 0:
        return language.getTitle().getDvd().getSeries().getName();
      case 1:
        return language.getTitle().getDvd().getName();
      case 2:
        return language.getTitle().getNumber();
      case 3:
        return language.getNumber();
      default:
        return "Unknown";
    }
  }

  /**
   * To get the name of the column
   * @param columnIndex
   * @return String
   */
  @Override
  public String getColumnName(int columnIndex) {
    switch (columnIndex) {
      case 0:
        return "Series";
      case 1:
        return "DVD";
      case 2:
        return "Title";
      case 3:
        return "Track";
      default:
        return "Unknown";
    }
  }//End getColumnName

  /**
   * No, it's not editable...
   * @param rowIndex
   * @param columnIndex
   * @return false
   */
  @Override
  public boolean isCellEditable(int rowIndex, int columnIndex) {
    return false;
  }
}