Class CodeValueValidator

All Implemented Interfaces:
DirectCallableValidator, Validator

public class CodeValueValidator extends StringValidatorSupport<CodeValue>
コード値をチェックするクラス。

CodeValueで指定したコード値と、プロパティの値が合致するかチェックする。

使用するための設定

本バリデータを使用するためにはデフォルトのメッセージIDを指定する必要がある。
     <component name="codeValueValidator" class="nablarch.common.code.validator.CodeValueValidator">
         <property name="messageId" value="MSGXXXXXX"/>
     </component>
   

プロパティの設定

プロパティのセッタにCodeValueアノテーションを次のように設定する。
     genderがcodeIdとpatternで選択された値と合致するかチェック
     @PropertyName("性別")
     @CodeValue(codeId="0001", pattern="PATTERN1")
     public String setGender(String gender) {
       this.gender = gender;
     }

     genderがコード値として有効であるかのみをチェック
     @PropertyName("性別")
     @CodeValue(codeId="0001")
     public String setGender(String gender) {
       this.gender = gender;
     }
   

Author:
Koichi Asano
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    指定されたパラメータを属性値とするアノテーションオブジェクトを作成する。
    Class<? extends Annotation>
    対応するアノテーションのクラスを取得する。
    void
    setMessageId(String messageId)
    コードに含まれない値が指定された場合のデフォルトのエラーメッセージのメッセージIDを設定する。
    例 : "{0}には\"{1}\"のいずれかの値を指定してください。"

    ※通常コードは画面上のドロップダウンやセレクトボックスで選択することが多い。 この場合、このエラーメッセージはプログラムバグかユーザによるプログラム改竄以外に表示されることはない。 このため、本エラーメッセージはインプットボックスでコードを入力するという特殊な入力を行う画面以外では使用されない。
    <T> boolean
    validateSingleValue(ValidationContext<T> context, String propertyName, Object propertyDisplayObject, CodeValue codeValue, String value)
    1つの入力値に対するバリデーションを行う。

    Methods inherited from class nablarch.core.validation.validator.StringValidatorSupport

    validate, validate

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CodeValueValidator

      public CodeValueValidator()
  • Method Details

    • setMessageId

      public void setMessageId(String messageId)
      コードに含まれない値が指定された場合のデフォルトのエラーメッセージのメッセージIDを設定する。
      例 : "{0}には\"{1}\"のいずれかの値を指定してください。"

      ※通常コードは画面上のドロップダウンやセレクトボックスで選択することが多い。 この場合、このエラーメッセージはプログラムバグかユーザによるプログラム改竄以外に表示されることはない。 このため、本エラーメッセージはインプットボックスでコードを入力するという特殊な入力を行う画面以外では使用されない。
      Parameters:
      messageId - コードに含まれない値が指定された場合のデフォルトのエラーメッセージのメッセージID
    • getAnnotationClass

      public Class<? extends Annotation> getAnnotationClass()
      対応するアノテーションのクラスを取得する。
      Returns:
      対応するアノテーションのクラス
    • validateSingleValue

      public <T> boolean validateSingleValue(ValidationContext<T> context, String propertyName, Object propertyDisplayObject, CodeValue codeValue, String value)
      1つの入力値に対するバリデーションを行う。
      コード値の有効性をチェックするバリデーションを行なう。
      Specified by:
      validateSingleValue in class StringValidatorSupport<CodeValue>
      Type Parameters:
      T - バリデーション結果で取得できる型
      Parameters:
      context - バリデーションコンテキスト
      propertyName - プロパティ名
      propertyDisplayObject - プロパティの表示名オブジェクト
      codeValue - アノテーション
      value - バリデーション対象の値
      Returns:
      バリデーションに通った場合true
    • createAnnotation

      public CodeValue createAnnotation(Map<String,Object> params)
      Description copied from class: StringValidatorSupport
      指定されたパラメータを属性値とするアノテーションオブジェクトを作成する。
      Specified by:
      createAnnotation in class StringValidatorSupport<CodeValue>
      Parameters:
      params - アノテーションの属性値を格納したMap
      Returns:
      アノテーション