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    }