package net.certware.verification.checklist.view.table; import java.util.HashSet; import java.util.Set; import net.certware.verification.checklist.Category; import net.certware.verification.checklist.Checklist; import net.certware.verification.checklist.Item; import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.EList; import org.eclipse.jface.viewers.TableViewer; /** * List of lines for viewer model. * @author mrb */ public class ChecklistModelList { /** the list of line entries for the table content */ protected EList<ChecklistModel> itemList = new BasicEList<ChecklistModel>(); /** the set of listeners */ protected Set<TableViewer> changeListeners = new HashSet<TableViewer>(); /** * Returns the item list. * @return the item list */ public EList<ChecklistModel> getItemList() { return itemList; } /** * Returns item list as array. * @return items as array */ public Object[] getItems() { if ( itemList == null ) return new ChecklistModel[1]; return itemList.toArray(); } /** * Loads the table content from a buffer overflow data file. * @param checklist checklist selected * @return true if initialized, false for null references */ public boolean initialize(Checklist checklist) { if ( checklist == null || checklist.getCategories().isEmpty() ) return false; itemList.clear(); for ( Category category : checklist.getCategories() ) { for ( Item item : category.getItems() ) { ChecklistModel cm = new ChecklistModel(category.getName(),item); itemList.add(cm); } } return true; } /** * Item changed responder. Unused. * @param cm checklist model element */ public void itemChanged(ChecklistModel cm) { } /** * Removes change listeners. * @param viewer */ public void removeChangeListener(TableViewer viewer) { changeListeners.remove(viewer); } /** * Adds change listeners. * @param viewer */ public void addChangeListener(TableViewer viewer) { changeListeners.add(viewer); } }