com.vaadin.v7.data.Validatable Maven / Gradle / Ivy
Show all versions of vaadin-compatibility-server Show documentation
/*
* Copyright (C) 2000-2024 Vaadin Ltd
*
* This program is available under Vaadin Commercial License and Service Terms.
*
* See for the full
* license.
*/
package com.vaadin.v7.data;
import com.vaadin.data.Binder;
import java.io.Serializable;
import java.util.Collection;
/**
*
* Interface for validatable objects. Defines methods to verify if the object's
* value is valid or not, and to add, remove and list registered validators of
* the object.
*
*
* @author Vaadin Ltd.
* @since 3.0
* @see Validator
* @deprecated As of 8.0, no direct replacement available. See {@link Binder}, {@link com.vaadin.data.Validator}.
*/
@Deprecated
public interface Validatable extends Serializable {
/**
*
* Adds a new validator for this object. The validator's
* {@link Validator#validate(Object)} method is activated every time the
* object's value needs to be verified, that is, when the {@link #isValid()}
* method is called. This usually happens when the object's value changes.
*
*
* @param validator
* the new validator
*/
void addValidator(Validator validator);
/**
*
* Removes a previously registered validator from the object. The specified
* validator is removed from the object and its validate
method
* is no longer called in {@link #isValid()}.
*
*
* @param validator
* the validator to remove
*/
void removeValidator(Validator validator);
/**
* Removes all validators from this object, as if
* {@link #removeValidator(Validator) removeValidator} was called for each
* registered validator.
*/
void removeAllValidators();
/**
*
* Returns a collection of all validators currently registered for the
* object. The collection may be immutable. Calling
* removeValidator
for this Validatable while iterating over
* the collection may be unsafe (e.g. may throw
* ConcurrentModificationException
.)
*
*
* @return A collection of validators
*/
public Collection getValidators();
/**
*
* Tests the current value of the object against all registered validators.
* The registered validators are iterated and for each the
* {@link Validator#validate(Object)} method is called. If any validator
* throws the {@link Validator.InvalidValueException} this method returns
* false
.
*
*
* @return true
if the registered validators concur that the
* value is valid, false
otherwise
*/
public boolean isValid();
/**
*
* Checks the validity of the validatable. If the validatable is valid this
* method should do nothing, and if it's not valid, it should throw
* Validator.InvalidValueException
*
*
* @throws Validator.InvalidValueException
* if the value is not valid
*/
public void validate() throws Validator.InvalidValueException;
/**
*
* Checks the validabtable object accept invalid values.The default value is
* true
.
*
*
*/
public boolean isInvalidAllowed();
/**
*
* Should the validabtable object accept invalid values. Supporting this
* configuration possibility is optional. By default invalid values are
* allowed.
*
*
* @param invalidValueAllowed
*
* @throws UnsupportedOperationException
* if the setInvalidAllowed is not supported.
*/
public void setInvalidAllowed(boolean invalidValueAllowed)
throws UnsupportedOperationException;
}