All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.icesoft.faces.component.panelseries.PanelSeries Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2004-2013 ICEsoft Technologies Canada Corp.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the
 * License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an "AS
 * IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

package com.icesoft.faces.component.panelseries;

import com.icesoft.faces.component.CSS_DEFAULT;
import com.icesoft.faces.component.ext.taglib.Util;

import javax.faces.component.UIComponent;
import javax.faces.component.UIData;
import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;

/**
 * PanelSeries is a JSF component class representing an ICEfaces panelSeries.
 * 

The panelSeries component provides a mechanism for dynamically generating * a series of repeating child-components within a panel. This component renders * its child components in an iterative fashion similar to way the dataTable * component renders data rows. However, the panelSeries component is more * flexibile in that it can render a series of arbitrarily complex child * components. The dataset can be defined and used by implementing the value and * var attributes respectively. *

* By default this component is rendered by the "com.icesoft.faces.PanelSeriesRenderer" * renderer type. * * @version beta 1.0 */ public class PanelSeries extends UISeries { public static final String COMPONENT_TYPE = "com.icesoft.faces.PanelSeries"; public static final String RENDERER_TYPE = "com.icesoft.faces.PanelSeriesRenderer"; public static final String COMPONENT_FAMILY = "javax.faces.Panel"; private String style = null; private String styleClass = null; public PanelSeries() { super(); setRendererType(RENDERER_TYPE); } /* * (non-Javadoc) * @see javax.faces.component.UIComponent#getFamily() */ public String getFamily() { return (COMPONENT_FAMILY); } /** *

Set the value of the styleClass property.

* * @return style class property value. */ public String getStyleClass() { return Util.getQualifiedStyleClass(this, styleClass, CSS_DEFAULT.PANEL_SERIES_DEFAULT_CLASS, "styleClass"); } /** *

Set the value of the styleClass property.

*/ public void setStyleClass(String styleClass) { this.styleClass = styleClass; } /** *

Set the value of the style property.

* * @return style property value. */ public String getStyle() { if (style != null) { return style; } ValueBinding vb = getValueBinding("style"); return vb != null ? (String) vb.getValue(getFacesContext()) : null; } /** *

Set the value of the style property.

*/ public void setStyle(String style) { this.style = style; } /* * (non-Javadoc) * @see com.icesoft.faces.component.panelseries.UISeries#restoreChild(javax.faces.context.FacesContext, javax.faces.component.UIComponent) */ protected void restoreChild(FacesContext facesContext, UIComponent uiComponent) { super.restoreChild(facesContext, uiComponent); if (uiComponent instanceof UIData) { String clientId = uiComponent.getClientId(facesContext); Object value = savedChildren.get(clientId); ((UIData) uiComponent).setValue(value); } } /* * (non-Javadoc) * @see com.icesoft.faces.component.panelseries.UISeries#saveChild(javax.faces.context.FacesContext, javax.faces.component.UIComponent) */ protected void saveChild(FacesContext facesContext, UIComponent uiComponent) { super.saveChild(facesContext, uiComponent); if (uiComponent instanceof UIData) { String clientId = uiComponent.getClientId(facesContext); savedChildren.put(clientId, ((UIData) uiComponent).getValue()); } } private transient Object values[]; public void restoreState(FacesContext context, Object state) { values = (Object[])state; super.restoreState(context, values[0]); style = (String)values[1]; styleClass = (String)values[2]; } public Object saveState(FacesContext context) { if(values == null){ values = new Object[3]; } values[0] = super.saveState(context); values[1] = style; values[2] = styleClass; return values; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy