jaxx.runtime.validator.field
Class CollectionUniqueKeyValidator

java.lang.Object
  extended by com.opensymphony.xwork2.validator.validators.ValidatorSupport
      extended by com.opensymphony.xwork2.validator.validators.FieldValidatorSupport
          extended by com.opensymphony.xwork2.validator.validators.FieldExpressionValidator
              extended by jaxx.runtime.validator.field.CollectionUniqueKeyValidator
All Implemented Interfaces:
com.opensymphony.xwork2.validator.FieldValidator, com.opensymphony.xwork2.validator.ShortCircuitableValidator, com.opensymphony.xwork2.validator.Validator

public class CollectionUniqueKeyValidator
extends com.opensymphony.xwork2.validator.validators.FieldExpressionValidator

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:
chemit

Field Summary
protected  java.lang.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 à exclure lors de la recherche de la violation de clef unique.
protected  java.lang.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  java.lang.String collectionFieldName
          pour indiquer la propriété qui contient la liste à valider.
protected  java.lang.String[] keys
          la liste des propriétés d'une entrée de la collection qui définit la clef unique.
 
Fields inherited from class com.opensymphony.xwork2.validator.validators.ValidatorSupport
defaultMessage, log, messageKey
 
Constructor Summary
CollectionUniqueKeyValidator()
           
 
Method Summary
 java.lang.String getAgainstIndexExpression()
           
 java.lang.String getAgainstProperty()
           
protected  java.util.Collection<?> getCollection(java.lang.Object object)
           
 java.lang.String getCollectionFieldName()
           
 java.lang.String[] getKeys()
           
protected  java.lang.Integer getUniqueKeyHashCode(java.lang.Object o)
          Calcule pour une entrée donné, le hash de la clef unique
 java.lang.String getValidatorType()
           
 void setAgainstIndexExpression(java.lang.String againstIndexExpression)
           
 void setAgainstProperty(java.lang.String againstProperty)
           
 void setCollectionFieldName(java.lang.String collectionFieldName)
           
 void setKeys(java.lang.String[] keys)
           
 void validate(java.lang.Object object)
           
 
Methods inherited from class com.opensymphony.xwork2.validator.validators.FieldExpressionValidator
getExpression, setExpression
 
Methods inherited from class com.opensymphony.xwork2.validator.validators.FieldValidatorSupport
getFieldName, setFieldName, setValidatorType
 
Methods inherited from class com.opensymphony.xwork2.validator.validators.ValidatorSupport
addActionError, addFieldError, conditionalParse, getDefaultMessage, getFieldValue, getMessage, getMessageKey, getMessageParameters, getParse, getValidatorContext, isShortCircuit, setDefaultMessage, setMessageKey, setMessageParameters, setParse, setShortCircuit, setValidatorContext, setValueStack
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.opensymphony.xwork2.validator.Validator
getDefaultMessage, getMessage, getMessageKey, getMessageParameters, getValidatorContext, setDefaultMessage, setMessageKey, setMessageParameters, setValidatorContext, setValueStack
 

Field Detail

collectionFieldName

protected java.lang.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 java.lang.String[] keys
la liste des propriétés d'une entrée de la collection qui définit la clef unique.


againstProperty

protected java.lang.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


againstIndexExpression

protected java.lang.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 à exclure lors de la recherche de la violation de clef unique.

Constructor Detail

CollectionUniqueKeyValidator

public CollectionUniqueKeyValidator()
Method Detail

getCollectionFieldName

public java.lang.String getCollectionFieldName()

setCollectionFieldName

public void setCollectionFieldName(java.lang.String collectionFieldName)

getKeys

public java.lang.String[] getKeys()

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)

validate

public void validate(java.lang.Object object)
              throws com.opensymphony.xwork2.validator.ValidationException
Specified by:
validate in interface com.opensymphony.xwork2.validator.Validator
Overrides:
validate in class com.opensymphony.xwork2.validator.validators.FieldExpressionValidator
Throws:
com.opensymphony.xwork2.validator.ValidationException

getUniqueKeyHashCode

protected java.lang.Integer getUniqueKeyHashCode(java.lang.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 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:
getValidatorType in interface com.opensymphony.xwork2.validator.Validator
Overrides:
getValidatorType in class com.opensymphony.xwork2.validator.validators.FieldValidatorSupport


Copyright © 2008-2009 CodeLutin. All Rights Reserved.