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

jakarta.faces.model.SelectItemGroup Maven / Gradle / Ivy

There is a newer version: 11.0.0-M4
Show newest version
/*
 * 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.model;

import jakarta.faces.component.UISelectMany;
import jakarta.faces.component.UISelectOne;

/**
 * 

* SelectItemGroup is a subclass of {@link SelectItem} that identifies a set of options that will be * made available as a subordinate "submenu" or "options list", depending upon the requirements of the * {@link UISelectMany} or {@link UISelectOne} renderer that is actually used. In general, the value * property of this instance will be ignored, and the label property of this instance will be used to label * the submenu. *

* *

* Although it is feasible to incorporate {@link SelectItemGroup} instances in he selectItems property of * this instance (thereby creating a data structure suitable for cascading submenus), some renderers may place * restrictions on the level of nesting they support. For example, HTML based renderers that create an * <select> element will typically render this instance as an <optgroup> element, * but the HTML 4.01 Specification disallows nested option groups. *

*/ public class SelectItemGroup extends SelectItem { // ------------------------------------------------------------ Constructors private static final long serialVersionUID = 8355957402275580167L; /** *

* Construct a SelectItemGroup with no initialized property values. *

*/ public SelectItemGroup() { super(); } /** *

* Construct a SelectItemGroup with the specified label and no associated selectItems. The * value property will be set to a zero-length String, the description property will be set to * null, and the disabled property will be set to false. *

* * @param label Label to be rendered for this group in the response * * @throws NullPointerException if label is false */ public SelectItemGroup(String label) { super("", label); } /** *

* Construct a SelectItemGroup with the specified properties. The value property will be set * to a zero-length String. *

* * @param label Label to be rendered for this group in the response * @param description Description of this group, for use in tools * @param disabled Flag indicating that this group is disabled * @param selectItems Array of {@link SelectItem} describing the items available in this group * * @throws NullPointerException if label or selectItems is false */ public SelectItemGroup(String label, String description, boolean disabled, SelectItem selectItems[]) { super("", label, description, disabled); setSelectItems(selectItems); } // ------------------------------------------------------ Instance Variables private SelectItem selectItems[] = null; // -------------------------------------------------------------- Properties /** *

* Return the set of subordinate {@link SelectItem}s for this group. *

* * @return the set of subordinate {@link SelectItem}s for this group */ public SelectItem[] getSelectItems() { return selectItems; } /** *

* Set the set of subordinate {@link SelectItem}s for this group. *

* * @param selectItems The new set of subordinate items * * @throws NullPointerException if selectItems is null */ public void setSelectItems(SelectItem selectItems[]) { if (selectItems == null) { throw new NullPointerException(); } this.selectItems = selectItems; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy