Class CollectionUniqueKeyValidator
- java.lang.Object
-
- com.opensymphony.xwork2.validator.validators.ValidatorSupport
-
- com.opensymphony.xwork2.validator.validators.FieldValidatorSupport
-
- org.nuiton.validator.xwork2.field.NuitonFieldValidatorSupport
-
- org.nuiton.validator.xwork2.field.CollectionUniqueKeyValidator
-
- All Implemented Interfaces:
com.opensymphony.xwork2.validator.FieldValidator,com.opensymphony.xwork2.validator.ShortCircuitableValidator,com.opensymphony.xwork2.validator.Validator
public class CollectionUniqueKeyValidator extends NuitonFieldValidatorSupport
Un validateur basé surFieldExpressionValidatorqui valide une clef unique sur une collection. LeFieldValidatorSupport.fieldNamesert à récupérer la propriété de type de collection du bean.- Author:
- Tony Chemit - chemit@codelutin.com
-
-
Field Summary
Fields Modifier and Type Field Description protected StringagainstIndexExpressionLors de l'utilisation de la againstProperty et qu'un ne peut pas utiliser le equals sur l'objet, on peut spécifier une expression pour exclure des tests lors de la recherche de la violation de clef unique.protected booleanagainstMeUne propriété optionnelle pour utiliser l'objet en cours de validation pour valider que l'objet reflétée par cette propriété ne viole pas l'intégrité de la clef unique.protected StringagainstPropertyUne propriété optionnelle pour valider que l'objet reflétée par cette propriété ne viole pas l'intégrité de la clef unique.protected StringcollectionFieldNamepour indiquer la propriété qui contient la liste à valider.protected String[]keysla liste des propriétés d'une entrée de la collection qui définit la clef unique.protected booleannullValueSkippedPour ne pas traiter les valeurs nulles (si positionné àtrueles valeurs nulles ne sont pas considérée comme unique).-
Fields inherited from class org.nuiton.validator.xwork2.field.NuitonFieldValidatorSupport
skip
-
-
Constructor Summary
Constructors Constructor Description CollectionUniqueKeyValidator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetAgainstIndexExpression()booleangetAgainstMe()StringgetAgainstProperty()protected Collection<?>getCollection(Object object)StringgetCollectionFieldName()String[]getKeys()protected IntegergetUniqueKeyHashCode(Object o)Calcule pour une entrée donné, le hash de la clef uniqueStringgetValidatorType()booleanisNullValueSkipped()voidsetAgainstIndexExpression(String againstIndexExpression)voidsetAgainstMe(boolean againstMe)voidsetAgainstProperty(String againstProperty)voidsetCollectionFieldName(String collectionFieldName)voidsetKeys(String[] keys)voidsetNullValueSkipped(boolean nullValueSkipped)voidvalidateWhenNotSkip(Object object)Method to be invoked when skip parameter was not evaludated totrue.-
Methods inherited from class org.nuiton.validator.xwork2.field.NuitonFieldValidatorSupport
evaluateSkipParameter, getFieldValue, setSkip, validate
-
Methods inherited from class com.opensymphony.xwork2.validator.validators.FieldValidatorSupport
getCurrentValue, getFieldName, setFieldName, setValidatorType
-
Methods inherited from class com.opensymphony.xwork2.validator.validators.ValidatorSupport
addActionError, addFieldError, getDefaultMessage, getMessage, getMessageKey, getMessageParameters, getValidatorContext, isShortCircuit, parse, setDefaultMessage, setMessageKey, setMessageParameters, setShortCircuit, setTextProviderFactory, setValidatorContext, setValueStack
-
-
-
-
Field Detail
-
collectionFieldName
protected String collectionFieldName
pour indiquer la propriété qui contient la liste à valider. Si cette prorpiété n'est pas renseignée alors on utilise laFieldValidatorSupport.getFieldName()pour obtenir la collection. Cela permet d'effectuer une validation si une collection mais portant en fait sur un autre champs- Since:
- 1.5
-
keys
protected String[] keys
la liste des propriétés d'une entrée de la collection qui définit la clef unique.
-
againstProperty
protected String againstProperty
Une propriété optionnelle pour valider que l'objet reflétée par cette propriété ne viole pas l'intégrité de la clef unique. Cela permet de valider l'unicité sans que l'objet soit dans la collection
-
againstMe
protected boolean againstMe
Une propriété optionnelle pour utiliser l'objet en cours de validation pour valider que l'objet reflétée par cette propriété ne viole pas l'intégrité de la clef unique. Cela permet de valider l'unicité sans que l'objet soit dans la collection
-
againstIndexExpression
protected String againstIndexExpression
Lors de l'utilisation de la againstProperty et qu'un ne peut pas utiliser le equals sur l'objet, on peut spécifier une expression pour exclure des tests lors de la recherche de la violation de clef unique.
-
nullValueSkipped
protected boolean nullValueSkipped
Pour ne pas traiter les valeurs nulles (si positionné àtrueles valeurs nulles ne sont pas considérée comme unique).- Since:
- 2.2.6
-
-
Method Detail
-
getCollectionFieldName
public String getCollectionFieldName()
-
setCollectionFieldName
public void setCollectionFieldName(String collectionFieldName)
-
getKeys
public String[] getKeys()
-
getAgainstMe
public boolean getAgainstMe()
-
setKeys
public void setKeys(String[] keys)
-
getAgainstProperty
public String getAgainstProperty()
-
setAgainstProperty
public void setAgainstProperty(String againstProperty)
-
getAgainstIndexExpression
public String getAgainstIndexExpression()
-
setAgainstIndexExpression
public void setAgainstIndexExpression(String againstIndexExpression)
-
setAgainstMe
public void setAgainstMe(boolean againstMe)
-
isNullValueSkipped
public boolean isNullValueSkipped()
-
setNullValueSkipped
public void setNullValueSkipped(boolean nullValueSkipped)
-
validateWhenNotSkip
public void validateWhenNotSkip(Object object) throws com.opensymphony.xwork2.validator.ValidationException
Description copied from class:NuitonFieldValidatorSupportMethod to be invoked when skip parameter was not evaludated totrue.- Specified by:
validateWhenNotSkipin classNuitonFieldValidatorSupport- Parameters:
object- the object to be validated.- Throws:
com.opensymphony.xwork2.validator.ValidationException- is thrown if there is validation error(s).
-
getUniqueKeyHashCode
protected Integer getUniqueKeyHashCode(Object o) throws com.opensymphony.xwork2.validator.ValidationException
Calcule pour une entrée donné, le hash de la clef unique- Parameters:
o- l'entree de la collection dont on va calculer le hash de la clef unique- Returns:
- le hashCode calclé de la clef unique sur l'entrée donné
- Throws:
com.opensymphony.xwork2.validator.ValidationException- if any pb to retreave properties values
-
getCollection
protected Collection<?> getCollection(Object object) throws com.opensymphony.xwork2.validator.ValidationException
- Parameters:
object- the incoming object containing the collection to test- Returns:
- the collection of the incoming object given by the fieldName property
- Throws:
com.opensymphony.xwork2.validator.ValidationException- if any pb to retreave the collection
-
getValidatorType
public String getValidatorType()
- Specified by:
getValidatorTypein interfacecom.opensymphony.xwork2.validator.Validator- Overrides:
getValidatorTypein classcom.opensymphony.xwork2.validator.validators.FieldValidatorSupport
-
-