intra-mart Accel Kaiden! / プログラミングガイド

«  検索データのマスタ整合性チェック   ::   コンテンツ   ::   ワークフローアクション処理  »

書式変換処理

取得データの書式変換処理を実装します。
アクションクラスから渡された書式変換クラスを使用します。

また、業務ロジックでの実装は必須ではありませんが、ガジェットブロックタイプが「normal」の場合、ここでList形式からMap形式に変換する必要があります。
メソッド名は「mapConvert」とします。
    /** JSON出力用の形式に変換し同時に書式も設定. */
    @Override
    protected Map<String, Object> mapConvert(Map<String, Object> dataMap, ConvertForJsonSource converter,
            ProcessType processType) {
        
        // チュートリアルガジェットはガジェットブロックタイプが「normal」ですので、ListからMapに変換しています
        @SuppressWarnings("unchecked")
        List<GadgetTutorialManagerDto> listDto = (List<GadgetTutorialManagerDto>) dataMap.get(BLOCK_KEY_TUTORIAL_TABLE);
        if (CollectionUtil.isNotEmpty(listDto)) {
            dataMap.put(BLOCK_KEY_TUTORIAL_TABLE, BeanUtil.toMap(listDto.get(0), true));
        } else {
            dataMap.put(BLOCK_KEY_TUTORIAL_TABLE, new HashMap<String, Object>());
        }
        
        // コンバータクラスを使用して書式変換処理を行っています
        return converter.mapConvert(dataMap);
    }

解説

書式変換処理に使用するコンバータクラスはActionからLogic呼び出し時に渡した書式変換クラスになります。
もしmapConvertを業務ロジックで実装しない場合、intra-mart Accel Kaiden! 内部の基底ロジックでreturn converter.mapConvert(dataMap);が実行されます。

«  検索データのマスタ整合性チェック   ::   コンテンツ   ::   ワークフローアクション処理  »