Package com.valhalla.sdk.tasks
Class TaskScript
java.lang.Object
com.valhalla.sdk.AbstractScript
com.valhalla.sdk.tasks.TaskScript
- All Implemented Interfaces:
Sleepable
Prioritized-node script base for compact finite-state scripts.
Nodes are sorted by descending TaskNode.priority(). Each loop evaluates
a stable snapshot of the registered nodes and executes only the first accepted
node. A negative execution delay requests a cooperative script stop.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final voidAdds nodes and restores descending-priority order.protected final voidRemoves every registered node.getNodes()Returns the currently registered nodes.protected longDefines the idle loop delay.final longonLoop(ScriptContext context) Selects and executes at most one node.protected voidonNoTaskAccepted(ScriptContext context) Receives an idle-loop callback after every node rejects the current state.protected final voidremoveNodes(TaskNode... removals) Removes matching node instances when present.Methods inherited from class com.valhalla.sdk.AbstractScript
isStopRequested, onStart, onStop, requestStop, shouldStop, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.valhalla.sdk.api.util.Sleepable
sleep, sleep, sleepUntil, sleepUntil, sleepUntil, sleepWhile, sleepWhile, sleepWhile
-
Constructor Details
-
TaskScript
public TaskScript()
-
-
Method Details
-
addNodes
Adds nodes and restores descending-priority order.- Parameters:
additions- non-null nodes to register
-
clearNodes
protected final void clearNodes()Removes every registered node. -
removeNodes
Removes matching node instances when present.- Parameters:
removals- non-null node instances to remove
-
getNodes
Returns the currently registered nodes.- Returns:
- immutable snapshot of nodes in current selection order
-
idleDelayMillis
protected long idleDelayMillis()Defines the idle loop delay.- Returns:
- requested loop delay when no node accepts; defaults to 250 milliseconds
-
onNoTaskAccepted
Receives an idle-loop callback after every node rejects the current state.- Parameters:
context- current script context
-
onLoop
Selects and executes at most one node.- Specified by:
onLoopin classAbstractScript- Parameters:
context- current script context- Returns:
- selected node delay, or the non-negative idle delay when none accepts
-