blob: 823e24c56e5b22a8aa5d60bda8c0d9e0405a50f1 [file] [log] [blame]
package org.eclipse.jst.jsf.common.runtime.internal.model.behavioural;
import java.util.List;
import org.eclipse.jst.jsf.common.runtime.internal.model.ViewObject;
import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ValidatorDecorator;
import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ValueChangeListenerDecorator;
/**
* A design time analog for the JSF runtime EditableValueHolder interface.
*
* @author cbateman
*
*/
public interface IEditableValueHolderInfo extends IValueHolderInfo {
/**
* @return the flag indicating whether the value of the value holder should
* be evaluated in the apply request values phase instead of the
* process validations phase
*/
boolean isImmediate();
/**
* @return true if the value has been set
*/
boolean isLocalSetValue();
/**
* @return true if validation should consider this field required (must be
* non-empty).
*/
boolean isRequired();
/**
* @return the submitted, unconverted value of the component.
*/
Object getSubmittedValue();
/**
* @return false if validation has determined that the value property of
* this component is not valid.
*/
boolean isValid();
/**
* <b> NOTE: this method is deprecated in the runtime spec and exists for
* backward compatibility with JSF 1.1. You should avoid using it except in
* conjunction with JSF 1.1 tooling support. This method will be deprecated
* once the runtime spec removes the underlying API</b>
*
* @return a method binding expression that refers to a validator method
*/
String getValidator();
/**
* <b> NOTE: this method is deprecated in the runtime spec and exists for
* backward compatibility with JSF 1.1. You should avoid using it except in
* conjunction with JSF 1.1 tooling support. This method will be deprecated
* once the runtime spec removes the underlying API</b>
*
* @return a method binding expression that refers to a value change
* listener
*/
String getValueChangeListener();
/**
* Add validator to the list of validators for this component. Should be
* equivalent to
* {@link ViewObject#addDecorator(org.eclipse.jst.jsf.common.runtime.internal.model.decorator.Decorator, Class)}.
*
* @param validator
*/
void addValidator(ValidatorDecorator validator);
/**
* @return the list of validators for this component. Should be considered
* unmodifiable (may throw exception).
*/
List/* <ValidatorDecorator> */getValidators();
/**
* Add the value change listener to this component.
*
* @param valueChangeListenerInfo
*/
void addValueChangeListener(
ValueChangeListenerDecorator valueChangeListenerInfo);
/**
* @return the list of value change listeners. Should be considered
* unmodifiable (may throw exception).
*/
List/* <ValueChangeListenerDecorator> */getValueChangeListeners();
}