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

jakarta.faces.component._UISelectItems Maven / Gradle / Ivy

There is a newer version: 4.1.0-RC3
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package jakarta.faces.component;

import jakarta.faces.context.FacesContext;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFExclude;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;

/**
 * This tag associates a set of selection list items with the nearest
 * parent UIComponent. The set of SelectItem objects is retrieved via
 * a value-binding.
 * 

* Unless otherwise specified, all attributes accept static values * or EL expressions. *

*

* UISelectItems should be nested inside a UISelectMany or UISelectOne component, * and results in the addition of one ore more SelectItem instance to the list of available options * for the parent component *

*/ @JSFComponent(clazz = "jakarta.faces.component.UISelectItems", template = true, name = "f:selectItems", bodyContent = "empty") abstract class _UISelectItems extends UIComponentBase { static public final String COMPONENT_FAMILY = "jakarta.faces.SelectItems"; static public final String COMPONENT_TYPE = "jakarta.faces.SelectItems"; /** * Disable this property; although this class extends a base-class that * defines a read/write rendered property, this particular subclass * does not support setting it. Yes, this is broken OO design: direct * all complaints to the Faces spec group. */ @JSFExclude @JSFProperty(tagExcluded=true) @Override public void setRendered(boolean state) { super.setRendered(state); //call parent method due TCK problems //throw new UnsupportedOperationException(); } @Override protected FacesContext getFacesContext() { //In theory the parent most of the times has //the cached FacesContext instance, because this //element is purely logical, and the parent is the one //where encodeXXX was invoked. But only limit the //search to the closest parent. UIComponent parent = getParent(); if (parent != null && parent.isCachedFacesContext()) { return parent.getFacesContext(); } else { return super.getFacesContext(); } } /** * The initial value of this component. * * @return the new value value */ @JSFProperty public abstract Object getValue(); /** * Name of a request-scope attribute under which the current item * of the collection, array, etc. of the value attribute will be * exposed so that it can be referred to in EL for other attributes * of this component. * * @since 2.0 * @return */ @JSFExclude @JSFProperty(literalOnly = true) public String getVar() { return null; } /** * The value for the current item. * * @since 2.0 * @return */ @JSFExclude @JSFProperty public Object getItemValue() { return null; } /** * The label of the current item. * * @since 2.0 * @return */ @JSFExclude @JSFProperty public String getItemLabel() { return null; } /** * The description of the current item. * * @since 2.0 * @return */ @JSFExclude @JSFProperty public String getItemDescription() { return null; } /** * Determines if the current item is selectable or not. * * @since 2.0 * @return */ @JSFExclude @JSFProperty(defaultValue = "false", deferredValueType="java.lang.Boolean") public boolean isItemDisabled() { return false; } /** * Determines if the rendered markup for the current item receives * normal Faces HTML escaping or not. * * @since 2.0 * @return */ @JSFExclude @JSFProperty(defaultValue = "true", deferredValueType="java.lang.Boolean") public boolean isItemLabelEscaped() { return true; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy