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 }