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 *     作成PG    PGSET
024 *     作成社員    USRSET
025 *     更新日時    DYUPD
026 *     更新PG    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}