自定擴充程式庫

piSmartUserService 程式庫

package com.PowerIntegral;

/**

* <p>

* Title: piSmartUserService

* </p>

*

* <p>

* Description: piSmartUserService

* </p>

*/

public class piSmartUserService {

protected piLog _piLog = null;

protected piBase64 _piBase64 = null;

protected piJNDI _piJNDI = null;

protected piDatabase _piDatabase = null;

protected piValueList _piValueList = null;

protected boolean _OK = false;

protected String _ErrorMessage = "", _CallerInfo = "PowerIntegral";

/**

* piSmartUserService: 建構子

*

* @param Base64

* piBase64 => Base64 物件

* @param ValueList

* piValueList => 索引鍵值物件

* @param Database

* piDatabase => 資料庫物件

* @param JNDI

* piJNDI => 目錄服務物件

* @param Log

* piLog => 日誌物件

*/

public piSmartUserService(piBase64 Base64, piValueList ValueList,

piDatabase Database, piJNDI JNDI, piLog Log) {

Init(Base64, ValueList, Database, JNDI, Log, this._CallerInfo);

}

/**

* piSmartUserService: 建構子

*

* @param Base64

* piBase64 => Base64 物件

* @param ValueList

* piValueList => 索引鍵值物件

* @param Database

* piDatabase => 資料庫物件

* @param JNDI

* piJNDI => 目錄服務物件

* @param Log

* piLog => 日誌物件

* @param CallerInfo

* String => 調用者訊息

*/

public piSmartUserService(piBase64 Base64, piValueList ValueList,

piDatabase Database, piJNDI JNDI, piLog Log, String CallerInfo) {

Init(Base64, ValueList, Database, JNDI, Log, CallerInfo);

}

/**

* Init: 初值函式

*

* @param Base64

* piBase64 => Base64 物件

* @param ValueList

* piValueList => 索引鍵值物件

* @param Database

* piDatabase => 資料庫物件

* @param JNDI

* piJNDI => 目錄服務物件

* @param Log

* piLog => 日誌物件

* @param CallerInfo

* String => 調用者訊息

*/

private void Init(piBase64 Base64, piValueList ValueList,

piDatabase Database, piJNDI JNDI, piLog Log, String CallerInfo) {

this._piLog = Log;

this._piLog.LogData.ModuleName = this.toString();

this._piBase64 = Base64;

this._piDatabase = Database;

this._piJNDI = JNDI;

this._piValueList = ValueList;

this._CallerInfo = CallerInfo;

}

/**

* getErrorMessage: 取得最近執行錯誤訊息

*

* @return String

*/

public String getErrorMessage() {

return this._ErrorMessage;

}

/**

* getSuccess: 取得最近執行狀態

*

* @return boolean

*/

public boolean getSuccess() {

return this._OK;

}

/**

* _InitStatus: 初始執行狀態

*/

protected void _InitStatus() {

this._OK = false;

this._ErrorMessage = "";

}

/**

* setCallerInfo: 設定調用者訊息

*

* @param CallerInfo

* String

*/

public void setCallerInfo(String CallerInfo) {

this._CallerInfo = CallerInfo;

}

/**

* getCallerInfo: 取得調用者訊息

*

* @return String

*/

public String getCallerInfo() {

return this._CallerInfo;

}

/**

* CallUserFunction: 使用者自訂函式

*

* @param TaskID

* int => 功能代號

* @param TaskParam

* String => 引數

* @param CallerInfo

* String => 調用者訊息

* @return String

*/

public String CallUserFunction(int TaskID, String TaskParam,

String CallerInfo) {

String _TaskParam = "", _TaskResult = "", _CallerInfo = "";

this._InitStatus();

switch (TaskID) {

default:

if (this._piValueList.Load(TaskParam, "\n", "\t")) {

String _ClassName = (String) this._piValueList.getField(0,

"ClassName");

_TaskParam = (String) this._piValueList

.getField(0, "TaskParam");

_CallerInfo = (String) this._piValueList.getField(0,

"CallerInfo");

if (_CallerInfo == null)

_CallerInfo = CallerInfo;

this._piLog.Debug(20000, "\t" + _CallerInfo + "\tClassName:"

+ _ClassName);

this._piLog.Debug(20000, "\t" + _CallerInfo + "\tTaskParam:"

+ _TaskParam);

Class[] _ClassParams = { String.class, String.class,

String.class };

Object[] _MethodParams = { String.valueOf(TaskID), _TaskParam,

_CallerInfo };

try {

if ((_TaskResult = (String) piClassLoader.InvokeMethod2(

_ClassName, "CallUserFunction", _ClassParams,

_MethodParams)) == null) {

_TaskResult = "";

} else {

this._OK = true;

}

} catch (Exception ex) {

this._ErrorMessage = ex.getMessage();

}

}

}

return _TaskResult;

}

/**

* CallUserFunction: 使用者自訂函式

*

* @param TaskID

* int => 功能代號

* @param TaskParam

* String => 引數

* @return String

*/

public String CallUserFunction(int TaskID, String TaskParam) {

return this.CallUserFunction(TaskID, TaskParam, this._CallerInfo);

}

}