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 }