Class CollectionFieldExpressionValidator
- java.lang.Object
-
- com.opensymphony.xwork2.validator.validators.ValidatorSupport
-
- com.opensymphony.xwork2.validator.validators.FieldValidatorSupport
-
- com.opensymphony.xwork2.validator.validators.FieldExpressionValidator
-
- org.nuiton.validator.xwork2.field.NuitonFieldExpressionValidator
-
- org.nuiton.validator.xwork2.field.CollectionFieldExpressionValidator
-
- All Implemented Interfaces:
com.opensymphony.xwork2.validator.FieldValidator
,com.opensymphony.xwork2.validator.ShortCircuitableValidator
,com.opensymphony.xwork2.validator.Validator
public class CollectionFieldExpressionValidator extends NuitonFieldExpressionValidator
Un validateur basé surFieldExpressionValidator
qui valide sur une collection de propriéte.- Author:
- Tony Chemit - chemit@codelutin.com
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CollectionFieldExpressionValidator.Mode
class
CollectionFieldExpressionValidator.WalkerContext
-
Field Summary
Fields Modifier and Type Field Description protected CollectionFieldExpressionValidator.WalkerContext
c
le context de parcoursprotected String
collectionFieldName
pour indiquer la propriété qui contient la liste à valider.protected String
expressionForFirst
expression a valider sur la premiètre entrée de la collection.protected String
expressionForLast
expression a valider sur la dernière entrée de la collection.protected String[]
keys
la liste des propriétés d'une entrée de la collection qui définit la clef unique (en mode UNIQUE_KEY).protected CollectionFieldExpressionValidator.Mode
mode
le mode de validation sur la listeprotected com.opensymphony.xwork2.util.ValueStack
stack
protected boolean
useSensitiveContext
drapeau pour utiliser le contexte de parcours pour valider l'expression, on dispose donc alors des variables previous, current, index, size et empty dans l'expression.-
Fields inherited from class org.nuiton.validator.xwork2.field.NuitonFieldExpressionValidator
skip
-
-
Constructor Summary
Constructors Constructor Description CollectionFieldExpressionValidator()
-
Method Summary
-
Methods inherited from class org.nuiton.validator.xwork2.field.NuitonFieldExpressionValidator
evaluateSkipParameter, setSkip, validate
-
Methods inherited from class com.opensymphony.xwork2.validator.validators.FieldExpressionValidator
getExpression, setExpression
-
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, getFieldValue, getMessageKey, getMessageParameters, getValidatorContext, isShortCircuit, parse, setDefaultMessage, setMessageKey, setMessageParameters, setShortCircuit, setTextProviderFactory, setValidatorContext
-
-
-
-
Field Detail
-
mode
protected CollectionFieldExpressionValidator.Mode mode
le mode de validation sur la liste
-
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
-
useSensitiveContext
protected boolean useSensitiveContext
drapeau pour utiliser le contexte de parcours pour valider l'expression, on dispose donc alors des variables previous, current, index, size et empty dans l'expression. Sinon l'expression s'applique directement sur l'entrée courant dans le parcours sans préfixe.
-
expressionForFirst
protected String expressionForFirst
expression a valider sur la premiètre entrée de la collection. Note : Pour le moment, on autorise uniquement cela en mode ALL.
-
expressionForLast
protected String expressionForLast
expression a valider sur la dernière entrée de la collection. Note : Pour le moment, on autorise uniquement cela en mode ALL.
-
keys
protected String[] keys
la liste des propriétés d'une entrée de la collection qui définit la clef unique (en mode UNIQUE_KEY).
-
c
protected CollectionFieldExpressionValidator.WalkerContext c
le context de parcours
-
stack
protected com.opensymphony.xwork2.util.ValueStack stack
-
-
Method Detail
-
getMode
public CollectionFieldExpressionValidator.Mode getMode()
-
setMode
public void setMode(CollectionFieldExpressionValidator.Mode mode)
-
getCollectionFieldName
public String getCollectionFieldName()
-
setCollectionFieldName
public void setCollectionFieldName(String collectionFieldName)
-
isUseSensitiveContext
public boolean isUseSensitiveContext()
-
setUseSensitiveContext
public void setUseSensitiveContext(boolean useSensitiveContext)
-
getExpressionForFirst
public String getExpressionForFirst()
-
setExpressionForFirst
public void setExpressionForFirst(String expressionForFirst)
-
getExpressionForLast
public String getExpressionForLast()
-
setExpressionForLast
public void setExpressionForLast(String expressionForLast)
-
getKeys
public String[] getKeys()
-
setKeys
public void setKeys(String[] keys)
-
validateWhenNotSkip
public void validateWhenNotSkip(Object object) throws com.opensymphony.xwork2.validator.ValidationException
Description copied from class:NuitonFieldExpressionValidator
Method to be invoked when skip parameter was not evaludated totrue
.- Overrides:
validateWhenNotSkip
in classNuitonFieldExpressionValidator
- Parameters:
object
- the object to be validated.- Throws:
com.opensymphony.xwork2.validator.ValidationException
- is thrown if there is validation error(s).
-
setValueStack
public void setValueStack(com.opensymphony.xwork2.util.ValueStack stack)
- Specified by:
setValueStack
in interfacecom.opensymphony.xwork2.validator.Validator
- Overrides:
setValueStack
in classcom.opensymphony.xwork2.validator.validators.ValidatorSupport
-
getMessage
public String getMessage(Object object)
- Specified by:
getMessage
in interfacecom.opensymphony.xwork2.validator.Validator
- Overrides:
getMessage
in classcom.opensymphony.xwork2.validator.validators.ValidatorSupport
-
validateAllEntries
protected Boolean validateAllEntries(Collection<?> col) throws com.opensymphony.xwork2.validator.ValidationException
- Throws:
com.opensymphony.xwork2.validator.ValidationException
-
validateNoneEntry
protected Boolean validateNoneEntry(Collection<?> col) throws com.opensymphony.xwork2.validator.ValidationException
- Throws:
com.opensymphony.xwork2.validator.ValidationException
-
validateAtLeastOneEntry
protected Boolean validateAtLeastOneEntry(Collection<?> col) throws com.opensymphony.xwork2.validator.ValidationException
- Throws:
com.opensymphony.xwork2.validator.ValidationException
-
validateExtacltyOneEntry
protected Boolean validateExtacltyOneEntry(Collection<?> col) throws com.opensymphony.xwork2.validator.ValidationException
- Throws:
com.opensymphony.xwork2.validator.ValidationException
-
validateUniqueKey
protected Boolean validateUniqueKey(Collection<?> col) throws com.opensymphony.xwork2.validator.ValidationException
- Throws:
com.opensymphony.xwork2.validator.ValidationException
-
validateOneEntry
protected boolean validateOneEntry(Object object) throws com.opensymphony.xwork2.validator.ValidationException
- Throws:
com.opensymphony.xwork2.validator.ValidationException
-
evaluateExpression
protected boolean evaluateExpression(String expression, Object object) throws com.opensymphony.xwork2.validator.ValidationException
- Throws:
com.opensymphony.xwork2.validator.ValidationException
-
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
-
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
-
getValidatorType
public String getValidatorType()
- Specified by:
getValidatorType
in interfacecom.opensymphony.xwork2.validator.Validator
- Overrides:
getValidatorType
in classcom.opensymphony.xwork2.validator.validators.FieldValidatorSupport
-
-