public class ConvertForJsonSource extends Object
JSON出力用の形式に変換し同時に書式も設定します。
原則的に、Map
上記それぞれのメソッドにて変換時、formatPlainValue(Map, Stack)
と、formatFormatedValue(Map, Stack)
が呼ばれます。
これらは、書式変換を行うメソッドで、formatPlainValueは入力項目用、formatFormatedValueは表示項目用に書式変換した値を返却してください。
修飾子とタイプ | フィールドと説明 |
---|---|
protected DateHelper |
dateHelper
DateHelper.
|
コンストラクタと説明 |
---|
ConvertForJsonSource()
コンストラクタ.
|
修飾子とタイプ | メソッドと説明 |
---|---|
Map<String,Object> |
dtoConvert(KaidenDto dto)
DTOの内容をMap
|
protected Map<String,String> |
formatFormatedValue(Map<String,Object> map,
Stack<String> fldNameStack)
返却値(書式化)の書式変換.
|
protected Map<String,Object> |
formatPlainValue(Map<String,Object> map,
Stack<String> fldNameStack)
返却値(通常)の書式変換.
|
Map<String,Object> |
linkedHashMapConvert(Map<String,Object> map)
MapをMap
|
<DTO extends KaidenDto> |
listConvert(List<DTO> list)
DtoリストをMap
|
Map<String,Object> |
mapConvert(Map<String,Object> map)
MapをMap
|
List<Map<String,Object>> |
mapListConvert(List<Map<String,Object>> list)
Map
|
protected DateHelper dateHelper
public Map<String,Object> dtoConvert(KaidenDto dto)
keyはフィールド名、Objectはフィールドの値(原則Stringですが、DTOがネスト構造を持っているとListやMapが格納されます)
String型への変換ルールは以下の通りです。
※デフォルト書式変換
BigDecimal.toPlainString()
を行います。BigInteger.toString()
を行います。
対象フィールドがList
デフォルト書式変換に加え、個別に行う書式変換も可能です。
個別に書式変換された文字列は、上記デフォルト書式変換と合わせてJSON化されます。
たとえば、"xxxDate"というフィールドに対し、個別書式変換を行った場合、xxxDate:["デフォルト書式変換","個別書式変換"] という配列になって、返却されます。
ConvertForJsonSource#fieldFormat(String, Object, Stack)
は、特定のフィールドに対する個別書式変換です。dto
- 変換対象public <DTO extends KaidenDto> List<Map<String,Object>> listConvert(List<DTO> list)
詳細はdtoConvert(KaidenDto)
を参照.
DTO
- entityクラスlist
- 対象リストpublic List<Map<String,Object>> mapListConvert(List<Map<String,Object>> list)
list
- 対象リストpublic Map<String,Object> mapConvert(Map<String,Object> map)
詳細はdtoConvert(KaidenDto)
を参照.
map
- 変換対象public Map<String,Object> linkedHashMapConvert(Map<String,Object> map)
詳細はdtoConvert(KaidenDto)
を参照.
map
- 変換対象protected Map<String,Object> formatPlainValue(Map<String,Object> map, Stack<String> fldNameStack)
主に入力フィールド(JSPのテキストボックス等)に表示する際の値を返却してください。
書式変換後の値はString型で返却し、書式変換が不要な値はそのままの型で返却してください。
返却後、String型でない値は、本クラスで定義してあるデフォルト書式に変換されます。
デフォルトの書式変換は以下の通り
BigDecimal.toPlainString()
を行います。BigInteger.toString()
を行います。map
- 対象データfldNameStack
- fldNameStack フィールド名のスタックprotected Map<String,String> formatFormatedValue(Map<String,Object> map, Stack<String> fldNameStack)
主に表示フィールド(JSPのラベル等)に表示する際の値を返却してください。
書式変換後の値はString型で返却し、書式変換が不要な値はnullで返却してください。
nullで返却された値は、jp.co.slcs.kaiden.v2.base.foundation.util.ConvertForJsonSource.formatPlainValue(Map
で変換された値がそのまま表示項目として利用されます。
ConvertForJsonSource
では、entryTs(登録日時)、renewTs(更新日時)に関して、iAP個人設定の日付:標準表示+時刻:タイムスタンプ表示に変換します。
必要に応じてオーバーライドして、書式変換してください。
map
- 対象データfldNameStack
- fldNameStack フィールド名のスタックCopyright © 2024 Sumitomo Life Information Systems Co., Ltd. All Rights Reserved.