package bpntojava.model.stafftable;
import bpntojava.model.bpndata.Data;
import bpntojava.model.bpndata.DataLine;
import java.util.LinkedList;
/**
* Usables enthalten eine Liste von nutzbaren Items.
*
* @author mschuessler
*/
public class Usable {
/**
* Data-Datenbank.
*/
Data data;
/**
* Liste von Strings.
*/
private LinkedList<String> usables;
/**
* Konstruktor.
*
* @param data Data-Datenbank
*/
public Usable(Data data) {
this.usables = new LinkedList();
this.data = data;
}
/**
* Füllt die Usable Liste mit den Einträgen einer bestimmten Spalte der Datenbank.
*
* @param row Spaltennummer
*/
public void fillTable(int row) {
for (int i = 0; i < data.size(); i++) {
DataLine dataline = data.get(i);
String toAdd = dataline.get(row);
if (!isInTable(toAdd)) {
usables.add(toAdd);
}
}
}
/**
* Gibt die Größe der Liste zurück.
*
* @return Größe
*/
public int size() {
return usables.size();
}
/**
* Gibt ein Item der Liste zurück.
*
* @param i Itemnummer.
* @return Item
*/
public String get(int i) {
return usables.get(i);
}
/**
* Ersetzt die Liste durch eine andere.
*
* @param usables neue Liste
*/
public void setNewList(LinkedList<String> usables) {
this.usables = usables;
}
/**
* Überprüft ob ein String in der Liste vorhanden ist.
*
* @param text zu überprüfender String
* @return true = Item ist vorhanden
*/
private boolean isInTable(String text) {
for (String string : usables) {
if (string.equals(text)) {
return true;
}
}
return false;
}
}