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 */ 016package org.opengion.fukurou.business; 017 018import org.opengion.fukurou.util.ErrorMessage; 019 020/** 021 * パラメーターのみを使用する(メインカーソルを定義しない)業務ロジックの構造を定義します。 022 * 023 * このクラスでは、以下に示すメソッドが呼び出されるタイミングのみを定義しています。 024 * メソッドの中身については、サブクラスでオーバーライドし実装して下さい。 025 * 026 * 処理が途中で中断される条件は、以下の3つです。 027 * ①各メソッドの戻り値がfalseの場合 028 * ②チェックメソッド(check())が全ての行で実装された後、エラーメッセージに"エラー"が含まれている場合 029 * ③実行時エラーが発生した場合 030 * 031 * check() パラメーターチェック 1回のみ呼び出し 032 * logic() メイン処理 1回のみ呼び出し 033 * 034 * @og.rev 5.1.1.0 (2009/12/01) 新規作成 035 * @og.group 業務ロジック 036 * 037 * @version 5.0 038 * @author Hiroki Nakamura 039 * @since JDK1.6, 040 */ 041public class BizLogic_ENTRY extends AbstractBizLogic { 042 043 /** 044 * デフォルトコンストラクター 045 * 046 * @og.rev 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. 047 */ 048 public BizLogic_ENTRY() { super(); } // これも、自動的に呼ばれるが、空のメソッドを作成すると警告されるので、明示的にしておきます。 049 050 /** 051 * 処理のメインロジックの前処理を記述します。 052 * (ここでは何もしません) 053 * 054 * このメソッド自体は、protected属性であるため、サブクラスから直接参照することができます。 055 * 但し、これは、各業務ロジックで直接参照することを想定したものではなく、BizLogicの 056 * メイン構造を拡張するサブクラスを定義する際に使用することを想定しています。 057 * (この想定がなければ、本来は、package privateにすべきです) 058 * このため、業務ロジックを各実装クラスでは直接参照しないで下さい。 059 */ 060 @Override // AbstractBizLogic 061 protected void init() { 062 // Document empty method チェック対策 063 } 064 065 /** 066 * 処理のメインロジックを記述します。 067 * 068 * このメソッド自体は、protected属性であるため、サブクラスから直接参照することができます。 069 * 但し、これは、各業務ロジックで直接参照することを想定したものではなく、BizLogicの 070 * メイン構造を拡張するサブクラスを定義する際に使用することを想定しています。 071 * (この想定がなければ、本来は、package privateにすべきです) 072 * このため、業務ロジックを各実装クラスでは直接参照しないで下さい。 073 * 074 * @return 処理が正常終了したか 075 */ 076 @Override // AbstractBizLogic 077 protected boolean main() { 078 row = 0; 079 080 // 6.4.1.1 (2016/01/16) PMD refactoring. A method should have only one exit point, and that should be the last statement in the method 081 // 条件判定注意 082 return check() && getKekka() < ErrorMessage.NG && logic(); 083 } 084 085 /** 086 * チェックロジックを定義します。 087 * ここでは何も実装されていません。 088 * 089 * @return 処理が正常終了したか 090 */ 091 protected boolean check() { 092 return true; 093 } 094 095 /** 096 * メイン処理を定義します。 097 * ここでは何も実装されていません。 098 * 099 * @return 処理が正常終了したか 100 */ 101 protected boolean logic() { 102 return true; 103 } 104}