KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > icesoft > faces > context > ElementController


1 package com.icesoft.faces.context;
2
3 import org.w3c.dom.Document JavaDoc;
4 import org.w3c.dom.Element JavaDoc;
5
6 import java.io.Serializable JavaDoc;
7 import java.util.Map JavaDoc;
8 import java.util.Random JavaDoc;
9
10 public class ElementController implements Serializable JavaDoc {
11     private transient final static Random JavaDoc RANDOM = new Random JavaDoc();
12     private transient String JavaDoc focusCode = "";
13     private transient String JavaDoc selectCode = "";
14     private transient String JavaDoc clickCode = "";
15
16     public static ElementController from(Map JavaDoc session) {
17         String JavaDoc key = ElementController.class.toString();
18         if (!session.containsKey(key)) {
19             session.put(key, new ElementController());
20         }
21
22         return (ElementController) session.get(key);
23     }
24
25     public void focus(String JavaDoc elementID) {
26         focusCode = "'" + elementID + "'.asExtendedElement().focus();" + randomComment();
27     }
28
29     public void select(String JavaDoc elementID) {
30         selectCode = "'" + elementID + "'.asExtendedElement().select();" + randomComment();
31     }
32
33     public void click(String JavaDoc elementID) {
34         clickCode = "'" + elementID + "'.asExtendedElement().click();" + randomComment();
35     }
36
37     private String JavaDoc randomComment() {
38         return "//" + RANDOM.nextInt(99999);
39     }
40
41     public void addInto(Element JavaDoc element) {
42         Document JavaDoc document = element.getOwnerDocument();
43
44         Element JavaDoc focusElement = (Element JavaDoc) element.appendChild(document.createElement("script"));
45         focusElement.setAttribute("id", "focus-code");
46         focusElement.appendChild(document.createTextNode(focusCode));
47
48         Element JavaDoc selectElement = (Element JavaDoc) element.appendChild(document.createElement("script"));
49         selectElement.setAttribute("id", "select-code");
50         selectElement.appendChild(document.createTextNode(selectCode));
51
52         Element JavaDoc clickElement = (Element JavaDoc) element.appendChild(document.createElement("script"));
53         clickElement.setAttribute("id", "click-code");
54         clickElement.appendChild(document.createTextNode(clickCode));
55     }
56 }
57
Popular Tags