package jp.ne.mki.wedge.rule.server.control;
import jp.ne.mki.wedge.rule.base.AbstractServer;
/**
* <h2>デシジョンテーブル呼び出し</h2><br/>
* <p>ロジッククラスパラメータの物理名のデシジョンテーブルを呼び出します。<br/>
* ロジッククラスパラメータが空の場合は、IN1から物理名を取得します。<br/>
* </p>
* <br/>
* <h4>[I/O RECORD]</h4>
* <table border="1" cellpadding="3" cellspacing="0" width="100%">
* <tr class="TableSubHeadingColor">
* <th style="width:50%;">InputRecord</th>
* <th>OutputRecord</th>
* </tr><tr class="TableRowColor">
* <td>
* <!-- InputRecordの内容を記述 -->
* <ol>
* <li>(デシジョンテーブル物理名(TEXT))</li>
* </ol>
* <!-- ここまで -->
* </td>
* <td>
* <!-- OutputRecordの内容を記述 -->
* なし
* <!-- ここまで -->
* </td>
* </tr></table>
*
* <h4>[RULE PARAMETER]</h4>
* <table border="1" cellpadding="3" cellspacing="0" width="100%">
* <tr>
* <th style="width:100px;" class="TableSubHeadingColor">Parameter</th>
* <td class="TableRowColor">
* <!-- Parameterの内容を記述 -->
* デシジョンテーブル物理名
* <!--ここまで -->
* </td>
* </tr></table>
*
* @since 1.1.3
* @author mki
* @version 1.0
*/
public class ExecuteDecisionTable extends AbstractServer {
private String pname = null;
/**
* @see jp.ne.mki.wedge.rule.base.interfaces.CommonInterface#getIOParameter()
*/
public int getIOParameter() throws Throwable {
if (getRuleParameter().length() != 0) {
pname = getRuleParameter();
} else if (getInRecord(0) != null) {
pname = getInRecord(0).getString();
} else {
return IO_ERROR_IN;
}
return OK;
}
/**
* @see jp.ne.mki.wedge.rule.base.interfaces.CommonInterface#execute()
*/
public int execute() throws Throwable {
return executeDecisionTable(pname);
}
/**
* @see jp.ne.mki.wedge.rule.base.interfaces.CommonInterface#exit()
*/
public void exit() throws Throwable {
pname = null;
}
}