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

jakarta.faces.component.html.HtmlPanelGrid Maven / Gradle / Ivy

Go to download

Jakarta Faces defines an MVC framework for building user interfaces for web applications, including UI components, state management, event handing, input validation, page navigation, and support for internationalization and accessibility.

There is a newer version: 4.1.0
Show newest version
/*
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */
package jakarta.faces.component.html;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;

import jakarta.el.ValueExpression;
import jakarta.faces.component.UIPanel;
import jakarta.faces.component.behavior.ClientBehaviorHolder;

/**
 * 

* Renders child components in a table, starting a new row after the specified number of columns. *

*

* By default, the rendererType property must be set to "jakarta.faces.Grid". This value can * be changed by calling the setRendererType() method. *

*/ public class HtmlPanelGrid extends UIPanel implements ClientBehaviorHolder { private static final String OPTIMIZED_PACKAGE = "jakarta.faces.component."; public HtmlPanelGrid() { super(); setRendererType("jakarta.faces.Grid"); } /** *

* The standard component type for this component. *

*/ public static final String COMPONENT_TYPE = "jakarta.faces.HtmlPanelGrid"; protected enum PropertyKeys { bgcolor, bodyrows, border, captionClass, captionStyle, cellpadding, cellspacing, columnClasses, columns, dir, footerClass, frame, headerClass, lang, onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, role, rowClass, rowClasses, rules, style, styleClass, summary, title, width,; String toString; PropertyKeys(String toString) { this.toString = toString; } PropertyKeys() { } @Override public String toString() { return toString != null ? toString : super.toString(); } } /** *

* Return the value of the bgcolor property. *

* * @return the property value *

* Contents: Name or code of the background color for this table. */ public java.lang.String getBgcolor() { return (java.lang.String) getStateHelper().eval(PropertyKeys.bgcolor); } /** *

* Set the value of the bgcolor property. *

* * @param bgcolor the new property value */ public void setBgcolor(java.lang.String bgcolor) { getStateHelper().put(PropertyKeys.bgcolor, bgcolor); handleAttribute("bgcolor", bgcolor); } /** *

* Return the value of the bodyrows property. *

* * @return the property value *

* Contents: Comma separated list of row indices for which a new "tbody" element should be started (and any previously * opened one should be ended). */ public java.lang.String getBodyrows() { return (java.lang.String) getStateHelper().eval(PropertyKeys.bodyrows); } /** *

* Set the value of the bodyrows property. *

* * @param bodyrows the new property value */ public void setBodyrows(java.lang.String bodyrows) { getStateHelper().put(PropertyKeys.bodyrows, bodyrows); } /** *

* Return the value of the border property. *

* * @return the property value *

* Contents: Width (in pixels) of the border to be drawn around this table. */ public int getBorder() { return (java.lang.Integer) getStateHelper().eval(PropertyKeys.border, Integer.MIN_VALUE); } /** *

* Set the value of the border property. *

* * @param border the new property value */ public void setBorder(int border) { getStateHelper().put(PropertyKeys.border, border); handleAttribute("border", border); } /** *

* Return the value of the captionClass property. *

* * @return the property value *

* Contents: Space-separated list of CSS style class(es) that will be applied to any caption generated for this table. */ public java.lang.String getCaptionClass() { return (java.lang.String) getStateHelper().eval(PropertyKeys.captionClass); } /** *

* Set the value of the captionClass property. *

* * @param captionClass the new property value */ public void setCaptionClass(java.lang.String captionClass) { getStateHelper().put(PropertyKeys.captionClass, captionClass); } /** *

* Return the value of the captionStyle property. *

* * @return the property value *

* Contents: CSS style(s) to be applied when this caption is rendered. */ public java.lang.String getCaptionStyle() { return (java.lang.String) getStateHelper().eval(PropertyKeys.captionStyle); } /** *

* Set the value of the captionStyle property. *

* * @param captionStyle the new property value */ public void setCaptionStyle(java.lang.String captionStyle) { getStateHelper().put(PropertyKeys.captionStyle, captionStyle); } /** *

* Return the value of the cellpadding property. *

* * @return the property value *

* Contents: Definition of how much space the user agent should leave between the border of each cell and its contents. */ public java.lang.String getCellpadding() { return (java.lang.String) getStateHelper().eval(PropertyKeys.cellpadding); } /** *

* Set the value of the cellpadding property. *

* * @param cellpadding the new property value */ public void setCellpadding(java.lang.String cellpadding) { getStateHelper().put(PropertyKeys.cellpadding, cellpadding); handleAttribute("cellpadding", cellpadding); } /** *

* Return the value of the cellspacing property. *

* * @return the property value *

* Contents: Definition of how much space the user agent should leave between the left side of the table and the * leftmost column, the top of the table and the top of the top side of the topmost row, and so on for the right and * bottom of the table. It also specifies the amount of space to leave between cells. */ public java.lang.String getCellspacing() { return (java.lang.String) getStateHelper().eval(PropertyKeys.cellspacing); } /** *

* Set the value of the cellspacing property. *

* * @param cellspacing the new property value */ public void setCellspacing(java.lang.String cellspacing) { getStateHelper().put(PropertyKeys.cellspacing, cellspacing); handleAttribute("cellspacing", cellspacing); } /** *

* Return the value of the columnClasses property. *

* * @return the property value *

* Contents: Comma-delimited list of CSS style classes that will be applied to the columns of this table. A space * separated list of classes may also be specified for any individual column. If the number of elements in this list is * less than the number of actual column children of the UIData, no "class" attribute is output for each column greater * than the number of elements in the list. If the number of elements in the list is greater than the number of actual * column children of the UIData, the elements at the posisiton in the list after the last column are ignored. */ public java.lang.String getColumnClasses() { return (java.lang.String) getStateHelper().eval(PropertyKeys.columnClasses); } /** *

* Set the value of the columnClasses property. *

* * @param columnClasses the new property value */ public void setColumnClasses(java.lang.String columnClasses) { getStateHelper().put(PropertyKeys.columnClasses, columnClasses); } /** *

* Return the value of the columns property. *

* * @return the property value *

* Contents: The number of columns to render before starting a new row. */ public int getColumns() { return (java.lang.Integer) getStateHelper().eval(PropertyKeys.columns, Integer.MIN_VALUE); } /** *

* Set the value of the columns property. *

* * @param columns the new property value */ public void setColumns(int columns) { getStateHelper().put(PropertyKeys.columns, columns); } /** *

* Return the value of the dir property. *

* * @return the property value *

* Contents: Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) * and "RTL" (right-to-left). These attributes are case sensitive when rendering to XHTML, so care must be taken to have * the correct case. */ public java.lang.String getDir() { return (java.lang.String) getStateHelper().eval(PropertyKeys.dir); } /** *

* Set the value of the dir property. *

* * @param dir the new property value */ public void setDir(java.lang.String dir) { getStateHelper().put(PropertyKeys.dir, dir); handleAttribute("dir", dir); } /** *

* Return the value of the footerClass property. *

* * @return the property value *

* Contents: Space-separated list of CSS style class(es) that will be applied to any footer generated for this table. */ public java.lang.String getFooterClass() { return (java.lang.String) getStateHelper().eval(PropertyKeys.footerClass); } /** *

* Set the value of the footerClass property. *

* * @param footerClass the new property value */ public void setFooterClass(java.lang.String footerClass) { getStateHelper().put(PropertyKeys.footerClass, footerClass); } /** *

* Return the value of the frame property. *

* * @return the property value *

* Contents: Code specifying which sides of the frame surrounding this table will be visible. Valid values are: none (no * sides, default value); above (top side only); below (bottom side only); hsides (top and bottom sides only); vsides * (right and left sides only); lhs (left hand side only); rhs (right hand side only); box (all four sides); and border * (all four sides). */ public java.lang.String getFrame() { return (java.lang.String) getStateHelper().eval(PropertyKeys.frame); } /** *

* Set the value of the frame property. *

* * @param frame the new property value */ public void setFrame(java.lang.String frame) { getStateHelper().put(PropertyKeys.frame, frame); handleAttribute("frame", frame); } /** *

* Return the value of the headerClass property. *

* * @return the property value *

* Contents: Space-separated list of CSS style class(es) that will be applied to any header generated for this table. */ public java.lang.String getHeaderClass() { return (java.lang.String) getStateHelper().eval(PropertyKeys.headerClass); } /** *

* Set the value of the headerClass property. *

* * @param headerClass the new property value */ public void setHeaderClass(java.lang.String headerClass) { getStateHelper().put(PropertyKeys.headerClass, headerClass); } /** *

* Return the value of the lang property. *

* * @return the property value *

* Contents: Code describing the language used in the generated markup for this component. */ public java.lang.String getLang() { return (java.lang.String) getStateHelper().eval(PropertyKeys.lang); } /** *

* Set the value of the lang property. *

* * @param lang the new property value */ public void setLang(java.lang.String lang) { getStateHelper().put(PropertyKeys.lang, lang); handleAttribute("lang", lang); } /** *

* Return the value of the onclick property. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is clicked over this element. */ public java.lang.String getOnclick() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onclick); } /** *

* Set the value of the onclick property. *

* * @param onclick the new property value */ public void setOnclick(java.lang.String onclick) { getStateHelper().put(PropertyKeys.onclick, onclick); handleAttribute("onclick", onclick); } /** *

* Return the value of the ondblclick property. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is double clicked over this element. */ public java.lang.String getOndblclick() { return (java.lang.String) getStateHelper().eval(PropertyKeys.ondblclick); } /** *

* Set the value of the ondblclick property. *

* * @param ondblclick the new property value */ public void setOndblclick(java.lang.String ondblclick) { getStateHelper().put(PropertyKeys.ondblclick, ondblclick); handleAttribute("ondblclick", ondblclick); } /** *

* Return the value of the onkeydown property. *

* * @return the property value *

* Contents: Javascript code executed when a key is pressed down over this element. */ public java.lang.String getOnkeydown() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onkeydown); } /** *

* Set the value of the onkeydown property. *

* * @param onkeydown the new property value */ public void setOnkeydown(java.lang.String onkeydown) { getStateHelper().put(PropertyKeys.onkeydown, onkeydown); handleAttribute("onkeydown", onkeydown); } /** *

* Return the value of the onkeypress property. *

* * @return the property value *

* Contents: Javascript code executed when a key is pressed and released over this element. */ public java.lang.String getOnkeypress() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onkeypress); } /** *

* Set the value of the onkeypress property. *

* * @param onkeypress the new property value */ public void setOnkeypress(java.lang.String onkeypress) { getStateHelper().put(PropertyKeys.onkeypress, onkeypress); handleAttribute("onkeypress", onkeypress); } /** *

* Return the value of the onkeyup property. *

* * @return the property value *

* Contents: Javascript code executed when a key is released over this element. */ public java.lang.String getOnkeyup() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onkeyup); } /** *

* Set the value of the onkeyup property. *

* * @param onkeyup the new property value */ public void setOnkeyup(java.lang.String onkeyup) { getStateHelper().put(PropertyKeys.onkeyup, onkeyup); handleAttribute("onkeyup", onkeyup); } /** *

* Return the value of the onmousedown property. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is pressed down over this element. */ public java.lang.String getOnmousedown() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onmousedown); } /** *

* Set the value of the onmousedown property. *

* * @param onmousedown the new property value */ public void setOnmousedown(java.lang.String onmousedown) { getStateHelper().put(PropertyKeys.onmousedown, onmousedown); handleAttribute("onmousedown", onmousedown); } /** *

* Return the value of the onmousemove property. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is moved within this element. */ public java.lang.String getOnmousemove() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onmousemove); } /** *

* Set the value of the onmousemove property. *

* * @param onmousemove the new property value */ public void setOnmousemove(java.lang.String onmousemove) { getStateHelper().put(PropertyKeys.onmousemove, onmousemove); handleAttribute("onmousemove", onmousemove); } /** *

* Return the value of the onmouseout property. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is moved away from this element. */ public java.lang.String getOnmouseout() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onmouseout); } /** *

* Set the value of the onmouseout property. *

* * @param onmouseout the new property value */ public void setOnmouseout(java.lang.String onmouseout) { getStateHelper().put(PropertyKeys.onmouseout, onmouseout); handleAttribute("onmouseout", onmouseout); } /** *

* Return the value of the onmouseover property. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is moved onto this element. */ public java.lang.String getOnmouseover() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onmouseover); } /** *

* Set the value of the onmouseover property. *

* * @param onmouseover the new property value */ public void setOnmouseover(java.lang.String onmouseover) { getStateHelper().put(PropertyKeys.onmouseover, onmouseover); handleAttribute("onmouseover", onmouseover); } /** *

* Return the value of the onmouseup property. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is released over this element. */ public java.lang.String getOnmouseup() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onmouseup); } /** *

* Set the value of the onmouseup property. *

* * @param onmouseup the new property value */ public void setOnmouseup(java.lang.String onmouseup) { getStateHelper().put(PropertyKeys.onmouseup, onmouseup); handleAttribute("onmouseup", onmouseup); } /** *

* Return the value of the role property. *

* * @return the property value *

* Contents: *

* Per the WAI-ARIA spec and its relationship to HTML5 (Section title ARIA Role Attriubute), every HTML element may have * a "role" attribute whose value must be passed through unmodified on the element on which it is declared in the final * rendered markup. The attribute, if specified, must have a value that is a string literal that is, or an EL Expression * that evaluates to, a set of space-separated tokens representing the various WAI-ARIA roles that the element belongs * to. *

* *

* It is the page author's responsibility to ensure that the user agent is capable of correctly interpreting the value * of this attribute. *

*/ public java.lang.String getRole() { return (java.lang.String) getStateHelper().eval(PropertyKeys.role); } /** *

* Set the value of the role property. *

* * @param role the new property value */ public void setRole(java.lang.String role) { getStateHelper().put(PropertyKeys.role, role); handleAttribute("role", role); } /** *

* Return the value of the rowClass property. *

* * @return the property value *

* Contents:

* *

* Assigns one or more space-separated CSS class names to each "tr" *

* *
*/ public java.lang.String getRowClass() { return (java.lang.String) getStateHelper().eval(PropertyKeys.rowClass); } /** *

* Set the value of the rowClass property. *

* * @param rowClass the new property value */ public void setRowClass(java.lang.String rowClass) { getStateHelper().put(PropertyKeys.rowClass, rowClass); } /** *

* Return the value of the rowClasses property. *

* * @return the property value *

* Contents: Comma-delimited list of CSS style classes that will be applied to the rows of this table. A space separated * list of classes may also be specified for any individual row. Thes styles are applied, in turn, to each row in the * table. For example, if the list has two elements, the first style class in the list is applied to the first row, the * second to the second row, the first to the third row, the second to the fourth row, etc. In other words, we keep * iterating through the list until we reach the end, and then we start at the beginning again. */ public java.lang.String getRowClasses() { return (java.lang.String) getStateHelper().eval(PropertyKeys.rowClasses); } /** *

* Set the value of the rowClasses property. *

* * @param rowClasses the new property value */ public void setRowClasses(java.lang.String rowClasses) { getStateHelper().put(PropertyKeys.rowClasses, rowClasses); } /** *

* Return the value of the rules property. *

* * @return the property value *

* Contents: Code specifying which rules will appear between cells within this table. Valid values are: none (no rules, * default value); groups (between row groups); rows (between rows only); cols (between columns only); and all (between * all rows and columns). */ public java.lang.String getRules() { return (java.lang.String) getStateHelper().eval(PropertyKeys.rules); } /** *

* Set the value of the rules property. *

* * @param rules the new property value */ public void setRules(java.lang.String rules) { getStateHelper().put(PropertyKeys.rules, rules); handleAttribute("rules", rules); } /** *

* Return the value of the style property. *

* * @return the property value *

* Contents: CSS style(s) to be applied when this component is rendered. */ public java.lang.String getStyle() { return (java.lang.String) getStateHelper().eval(PropertyKeys.style); } /** *

* Set the value of the style property. *

* * @param style the new property value */ public void setStyle(java.lang.String style) { getStateHelper().put(PropertyKeys.style, style); handleAttribute("style", style); } /** *

* Return the value of the styleClass property. *

* * @return the property value *

* Contents: Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be * passed through as the "class" attribute on generated markup. */ public java.lang.String getStyleClass() { return (java.lang.String) getStateHelper().eval(PropertyKeys.styleClass); } /** *

* Set the value of the styleClass property. *

* * @param styleClass the new property value */ public void setStyleClass(java.lang.String styleClass) { getStateHelper().put(PropertyKeys.styleClass, styleClass); } /** *

* Return the value of the summary property. *

* * @return the property value *

* Contents: Summary of this table's purpose and structure, for user agents rendering to non-visual media such as speech * and Braille. */ public java.lang.String getSummary() { return (java.lang.String) getStateHelper().eval(PropertyKeys.summary); } /** *

* Set the value of the summary property. *

* * @param summary the new property value */ public void setSummary(java.lang.String summary) { getStateHelper().put(PropertyKeys.summary, summary); handleAttribute("summary", summary); } /** *

* Return the value of the title property. *

* * @return the property value *

* Contents: Advisory title information about markup elements generated for this component. */ public java.lang.String getTitle() { return (java.lang.String) getStateHelper().eval(PropertyKeys.title); } /** *

* Set the value of the title property. *

* * @param title the new property value */ public void setTitle(java.lang.String title) { getStateHelper().put(PropertyKeys.title, title); handleAttribute("title", title); } /** *

* Return the value of the width property. *

* * @return the property value *

* Contents: Width of the entire table, for visual user agents. */ public java.lang.String getWidth() { return (java.lang.String) getStateHelper().eval(PropertyKeys.width); } /** *

* Set the value of the width property. *

* * @param width the new property value */ public void setWidth(java.lang.String width) { getStateHelper().put(PropertyKeys.width, width); handleAttribute("width", width); } private static final Collection EVENT_NAMES = Collections.unmodifiableCollection( Arrays.asList("click", "dblclick", "keydown", "keypress", "keyup", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup")); @Override public Collection getEventNames() { return EVENT_NAMES; } @Override public String getDefaultEventName() { return null; } private void handleAttribute(String name, Object value) { List setAttributes = (List) getAttributes().get("jakarta.faces.component.UIComponentBase.attributesThatAreSet"); if (setAttributes == null) { String cname = this.getClass().getName(); if (cname != null && cname.startsWith(OPTIMIZED_PACKAGE)) { setAttributes = new ArrayList<>(6); getAttributes().put("jakarta.faces.component.UIComponentBase.attributesThatAreSet", setAttributes); } } if (setAttributes != null) { if (value == null) { ValueExpression ve = getValueExpression(name); if (ve == null) { setAttributes.remove(name); } } else if (!setAttributes.contains(name)) { setAttributes.add(name); } } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy