Interface AsahiContext
-
- All Implemented Interfaces:
-
com.skillw.asahi.api.script.linking.InvokerHolder,javax.script.Bindings,kotlin.collections.Map,kotlin.collections.MutableMap
public interface AsahiContext implements Map<String, Any>, Bindings, InvokerHolder
Asahi Context
脚本上下文
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public abstract classAsahiContext.Getterpublic abstract classAsahiContext.Setterpublic classAsahiContext.Companion
-
Method Summary
Modifier and Type Method Description abstract ObjectgetOrigin(String key)abstract ObjectsetOrigin(String key, Object value)abstract ObjectputDeep(String key, Object value)Put deep abstract ObjectgetDeep(String key)Get deep abstract UnitputAllIfExists(Map<String, Object> map)Put all if exists abstract Objectinvoke(String key, Object params)调用NativeFunction abstract Unitimport(String paths)导入其它脚本文件的上下文 abstract <R extends Any> Rselect(R obj)选取一个对象作为当前对象可通过 selector<R>() 获取 <R extends Any> Rselector()获取当前选择的对象 (强制类型转换) <R extends Any> RselectorSafely(AsahiContext $self)获取当前选择的对象 (安全类型转换) <R extends Any> Rrun(Quester<R> $self)执行Quester <R extends Any> Rget(Quester<R> $self)执行Quester abstract AsahiContextclone()Clone AsahiContextcontext()获取当前上下文(其实就是自身)这个函数存在的意义是让代码可读性变强 abstract UnitonExit(Function0<Unit> exec)当前程序结束时,要做的事 abstract <R extends Any> CompletableFuture<R>autoCancelled(CompletableFuture<R> $self)让一个任务随着程序结束而自动结束 abstract Unitexit()执行退出程序回调函数 abstract Unitreset()重置上下文 abstract BooleanisExit()当前程序是否已结束 abstract UnitdebugOn()开启执行时调试 abstract UnitdebugOff()关闭执行时调试 abstract UnitifDebug(Function0<Unit> todo)如果在调试中 abstract <R extends Any> RifDebug(R $self, Function1<R, Unit> todo)如果在调试中 abstract <R extends Any> Rtemp(Pair<String, Object> pairs, Function0<R> todo)临时变量键值对里的变量在 todo执行前塞入 执行后取出 abstract UnitaddTask(CompletableFuture<?> task)添加任务 abstract UnitawaitAllTask()等待所有任务完成 -
-
Method Detail
-
putAllIfExists
abstract Unit putAllIfExists(Map<String, Object> map)
Put all if exists
-
invoke
abstract Object invoke(String key, Object params)
调用NativeFunction
- Parameters:
key- 函数名params- 参数- Returns:
返回结果
-
select
abstract <R extends Any> R select(R obj)
选取一个对象作为当前对象
可通过 selector<R>() 获取
- Parameters:
obj- 对象- Returns:
对象
-
selectorSafely
<R extends Any> R selectorSafely(AsahiContext $self)
获取当前选择的对象 (安全类型转换)
- Returns:
当前选择的对象
-
clone
abstract AsahiContext clone()
Clone
-
context
AsahiContext context()
获取当前上下文(其实就是自身)
这个函数存在的意义是让代码可读性变强
-
autoCancelled
abstract <R extends Any> CompletableFuture<R> autoCancelled(CompletableFuture<R> $self)
让一个任务随着程序结束而自动结束
-
ifDebug
abstract <R extends Any> R ifDebug(R $self, Function1<R, Unit> todo)
如果在调试中
- Parameters:
todo- 要干的事
-
temp
abstract <R extends Any> R temp(Pair<String, Object> pairs, Function0<R> todo)
临时变量
键值对里的变量在 todo执行前塞入 执行后取出
- Parameters:
pairs- 键值对todo- 执行内容- Returns:
执行结果
-
addTask
abstract Unit addTask(CompletableFuture<?> task)
添加任务
- Parameters:
task- 任务
-
awaitAllTask
abstract Unit awaitAllTask()
等待所有任务完成
-
-
-
-