Constants expose named Java values to scripts.
org.densy.scriptify.api.script.constant.ScriptConstantCreate a constant:
ScriptConstant constant = ScriptConstant.of("appName", "Scriptify");Or implement it:
public final class AppNameConstant implements ScriptConstant {
@Override
public String getName() {
return "appName";
}
@Override
public Object getValue() {
return "Scriptify";
}
}script.getConstantManager().register(ScriptConstant.of("appName", "Scriptify"));
script.evalOneShot("appName");Global constants are exported to the global module during compilation.
SimpleScriptInternalModule app = new SimpleScriptInternalModule("app");
app.export(new ScriptConstantExport(ScriptConstant.of("name", "Scriptify")));
script.getModuleManager().addModule(app);import { name } from "app";
name;ScriptConstantManager provides:
Map<String, ScriptConstant> getConstants();
ScriptConstant getConstant(String name);
void register(ScriptConstant constant);
void remove(String name);Default implementation:
org.densy.scriptify.core.script.constant.StandardConstantManager| Constant | Value |
|---|---|
baseDir |
Current JVM working directory as an absolute string. |
osName |
System.getProperty("os.name"). |
These are exported by StandardScriptModule.
CommonConstantManager is deprecated. Prefer module exports.