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é surFieldExpressionValidator
qui valide une clef unique sur une collection. LeFieldValidatorSupport.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 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.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.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.protected String
collectionFieldName
pour indiquer la propriété qui contient la liste à valider.protected String[]
keys
la liste des propriétés d'une entrée de la collection qui définit la clef unique.protected boolean
nullValueSkipped
Pour ne pas traiter les valeurs nulles (si positionné àtrue
les 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 String
getAgainstIndexExpression()
boolean
getAgainstMe()
String
getAgainstProperty()
protected Collection<?>
getCollection(Object object)
String
getCollectionFieldName()
String[]
getKeys()
protected Integer
getUniqueKeyHashCode(Object o)
Calcule pour une entrée donné, le hash de la clef uniqueString
getValidatorType()
boolean
isNullValueSkipped()
void
setAgainstIndexExpression(String againstIndexExpression)
void
setAgainstMe(boolean againstMe)
void
setAgainstProperty(String againstProperty)
void
setCollectionFieldName(String collectionFieldName)
void
setKeys(String[] keys)
void
setNullValueSkipped(boolean nullValueSkipped)
void
validateWhenNotSkip(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é àtrue
les 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:NuitonFieldValidatorSupport
Method to be invoked when skip parameter was not evaludated totrue
.- Specified by:
validateWhenNotSkip
in 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:
getValidatorType
in interfacecom.opensymphony.xwork2.validator.Validator
- Overrides:
getValidatorType
in classcom.opensymphony.xwork2.validator.validators.FieldValidatorSupport
-
-