package autotest.afe; import java.util.ArrayList; import java.util.List; public class CheckBoxPanel { public static interface Display { public ICheckBox generateCheckBox(int index); } private List checkBoxes = new ArrayList(); private Display display; public void bindDisplay(Display display) { this.display = display; } public ICheckBox generateCheckBox() { return display.generateCheckBox(checkBoxes.size()); } public void add(ICheckBox checkBox) { checkBoxes.add(checkBox); } public List getChecked() { List result = new ArrayList(); for(ICheckBox checkBox : checkBoxes) { if (checkBox.getValue()) { result.add(checkBox); } } return result; } public void setEnabled(boolean enabled) { for(ICheckBox thisBox : checkBoxes) { thisBox.setEnabled(enabled); } } public void reset() { for (ICheckBox thisBox : checkBoxes) { thisBox.setValue(false); } } }