クラス StructureIfElse

すべての実装されたインタフェース:
ClientInterface, CommonInterface, jp.ne.mki.wedge.run.interfaces.RuleEngineInterface

public class StructureIfElse extends AbstractClient

IfElse構造化ロジッククラス

入力引数のアイテムAfterを 条件、出力引数のアイテムAfter を処理 として IfElse の構造化を行います。
入力引数のアイテムAfterを実行し、戻り値にOKが返って来た場合のみ 出力引数の同行アイテムAfterを実行し 処理を終了します。
入力引数のアイテムAfterの結果がいずれもOKで返らなかった場合には、入力引数の数 + 1個目の 行である 出力引数のアイテムのAfterを実行します。(else としての処理)

入力引数出力引数
アイテムAアイテムD
アイテムBアイテムE
アイテムCアイテムF
アイテムG

という設定がされた場合には、以下のような処理になります。

     if( アイテムA:After == OK ){
        return アイテムD:After;
     }
     else if( アイテムB:After == OK ){
        return アイテムE:After;
     }
     else if( アイテムC:After == OK ){
        return アイテムF:After;
     }
     else{
        return アイテムG:After;
     }
     
入力引数のアイテムAfterは、「条件式」として扱い、戻り値は 基本的に OK か それ以外か の 判断で行います。
「条件式」での戻り値では、 OK 、 CANCEL(もしくは ERROR) のいずれかを返すように して、 STOP,STOP_SELECT_ALL,FRAME_CLOSE などの 戻り値は使用しないようにして下さい。
「条件式」にて、最後の戻り値が SKIP,SKIP_ALL などの場合は OK とみなされます。

このロジッククラスの戻り値は、 以下の仕様に基づき変換され このロジッククラスの戻り値として返します。

出力アイテムAfterの戻り値次の出力アイテム実行有無このロジッククラスの戻り値
OKOK
ERROR×ERROR
STOP×STOP
CANCEL×CANCEL
SKIPOK
SKIP_ALLOK
FRAME_CLOSE×SKIP_ALL
FRAME_QUIT×SKIP_ALL
SYSTEM_EXIT×SKIP_ALL
SYSTEM_QUIT×SKIP_ALL


[I/O RECORD]

InputRecord OutputRecord
  1. ケースロジックアイテム(複数)
  1. 処理ロジックアイテム(複数)
    但し、In引数の数 + 1 設定する必要がある

[RULE PARAMETER]

Parameter
バージョン:
1.0
  • コンストラクタの詳細

    • StructureIfElse

      public StructureIfElse()
  • メソッドの詳細

    • getIOParameter

      public int getIOParameter() throws Throwable
      入力アイテムに設定があれば、エラー処理があると認識する IOパラメータ取得。execute の前に実行される。
      戻り値:
       int int OK=処理続行、ERROR=異常終了、CANCEL=処理を中断(正常終了)
      例外:
      Throwable
    • execute

      public int execute() throws Throwable
      出力アイテムのAfter処理を順次実行する 各Afterの戻り値が OK 出ない場合には処理中断し実行リストに処理を戻す。 但し、SKIP or SKIP_ALL の場合には OK とみなし処理続行する。
      戻り値:
       int BusinessRuleの戻り値を参照
      例外:
      Throwable
    • executeItemAfterExecution

      protected int executeItemAfterExecution(jp.ne.mki.wedge.run.client.data.Item item, int index)
      出力アイテムのAfterを実行
    • changeReturn

      protected int changeReturn(int result)
      入力アイテムのAfterの戻り値を、このロジッククラスの戻り値に変換
      パラメータ:
      result -
      戻り値:
    • exit

      public void exit() throws Throwable
      終了処理。保持していた変数などを開放する処理を記述します。
      execute の後に実行されます。
      正常終了・異常終了などに関わらず必ず実行されます。
      例外:
      Throwable