KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > icesoft > faces > component > panelseries > PanelSeries


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.component.panelseries;
35
36 import com.icesoft.faces.component.CSS_DEFAULT;
37 import com.icesoft.faces.component.ext.taglib.Util;
38
39 import javax.faces.component.UIComponent;
40 import javax.faces.component.UIData;
41 import javax.faces.context.FacesContext;
42 import javax.faces.el.ValueBinding;
43
44 /**
45  * PanelSeries is a JSF component class representing an ICEfaces panelSeries.
46  * <p>The panelSeries component provides a mechanism for dynamically generating
47  * a series of repeating child-components within a panel. This component renders
48  * its child components in an iterative fashion similar to way the dataTable
49  * component renders data rows. However, the panelSeries component is more
50  * flexibile in that it can render a series of arbitrarily complex child
51  * components. The dataset can be defined and used by implementing the value and
52  * var attributes respectively.
53  * <p/>
54  * By default this component is rendered by the "com.icesoft.faces.PanelSeriesRenderer"
55  * renderer type.
56  *
57  * @version beta 1.0
58  */

59 public class PanelSeries extends UISeries {
60     public static final String JavaDoc COMPONENT_TYPE = "com.icesoft.faces.PanelSeries";
61     public static final String JavaDoc RENDERER_TYPE = "com.icesoft.faces.PanelSeriesRenderer";
62     public static final String JavaDoc COMPONENT_FAMILY = "javax.faces.Panel";
63     private String JavaDoc style = null;
64     private String JavaDoc styleClass = null;
65
66
67     public PanelSeries() {
68         super();
69         setRendererType(RENDERER_TYPE);
70     }
71     /*
72      * (non-Javadoc)
73      * @see javax.faces.component.UIComponent#getFamily()
74      */

75     public String JavaDoc getFamily() {
76         return (COMPONENT_FAMILY);
77     }
78
79     /*
80      * (non-Javadoc)
81      * @see javax.faces.component.UIComponent#isRendered()
82      */

83     public boolean isRendered() {
84         if (!Util.isRenderedOnUserRole(this)) {
85             return false;
86         }
87         return super.isRendered();
88     }
89
90
91     /**
92      * <p>Set the value of the <code>styleClass</code> property.</p>
93      *
94      * @return style class property value.
95      */

96     public String JavaDoc getStyleClass() {
97         return Util.getQualifiedStyleClass(this,
98                 styleClass,
99                 CSS_DEFAULT.PANEL_SERIES_DEFAULT_CLASS,
100                 "styleClass");
101     }
102
103     /**
104      * <p>Set the value of the <code>styleClass</code> property.</p>
105      */

106     public void setStyleClass(String JavaDoc styleClass) {
107         this.styleClass = styleClass;
108     }
109
110     /**
111      * <p>Set the value of the <code>style</code> property.</p>
112      *
113      * @return style property value.
114      */

115     public String JavaDoc getStyle() {
116         if (style != null) {
117             return style;
118         }
119         ValueBinding vb = getValueBinding("style");
120         return vb != null ? (String JavaDoc) vb.getValue(getFacesContext()) : null;
121     }
122
123     /**
124      * <p>Set the value of the <code>style</code> property.</p>
125      */

126     public void setStyle(String JavaDoc style) {
127         this.style = style;
128     }
129
130     /*
131      * (non-Javadoc)
132      * @see com.icesoft.faces.component.panelseries.UISeries#restoreChild(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
133      */

134     protected void restoreChild(FacesContext facesContext,
135                                 UIComponent uiComponent) {
136         super.restoreChild(facesContext, uiComponent);
137         if (uiComponent instanceof UIData) {
138             String JavaDoc clientId = uiComponent.getClientId(facesContext);
139             Object JavaDoc value = savedChildren.get(clientId);
140             ((UIData) uiComponent).setValue(value);
141         }
142     }
143
144     /*
145      * (non-Javadoc)
146      * @see com.icesoft.faces.component.panelseries.UISeries#saveChild(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
147      */

148     protected void saveChild(FacesContext facesContext,
149                              UIComponent uiComponent) {
150         super.saveChild(facesContext, uiComponent);
151         if (uiComponent instanceof UIData) {
152             String JavaDoc clientId = uiComponent.getClientId(facesContext);
153             savedChildren.put(clientId, ((UIData) uiComponent).getValue());
154         }
155     }
156 }
157
Popular Tags