Package com.valhalla.sdk
Interface ScriptContext
public interface ScriptContext
Runtime context supplied to each script lifecycle callback.
The context exposes launch settings, permission checks, and script-scoped
logging. A permission in the package manifest authorizes an operation; it does
not guarantee that the active client adapter advertises the corresponding
capability. Use Client.supports(...) before optional native features.
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidLogs a debug message.default voidLogs an error message.default booleangetBooleanSetting(String name, boolean fallback) Reads common boolean spellings such astrue,yes, and1.default doublegetDoubleSetting(String name, double fallback) Reads a finite floating-point setting.default <E extends Enum<E>>
EgetEnumSetting(String name, Class<E> type, E fallback) Reads an enum constant case-insensitively, treating spaces and hyphens as underscores.getIntListSetting(String name) Reads a comma-separated list while silently omitting malformed integers.default intgetIntSetting(String name, int fallback) Reads a base-10 integer setting without propagating parse errors.default intgetIntSetting(String name, int fallback, int minimum, int maximum) Reads and clamps an integer setting to an inclusive range.getListSetting(String name) Reads a comma-separated setting as trimmed, non-empty strings.default longgetLongSetting(String name, long fallback) Reads a base-10 long setting without propagating parse errors.Returns the stable package identifier frommanifest.json.default StringgetSetting(String name, String fallback) Returns a launch-time script setting supplied by the Command Center.booleanhasPermission(String permission) Tests whether the installed package was granted a manifest permission.default voidLogs an informational message.voidPublishes a script-scoped log entry.default voidrequirePermission(String permission) Requires a package permission before continuing.default voidLogs a warning message.
-
Method Details
-
getScriptId
String getScriptId()Returns the stable package identifier frommanifest.json.- Returns:
- script identifier used to prefix logs and runtime state
-
log
Publishes a script-scoped log entry.- Parameters:
level- severity label such asDEBUG,INFO, orERRORmessage- human-readable message; avoid credentials and other secrets
-
hasPermission
Tests whether the installed package was granted a manifest permission.- Parameters:
permission- permission string, preferably fromPermissions- Returns:
truewhen the package grants the permission
-
getSetting
Returns a launch-time script setting supplied by the Command Center.- Parameters:
name- setting key declared in the package manifestfallback- value returned when the key is absent- Returns:
- configured string value, or
fallbackwhen absent
-
getIntSetting
Reads a base-10 integer setting without propagating parse errors.- Parameters:
name- setting keyfallback- value used for missing or malformed input- Returns:
- parsed value or
fallback
-
getIntSetting
Reads and clamps an integer setting to an inclusive range.- Parameters:
name- setting keyfallback- value used for missing or malformed input before clampingminimum- inclusive lower boundmaximum- inclusive upper bound- Returns:
- parsed value constrained to
[minimum, maximum] - Throws:
IllegalArgumentException- whenmaximum < minimum
-
getLongSetting
Reads a base-10 long setting without propagating parse errors.- Parameters:
name- setting keyfallback- value used for missing or malformed input- Returns:
- parsed value or
fallback
-
getDoubleSetting
Reads a finite floating-point setting.- Parameters:
name- setting keyfallback- value used for missing, malformed, infinite, or NaN input- Returns:
- finite parsed value or
fallback
-
getBooleanSetting
Reads common boolean spellings such astrue,yes, and1.- Parameters:
name- setting keyfallback- value used for missing or unrecognized input- Returns:
- parsed boolean or
fallback
-
getEnumSetting
Reads an enum constant case-insensitively, treating spaces and hyphens as underscores.- Type Parameters:
E- enum type- Parameters:
name- setting keytype- enum class used for parsingfallback- value used for missing or unrecognized input- Returns:
- parsed enum constant or
fallback - Throws:
NullPointerException- whentypeisnull
-
getListSetting
Reads a comma-separated setting as trimmed, non-empty strings.- Parameters:
name- setting key- Returns:
- immutable list, empty when the setting is absent or blank
-
getIntListSetting
Reads a comma-separated list while silently omitting malformed integers.- Parameters:
name- setting key- Returns:
- immutable list of successfully parsed integers
-
debug
Logs a debug message.- Parameters:
message- message logged atDEBUGseverity
-
info
Logs an informational message.- Parameters:
message- message logged atINFOseverity
-
warn
Logs a warning message.- Parameters:
message- message logged atWARNseverity
-
error
Logs an error message.- Parameters:
message- message logged atERRORseverity
-
requirePermission
Requires a package permission before continuing.- Parameters:
permission- permission string, preferably fromPermissions- Throws:
SecurityException- when the permission is not granted
-