KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > exoplatform > portlets > weather > renderer > html > SelectListRenderer


1 /***************************************************************************
2  * Copyright 2001-2003 The eXo Platform SARL All rights reserved. *
3  * Please look at license.txt in info directory for more license detail. *
4  **************************************************************************/

5 package org.exoplatform.portlets.weather.renderer.html;
6
7 import java.util.Map JavaDoc;
8 import java.io.IOException JavaDoc;
9 import javax.faces.component.UIComponent;
10 import javax.faces.context.FacesContext;
11 import javax.faces.context.ResponseWriter;
12 import org.exoplatform.faces.core.component.model.*;
13 import org.exoplatform.faces.core.renderer.html.HtmlBasicRenderer;
14 import org.exoplatform.portlets.weather.component.UISelectList;
15
16 public class SelectListRenderer extends HtmlBasicRenderer {
17   
18   public void decode(FacesContext context, UIComponent component) {
19     UISelectList uiList = (UISelectList) component;
20     Map JavaDoc paramMap = context.getExternalContext().getRequestParameterMap();
21     
22     String JavaDoc value = (String JavaDoc) paramMap.get(uiList.getName()) ;
23     if (value != null) {
24       uiList.setValue(value);
25     }
26   }
27   
28   public void encodeBegin(FacesContext context, UIComponent component) throws IOException JavaDoc {
29     UISelectList uiList = (UISelectList) component;
30     ResponseWriter w = context.getResponseWriter() ;
31     String JavaDoc disabled = "" ;
32     
33     if(!uiList.isEditable()) disabled = "disabled " ;
34     w.write("<select "); w.write(disabled); w.write("name='"); w.write(uiList.getName()); w.write("'") ;
35     w.write(" id='"); w.write(uiList.getName()); w.write("'") ;
36     
37     if(uiList.getClazz() != null) {
38       w.write(" class='"); w.write(uiList.getClazz()); w.write("'") ;
39     }
40     
41     w.write(">\n") ;
42     
43     for(int i=0; i < uiList.getOptions().size(); i++) {
44       SelectItem si = (SelectItem) uiList.getOptions().get(i) ;
45       if (si.value_.equals(uiList.getValue())) {
46         w.write("<option selected value=\""); w.write(si.value_); w.write("\">");
47         w.write(si.display_); w.write("</option>\n");
48       } else {
49         w.write("<option value=\""); w.write(si.value_); w.write("\">");
50         w.write(si.display_); w.write("</option>\n");
51       }
52     }
53     
54     w.write("</select>\n") ;
55   }
56   
57   public void encodeChildren(FacesContext context, UIComponent component) throws IOException JavaDoc {
58   }
59   
60   public void encodeEnd(FacesContext context, UIComponent component) throws IOException JavaDoc {
61   }
62 }
Popular Tags