package com.venky.swf.views.controls.page.text; import com.venky.core.string.StringUtil; import com.venky.core.util.ObjectUtil; import com.venky.swf.views.controls.Control; import com.venky.swf.views.controls._IControl; import com.venky.swf.views.controls.page.text.Select.Option; public class Select extends OptionCreator<Option>{ /** * */ private static final long serialVersionUID = 2372577592146683305L; public Select() { super("select"); } public Option createOption(String text, String value){ Option option = new Option(text, value); addControl(option); return option; } public static class Option extends Control { /** * */ private static final long serialVersionUID = 2609222149783319414L; public Option(String text,Object value) { super("option"); setText(text); setProperty("value", StringUtil.valueOf(value)); } } public void setValue(final Object value){ for (_IControl control:getContainedControls()){ if (control instanceof Option){ Option o = (Option)control; if (ObjectUtil.equals(o.getValue(),value)){ o.setProperty("selected", "selected"); }else { o.remove("selected"); } } } } public String getValue(){ String value = null; for (_IControl control:getContainedControls()){ if (control instanceof Option){ Option o = (Option)control; if (value == null){ value = o.getValue(); } if (ObjectUtil.equals(o.getProperty("selected"), "selected")){ return o.getValue(); } } } return value; } }