sleep.bridges
Class BasicUtilities

java.lang.Object
  extended by sleep.bridges.BasicUtilities
All Implemented Interfaces:
java.io.Serializable, Function, Loadable, Predicate

public class BasicUtilities
extends java.lang.Object
implements Function, Loadable, Predicate

implementation of basic utility functions

See Also:
Serialized Form

Constructor Summary
BasicUtilities()
           
 
Method Summary
 boolean decide(java.lang.String predName, ScriptInstance anInstance, java.util.Stack terms)
          decides the truthfulness of the proposition predicateName applied to the passedInTerms.
 Scalar evaluate(java.lang.String n, ScriptInstance i, java.util.Stack l)
          Evaluate a function and return the resulting scalar.
 boolean scriptLoaded(ScriptInstance i)
          called when a script is loaded
 boolean scriptUnloaded(ScriptInstance i)
          called when a script is unloaded
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasicUtilities

public BasicUtilities()
Method Detail

scriptUnloaded

public boolean scriptUnloaded(ScriptInstance i)
Description copied from interface: Loadable
called when a script is unloaded

Specified by:
scriptUnloaded in interface Loadable

scriptLoaded

public boolean scriptLoaded(ScriptInstance i)
Description copied from interface: Loadable
called when a script is loaded

Specified by:
scriptLoaded in interface Loadable

decide

public boolean decide(java.lang.String predName,
                      ScriptInstance anInstance,
                      java.util.Stack terms)
Description copied from interface: Predicate
decides the truthfulness of the proposition predicateName applied to the passedInTerms.

Specified by:
decide in interface Predicate
Parameters:
predName - a predicate i.e. ==
anInstance - an instance of the script asking about this predicate.
terms - a stack of terms i.e. [3, 4]. These arguments are passed in REVERSE ORDER i.e. [right hand side, left hand side]
Returns:
a boolean, in the case of a predicate == and the terms [3, 4] we know 3 == 4 is false so return false.

evaluate

public Scalar evaluate(java.lang.String n,
                       ScriptInstance i,
                       java.util.Stack l)
Description copied from interface: Function
Evaluate a function and return the resulting scalar. Only the sleep interpreter should ever call this function. If you have a maddening desire to call this Function object yourself, then use the convienence method in SleepUtils.

Specified by:
evaluate in interface Function
Parameters:
n - the function being called.
i - an instance of the script calling this function.
l - a stack containing the locals passed to this function. The locals are Scalar values passed in reverse order i.e. [arg n, arg n-1, ..., arg 1, arg 0]
Returns:
an instance of Scalar containing the return value of this function.
See Also:
SleepUtils.runCode(Function, String, ScriptInstance, Stack)