資源描述:
《BOS開(kāi)發(fā)指南_kscript》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、金蝶BOS開(kāi)發(fā)指南_KSCRIPT金蝶BOS開(kāi)發(fā)指南——KSCRIPT1Kscript概述KSCRIPT是一段JAVA腳本。提供工作流腳本定義和單據(jù)轉(zhuǎn)換規(guī)則等功能的強(qiáng)有力的支持。KSCRIPT的主要使用場(chǎng)景:工作流的腳本使用和單據(jù)規(guī)則KSCRIPT的兩個(gè)特性:不需要類(lèi)型轉(zhuǎn)換和不能訪問(wèn)內(nèi)部類(lèi)。2Kscript腳本執(zhí)行//構(gòu)造解釋器Interpreterinterpreter=newInterpreter();//構(gòu)建上文環(huán)境Mapcontext=newHashMap();//初始化上下文環(huán)境Listlist=newArrayList();
2、list.add(newPerson("Michael",25));list.add(newPerson("Andrew",24));context.put("list",list);//執(zhí)行的腳本,求list中name每個(gè)Person的name屬性的和(字符串相加)Stringtext="sum(list.name)"http://翻譯并執(zhí)行腳本ObjectrtnValue=interpreter.eval(text,context);Assert.assertEquals("MichaelAndrew",rtnValue);3Kscript內(nèi)
3、置函數(shù)函數(shù)名稱(chēng)參數(shù)返回值說(shuō)明abs(a)a為Number類(lèi)型的Number類(lèi)型求絕對(duì)值變量例如參數(shù)a:或返回值為number類(lèi)a<0返回-a型的表達(dá)式a>=0返回aavg(a)a列表或數(shù)組列表或數(shù)組中所有值的求平均值平均值count(a)a列表或數(shù)組列表或數(shù)組中的個(gè)數(shù)求元素個(gè)數(shù)1/12金蝶BOS開(kāi)發(fā)指南_KSCRIPTeval(a)a表達(dá)式表達(dá)式的值求表達(dá)式的值len(a)a列表或數(shù)組列表或數(shù)組中的長(zhǎng)度求列表數(shù)組的長(zhǎng)度max(a)a列表或數(shù)組最大值求最大值min(a)a列表或數(shù)組最小值求最小值sum(a)a列表或數(shù)組求和求和newid(
4、)Bosid創(chuàng)建新的bosidparseInt(a)a字符串將參數(shù)轉(zhuǎn)換成int類(lèi)型parseFloat(a)a字符串將參數(shù)轉(zhuǎn)換成float類(lèi)型print(a)a字符串,與Java的打印語(yǔ)句,不帶換一致行println(a)a字符串,與Java的打印語(yǔ)句,帶換行一致set(a[,..])一個(gè)或多個(gè)參數(shù)包含多個(gè)參數(shù)的set類(lèi)將參數(shù)封裝成seta為支持的類(lèi)型型conditional_sum(a,b)a列表或數(shù)組滿(mǎn)足條件的值的和帶條件的求和conditional_avg(a,b)b條件滿(mǎn)足條件的值的平均值帶條件的求平均值conditional_
5、max(a,b)滿(mǎn)足條件的值的最大值帶條件的求最大值conditional_min(a,b)滿(mǎn)足條件的值的最小值帶條件的求最小值conditional_count(a,b)滿(mǎn)足條件的值的個(gè)數(shù)帶條件的求個(gè)數(shù)4內(nèi)部支持的名稱(chēng)空間java.langjava.util(注:腳本中的其他類(lèi)引用必須是全名的方式)5內(nèi)部支持的類(lèi)型布爾類(lèi)型:boolean:boolean布爾類(lèi)型數(shù)組:boolean[]:boolean[]字符類(lèi)型:2/12金蝶BOS開(kāi)發(fā)指南_KSCRIPTchar:char字符類(lèi)型數(shù)組:char[]:char[]/[C字節(jié)類(lèi)型:byt
6、e:byte字節(jié)類(lèi)型數(shù)組:byte[]:byte[]/[B短整形:short:short短整形數(shù)組:short[]:short[]/[S整形:int:int整形數(shù)組:int[]:int[]/[I長(zhǎng)整型:long:long長(zhǎng)整型數(shù)組:long[]:long[]/[J浮點(diǎn)數(shù)類(lèi)型:float:float浮點(diǎn)數(shù)類(lèi)型數(shù)組:float[]:float[]/[F雙精度浮點(diǎn)數(shù):double:double雙精度浮點(diǎn)數(shù)類(lèi)型:double[]:double[]/[D6腳本編寫(xiě)6.1獲取JAVABEAN屬性a.對(duì)象名.屬性名b.對(duì)象名.方法名()如,獲取上下文
7、環(huán)境中p對(duì)象的age屬性:p.age或p.getAge()3/12金蝶BOS開(kāi)發(fā)指南_KSCRIPT6.2將一個(gè)對(duì)象添加到上下文環(huán)境中a.p=newPerson();context.put(p,p);b.Stringtext="p=newPerson()";Mapcontext=newHashMap();newInterpreter().evalExpr(text,context)6.3返回值語(yǔ)句以逗號(hào)分隔,最后一條語(yǔ)句的返回值即是該語(yǔ)句的返回值,沒(méi)有返回值以null值表示.如:Stringtext="p=newPerson(),p.N
8、ame="aaa",p.Name";//返回"aaa"Stringtext="p=newPerson(),p.setAge(30)";//返回nullreturn指定返回值6.4方法調(diào)用1.方法名(參數(shù)