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
 
 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected static StringATTR_VALUE 
- 
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 ObjectfindEntity(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)Finds the entity to validate from the UI component.protected static ObjectgetValueExpressionBase(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)protected abstract booleanhasValue(TField value)voidvalidate(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component, Object value) 
 - 
 
- 
- 
Field Detail
- 
ATTR_VALUE
protected static final String ATTR_VALUE
- See Also:
 - Constant Field Values
 
 
 - 
 
- 
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.value- Field to search.
 
- 
convertValue
protected abstract TField convertValue(@Nonnull Object value)
- Parameters:
 value- Value as received from the UI.- Returns:
 - The value, converted to the expected type.
 
 
- 
findEntity
protected Object findEntity(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
Finds the entity to validate from the UI component. The default implementation attempts to read the entity from the value expression base (e.g. when you usemyBean.selected.name).- Parameters:
 context- Current faces context.component- Component to validate.- Returns:
 - The entity with a field to validate.
 
 
- 
hasValue
protected abstract boolean hasValue(@Nonnull TField value)- Parameters:
 value- 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
 
- 
getValueExpressionBase
protected static Object getValueExpressionBase(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
 
 - 
 
 -