public abstract class AbstractDateStringConverter extends java.lang.Object implements ExtendedStringConvertor
YYYYMMDDConvertor,
YYYYMMConvertor| 修飾子 | コンストラクタと説明 |
|---|---|
protected |
AbstractDateStringConverter(java.lang.String datePattern,
java.lang.String dataType)
コンストラクタ。
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
protected java.lang.String |
convert(java.lang.String value,
FormatSpec formatSpec)
指定されたフォーマット仕様で値を変換する。
|
<T> java.lang.Object |
convert(ValidationContext<T> context,
java.lang.String propertyName,
java.lang.Object value,
java.lang.annotation.Annotation annotation)
変換を行う。
|
protected abstract nablarch.common.date.AbstractDateStringConverter.AnnotationData |
getAnnotationDataFrom(java.lang.annotation.Annotation annotation)
アノテーションから値を取得する。
|
protected <T> FormatSpec |
getFormatSpec(ValidationContext<T> context,
java.lang.String propertyName,
java.lang.String allowFormat)
プロパティの変換に使用するフォーマット仕様を取得する。
|
protected java.lang.String |
getNumbersOnlyFormat(java.lang.String format)
フォーマット文字列から日付文字列の区切り文字を取り除いた値を返す。
|
java.lang.Class<?> |
getTargetClass()
変換対象のクラスを取得する。
|
protected boolean |
isConvertible(java.lang.String value,
FormatSpec formatSpec)
指定されたフォーマット仕様で値が変換可能か否かを判定する。
|
<T> boolean |
isConvertible(ValidationContext<T> context,
java.lang.String propertyName,
java.lang.Object propertyDisplayName,
java.lang.Object value,
java.lang.annotation.Annotation format)
変換可否のプレチェックを行う。
|
void |
setParseFailedMessageId(java.lang.String parseFailedMessageId)
指定された日付文字列への変換失敗時のメッセージIDを設定する。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetTargetAnnotationprotected AbstractDateStringConverter(java.lang.String datePattern,
java.lang.String dataType)
datePattern - フォーマットに使用する日付パターンdataType - "データタイプ{パターン}"形式のデータタイプpublic void setParseFailedMessageId(java.lang.String parseFailedMessageId)
parseFailedMessageId - 指定された日付文字列への変換失敗時のメッセージIDpublic <T> java.lang.Object convert(ValidationContext<T> context, java.lang.String propertyName, java.lang.Object value, java.lang.annotation.Annotation annotation)
#convert(String, String)メソッドに委譲する。protected java.lang.String convert(java.lang.String value,
FormatSpec formatSpec)
はじめに指定されたフォーマット仕様で値の解析を試みる。
指定されたフォーマット仕様で解析できない場合は、
getNumbersOnlyFormat(String)メソッドを使用し、
日付文字列の区切り文字を取り除いたフォーマットで解析する。
最後に解析結果として取得できるDateオブジェクトを、所定のパターン(datePattern)の
文字列に変換する。
value - 値formatSpec - フォーマット仕様public java.lang.Class<?> getTargetClass()
getTargetClass インタフェース内 Convertorpublic <T> boolean isConvertible(ValidationContext<T> context, java.lang.String propertyName, java.lang.Object propertyDisplayName, java.lang.Object value, java.lang.annotation.Annotation format)
#isConvertible(String, String)メソッドに委譲する。
値が変換不可の場合は、バリデーション結果メッセージを設定しfalseを返す。
メッセージIDは、YYYYMMDDアノテーションのmessageId属性の値を使用する。
YYYYMMDDアノテーションにメッセージIDが指定されていない場合は、
本クラスのparseFailedMessageIdプロパティの値をメッセージIDに使用する。isConvertible インタフェース内 ConvertorT - バリデーション結果で取得できる型context - ValidationContextpropertyName - プロパティ名propertyDisplayName - プロパティの表示名オブジェクトvalue - 変換可否のプレチェックを行う値format - フォーマットを指定するアノテーション(指定がない場合null)protected boolean isConvertible(java.lang.String value,
FormatSpec formatSpec)
はじめに指定されたフォーマット仕様で値が変換可能か否かを判定する。
指定されたフォーマット仕様で変換不可の場合は、
getNumbersOnlyFormat(String)メソッドを使用し、
日付文字列の区切り文字を取り除いたフォーマットで変換可能か否かを判定する。
value - 値formatSpec - フォーマット仕様protected <T> FormatSpec getFormatSpec(ValidationContext<T> context, java.lang.String propertyName, java.lang.String allowFormat)
ConversionUtil.getFormatSpec(ValidationContext, String)を呼び出し、
プロパティに対する有効なフォーマット仕様(yyyymmddなど)を取得して返す。
プロパティに対する有効なフォーマット仕様が存在しない場合は、
allowFormatから生成したフォーマット仕様を返す。T - バリデーション結果で取得できる型context - ValidationContextpropertyName - プロパティ名allowFormat - フォーマットprotected java.lang.String getNumbersOnlyFormat(java.lang.String format)
DateUtil.getNumbersOnlyFormat(String)に処理を委譲する。format - フォーマット文字列protected abstract nablarch.common.date.AbstractDateStringConverter.AnnotationData getAnnotationDataFrom(java.lang.annotation.Annotation annotation)
annotation - アノテーション