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     */
016    package org.opengion.fukurou.process;
017    
018    /**
019     * HybsProcess は、バãƒ?ƒ�処ç�?‚µブクラスの共通インターフェースですã?
020     * HybsProcess を用ã�?�¦ã€??次、バãƒ?ƒ�プロセスを実行することができますã?
021     *
022     * @version  4.0
023     * @author   Kazuhiko Hasegawa
024     * @since    JDK5.0,
025     */
026    public interface HybsProcess {
027    
028            /**
029             * 引数形式を解析すã‚?Argument オブジェクトに、引数を設定しますã?
030             * Argument のæ–?­—å?から、引数かã?ロパティをセãƒ?ƒˆしますã?
031             * ?»プロパティ?½のキー部の大æ–?­—・小文字ã?、厳格に判定してã�?�¾すã?
032             * Argument のæ–?­—å?には、タイプがありますã?
033             *
034             * ?»コメント]  ??# で始まる引数で、使用されませんã€?登録もされませんã€?
035             * ?»引数?½      ??#,-,= 以外で始まるé?常のæ–?­—å?。登録のé ?•ªが指定されますã?
036             * ?»プロパティ?½??- で始まりã?キーと値ã‚?で区åˆ?�£てã�?‚‹パラメータですã?é ?º�ã?無関係ã?
037             *
038             * @param   arg 引数
039             */
040            void putArgument( String arg ) ;
041    
042            /**
043             * Argument のæ–?­—å?から、ã?ロパティをセãƒ?ƒˆしますã?
044             * ?»プロパティ?½のキー部の大æ–?­—・小文字ã?、厳格に判定してã�?�¾すã?
045             * こã?メソãƒ?ƒ‰は、引数 ã‚?コメントã?判断を行いません。ã?ロパティ のみ
046             * 設定されるもã?として、å?ç�?�—ますã?
047             * プロパティの key=val がå?めからå?割されてã�?‚‹場合ã?簡易メソãƒ?ƒ‰ですã?
048             *
049             * @param   key キー
050             * @param   val 値
051             */
052            void putArgument( String key,String val );
053    
054            /**
055             * プロセスの初期化を行いますã?初めにä¸?º¦ã�?�‘、呼び出されますã?
056             * 初期処ç�?ファイルオープンã€?¼¤?¢オープンç­?に使用しますã?
057             * 引数の ParamProcess は、データベã?ス接続ã?ログファイルã€?
058             * エラー時メール送信などの基本設定を管ç�?�—てã�?‚‹インターフェース
059             * ですã?
060             *
061             * @param   paramProcess ãƒ??タベã?スの接続å?æƒ??などを持ってã�?‚‹オブジェクãƒ?
062             */
063            void init( ParamProcess paramProcess ) ;
064    
065            /**
066             * プロセスの終äº?‚’行いますã?æœ?¾Œにä¸?º¦ã�?�‘、呼び出されますã?
067             * 終äº??ç�?ファイルクローズã€?¼¤?¢クローズç­?に使用しますã?
068             *
069             * @param   isOK トã?タルで、OKã�?�£たかどã�?�‹ [true:成功/false:失敗]
070             */
071            void end( boolean isOK ) ;
072    
073            /**
074             * ãƒ?‚£スプレイにメãƒ?‚»ージを表示しますã?
075             *
076             * @param       msg     表示するメãƒ?‚»ージ
077             */
078            void println( final String msg ) ;
079    
080            /**
081             * ログファイルにメãƒ?‚»ージを表示しますã?
082             *
083             * @param       msg     表示するメãƒ?‚»ージ
084             */
085            void logging( final String msg ) ;
086    
087            /**
088             * ãƒ?‚£スプレイ出力すã‚?LoggerProcess オブジェクトをセãƒ?ƒˆしますã?
089             *
090             * @param logger LoggerProcessオブジェクãƒ?
091             */
092            void setLoggerProcess( final LoggerProcess logger );
093    
094            /**
095             * プロセスの処ç�?µ�果のレポã?ト表現を返しますã?
096             * 処ç�??ログラãƒ?��、å?力件数、å?力件数などのæƒ??ですã?
097             * こã?æ–?­—å?をそのまま、標準å?力に出すことで、結果レポã?トと出来るよã�?�ª
098             * 形式で出してくださいã€?
099             *
100             * @return   処ç�?µ�果のレポã?ãƒ?
101             */
102            String report() ;
103    
104            /**
105             * こã?クラスの使用方法を返しますã?
106             *
107             * @return      こã?クラスの使用方æ³?
108             */
109            String usage() ;
110    
111    }