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
 
 - 
 
 -