package pt.ist.fenixWebFramework.renderers; import pt.ist.fenixWebFramework.renderers.components.HtmlLabel; import pt.ist.fenixWebFramework.renderers.components.HtmlRadioButton; import pt.ist.fenixWebFramework.renderers.components.HtmlRadioButtonList; import pt.ist.fenixWebFramework.renderers.components.HtmlSimpleValueComponent; import pt.ist.fenixWebFramework.renderers.components.HtmlText; /** * The EnumRadioInputRenderer provides a way of doing the * input of an enum value by using a list of radio buttons. All the values * of that enum are presented as a radio button and the use can choose * one of the values. * *

* Example: *

* * @author cfgi */ public class EnumRadioInputRenderer extends EnumInputRenderer { @Override protected void addEnumElement(Enum enumerate, HtmlSimpleValueComponent holder, Enum oneEnum, String description) { HtmlRadioButtonList radioList = (HtmlRadioButtonList) holder; HtmlText descriptionComponent = new HtmlText(description); HtmlLabel label = new HtmlLabel(); label.setBody(descriptionComponent); HtmlRadioButton radioButton = radioList.addOption(label, oneEnum.toString()); label.setFor(radioButton); if (oneEnum.equals(enumerate)) { radioButton.setChecked(true); } } @Override protected HtmlSimpleValueComponent createInputContainerComponent(Enum enumerate) { return new HtmlRadioButtonList(); } }