    001/*
    002 * Copyright (c) 2009 The openGion Project.
    003 *
    004 * Licensed under the Apache License, Version 2.0 (the "License");
    005 * you may not use this file except in compliance with the License.
    006 * You may obtain a copy of the License at
    007 *
    008 *     http://www.apache.org/licenses/LICENSE-2.0
    009 *
    010 * Unless required by applicable law or agreed to in writing, software
    011 * distributed under the License is distributed on an "AS IS" BASIS,
    012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
    013 * either express or implied. See the License for the specific language
    014 * governing permissions and limitations under the License.
    015 */
    016package org.opengion.hayabusa.html;
    017
    018import org.opengion.hayabusa.db.DBTableModel;
    019import org.opengion.hayabusa.resource.ResourceManager;
    020
    021
    022
    023/**
    024 * JSONをテーブルモデルに変換するJsonReader_xxxのインタフェイスです。
    025 *
    026 *
    027 * @og.group 画面表示
    028 * @og.rev 5.9.21.0 (2017/06/02) 新規作成
    029 *
    030 * @version  4.0
    031 * @author       Takahashi Masakazu
    032 * @since    JDK5.0,
    033 */
    034public interface JsonReader {
    035
    036        /**
    037         * JSON文字列からDBTableModelを作成します。
    038         *
    039         *
    040         * @param   json JSON文字列
    041         */
    042        void readDBTable( final String json ) ;
    043
    044        /**
    045         * リソースマネージャーをセットします。
    046         * これは、言語(ロケール)に応じた DBColumn をあらかじめ設定しておく為に
    047         * 必要です。
    048         * リソースマネージャーが設定されていない、または、所定のキーの DBColumn が
    049         * リソースに存在しない場合は、内部で DBColumn オブジェクトを作成します。
    050         *
    051         *
    052         * @param  resource リソースマネージャー
    053         */
    054        void setResourceManager( final ResourceManager resource ) ;
    055
    056        /**
    057         * 内部の DBTableModel を返します。
    058         *
    059         * @return      テーブルモデル
    060         */
    061         DBTableModel getDBTableModel();
    062
    063        /**
    064         * DBTableModelのデータとして登録する最大件数をこの値に設定します。
    065         * サーバーのメモリ資源と応答時間の確保の為です。
    066         *
    067         * @return  最大検索件数
    068         */
    069        int getMaxRowCount() ;
    070
    071        /**
    072         * DBTableModelのデータとして登録する最大件数をこの値に設定します。
    073         * サーバーのメモリ資源と応答時間の確保の為です。
    074         *
    075         * @param   maxRowCount 最大検索件数
    076         */
    077        void setMaxRowCount( final int maxRowCount ) ;
    078
    079        /**
    080         * データの読み飛ばし件数を設定します。
    081         *
    082         * JSON形式の場合、通常は読み飛ばし不要です。
    083         *
    084         *
    085         * @param       count 読み始めの初期値
    086         */
    087        void setSkipRowCount( final int count ) ;
    088
    089        /**
    090         * 読取処理でラベルをコードリソースに逆変換を行うかどうかを指定します。
    091         *
    092         *
    093         * ここでは、コードリソースのカラムに対して、ラベルからコードを求める逆変換を行うことで、
    094         * Renderer 系で出力したデータを取り込むことができるようにします。
    095         * 通常は利用しません。
    096         *
    097         *
    098         * @param       useRenderer     コードリソースのラベル逆変換を行うかどうかを指定
    099         */
    100        void setUseRenderer( final boolean useRenderer ) ;
    101
    102        /**
    103         * デバッグ情報を出力するかどうかを指定します。
    104         *
    105         *
    106         * 初期値は、false:デバッグ情報を出力しない です。
    107         *
    108         *
    109         * @param       useDebug        デバッグ情報を出力するかどうかを指定
    110         */
    111        void setDebug( final boolean useDebug ) ;
    112
    113        /**
    114         * 文字列をオプションで渡せるようにしておきます。
    115         *
    116         * @param strings オプション文字列
    117         *
    118         */
    119        void setOptions( final String... strings ) ;
    120}