public abstract class NumberConvertorSupport extends java.lang.Object implements Convertor
トリム仕様
値の前後の空白文字はトリムしてから変換可否の判定および変換を行う。
コンストラクタと説明 |
---|
NumberConvertorSupport() |
修飾子とタイプ | メソッドと説明 |
---|---|
<T> java.lang.Object |
convert(ValidationContext<T> context,
java.lang.String propertyName,
java.lang.Object value,
java.lang.annotation.Annotation format)
変換を行う。
|
protected java.lang.String |
convertToNumber(java.lang.String number,
java.text.DecimalFormatSymbols symbols)
言語に応じた数字を
Number に変換可能な数字に変換する。 |
protected abstract java.lang.Number |
convertToPropertyType(java.lang.String numberString)
トリムおよびフォーマットを行った文字列を、プロパティの型のオブジェクトへ変換する。
|
protected java.lang.String |
convertToString(java.lang.Object value)
パラメータのオブジェクトを文字列に変換する。
|
protected abstract java.util.regex.Pattern |
createPattern(Digits digits,
java.text.DecimalFormatSymbols symbols)
Digitsに対応する正規表現を作成する。
|
protected <T> java.text.DecimalFormatSymbols |
getDecimalFormatSymbols(ValidationContext<T> context,
java.lang.String propertyName)
プロパティに対する
DecimalFormatSymbols を取得する。 |
protected java.text.DecimalFormatSymbols |
getDefaultDecimalFormatSymbols()
デフォルトの
DecimalFormatSymbols を返す。 |
<T> boolean |
isConvertible(ValidationContext<T> context,
java.lang.String propertyName,
java.lang.Object propertyDisplayName,
java.lang.Object value,
java.lang.annotation.Annotation format)
変換可否のプレチェックを行う。
|
void |
setAllowNullValue(boolean allowNullValue)
変換対象の値にnullを許可するか否かを設定する。
|
void |
setInvalidDigitsFractionMessageId(java.lang.String invalidDigitsFractionMessageId)
小数部を指定した場合の桁数不正時のデフォルトのエラーメッセージのメッセージIDを設定する。
|
void |
setInvalidDigitsIntegerMessageId(java.lang.String invalidDigitsMessageId)
小数部を指定しなかった場合の桁数不正時のデフォルトのエラーメッセージのメッセージIDを設定する。
|
void |
setMultiInputMessageId(java.lang.String multiInputMessageId)
入力値に複数の文字列が設定された場合のデフォルトのエラーメッセージのメッセージIDを設定する。
|
protected java.lang.String |
trim(java.lang.String value)
トリムを実行する。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getTargetClass
public void setInvalidDigitsIntegerMessageId(java.lang.String invalidDigitsMessageId)
invalidDigitsMessageId
- 小数部を指定しなかった場合の桁数不正時のデフォルトのエラーメッセージのメッセージIDpublic void setInvalidDigitsFractionMessageId(java.lang.String invalidDigitsFractionMessageId)
invalidDigitsFractionMessageId
- 小数部を指定した場合の桁数不正時のデフォルトのエラーメッセージのメッセージIDpublic void setMultiInputMessageId(java.lang.String multiInputMessageId)
multiInputMessageId
- 入力値に複数の文字列が設定された場合のデフォルトのエラーメッセージのメッセージIDpublic void setAllowNullValue(boolean allowNullValue)
allowNullValue
- nullを許可するか否か。許可する場合は、truepublic <T> boolean isConvertible(ValidationContext<T> context, java.lang.String propertyName, java.lang.Object propertyDisplayName, java.lang.Object value, java.lang.annotation.Annotation format)
isConvertible
インタフェース内 Convertor
T
- バリデーション結果で取得できる型context
- ValidationContextpropertyName
- プロパティ名propertyDisplayName
- プロパティの表示名オブジェクトvalue
- 変換可否のプレチェックを行う値format
- フォーマットを指定するアノテーション(指定がない場合null)public <T> java.lang.Object convert(ValidationContext<T> context, java.lang.String propertyName, java.lang.Object value, java.lang.annotation.Annotation format)
@Published(tag="architect") protected abstract java.lang.Number convertToPropertyType(java.lang.String numberString)
numberString
- トリムおよびフォーマットを行った文字列protected java.lang.String convertToString(java.lang.Object value)
value
- 変換対象のオブジェクト@Published(tag="architect") protected abstract java.util.regex.Pattern createPattern(Digits digits, java.text.DecimalFormatSymbols symbols)
digits
- 数値フォーマット指定のアノテーションsymbols
- 小数点に使用する文字や1000の区切り文字を提供するDecimalFormatSymbols
protected <T> java.text.DecimalFormatSymbols getDecimalFormatSymbols(ValidationContext<T> context, java.lang.String propertyName)
DecimalFormatSymbols
を取得する。
ConversionUtil#getFormatSpec(ValidationContext, String)を呼び出し、
10進数に対する有効なフォーマット仕様(decimal)が取得できた場合は、
フォーマット仕様に設定された言語を使用して生成したDecimalFormatSymbols
を返す。
プロパティに対する有効なフォーマット仕様が存在しない場合は、
getDefaultDecimalFormatSymbols()
を呼び出し、
デフォルトのDecimalFormatSymbols
を返す。T
- バリデーション結果で取得できる型context
- ValidationContextpropertyName
- プロパティ名DecimalFormatSymbols
protected java.text.DecimalFormatSymbols getDefaultDecimalFormatSymbols()
DecimalFormatSymbols
を返す。DecimalFormatSymbols
(小数点の文字=ドット、1000の区切り文字=カンマ)を返す。DecimalFormatSymbols
(小数点の文字=ドット、1000の区切り文字=カンマ)protected java.lang.String convertToNumber(java.lang.String number, java.text.DecimalFormatSymbols symbols)
Number
に変換可能な数字に変換する。
ConversionUtil#convertToNumber(String, DecimalFormatSymbols)に処理を委譲する。number
- 数字symbols
- 数字に使用されている小数点や1000の区切り文字を提供するDecimalFormatSymbols
Number
に変換可能な数字protected java.lang.String trim(java.lang.String value)
value
- トリム対象の文字列