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

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

There is a newer version: 4.1.1
Show newest version
/*
 * Copyright (c) 1997, 2018 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 javax.faces.model;


import javax.faces.component.UISelectMany;
import javax.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 (this.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