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 /** 019 * カーソル定義による配?型テーブルモ?をメインカーソルとした業務ロジ?の構?を定義します? 020 * 021 * 配?型テーブルモ?につ?は、cursor()メソ?を実?より定義します? 022 * cursor()メソ?を実?、この戻り?をSQL?して実行し、その結果セ?から配?? 023 * ??ブルモ?を生成し、これをメインカーソルとして使用します? 024 * 配?型テーブルモ?が定義されて???合?エラーとなります? 025 * 026 * こ?クラスでは、以下に示すメソ?が呼び出されるタイミングのみを定義して?す? 027 * メソ?の中身につ?は、{@link BizLogic_TABLE}を参照して下さ?? 028 * 029 * @og.rev 5.1.1.0 (2009/12/01) 新規作? 030 * @og.group 業務ロジ? 031 * 032 * @version 5.0 033 * @author Hiroki Nakamura 034 * @since JDK1.6, 035 */ 036 public class BizLogic_CURSOR extends BizLogic_TABLE { 037 038 /** 039 * 配?型テーブルモ?を生成するため?SQL?定義します? 040 * こ?メソ?からSQL?ら返された場合?こ?結果セ?から配?型テーブルモ?を生成し? 041 * メインカーソルとして使用します? 042 * 043 * @return 配?型テーブルモ?を生成するため?SQL? 044 */ 045 protected String cursor() { 046 return null; 047 } 048 049 /** 050 * 処??メインロジ?の前??記述します? 051 * 052 * @og.rev 5.6.7.0 (2013/07/27) Exception ?throw するとき??、errMsg 変数にセ?します? 053 * 054 * こ?メソ?自体?、protected属?であるため、サブクラスから直接参?することができます? 055 * ?、これ?、各業務ロジ?で直接参?することを想定したものではなく?BizLogicの 056 * メイン構?を拡張するサブクラスを定義する際に使用することを想定して?す? 057 * (こ?想定がなければ、本来は、package privateにすべきで? 058 * こ?ため、業務ロジ?を各実?ラスでは直接参?しな?下さ?? 059 */ 060 @Override 061 protected void init() { 062 if( cursor() == null ) { 063 // 5.6.7.0 (2013/07/27) Exception ?throw するとき??、errMsg 変数にセ?します? 064 // throw new RuntimeException( "カーソルが定義されて?せん" ); 065 String errMsg = "カーソルが定義されて?せん? ; 066 throw new RuntimeException( errMsg ); 067 } 068 table = createTableBySql( cursor() ); 069 } 070 071 /** 072 * こ?クラスは、テーブルモ?が外部から?されて???ありません? 073 * 074 * こ?メソ?自体?、protected属?であるため、サブクラスから直接参?することができます? 075 * ?、これ?、各業務ロジ?で直接参?することを想定したものではなく?BizLogicの 076 * メイン構?を拡張するサブクラスを定義する際に使用することを想定して?す? 077 * (こ?想定がなければ、本来は、package privateにすべきで? 078 * こ?ため、業務ロジ?を各実?ラスでは直接参?しな?下さ?? 079 * 080 * @see AbstractBizLogic#isRequireTable() 081 * 082 * @return ??ブルモ?が外部から?されて?かど?(常にfalse) 083 */ 084 @Override 085 protected boolean isRequireTable() { 086 return false; 087 } 088 }