Class StringConvertor

java.lang.Object
nablarch.core.validation.convertor.StringConvertor
All Implemented Interfaces:
Convertor

public class StringConvertor extends Object implements Convertor
値をStringに変換するクラス。

Stringに変換可能なオブジェクトは、下記クラスのみ

トリム仕様

変換可否の判定および変換の際に値の前後の空白文字のトリムを行うか否かを選択することができる。
トリムは、trimPolicyプロパティに設定されたポリシーにしたがって行う。
ポリシーとして設定可能な値を以下に示す。

  • "trimAll": すべての文字に対してトリムを行う場合に設定するポリシー
  • "noTrim": すべての文字に対してトリムを行わない場合に設定するポリシー
trimPolicyプロパティにポリシーが設定されなかった場合はトリムを行わない("noTrim"が設定された場合と同様の動作となる)。

  • Constructor Details

    • StringConvertor

      @Published(tag="architect") public StringConvertor()
      コンストラクタ。
  • Method Details

    • setTrimPolicy

      public void setTrimPolicy(String trimPolicy)
      トリムポリシーを設定する。
      Parameters:
      trimPolicy - トリムポリシー
    • setExtendedStringConvertors

      public void setExtendedStringConvertors(List<ExtendedStringConvertor> extendedStringConvertors)
      拡張StringConvertorのリストを設定する。
      Parameters:
      extendedStringConvertors - 拡張StringConvertorのリスト
    • setConversionFailedMessageId

      public void setConversionFailedMessageId(String conversionFailedMessageId)
      変換失敗時のデフォルトのエラーメッセージのメッセージIDを設定する。
      デフォルトメッセージの例 : "{0}が正しくありません"
      Parameters:
      conversionFailedMessageId - 変換失敗時のデフォルトのエラーメッセージのメッセージID
    • setAllowNullValue

      public void setAllowNullValue(boolean allowNullValue)
      変換対象の値にnullを許可するか否かを設定する。

      設定を省略した場合、nullが許可される。

      Parameters:
      allowNullValue - nullを許可するか否か。許可する場合は、true
    • convert

      public <T> Object convert(ValidationContext<T> context, String propertyName, Object value, Annotation format)
      変換を行う。
      変換に失敗した場合、ValidationContextにエラー内容を設定する。
      Specified by:
      convert in interface Convertor
      Type Parameters:
      T - バリデーション結果で取得できる型
      Parameters:
      context - ValidationContext
      propertyName - プロパティ名
      value - 変換する値(データ型は様々な形式がありえる。)
      format - フォーマットを指定するアノテーション(指定がない場合null)
      Returns:
      変換結果のオブジェクト
    • getTargetClass

      public Class<?> getTargetClass()
      変換対象のクラスを取得する。
      Specified by:
      getTargetClass in interface Convertor
      Returns:
      変換対象のクラス
    • isConvertible

      public <T> boolean isConvertible(ValidationContext<T> context, String propertyName, Object propertyDisplayName, Object value, Annotation format)
      変換可否のプレチェックを行う。
      変換できない文字列であった場合、エラーメッセージをValidationContextに追加し、falseを返却する。
      Specified by:
      isConvertible in interface Convertor
      Type Parameters:
      T - バリデーション結果で取得できる型
      Parameters:
      context - ValidationContext
      propertyName - プロパティ名
      propertyDisplayName - プロパティの表示名オブジェクト
      value - 変換可否のプレチェックを行う値
      format - フォーマットを指定するアノテーション(指定がない場合null)
      Returns:
      変換できる場合true
    • applyTrimPolicy

      @Published(tag="architect") protected String applyTrimPolicy(String value, Annotation annotation)
      trimPolicyプロパティに設定されたポリシーにしたがってトリムを実行する。

      • ポリシーとして"trimAll"が設定された場合は、すべての文字に対してトリムを行う。
      • ポリシーとして"noTrim"が設定された場合、またはポリシーが設定されなかった場合は、トリムを行わない。
      Parameters:
      value - トリム対象の文字列
      annotation - アノテーション
      Returns:
      トリム後の文字列
    • trim

      @Published(tag="architect") protected String trim(String value)
      トリムを実行する。

      Java標準のString.trim()を使用してトリムを行った文字列を返却する。

      Parameters:
      value - トリム対象の文字列
      Returns:
      トリム後の文字列