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é sur
FieldExpressionValidator qui valide une clef
unique sur une collection.
Le FieldValidatorSupport.fieldName sert à 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 java.lang.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 java.lang.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 java.lang.StringcollectionFieldNamepour indiquer la propriété qui contient la liste à valider.protected java.lang.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). -
Constructor Summary
Constructors Constructor Description CollectionUniqueKeyValidator() -
Method Summary
Modifier and Type Method Description java.lang.StringgetAgainstIndexExpression()booleangetAgainstMe()java.lang.StringgetAgainstProperty()protected java.util.Collection<?>getCollection(java.lang.Object object)java.lang.StringgetCollectionFieldName()java.lang.String[]getKeys()protected java.lang.IntegergetUniqueKeyHashCode(java.lang.Object o)Calcule pour une entrée donné, le hash de la clef uniquejava.lang.StringgetValidatorType()booleanisNullValueSkipped()voidsetAgainstIndexExpression(java.lang.String againstIndexExpression)voidsetAgainstMe(boolean againstMe)voidsetAgainstProperty(java.lang.String againstProperty)voidsetCollectionFieldName(java.lang.String collectionFieldName)voidsetKeys(java.lang.String[] keys)voidsetNullValueSkipped(boolean nullValueSkipped)voidvalidateWhenNotSkip(java.lang.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, validateMethods inherited from class com.opensymphony.xwork2.validator.validators.FieldValidatorSupport
getCurrentValue, getFieldName, setFieldName, setValidatorTypeMethods 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 Details
-
collectionFieldName
protected java.lang.String collectionFieldNamepour 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 java.lang.String[] keysla liste des propriétés d'une entrée de la collection qui définit la clef unique. -
againstProperty
protected java.lang.String againstPropertyUne 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 againstMeUne 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 java.lang.String againstIndexExpressionLors 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 nullValueSkippedPour ne pas traiter les valeurs nulles (si positionné àtrueles valeurs nulles ne sont pas considérée comme unique).- Since:
- 2.2.6
-
-
Constructor Details
-
CollectionUniqueKeyValidator
public CollectionUniqueKeyValidator()
-
-
Method Details
-
getCollectionFieldName
public java.lang.String getCollectionFieldName() -
setCollectionFieldName
public void setCollectionFieldName(java.lang.String collectionFieldName) -
getKeys
public java.lang.String[] getKeys() -
getAgainstMe
public boolean getAgainstMe() -
setKeys
public void setKeys(java.lang.String[] keys) -
getAgainstProperty
public java.lang.String getAgainstProperty() -
setAgainstProperty
public void setAgainstProperty(java.lang.String againstProperty) -
getAgainstIndexExpression
public java.lang.String getAgainstIndexExpression() -
setAgainstIndexExpression
public void setAgainstIndexExpression(java.lang.String againstIndexExpression) -
setAgainstMe
public void setAgainstMe(boolean againstMe) -
isNullValueSkipped
public boolean isNullValueSkipped() -
setNullValueSkipped
public void setNullValueSkipped(boolean nullValueSkipped) -
validateWhenNotSkip
public void validateWhenNotSkip(java.lang.Object object) throws com.opensymphony.xwork2.validator.ValidationExceptionDescription 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 java.lang.Integer getUniqueKeyHashCode(java.lang.Object o) throws com.opensymphony.xwork2.validator.ValidationExceptionCalcule 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 java.util.Collection<?> getCollection(java.lang.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 java.lang.String getValidatorType()- Specified by:
getValidatorTypein interfacecom.opensymphony.xwork2.validator.Validator- Overrides:
getValidatorTypein classcom.opensymphony.xwork2.validator.validators.FieldValidatorSupport
-