Package de.xima.fc.gui.common.validator
Class AUniqueEntityFieldValidator<TEntity extends de.xima.cmn.dao.interfaces.IEntity<Long>,TField>
- java.lang.Object
-
- de.xima.fc.gui.common.validator.AUniqueBeanFieldValidator<TEntity,TField>
-
- de.xima.fc.gui.common.validator.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 AUniqueBeanFieldValidator<TEntity,TField>
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. This base class is independent of how the entities are stored or accessed, you must implement the search for duplicates by implementing thecountEntities(Class, QueryCriteriaManager)
method.- Since:
- 8.4.0
- Author:
- XIMA MEDIA GmbH
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class de.xima.fc.gui.common.validator.AUniqueBeanFieldValidator
ATTR_VALUE, beanClass, fieldClass
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AUniqueEntityFieldValidator(Class<TEntity> entityClass, Class<TField> fieldClass)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addScope(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 void
addSearch(de.xima.cmn.criteria.QueryCriteriaManager qcm, TField value)
Adds the criteria an entity must match to be considered a duplicate.protected boolean
hasDuplicates(TEntity entity, TField fieldValue)
Checks if any duplicates exists for the given bean with the given field value.-
Methods inherited from class de.xima.fc.gui.common.validator.AUniqueBeanFieldValidator
convertValue, createError, createError, findBean, getValueExpressionBase, hasValue, validate
-
-
-
-
Method Detail
-
addScope
protected void addScope(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.By default, the client and project scope is set if the entity implements
IMandantDependent
orIProjektDependent
.- 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, 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.
-
hasDuplicates
protected boolean hasDuplicates(TEntity entity, TField fieldValue)
Description copied from class:AUniqueBeanFieldValidator
Checks if any duplicates exists for the given bean with the given field value.- Specified by:
hasDuplicates
in classAUniqueBeanFieldValidator<TEntity extends de.xima.cmn.dao.interfaces.IEntity<Long>,TField>
- Parameters:
entity
- Bean to check for existing duplicates.fieldValue
- Field value to check for duplicates.
-
-