KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > icesoft > faces > renderkit > dom_html_basic > LinkRenderer


1 /*
2  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3  *
4  * "The contents of this file are subject to the Mozilla Public License
5  * Version 1.1 (the "License"); you may not use this file except in
6  * compliance with the License. You may obtain a copy of the License at
7  * http://www.mozilla.org/MPL/
8  *
9  * Software distributed under the License is distributed on an "AS IS"
10  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
11  * License for the specific language governing rights and limitations under
12  * the License.
13  *
14  * The Original Code is ICEfaces 1.5 open source software code, released
15  * November 5, 2006. The Initial Developer of the Original Code is ICEsoft
16  * Technologies Canada, Corp. Portions created by ICEsoft are Copyright (C)
17  * 2004-2006 ICEsoft Technologies Canada, Corp. All Rights Reserved.
18  *
19  * Contributor(s): _____________________.
20  *
21  * Alternatively, the contents of this file may be used under the terms of
22  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"
23  * License), in which case the provisions of the LGPL License are
24  * applicable instead of those above. If you wish to allow use of your
25  * version of this file only under the terms of the LGPL License and not to
26  * allow others to use your version of this file under the MPL, indicate
27  * your decision by deleting the provisions above and replace them with
28  * the notice and other provisions required by the LGPL License. If you do
29  * not delete the provisions above, a recipient may use your version of
30  * this file under either the MPL or the LGPL License."
31  *
32  */

33
34 package com.icesoft.faces.renderkit.dom_html_basic;
35
36 import com.icesoft.faces.context.DOMContext;
37 import org.w3c.dom.Element JavaDoc;
38
39 import javax.faces.component.UICommand;
40 import javax.faces.component.UIComponent;
41 import javax.faces.component.UIOutput;
42 import javax.faces.context.FacesContext;
43 import java.io.IOException JavaDoc;
44
45 public class LinkRenderer extends DomBasicRenderer {
46
47     protected CommandLinkRenderer commandLinkRendererDelegate;
48     protected OutputLinkRenderer outputLinkRendererDelegate;
49
50     public LinkRenderer() {
51         commandLinkRendererDelegate = new CommandLinkRenderer();
52         outputLinkRendererDelegate = new OutputLinkRenderer();
53     }
54
55     public void decode(FacesContext facesContext, UIComponent uiComponent) {
56         boolean isCommandLink = uiComponent instanceof UICommand;
57         boolean isOutputLink = uiComponent instanceof UIOutput;
58         if (isCommandLink) {
59             commandLinkRendererDelegate.decode(facesContext, uiComponent);
60         }
61         if (isOutputLink) {
62             outputLinkRendererDelegate.decode(facesContext, uiComponent);
63         }
64         return;
65     }
66
67     public void encodeBegin(FacesContext facesContext, UIComponent uiComponent)
68             throws IOException JavaDoc {
69         boolean isCommandLink = uiComponent instanceof UICommand;
70         boolean isOutputLink = uiComponent instanceof UIOutput;
71         if (isCommandLink) {
72             commandLinkRendererDelegate.encodeBegin(facesContext, uiComponent);
73         }
74         if (isOutputLink) {
75             outputLinkRendererDelegate.encodeBegin(facesContext, uiComponent);
76         }
77
78         return;
79     }
80
81     public void encodeChildren(FacesContext facesContext,
82                                UIComponent uiComponent)
83             throws IOException JavaDoc {
84         boolean isCommandLink = uiComponent instanceof UICommand;
85         boolean isOutputLink = uiComponent instanceof UIOutput;
86         if (isCommandLink) {
87             commandLinkRendererDelegate
88                     .encodeChildren(facesContext, uiComponent);
89         }
90         if (isOutputLink) {
91             outputLinkRendererDelegate
92                     .encodeChildren(facesContext, uiComponent);
93         }
94         return;
95     }
96
97     public void encodeEnd(FacesContext facesContext, UIComponent uiComponent)
98             throws IOException JavaDoc {
99         boolean isCommandLink = uiComponent instanceof UICommand;
100         boolean isOutputLink = uiComponent instanceof UIOutput;
101         if (isCommandLink) {
102             commandLinkRendererDelegate.encodeEnd(facesContext, uiComponent);
103         }
104         if (isOutputLink) {
105             outputLinkRendererDelegate.encodeEnd(facesContext, uiComponent);
106         }
107         DOMContext domContext =
108                 DOMContext.attachDOMContext(facesContext, uiComponent);
109         Element JavaDoc root = (Element JavaDoc) domContext.getRootNode();
110         return;
111     }
112
113 }
114
Popular Tags