Please take time to read the code disclaimer.
/**
* 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;
}
}