} }  if (horizontalScrollPosition != null) { if (isValueReference(horizontalScrollPosition)) { ValueBinding vb = application.createValueBinding(horizontalScrollPosition);  component.setHorizontalScrollPosition(vb); } else { component.setHorizontalScrollPosition(horizontalScrollPosition);
	protected void setProperties(UIComponent uiComponent) {		if (LOG.isDebugEnabled()) {			if (DataGridComponent.COMPONENT_TYPE==getComponentType()) {				LOG.debug("Component id='"+getId()+"' type='"+getComponentType()+"'.");			}			LOG.debug("  selectable='"+selectable+"'");			LOG.debug("  selectionCardinality='"+selectionCardinality+"'");			LOG.debug("  checkable='"+checkable+"'");			LOG.debug("  checkCardinality='"+checkCardinality+"'");			LOG.debug("  required='"+required+"'");			LOG.debug("  border='"+border+"'");			LOG.debug("  readOnly='"+readOnly+"'");			LOG.debug("  disabled='"+disabled+"'");			LOG.debug("  verticalScrollPosition='"+verticalScrollPosition+"'");			LOG.debug("  horizontalScrollPosition='"+horizontalScrollPosition+"'");			LOG.debug("  filterProperties='"+filterProperties+"'");			LOG.debug("  preference='"+preference+"'");			LOG.debug("  headerVisible='"+headerVisible+"'");			LOG.debug("  selectedValues='"+selectedValues+"'");			LOG.debug("  checkedValues='"+checkedValues+"'");			LOG.debug("  sortedColumnIds='"+sortedColumnIds+"'");			LOG.debug("  columnsOrder='"+columnsOrder+"'");			LOG.debug("  rowValueColumnId='"+rowValueColumnId+"'");			LOG.debug("  rowCountVar='"+rowCountVar+"'");			LOG.debug("  rowIndexVar='"+rowIndexVar+"'");			LOG.debug("  clientSelectionFullState='"+clientSelectionFullState+"'");			LOG.debug("  clientCheckFullState='"+clientCheckFullState+"'");			LOG.debug("  action='"+action+"'");			LOG.debug("  actionListeners='"+actionListeners+"'");		}		super.setProperties(uiComponent);		if ((uiComponent instanceof DataGridComponent)==false) {			throw new IllegalStateException("Component specified by tag is not instanceof of 'DataGridComponent'.");		}		DataGridComponent component = (DataGridComponent) uiComponent;		FacesContext facesContext = getFacesContext();		Application application = facesContext.getApplication();		if (selectionListeners != null) {			parseActionListener(application, component, SELECTION_LISTENER_TYPE, selectionListeners);		}		if (selectable != null) {			if (isValueReference(selectable)) {				ValueBinding vb = application.createValueBinding(selectable);				component.setSelectable(vb);			} else {				component.setSelectable(getBool(selectable));			}		}		if (selectionCardinality != null) {			if (isValueReference(selectionCardinality)) {				ValueBinding vb = application.createValueBinding(selectionCardinality);				component.setSelectionCardinality(vb);			} else {				component.setSelectionCardinality(selectionCardinality);			}		}		if (checkListeners != null) {			parseActionListener(application, component, CHECK_LISTENER_TYPE, checkListeners);		}		if (checkable != null) {			if (isValueReference(checkable)) {				ValueBinding vb = application.createValueBinding(checkable);				component.setCheckable(vb);			} else {				component.setCheckable(getBool(checkable));			}		}		if (checkCardinality != null) {			if (isValueReference(checkCardinality)) {				ValueBinding vb = application.createValueBinding(checkCardinality);				component.setCheckCardinality(vb);			} else {				component.setCheckCardinality(checkCardinality);			}		}		if (doubleClickListeners != null) {			parseActionListener(application, component, DOUBLE_CLICK_LISTENER_TYPE, doubleClickListeners);		}		if (required != null) {			if (isValueReference(required)) {				ValueBinding vb = application.createValueBinding(required);				component.setRequired(vb);			} else {				component.setRequired(getBool(required));			}		}		if (border != null) {			if (isValueReference(border)) {				ValueBinding vb = application.createValueBinding(border);				component.setBorder(vb);			} else {				component.setBorder(getBool(border));			}		}		if (readOnly != null) {			if (isValueReference(readOnly)) {				ValueBinding vb = application.createValueBinding(readOnly);				component.setReadOnly(vb);			} else {				component.setReadOnly(getBool(readOnly));			}		}		if (disabled != null) {			if (isValueReference(disabled)) {				ValueBinding vb = application.createValueBinding(disabled);				component.setDisabled(vb);			} else {				component.setDisabled(getBool(disabled));			}		}		if (verticalScrollPosition != null) {			if (isValueReference(verticalScrollPosition)) {				ValueBinding vb = application.createValueBinding(verticalScrollPosition);				component.setVerticalScrollPosition(vb);			} else {				component.setVerticalScrollPosition(verticalScrollPosition);			}		}		if (horizontalScrollPosition != null) {			if (isValueReference(horizontalScrollPosition)) {				ValueBinding vb = application.createValueBinding(horizontalScrollPosition);				component.setHorizontalScrollPosition(vb);			} else {				component.setHorizontalScrollPosition(horizontalScrollPosition);			}		}		if (filterProperties != null) {				ValueBinding vb = application.createValueBinding(filterProperties);				component.setFilterProperties(vb);		}		if (preference != null) {				ValueBinding vb = application.createValueBinding(preference);				component.setPreference(vb);		}		if (headerVisible != null) {			if (isValueReference(headerVisible)) {				ValueBinding vb = application.createValueBinding(headerVisible);				component.setHeaderVisible(vb);			} else {				component.setHeaderVisible(getBool(headerVisible));			}		}		if (selectedValues != null) {			if (isValueReference(selectedValues)) {				ValueBinding vb = application.createValueBinding(selectedValues);				component.setSelectedValues(vb);			} else {				component.setSelectedValues(selectedValues);			}		}		if (checkedValues != null) {			if (isValueReference(checkedValues)) {				ValueBinding vb = application.createValueBinding(checkedValues);				component.setCheckedValues(vb);			} else {				component.setCheckedValues(checkedValues);			}		}		if (sortedColumnIds != null) {			if (isValueReference(sortedColumnIds)) {				ValueBinding vb = application.createValueBinding(sortedColumnIds);				component.setSortedColumnIds(vb);			} else {				component.setSortedColumnIds(sortedColumnIds);			}		}		if (columnsOrder != null) {			if (isValueReference(columnsOrder)) {				ValueBinding vb = application.createValueBinding(columnsOrder);				component.setColumnsOrder(vb);			} else {				component.setColumnsOrder(columnsOrder);			}		}		if (rowValueColumnId != null) {			if (isValueReference(rowValueColumnId)) {				ValueBinding vb = application.createValueBinding(rowValueColumnId);				component.setRowValueColumnId(vb);			} else {				component.setRowValueColumnId(rowValueColumnId);			}		}		if (rowCountVar != null) {			if (isValueReference(rowCountVar)) {				throw new javax.faces.FacesException("Attribute 'rowCountVar' does not accept binding !");			}				component.setRowCountVar(rowCountVar);		}		if (rowIndexVar != null) {			if (isValueReference(rowIndexVar)) {				throw new javax.faces.FacesException("Attribute 'rowIndexVar' does not accept binding !");			}				component.setRowIndexVar(rowIndexVar);		}		if (clientSelectionFullState != null) {			if (isValueReference(clientSelectionFullState)) {				ValueBinding vb = application.createValueBinding(clientSelectionFullState);				component.setClientSelectionFullState(vb);			} else {				component.setClientSelectionFullState(getBool(clientSelectionFullState));			}		}		if (clientCheckFullState != null) {			if (isValueReference(clientCheckFullState)) {				ValueBinding vb = application.createValueBinding(clientCheckFullState);				component.setClientCheckFullState(vb);			} else {				component.setClientCheckFullState(getBool(clientCheckFullState));			}		}		if (action != null) {			parseAction(application, component, SELECTION_LISTENER_TYPE, action, true);		}		if (actionListeners != null) {			parseActionListener(application, component, SELECTION_LISTENER_TYPE, actionListeners, true);		}	}