KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > albel > tags > table > render > impl > RowEditor


1 /*
2  * RowEditor.java
3  *
4  * Created on Antradienis, 2004, Rugsėjo 7, 08.52
5  */

6
7 package albel.tags.table.render.impl;
8
9 import albel.tags.table.model.Cell;
10 import org.apache.ecs.html.*;
11 import albel.tags.table.controll.*;
12 import albel.tags.table.render.*;
13
14 /**
15  *
16  * @author alblau
17  */

18 public class RowEditor implements albel.tags.table.render.IRowEditor
19 {
20     
21     /** Creates a new instance of RowEditor */
22     public RowEditor()
23     {
24     }
25     
26     public IRowRenderable render(albel.tags.table.model.Row row, java.util.List JavaDoc cols, Object JavaDoc obj) throws javax.servlet.jsp.JspException JavaDoc
27     {
28       albel.tags.table.render.IColumnEditor colEdit=Manager.getColumnEditor();
29       IRowRenderable renderable=Manager.getRowRenderable();
30       TR tr=(org.apache.ecs.html.TR)renderable.getRenderable(); //Create HTML row
31
Form frm=new Form(); //Create HTML form
32
frm.setMethod(Form.POST);
33       TD lastTD=null;//Last td to embed submit button
34
for(int i=0;i<cols.size();i++)// Loop through columns
35
{
36             albel.tags.table.model.Column col=
37                 (albel.tags.table.model.Column)cols.get(i); // Get the column
38
String JavaDoc val="";
39             try
40             {
41                 if(col.getProperty()==null || col.getProperty().length()==0)
42                                 {
43                                     continue;
44                                 }
45                                 val=org.apache.commons.beanutils.
46                                      BeanUtils.getProperty(obj, col.getProperty()); // Get the column value
47
Cell cell=new Cell(row,col,val);// Produce cell for column, row and value
48
TD td=colEdit.render(cell); // Render the cell, and get HTML TD
49
lastTD=td;
50                 frm.addElement(td); // Append TD
51
}
52             catch (Exception JavaDoc e)
53             {
54                 throw new javax.servlet.jsp.JspException JavaDoc(e);
55             }
56         }
57        lastTD.addElement(getSubmitButton(row.getTable())); //Append Submit
58
tr.addElement(frm);
59         return renderable;
60     }
61     private Input getSubmitButton(albel.tags.table.model.Table table)
62     {
63         Input btn=new Input();
64         btn.setType(Input.SUBMIT);
65         btn.setName(table.getKeys().getSaveButtonNameKey());
66         btn.setValue(albel.tags.table.utils.Resource.getString("msg.save",table.getLocale()));// To do: image, and ...
67
return btn;
68     }
69 }
70
Popular Tags