jakarta.faces.component.UISelectItemGroup Maven / Gradle / Ivy
/*
* Copyright (c) 2021 Contributors to Eclipse Foundation.
*
* 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;
import static com.sun.faces.util.SelectItemUtils.collectSelectItems;
import static com.sun.faces.util.SelectItemUtils.createSelectItem;
import jakarta.faces.model.SelectItem;
import jakarta.faces.model.SelectItemGroup;
/**
*
* UISelectItemGroup is a component that may be nested inside a {@link UISelectMany} or {@link UISelectOne} component, and causes the addition
* of one {@link SelectItemGroup} of one or more {@link SelectItem} instances to the list of available options in the parent component. This component
* accepts only children of type {@link UISelectItems} or {@link UISelectItem}.
*
*
* @since 4.0
*/
public class UISelectItemGroup extends UISelectItem {
// -------------------------------------------------------------------------------------------------------------------------------------- Manifest Constants
/**
*
* The standard component type for this component.
*
*/
public static final String COMPONENT_TYPE = "jakarta.faces.SelectItemGroup";
// ---------------------------------------------------------------------------------------------------------------------------------- ValueHolder Properties
/**
*
* Return a new {@link SelectItemGroup} instance containing one or more {@link SelectItem} instances represented by any nested {@link UISelectItems} or
* {@link UISelectItem} components.
*
*/
@Override
public Object getValue() {
SelectItemGroup group = createSelectItem(this, null, SelectItemGroup::new);
group.setSelectItems(collectSelectItems(getFacesContext(), this));
return group;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy