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.business;
017    
018    import org.opengion.fukurou.db.Transaction;
019    import org.opengion.fukurou.util.ErrorMessage;
020    import org.opengion.fukurou.util.HybsLoader;
021    
022    /**
023     * 業務ロジãƒ?‚¯ã‚’実行ã™ã‚‹ãŸã‚ã?ヘルパã?クラスã§ã™ã?
024     *
025     * ã“ã?クラスã®å½¹å‰²ã¯ã€å¤–部パッケージ(タグクラスãªã©)ã‹ã‚‰ã®å?¨®ã®è¨­å®šæƒ…å ±ã‚?
026     * 業務ロジãƒ?‚¯ã®å®Ÿä½“ã?クラスã«ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ã§ã™ã?
027     *
028     * 業務ロジãƒ?‚¯ã®å®Ÿä½“ã¨ãªã‚‹ã‚¯ãƒ©ã‚¹(AbstractBizLogic)ã§ã¯ã€å„種設定情報ã®ã‚»ãƒ?‚¿ãƒ¼
029     * メソãƒ?ƒ‰ã‚’ã?サブクラス(å?¥­å‹™ãƒ­ã‚¸ãƒ?‚¯ã®å®Ÿè£?‚¯ãƒ©ã‚¹)ã‹ã‚‰éš?”½ã™ã‚‹ãŸã‚ã€ãƒ‘ãƒ?‚±ãƒ¼ã‚¸
030     * プライベã?トã§å®šç¾©ã—ã¦ã?¾ã™ã?
031     *
032     * ã“ã?ãŸã‚ã€å¤–部クラスã‹ã‚‰ã€ç›´æŽ¥è¨­å®šæƒ…報をセãƒ?ƒˆã™ã‚‹ã“ã¨ãŒã§ããªã?Ÿã‚ã?ã“ã?ヘルパã?
033     * クラスを介ã—ã¦ã€å„種æƒ??ã‚’ã‚»ãƒ?ƒˆã—ã¦ã?¾ã™ã?
034     *
035     * @og.rev 5.1.1.0 (2009/12/01) æ–°è¦ä½œæ?
036     * @og.group 業務ロジãƒ?‚¯
037     *
038     * @version 5.0
039     * @author Hiroki Nakamura
040     * @since JDK1.6,
041     */
042    public class BizLogicHelper {
043    
044    //      private HybsLoader loader = null;
045    //      private AbstractBizLogic logic = null;
046            private final AbstractBizLogic logic ;          // 5.1.9.0 (2010/08/01)
047    
048            /**
049             * コンストラクターを定義ã—ã¦ã?¾ã™ã?
050             *
051             * @param name 業務ロジãƒ?‚¯ã®ã‚¯ãƒ©ã‚¹å?
052             * @param ldr クラスロー�?
053             */
054            public BizLogicHelper( final String name, final HybsLoader ldr ) {
055    //              loader = ldr;
056    //              logic = (AbstractBizLogic)loader.newInstance( name );
057                    logic = (AbstractBizLogic)ldr.newInstance( name );
058            }
059    
060    //      /**
061    //       * DBã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ–ジェクトをæŒ?®šã—ã¾ã™ã?
062    //       * å?®Ÿè£?‚¯ãƒ©ã‚¹ã§ã¯ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®commit,rollbackã¯è¡Œã‚れã¾ã›ã‚“ã€?
063    //       * (å…¨ã¦ã®DB処ç??ã€?ã¤ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¨ã—ã¦å‡¦ç?•れã¾ã™ã?)
064    //       * ã“ã?ãŸã‚ã€commit,rollbackã¯å‘¼ã³å‡ºã—å?ã§è¡Œã†å¿?¦ãŒã‚りã¾ã™ã?
065    //       * ã“ã?メソãƒ?ƒ‰ã¯ã€?度ã—ã‹ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã€?回以上呼ã³å‡ºã—ã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã?
066    //       *
067    //       * @param cn DB接�
068    //       */
069    //      public void setConnection( final Connection cn ) {
070    //              logic.setConnection( cn );
071    //      }
072    
073            /**
074             * DBã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ–ジェクトをæŒ?®šã—ã¾ã™ã?
075             * å?®Ÿè£?‚¯ãƒ©ã‚¹ã§ã¯ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®commit,rollbackã¯è¡Œã‚れã¾ã›ã‚“ã€?
076             * (å…¨ã¦ã®DB処ç??ã€?ã¤ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¨ã—ã¦å‡¦ç?•れã¾ã™ã?)
077             * ã“ã?ãŸã‚ã€commit,rollbackã¯å‘¼ã³å‡ºã—å?ã§è¡Œã†å¿?¦ãŒã‚りã¾ã™ã?
078             * ã“ã?メソãƒ?ƒ‰ã¯ã€?度ã—ã‹ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã€?回以上呼ã³å‡ºã—ã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã?
079             *
080             * @og.rev 5.1.9.0 (2010/08/01) æ–°è¦ä½œæ?
081             *
082             * @param tran トランザクション
083             */
084            public void setTransaction( final Transaction tran ) {
085                    logic.setTransaction( tran );
086            }
087    
088            /**
089             * 接続å?IDを指定ã—ã¾ã™ã?
090             * ã“ã?メソãƒ?ƒ‰ã¯ã€?度ã—ã‹ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã€?回以上呼ã³å‡ºã—ã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã?
091             *
092             * @og.rev 5.1.9.0 (2010/08/01) æ–°è¦ä½œæ?
093             *
094             * @param id 接続å?ID
095             */
096            public void setDbid( final String id ) {
097                    logic.setDbid( id );
098            }
099    
100            /**
101             * 業務ロジãƒ?‚¯ã®ã‚¯ãƒ©ã‚¹ã‚’ロードã™ã‚‹ãŸã‚ã?クラスローãƒ??ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
102             * ã“ã?メソãƒ?ƒ‰ã¯ã€?度ã—ã‹ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã€?回以上呼ã³å‡ºã—ã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã?
103             *
104             * @param ldr クラスロー�?
105             */
106            public void setLoader( final HybsLoader ldr ) {
107                    logic.setLoader( ldr );
108            }
109    
110            /**
111             * é…å?型テーブルモãƒ?ƒ«ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
112             * ã“ã?メソãƒ?ƒ‰ã¯ã€?度ã—ã‹ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã€?回以上呼ã³å‡ºã—ã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã?
113             *
114             * @param tbl é…å?型テーブルモãƒ?ƒ«
115             */
116            public void setTable( final ArrayTableModel tbl ) {
117                    logic.setTable( tbl );
118            }
119    
120            /**
121             * 固定å?ã®ã‚­ãƒ¼ã‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã™ã?
122             * ã“ã?メソãƒ?ƒ‰ã¯ã€?度ã—ã‹ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã€?回以上呼ã³å‡ºã—ã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã?
123             *
124             * @param ks キー
125             */
126            public void setKeys( final String[] ks ) {
127                    logic.setKeys( ks );
128            }
129    
130            /**
131             * 固定å?ã®å€¤ã‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã™ã?
132             * ã“ã?メソãƒ?ƒ‰ã¯ã€?度ã—ã‹ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã€?回以上呼ã³å‡ºã—ã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã?
133             *
134             * @param vs 値
135             */
136            public void setVals( final String[] vs ) {
137                    logic.setVals( vs );
138            }
139    
140            /**
141             * ã“ã?処ç??実行ユーザーIDを指定ã—ã¾ã™ã?
142             *
143             * @param id 実行ユーザーID
144             */
145            public void setUserId( final String id ) {
146                    logic.setUserId( id );
147            }
148    
149            /**
150             * 親(呼ã³å‡ºã?PGIDを指定ã—ã¾ã™ã?
151             *
152             * @param id 親PGID
153             */
154            public void setParentPgId( final String id ) {
155                    logic.setParentPgId( id );
156            }
157    
158            /**
159             * ãƒ?ƒãƒ?‚°ãƒ¢ãƒ¼ãƒ‰ã«ã—ã¾ã™ã?
160             */
161            public void setDebug() {
162                    logic.setDebug();
163            }
164    
165            /**
166             * ãƒ?ƒãƒ?‚°ãƒ¡ãƒ?‚»ãƒ¼ã‚¸ã‚’å–å¾—ã—ã¾ã™ã?
167             *
168             * @return      ãƒ?ƒãƒ?‚°ãƒ¡ãƒ?‚»ãƒ¼ã‚¸
169             */
170            public String getDebugMsg() {
171                    return logic.getDebugMsg();
172            }
173    
174            /**
175             * 処ç?‚’実行ã—ã¾ã™ã?
176             * 処ç??方法ã?ã€main()メソãƒ?ƒ‰ã«ã‚ˆã‚Šå®šç¾©ã•れã¾ã™ã?
177             * 実è£?‚¯ãƒ©ã‚¹ã§ç™ºç”Ÿã—ãŸå?ã¦ã®ä¾‹å¤–ã?ã€Throwableオブジェクトã¨ã—ã¦ã‚¹ãƒ­ãƒ¼ã•れã¾ã™ã?
178             * 呼ã³å‡ºã—å?ã§ã¯ã€ä¾‹å¤–を確実ã«catchã—ã¦ã€commit,rollbackを行ã£ã¦ãã ã•ã„ã€?
179             *
180             * @return      処ç?ŒæˆåŠŸã—ãŸã‹ã©ã?‹
181             * @throws Throwable 実行時ã®å…¨ã‚¨ãƒ©ãƒ¼ã‚’上ä½ã«è»¢é€ã—ã¾ã™ã?
182             */
183            public boolean exec() throws Throwable {
184                    return logic.exec();
185            }
186    
187            /**
188             * çµæžœã‚¹ãƒ??タスを返ã—ã¾ã™ã?
189             *
190             * @return      çµæžœã‚¹ãƒ??タス
191             */
192            public int getKekka() {
193                    return logic.getKekka();
194            }
195    
196            /**
197             * エラーメãƒ?‚»ãƒ¼ã‚¸ã‚ªãƒ–ジェクトを返ã—ã¾ã™ã?
198             *
199             * @return      エラーメãƒ?‚»ãƒ¼ã‚¸
200             */
201            public ErrorMessage getErrMsg() {
202                    return logic.getErrMsg();
203            }
204    
205            /**
206             * 業務ロジãƒ?‚¯ã®æˆ»ã‚Šå?ã‚’è¿”ã—ã¾ã™ã?
207             *
208             * @return      戻りå?
209             */
210            public String getReturn() {
211                    return logic.getReturn();
212            }
213    
214            /**
215             * ã“ã?クラスã¯ã€ãƒ†ãƒ¼ãƒ–ルモãƒ?ƒ«ãŒå¤–部ã‹ã‚‰æŒ?®šã•れã¦ã?‚‹å¿?¦ã?ã‚りã¾ã›ã‚“ã€?
216             *
217             * @see AbstractBizLogic#isRequireTable()
218             *
219             * @return      ãƒ??ブルモãƒ?ƒ«ãŒå¤–部ã‹ã‚‰ã‚»ãƒ?ƒˆã•れるå¿?¦ãŒã‚ã‚‹ã‹ã©ã?‹
220             */
221            public boolean isRequireTable() {
222                    return logic.isRequireTable();
223            }
224    }