package cz.cvut.fel.restauracefel.sklad_service;
import cz.cvut.fel.restauracefel.library.service.LocalizationManager;
import java.util.ResourceBundle;
import javax.swing.table.AbstractTableModel;
/**
* Trida reprezentujici datovy model pro tabulky.
*
* @author Jarda
*/
public class ResultTableModel extends AbstractTableModel {
//column names
private static final ResourceBundle rb = LocalizationManager.getInstance().getResourceBundle("cz.cvut.fel.restauracefel.localization.restaurace_fel_bundle");
public static String[] namesMaterial = {"ID", rb.getString("name"), rb.getString("actualAmount"), "Druh suroviny", rb.getString("unit"), "Čárový kód", rb.getString("minimalAmount"), "Hustota", "Váha prázdného balení", "Objem balení"};
public static String[] namesUser = {"ID", "Křestní jméno", "Příjmení", "Role", "PIN", "Uživatelské jméno", "Vlastní heslo"};
public static String[] namesIncome = {"ID", "Datum", "Surovina", "Množství", "Jednotka", "Cena", "Odpovědná osoba", "Poznámka"};
public static String[] namesExpenditure = {"ID", "Datum", "Surovina", "Množství", "Jednotka", "Odpovědná osoba", "Poznámka"};
public static String[] namesDepreciation = {"ID", "Datum", "Surovina", "Množství", "Jednotka", "Důvod", "Zavinil", "Zapsal", "Poznámka"};
public static String[] namesMatType = {"ID", "Název druhu", "Poznámka"};
public static String[] namesReasonType = {"ID", "Název důvodu odpisu", "Bližší informace"};
public static String[] namesMenu = {"ID", "Název Menu", "Datum vytvoření Menu", "Vytvoříl Menu"};
public static String[] namesTable = {"ID", "Číslo stolu", "Počet míst k sezení"};
public static String[] namesRecipe = {"ID", "Surovina", "Množství", "Jednotka"};
public static String[] namesMenuItem = {"ID", "Kategorie", "Název položky menu", "Množství", "Cena", "Dostupnost"};
public static String[] namesMenuMenuItem = {"ID", "Kategorie", "Název položky menu", "Množství", "Cena"};
public static String[] namesMenuItemType = {"ID", "Název kategorie", "Počet položek menu"};
public static String[] namesUzaverkaKontroly = {"Název suroviny", "Původní množství", "Nové množství", "Prodáno (dle váhy)", "Prodáno (dle pokladny)", "Rozdíl", "Platná"};
public static String[] namesUzaverka = {"ID", "Datum", "Počet vážených surovin", "Uživatel", "Uzavřeno"};
//public static String[] namesUzaverkaStatistika = {"Surovina", "Původní stav", "Prodáno"};
public static String[] namesUzaverkaStatistika = {rb.getString("material"), "Od", "Do", rb.getString("sold"), "Prodáno lahví", rb.getString("initialState"), "Zváženo po", "Objem změřený váhou", "Absolutní rozdíl", "Procentuální rozdíl"};
public static String[] namesKontroly = {"Surovina", "Objem"};
private String[] columnData = null;
private Object[][] tableData = null;
/**
* Konstruktor tridy ResultTableModel. Ze zadanyho pole dat a nazvu sloupcu
* vytvori tabulkovy datovy model.
*
* @param headerNames nazvy sloupcu
* @param data data tabulky
*/
public ResultTableModel(String[] headerNames, Object[][] data) {
this.columnData = headerNames;
this.tableData = data;
}
/**
* Bezparametricky konstruktor tridy ResultTableModel.
*/
public ResultTableModel() {
}
/**
* Vraci hodnotu z datoveho modelu pro dany radek a sloupec.
*
* @param rowIndex index radku
* @param columnIndex index sloupce
* @return hodnota reprezentovana objektem tridy Object
*/
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
if (this.tableData == null) {
return null;
}
return this.tableData[rowIndex][columnIndex];
}
/**
* Metoda vraci pocet sloupcu sloupcu.
*
* @return pocet sloupcu
*/
@Override
public int getColumnCount() {
return this.columnData.length;
}
/**
* Metoda vraci pocet radku.
*
* @return pocet radku
*/
@Override
public int getRowCount() {
if (this.tableData == null) {
return 0;
}
return this.tableData.length;
}
/**
* Metoda vraci nazev sloupce na dane pozici.
*
* @param column cislo sloupce
* @return nazev sloupce
*/
@Override
public String getColumnName(int column) {
return this.columnData[column];
}
/**
* Metoda vraci pole obsahujici nazvy sloupcu.
*
* @return pole String retezcu s nazvy sloupcu
*/
public String[] getColumnData() {
return columnData;
}
/**
* Metoda nastavujici pro datovy model nazvy sloupcu.
*
* @param columnData pole String retezcu obsahujici nazvy sloupcu
*/
public void setColumnData(String[] columnData) {
this.columnData = columnData;
}
/**
* Metoda navraci data datoveho modelu.
*
* @return datovy model
*/
public Object[][] getTableData() {
return tableData;
}
/**
* Metoda nastavujici data datoveho modelu.
*
* @param tableData datovy model
*/
public void setTableData(Object[][] tableData) {
this.tableData = tableData;
}
}