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

javax.faces.component.UISelectItem Maven / Gradle / Ivy

Go to download

Jakarta Server 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: 3.1.0.SP02
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.component;

import javax.faces.model.SelectItem;

/**
 * 

* UISelectItem is a * component that may be nested inside a {@link UISelectMany} or {@link UISelectOne} component, and * causes the addition of a {@link SelectItem} instance to the list of available options for the * parent component. The contents of the {@link SelectItem} can be specified in one of the following * ways: *

*
    *
  • The value attribute's value is an instance of {@link SelectItem}.
  • *
  • The associated {@link javax.el.ValueExpression} points at a model data item of type * {@link SelectItem}.
  • *
  • A new {@link SelectItem} instance is synthesized from the values of the * itemDescription, itemDisabled, itemLabel, itemEscaped, and itemValue * attributes.
  • *
*/ public class UISelectItem extends UIComponentBase { // ------------------------------------------------------ Manifest Constants /** *

* The standard component type for this component. *

*/ public static final String COMPONENT_TYPE = "javax.faces.SelectItem"; /** *

* The standard component family for this component. *

*/ public static final String COMPONENT_FAMILY = "javax.faces.SelectItem"; enum PropertyKeys { itemDescription, itemDisabled, itemEscaped, itemLabel, itemValue, value, noSelectionOption } // ------------------------------------------------------------ Constructors /** *

* Create a new {@link UISelectItem} instance with default property values. *

*/ public UISelectItem() { super(); setRendererType(null); } // -------------------------------------------------------------- Properties @Override public String getFamily() { return COMPONENT_FAMILY; } /** *

* Return the description for this selection item. *

* * @return the item description. */ public String getItemDescription() { return (String) getStateHelper().eval(PropertyKeys.itemDescription); } /** *

* Set the description for this selection item. *

* * @param itemDescription The new description */ public void setItemDescription(String itemDescription) { getStateHelper().put(PropertyKeys.itemDescription, itemDescription); } /** *

* Return the disabled setting for this selection item. *

* * @return true is the item disabled, false otherwise. */ public boolean isItemDisabled() { return (Boolean) getStateHelper().eval(PropertyKeys.itemDisabled, false); } /** *

* Set the disabled value for this selection item. *

* * @param itemDisabled The new disabled flag */ public void setItemDisabled(boolean itemDisabled) { getStateHelper().put(PropertyKeys.itemDisabled, itemDisabled); } /** *

* Return the escape setting for the label of this selection item. *

* * @return true if the item is escaped, false otherwise. */ public boolean isItemEscaped() { return (Boolean) getStateHelper().eval(PropertyKeys.itemEscaped, true); } /** *

* Set the escape value for the label of this selection item. *

* * @param itemEscaped The new disabled flag */ public void setItemEscaped(boolean itemEscaped) { getStateHelper().put(PropertyKeys.itemEscaped, itemEscaped); } /** *

* Return the localized label for this selection item. *

* * @return the item label. */ public String getItemLabel() { return (String) getStateHelper().eval(PropertyKeys.itemLabel); } /** *

* Set the localized label for this selection item. *

* * @param itemLabel The new localized label */ public void setItemLabel(String itemLabel) { getStateHelper().put(PropertyKeys.itemLabel, itemLabel); } /** *

* Return the server value for this selection item. *

* * @return the item value. */ public Object getItemValue() { return getStateHelper().eval(PropertyKeys.itemValue); } /** *

* Set the server value for this selection item. *

* * @param itemValue The new server value */ public void setItemValue(Object itemValue) { getStateHelper().put(PropertyKeys.itemValue, itemValue); } /** *

* Returns the value property of the UISelectItem. *

* * @return the value. */ public Object getValue() { return getStateHelper().eval(PropertyKeys.value); } /** *

* Sets the value property of the UISelectItem. *

* * @param value the new value */ public void setValue(Object value) { getStateHelper().put(PropertyKeys.value, value); } /** *

* Return the value of the noSelectionOption property. If the value of this * property is true, the system interprets the option represented by this * UISelectItem instance as representing a "no selection" option. See * {@link UISelectOne#validateValue} and {@link UISelectMany#validateValue} for usage. *

* * @return the no selection option. * @since 2.0 */ public boolean isNoSelectionOption() { return (Boolean) getStateHelper().eval(PropertyKeys.noSelectionOption, false); } /** *

* Set the value of the noSelectionOption property. *

* * @param noSelectionOption the no selection option. * @since 2.0 */ public void setNoSelectionOption(boolean noSelectionOption) { getStateHelper().put(PropertyKeys.noSelectionOption, noSelectionOption); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy