    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
    018import java.sql.SQLData;
    019import java.sql.SQLInput;
    020import java.sql.SQLOutput;
    021import java.sql.SQLException;
    022
    023/**
    024 * SQLData インターフェースを継承した システム変数の受け渡し用オブジェクトです。
    025 * 行番号情報と改廃コード[A:追加/C:変更/D:削除]を持っています。
    026 *
    027 * @og.group ＤＢ/Shell制御
    028 *
    029 * @version  4.0
    030 * @author   Kazuhiko Hasegawa
    031 * @since    JDK5.0,
    032 */
    033public class DBSysArg implements SQLData {
    034        private String sqlType ;
    035
    036        private int    lineNo;
    037        private String codeKaihai;
    038        private String curdate;         // 4.3.0.0 (2008/07/22)
    039        private String pgid;            // 4.3.0.0 (2008/07/22)
    040        private String userid;          // 4.3.0.0 (2008/07/22)
    041
    042        /**
    043         *  デフォルトコンストラクター
    044         */
    045        public DBSysArg() {
    046                sqlType   = null;
    047                lineNo     = -1;
    048                codeKaihai = null;
    049                curdate    = null;
    050                pgid       = null;
    051                userid     = null;
    052        }
    053
    054        /**
    055         * すべての属性情報を指定して、新しい DBSysArg オブジェクトを作成します。
    056         *
    057         * @og.rev 4.3.0.0 (2008/07/22) 引数に日付、PG、ユーザーIDを追加
    058         *
    059         * @param       type    データベースタイプ文字列
    060         * @param       no      行番号
    061         * @param    cdkh 改廃コード A:追加 C:変更 D:削除
    062         * @param       time    現在時間の文字列
    063         * @param       pg      プログラム名称
    064         * @param       user    ユーザーID
    065         */
    066        public DBSysArg( final String type,final int no,final String cdkh, final String time, final String pg, final String user ) {
    067                sqlType   = type;
    068                lineNo     = no;
    069                codeKaihai = cdkh;
    070                curdate    = time;
    071                pgid       = pg;
    072                userid     = user;
    073        }
    074
    075        // ============================================================
    076        // implements SQLData
    077        // ============================================================
    078
    079        /**
    080         *  ＳＱＬタイプの文字列を返します。
    081         *
    082         * @return    ＳＱＬタイプの文字列
    083         * @throws SQLException ※ この実装からは SQLException は、throw されません。
    084         */
    085        public String getSQLTypeName() throws SQLException {
    086                return sqlType;
    087        }
    088
    089        /**
    090         *  データベース内部より内部属性を取得し、オブジェクトを構築します。
    091         *
    092         * @og.rev 4.3.0.0 (2008/07/22) 日付、PG、ユーザーIDを追加
    093         *
    094         * @param       stream  ストリーム
    095         * @param    typeName ＳＱＬタイプの文字列
    096         * @throws SQLException データベースアクセスエラー
    097         */
    098        public void readSQL( final SQLInput stream, final String typeName ) throws SQLException {
    099                sqlType = typeName;
    100
    101                lineNo     = stream.readInt();
    102                codeKaihai = stream.readString();
    103                curdate    = stream.readString();
    104                pgid       = stream.readString();
    105                userid     = stream.readString();
    106        }
    107
    108        /**
    109         *  データベース内部に内部属性を設定します。
    110         *
    111         * @og.rev 4.3.0.0 (2008/07/22) 日付、PG、ユーザーIDを追加
    112         *
    113         * @param       stream  ストリーム
    114         * @throws SQLException データベースアクセスエラー
    115         */
    116        public void writeSQL( final SQLOutput stream ) throws SQLException {
    117                stream.writeInt( lineNo );
    118                stream.writeString( codeKaihai );
    119                stream.writeString( curdate );
    120                stream.writeString( pgid );
    121                stream.writeString( userid );
    122        }
    123}