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 }