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

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

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

import jakarta.faces.event.ValueChangeEvent;
import jakarta.faces.event.ValueChangeListener;
import jakarta.faces.render.Renderer;
import jakarta.faces.validator.Validator;

/**
 * 

* EditableValueHolder is an extension of * ValueHolder that describes additional features supported by editable components, including {@link ValueChangeEvent}s * and {@link Validator}s. */ public interface EditableValueHolder extends ValueHolder { /** *

* Return the submittedValue value of this component. This method should only be used by the encodeBegin() * and/or encodeEnd() methods of this component, or its corresponding {@link Renderer}. * The action taken based on whether the value is null, empty, or * non-null is determined based on the value of the * jakarta.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULLcontext-param. *

* * @return the submitted value. */ Object getSubmittedValue(); /** *

* Convenience method to reset this component's value to the un-initialized state. *

* * @since 2.0 */ void resetValue(); /** *

* Set the submittedValue value of this component. This method should only be used by the decode() and * validate() method of this component, or its corresponding {@link Renderer}. * The action taken based on whether the value is null, empty, or * non-null is determined based on the value of the * jakarta.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULLcontext-param. *

* * @param submittedValue The new submitted value */ void setSubmittedValue(Object submittedValue); /** * Return the "local value set" state for this component. Calls to setValue() automatically reset this * property to true. * * @return true if the local value is set, false otherwise. */ boolean isLocalValueSet(); /** * Sets the "local value set" state for this component. * * @param localValueSet the "local value set" boolean. */ void setLocalValueSet(boolean localValueSet); /** *

* Return a flag indicating whether the local value of this component is valid (no conversion error has occurred). *

* * @return true if valid, false otherwise. */ boolean isValid(); /** *

* Set a flag indicating whether the local value of this component is valid (no conversion error has occurred). *

* * @param valid The new valid flag */ void setValid(boolean valid); /** *

* Return the "required field" state for this component. *

* * @return true if required, false otherwise. */ boolean isRequired(); /** *

* Set the "required field" state for this component. *

* * @param required The new "required field" state */ void setRequired(boolean required); /** *

* Return the "immediate" state for this component. *

* * @return true if is immediate, false otherwise. */ boolean isImmediate(); /** *

* Set the "immediate" state for this component. When set to true, the component's value will be converted and validated * immediately in the Apply Request Values phase, and {@link ValueChangeEvent}s will be delivered in that phase * as well. The default value for this property must be false. *

* * @param immediate The new "immediate" state */ void setImmediate(boolean immediate); /** *

* Add a {@link Validator} instance to the set associated with this component. *

* * @param validator The {@link Validator} to add * * @throws NullPointerException if validator is null */ void addValidator(Validator validator); /** *

* Return the set of registered {@link Validator}s for this component instance. If there are no registered validators, a * zero-length array is returned. *

* * @return the validators, or a zero-length array. */ Validator[] getValidators(); /** *

* Remove a {@link Validator} instance from the set associated with this component, if it was previously associated. * Otherwise, do nothing. *

* * @param validator The {@link Validator} to remove */ void removeValidator(Validator validator); /** *

* Add a new {@link ValueChangeListener} to the set of listeners interested in being notified when * {@link ValueChangeEvent}s occur. *

* * @param listener The {@link ValueChangeListener} to be added * * @throws NullPointerException if listener is null */ void addValueChangeListener(ValueChangeListener listener); /** *

* Return the set of registered {@link ValueChangeListener}s for this component instance. If there are no registered * listeners, a zero-length array is returned. *

* * @return the value change listeners, or a zero-length array. */ ValueChangeListener[] getValueChangeListeners(); /** *

* Remove an existing {@link ValueChangeListener} (if any) from the set of listeners interested in being notified when * {@link ValueChangeEvent}s occur. *

* * @param listener The {@link ValueChangeListener} to be removed * * @throws NullPointerException if listener is null */ void removeValueChangeListener(ValueChangeListener listener); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy