自定擴充程式庫
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);
}
}