    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.db;
    017
    018/**
    019 * データベース登録時に、固定値カラムの設定を行う情報を管理するクラスです。
    020 * 具体的には、
    021 *     更新フラグ  FGUPD
    022 *     作成日時    DYSET
    023 *     作成ＰＧ    PGSET
    024 *     作成社員    USRSET
    025 *     更新日時    DYUPD
    026 *     更新ＰＧ    PGUPD
    027 *     更新社員    USRUPD
    028 * などの情報を、INSERT、UPDATE の状況に応じて提供します。
    029 * 具体的には、サブクラスでの実装になります。
    030 * 初期設定条件として、テーブル名、ユーザーID,画面ID を受け取ります。
    031 * 登録時刻は、このオブジェクトが生成された時間を通常は使用します。
    032 * テーブル名を渡すのは、ワークなど、テーブル単位に処理するカラムが
    033 * 異なるので、それへの対応です。
    034 * 処理が簡素化できるように、ルールを規定すべきです。
    035 *
    036 * @og.rev 4.1.2.0 (2008/03/12) 新規追加
    037 * @og.group データ登録
    038 *
    039 * @version  4.0
    040 * @author   Kazuhiko Hasegawa
    041 * @since    JDK5.0,
    042 */
    043public interface DBConstValue {
    044
    045        /**
    046         * 初期化情報を設定します。
    047         *
    048         * @param       table   テーブル名
    049         * @param       user    ユーザーID
    050         * @param       gamen   画面ID
    051         */
    052        void init( String table, String user, String gamen ) ;
    053
    054        /**
    055         * INSERT する場合のキー配列を返します。
    056         *
    057         * 指定の値がなければ、長さゼロ配列を返します。
    058         *
    059         * @return      キー配列(非null)
    060         */
    061        String[] getInsertKeys() ;
    062
    063        /**
    064         * INSERT する場合の値配列を返します。
    065         *
    066         * 指定の値がなければ、長さゼロ配列を返します。
    067         *
    068         * @return      値配列(非null)
    069         */
    070        String[] getInsertVals() ;
    071
    072        /**
    073         * UPDATE する場合のキー配列を返します。
    074         *
    075         * 指定の値がなければ、長さゼロ配列を返します。
    076         *
    077         * @return      キー配列(非null)
    078         */
    079        String[] getUpdateKeys() ;
    080
    081        /**
    082         * UPDATE する場合の値配列を返します。
    083         *
    084         * 指定の値がなければ、長さゼロ配列を返します。
    085         *
    086         * @return      値配列(非null)
    087         */
    088        String[] getUpdateVals() ;
    089
    090        /**
    091         * DELETE(論理削除) する場合のキー配列を返します。
    092         *
    093         * 指定の値がなければ、長さゼロ配列を返します。
    094         *
    095         * @return      キー配列(非null)
    096         */
    097        String[] getLogicalDeleteKeys() ;
    098
    099        /**
    100         * DELETE(論理削除) する場合の値配列を返します。
    101         *
    102         * 指定の値がなければ、長さゼロ配列を返します。
    103         *
    104         * @return      値配列(非null)
    105         */
    106        String[] getLogicalDeleteVals() ;
    107}