Package de.xima.fc.gui.validator.name
Class AUniqueEntityFieldValidator<TEntity extends de.xima.cmn.dao.interfaces.IEntity<Long>,TField>
- java.lang.Object
-
- de.xima.fc.gui.validator.name.AUniqueEntityFieldValidator<TEntity,TField>
-
- Type Parameters:
TEntity- Type of the entity owning the field.TField- Type of the field to which the validator applies.
- All Implemented Interfaces:
Serializable,EventListener,javax.faces.validator.Validator
- Direct Known Subclasses:
AUniqueStringFieldValidator
public abstract class AUniqueEntityFieldValidator<TEntity extends de.xima.cmn.dao.interfaces.IEntity<Long>,TField> extends Object implements javax.faces.validator.Validator, Serializable
Abstract base class for faces validators that check whether a certain field of an entity is unique amongst all existing entities within a certain scope.- Since:
- 7.0.0
- Author:
- XIMA MEDIA GmbH
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAUniqueEntityFieldValidator(Class<TEntity> entityClass, Class<TField> fieldClass)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidaddScope(de.xima.cmn.criteria.QueryCriteriaManager qcm, TEntity entity)Use this method to restrict the scope of entities considered for the duplicate search, such as to a certain client, version, project etc.protected abstract voidaddSearch(de.xima.cmn.criteria.QueryCriteriaManager qcm, TField value)Adds the criteria an entity must match to be considered a duplicate.protected abstract TFieldconvertValue(Object value)protected static javax.faces.validator.ValidatorExceptioncreateError()protected static javax.faces.validator.ValidatorExceptioncreateError(Throwable e)protected abstract booleanhasValue(TField value)voidvalidate(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component, Object value)
-
-
-
Method Detail
-
validate
public final void validate(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component, Object value) throws javax.faces.validator.ValidatorException
-
addScope
protected void addScope(de.xima.cmn.criteria.QueryCriteriaManager qcm, @Nonnull TEntity entity)Use this method to restrict the scope of entities considered for the duplicate search, such as to a certain client, version, project etc.By default, the client and project scope is set if the entity implements
IMandantDependentorIProjektDependent.- Parameters:
qcm- Query criteria manager that will be used to check for existing duplicates.entity- Entity that is validated.
-
addSearch
protected abstract void addSearch(de.xima.cmn.criteria.QueryCriteriaManager qcm, @Nonnull TField value)Adds the criteria an entity must match to be considered a duplicate.- Parameters:
qcm- Query criteria manager that will be used to check for existing duplicates.entity- Entity that is validated.
-
convertValue
protected abstract TField convertValue(@Nonnull Object value)
- Parameters:
value- Value as received from the UI.- Returns:
- The value, converted to the expected type.
-
hasValue
protected abstract boolean hasValue(@Nonnull TField value)- Parameters:
fieldValue- The converted field value.- Returns:
trueif the value is non-empty, orfalseotherwise. When empty, this validator is skipped.
-
createError
protected static javax.faces.validator.ValidatorException createError() throws javax.faces.validator.ValidatorException- Throws:
javax.faces.validator.ValidatorException
-
createError
protected static javax.faces.validator.ValidatorException createError(Throwable e) throws javax.faces.validator.ValidatorException
- Throws:
javax.faces.validator.ValidatorException
-
-