Class 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é sur FieldExpressionValidator qui valide sur une collection de propriéte.
    Author:
    Tony Chemit - chemit@codelutin.com
    • 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 la FieldValidatorSupport.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).
      • stack

        protected com.opensymphony.xwork2.util.ValueStack stack
    • Constructor Detail

      • CollectionFieldExpressionValidator

        public CollectionFieldExpressionValidator()
    • Method Detail

      • 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 to true.
        Overrides:
        validateWhenNotSkip in class NuitonFieldExpressionValidator
        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 interface com.opensymphony.xwork2.validator.Validator
        Overrides:
        setValueStack in class com.opensymphony.xwork2.validator.validators.ValidatorSupport
      • getMessage

        public String getMessage​(Object object)
        Specified by:
        getMessage in interface com.opensymphony.xwork2.validator.Validator
        Overrides:
        getMessage in class com.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 interface com.opensymphony.xwork2.validator.Validator
        Overrides:
        getValidatorType in class com.opensymphony.xwork2.validator.validators.FieldValidatorSupport