Coverage Report - org.seasar.cubby.validator.validators.MinSizeValidator
 
Classes in this File Line Coverage Branch Coverage Complexity
MinSizeValidator
100%
13/13
N/A
2.333
 
 1  
 package org.seasar.cubby.validator.validators;
 2  
 
 3  
 import org.seasar.cubby.util.CubbyUtils;
 4  
 import org.seasar.cubby.validator.BaseValidator;
 5  
 import org.seasar.cubby.validator.ValidationContext;
 6  
 
 7  
 /**
 8  
  * 配???小サイズを検証します??
 9  
  * @author agata
 10  
  *
 11  
  */
 12  
 public class MinSizeValidator extends BaseValidator {
 13  
 
 14  
         /**
 15  
          * 配???小サイズ
 16  
          */
 17  
         private final int min;
 18  
 
 19  
         /**
 20  
          * コンストラクタ
 21  
          * @param min 配???小サイズ
 22  
          */
 23  
         public MinSizeValidator(final int min) {
 24  1
                 this(min, "valid.minSize");
 25  1
         }
 26  
 
 27  
         /**
 28  
          * エラーメ?セージキーを指定するコンストラクタ
 29  
          * @param min 配???小サイズ
 30  
          * @param messageKey エラーメ?セージキー
 31  
          */
 32  1
         public MinSizeValidator(final int min, final String messageKey) {
 33  1
                 this.min = min;
 34  1
                 this.setMessageKey(messageKey);
 35  1
         }
 36  
 
 37  
         public String validate(final ValidationContext ctx) {
 38  4
                 final Object value = ctx.getValue();
 39  4
                 if (value == null) {
 40  1
                         return null; 
 41  
                 } 
 42  3
                 int size = CubbyUtils.getObjectSize(value);
 43  3
                 if (size >= min) {
 44  2
                         return null;
 45  
                 } else {
 46  1
                         return getMessage(getPropertyMessage(ctx.getName()), min);
 47  
                 }
 48  
         }
 49  
 }