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

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

The 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 - 2024 Weber Informatics LLC | Privacy Policy