Class 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 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
      • 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
    • Constructor Detail

      • CollectionUniqueKeyValidator

        public CollectionUniqueKeyValidator()
    • 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 to true.
        Specified by:
        validateWhenNotSkip in class NuitonFieldValidatorSupport
        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 interface com.opensymphony.xwork2.validator.Validator
        Overrides:
        getValidatorType in class com.opensymphony.xwork2.validator.validators.FieldValidatorSupport