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 class
AsahiContext.Getter
public abstract class
AsahiContext.Setter
public class
AsahiContext.Companion
-
Method Summary
Modifier and Type Method Description abstract Object
getOrigin(String key)
abstract Object
setOrigin(String key, Object value)
abstract Object
putDeep(String key, Object value)
Put deep abstract Object
getDeep(String key)
Get deep abstract Unit
putAllIfExists(Map<String, Object> map)
Put all if exists abstract Object
invoke(String key, Object params)
调用NativeFunction abstract Unit
import(String paths)
导入其它脚本文件的上下文 abstract <R extends Any> R
select(R obj)
选取一个对象作为当前对象可通过 selector<R>() 获取 <R extends Any> R
selector()
获取当前选择的对象 (强制类型转换) <R extends Any> R
selectorSafely(AsahiContext $self)
获取当前选择的对象 (安全类型转换) <R extends Any> R
run(Quester<R> $self)
执行Quester <R extends Any> R
get(Quester<R> $self)
执行Quester abstract AsahiContext
clone()
Clone AsahiContext
context()
获取当前上下文(其实就是自身)这个函数存在的意义是让代码可读性变强 abstract Unit
onExit(Function0<Unit> exec)
当前程序结束时,要做的事 abstract <R extends Any> CompletableFuture<R>
autoCancelled(CompletableFuture<R> $self)
让一个任务随着程序结束而自动结束 abstract Unit
exit()
执行退出程序回调函数 abstract Unit
reset()
重置上下文 abstract Boolean
isExit()
当前程序是否已结束 abstract Unit
debugOn()
开启执行时调试 abstract Unit
debugOff()
关闭执行时调试 abstract Unit
ifDebug(Function0<Unit> todo)
如果在调试中 abstract <R extends Any> R
ifDebug(R $self, Function1<R, Unit> todo)
如果在调试中 abstract <R extends Any> R
temp(Pair<String, Object> pairs, Function0<R> todo)
临时变量键值对里的变量在 todo执行前塞入 执行后取出 abstract Unit
addTask(CompletableFuture<?> task)
添加任务 abstract Unit
awaitAllTask()
等待所有任务完成 -
-
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()
等待所有任务完成
-
-
-
-