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

jakarta.faces.model.SelectItemGroup 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.2
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 java.util.Collection;

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 Variable 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); } /** *

* 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 Collection of {@link SelectItem} describing the items available in this group * * @throws NullPointerException if label or selectItems is false * * @since 4.0 */ public SelectItemGroup(String label, String description, boolean disabled, Collection 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 as a variable array. *

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

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

* * @param selectItems The new set of subordinate items as a collection. * * @throws NullPointerException if selectItems is null * * @since 4.0 */ public void setSelectItems(Collection selectItems) { if (selectItems == null) { throw new NullPointerException(); } setSelectItems(selectItems.toArray(new SelectItem[selectItems.size()])); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy