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

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

Go to download

Jakarta 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: 4.1.0
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;

/**
 * 

* UIParameter is a {@link UIComponent} that represents an optionally named * configuration parameter for a parent component. *

* *

* Parent components should retrieve the value of a parameter by calling getValue(). In * this way, the parameter value can be set directly on the component (via setValue()), * or retrieved indirectly via the value binding expression. *

* *

* In some scenarios, it is necessary to provide a parameter name, in addition to the parameter * value that is accessible via the getValue() method. * {@link javax.faces.render.Renderer}s that support parameter names on their nested * {@link UIParameter} child components should document their use of this property. *

* */ public class UIParameter extends UIComponentBase { // ------------------------------------------------------ Manifest Constants /** *

* The standard component type for this component. *

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

* The standard component family for this component. *

*/ public static final String COMPONENT_FAMILY = "javax.faces.Parameter"; enum PropertyKeys { name, value, disable } // ------------------------------------------------------------ Constructors /** *

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

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

* Return the optional parameter name for this parameter. *

* * @return the name. */ public String getName() { return (String) getStateHelper().eval(PropertyKeys.name); } /** *

* Set the optional parameter name for this parameter. *

* * @param name The new parameter name, or null for no name */ public void setName(String name) { getStateHelper().put(PropertyKeys.name, name); } /** *

* Returns the value property of the UIParameter. *

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

* Sets the value property of the\ UIParameter. *

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

* Return the value of the disable directive for this component. This directive * determines whether the parameter value should be disabled by assigning it a null value. If * true, the value set on this component is ignored. *

* * @return true if disabled, false otherwise. * @since 2.0 */ public boolean isDisable() { return (Boolean) getStateHelper().eval(PropertyKeys.disable, false); } /** *

* Sets the disable property of the UIParameter. *

* * @param disable the value for the disable flag. * @since 2.0 */ public void setDisable(boolean disable) { getStateHelper().put(PropertyKeys.disable, disable); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy