Coverage Report - org.seasar.cubby.validator.DefaultValidationRules
 
Classes in this File Line Coverage Branch Coverage Complexity
DefaultValidationRules
100%
18/18
N/A
0
 
 1  
 package org.seasar.cubby.validator;
 2  
 
 3  
 import java.util.ArrayList;
 4  
 import java.util.List;
 5  
 
 6  
 /**
 7  
  * 入力検証を保持するクラス
 8  
  * @author agata
 9  
  */
 10  
 public class DefaultValidationRules implements ValidationRules {
 11  
 
 12  
         /**
 13  
          * 入力検証ルールのリス?
 14  
          */
 15  12
         public final List<ValidationRule> rules = new ArrayList<ValidationRule>();
 16  
 
 17  
         /**
 18  
          * メ?セージキーのプリフィ?クス
 19  
          */
 20  
         private final String resourceKeyPrefix;
 21  
 
 22  
         /**
 23  
          * メ?セージキーのプリフィ?クスなし?コンストラクタ
 24  
          */
 25  
         public DefaultValidationRules() {
 26  11
                 this(null);
 27  11
         }
 28  
 
 29  
         /**
 30  
          * メ?セージキーのプリフィ?クス付きのコンストラクタ
 31  
          * @param resourceKeyPrefix メ?セージキーのプリフィ?クス
 32  
          */
 33  12
         public DefaultValidationRules(final String resourceKeyPrefix) {
 34  12
                 this.resourceKeyPrefix = resourceKeyPrefix;
 35  12
                 initialize();
 36  12
         }
 37  
         
 38  
         /**
 39  
          * 初期化メソ?ド??
 40  
          * こ?メソ?ドをサブクラスでオーバ?ライドして??目の入力検証ルールを追?します??
 41  
          */
 42  
         public void initialize() {
 43  9
         }
 44  
         
 45  
         /**
 46  
          * 入力検証ルールを追?します??
 47  
          * @param rule 入力検証ルール
 48  
          */
 49  
         protected void add(final ValidationRule rule) {
 50  15
                 rules.add(rule);
 51  15
         }
 52  
 
 53  
         /**
 54  
          * 入力検証ルールを追?します??
 55  
          * ?目名?メ?セージキーとしてパラメータ名が使用されます??
 56  
          * @param paramName パラメータ?
 57  
          * @param validators 入力検証ルールリス?
 58  
          */
 59  
         public void add(final String paramName, final Validator... validators) {
 60  14
                 add(paramName, paramName, validators);
 61  14
         }
 62  
         /**
 63  
          * ?目名?メ?セージキーを指定して入力検証ルールを追?します??
 64  
          * @param paramName パラメータ?
 65  
          * @param paramNameMessageKey ?目名?メ?セージキー
 66  
          * @param validators 入力検証ルールリス?
 67  
          */
 68  
         public void add(final String paramName, final String paramNameMessageKey, final Validator... validators) {
 69  14
                 add(new PropertyValidationRule(paramName, makePropertyNameKey(paramNameMessageKey), validators));
 70  14
         }
 71  
 
 72  
         /**
 73  
          * メ?セージキーを作?します??
 74  
          * キーのプリフィ?クスが指定されて?た?合?メ?セージキーに付加します??
 75  
          * @param messageKey メ?セージキー
 76  
          * @return 作?後?メ?セージキー
 77  
          */
 78  
         private String makePropertyNameKey(final String messageKey) {
 79  14
                 if (resourceKeyPrefix == null) {
 80  12
                         return messageKey;
 81  
                 } else {
 82  2
                         return resourceKeyPrefix + messageKey;
 83  
                 }
 84  
         }
 85  
         
 86  
         /**
 87  
          * 入力検証ルールを取得します??
 88  
          * @see ValidationRules#getRules()
 89  
          */
 90  
         public List<ValidationRule> getRules() {
 91  8
                 return rules;
 92  
         }
 93  
 
 94  
 }