blob: 3674a32144ddba2cbd0cf658544c81b6854aed12 [file] [log] [blame]
package org.eclipse.emf.refactor.metrics.generator.ui;
import java.util.LinkedList;
import org.eclipse.emf.refactor.metrics.core.Metric;
import org.eclipse.swt.widgets.TableItem;
public class TableItemsMapping {
private TableItemMapping[] tableItems;
public TableItemsMapping(LinkedList<Metric> inputList) {
LinkedList<TableItemMapping> tableItemsList = new LinkedList<TableItemMapping>();
for (Metric metric : inputList) {
tableItemsList.add(new TableItemMapping(metric));
}
tableItems = new TableItemMapping[tableItemsList.size()];
for (int i = 0; i < tableItemsList.size(); i++) {
tableItems[i] = tableItemsList.get(i);
}
}
public int getSize() {
return tableItems.length;
}
public void setItemForMetric(Metric metric, TableItem item) {
int index = getTableItemIndex(metric);
setItem(index, item);
}
public Metric getMetric(int index){
return tableItems[index].getMetric();
}
public TableItem getTableItem(int index) {
return tableItems[index].getItem();
}
public TableItem getTableItem(Metric metric) {
return tableItems[getTableItemIndex(metric)].getItem();
}
private void setItem(int index, TableItem item) {
tableItems[index].setItem(item);
}
private int getTableItemIndex(Metric metric) {
for (int i = 0; i < tableItems.length; i++) {
if (tableItems[i].getMetric().equals(metric))
return i;
}
return -1;
}
private class TableItemMapping {
private TableItem item;
private Metric metric;
private TableItemMapping(Metric metric) {
this.metric = metric;
this.item = null;
}
private void setItem(TableItem item) {
this.item = item;
}
private TableItem getItem() {
return item;
}
private Metric getMetric() {
return metric;
}
}
}