sleep.bridges
Class BridgeUtilities
public class BridgeUtilities
A bridge is a class that bridges your applications API and sleep. Bridges are created using interfaces from the sleep.interfaces package. Arguments are passed to bridges generally in a java.util.Stack form. The Stack of arguments contains sleep Scalar objects. The BridgeUtilities makes it safer and easier for you to extract Java types from arguments.
// some code to execute an internal add function, not a complete example
public class MyAddFunction implements Function
{
public Scalar evaluate(String name, ScriptInstance script, Stack arguments)
{
if (name.equals("&add"))
{
int a = BridgeUtilities.getInt(arguments, 0);
int b = BridgeUtilities.getInt(arguments, 0);
return SleepUtils.getScalar(a + b);
}
return SleepUtils.getEmptyScalar();
}
}
static Map | extractNamedParameters(Stack args) - extracts all named parameters from the argument stack.
|
static Scalar | flattenArray(Scalar fromValue, Scalar toValue) - Flattens the specified scalar array.
|
static ScalarArray | getArray(Stack arguments) - grab a sleep array, if the stack is empty a scalar array with no elements will be returned.
|
static double | getDouble(Stack arguments) - grab a double.
|
static double | getDouble(Stack arguments, double defaultValue) - grab a double, if the stack is empty the default value will be returned
|
static File | getFile(Stack arguments) - returns a File object from a string argument, the path in the string argument is transformed such
that the character / will refer to the correct path separator for the current OS.
|
static SleepClosure | getFunction(Stack arguments, ScriptInstance script) - retrieves an executable Function object from the stack.
|
static ScalarHash | getHash(Stack arguments) - grab a sleep hash, if the stack is empty a scalar hash with no members will be returned.
|
static int | getInt(Stack arguments) - grab an integer.
|
static int | getInt(Stack arguments, int defaultValue) - grab an integer, if the stack is empty the default value will be returned
|
static Iterator | getIterator(Stack arguments, ScriptInstance script) - grabs a scalar iterator, this can come from either an array or a closure called continuously until $null is returned.
|
static KeyValuePair | getKeyValuePair(Stack arguments) - Pops a Key/Value pair object off of the argument stack.
|
static long | getLong(Stack arguments) - grab a long.
|
static long | getLong(Stack arguments, long defaultValue) - grab a long, if the stack is empty the default value will be returned
|
static Object | getObject(Stack arguments) - grab an object, if the stack is empty then null will be returned.
|
static Scalar | getScalar(Stack arguments) - grab a scalar, if the stack is empty the empty/null scalar will be returned.
|
static String | getString(Stack arguments, String defaultValue) - grab a string, if the stack is empty or if the value is null the default value will be returned.
|
static ScalarArray | getWorkableArray(Stack arguments) - grab a sleep array, if the grabbed array is a readonly array, a copy is returned.
|
extractNamedParameters
public static Map extractNamedParameters(Stack args)
extracts all named parameters from the argument stack. this method returns a Map whose keys are strings
and values are Scalars.
flattenArray
public static Scalar flattenArray(Scalar fromValue,
Scalar toValue)
Flattens the specified scalar array. The toValue field can be null.
getArray
public static ScalarArray getArray(Stack arguments)
grab a sleep array, if the stack is empty a scalar array with no elements will be returned.
getDouble
public static double getDouble(Stack arguments)
grab a double. if the stack is empty a 0 will be returned
getDouble
public static double getDouble(Stack arguments,
double defaultValue)
grab a double, if the stack is empty the default value will be returned
getFile
public static File getFile(Stack arguments)
returns a File object from a string argument, the path in the string argument is transformed such
that the character / will refer to the correct path separator for the current OS. Returns null if
no file is specified as an argument.
getFunction
public static SleepClosure getFunction(Stack arguments,
ScriptInstance script)
retrieves an executable Function object from the stack. Functions can be passed as closures
or as a reference to a built-in Sleep subroutine i.e. &my_func.
getHash
public static ScalarHash getHash(Stack arguments)
grab a sleep hash, if the stack is empty a scalar hash with no members will be returned.
getInt
public static int getInt(Stack arguments)
grab an integer. if the stack is empty 0 will be returned.
getInt
public static int getInt(Stack arguments,
int defaultValue)
grab an integer, if the stack is empty the default value will be returned
getIterator
public static Iterator getIterator(Stack arguments,
ScriptInstance script)
grabs a scalar iterator, this can come from either an array or a closure called continuously until $null is returned.
getKeyValuePair
public static KeyValuePair getKeyValuePair(Stack arguments)
Pops a Key/Value pair object off of the argument stack. A Key/Value pair is created using
the => operator within Sleep scripts. If the top argument on this stack was not created using
=>, this function will try to parse a key/value pair using the pattern: [key]=[value]
getLong
public static long getLong(Stack arguments)
grab a long. if the stack is empty 0 will be returned.
getLong
public static long getLong(Stack arguments,
long defaultValue)
grab a long, if the stack is empty the default value will be returned
getObject
public static Object getObject(Stack arguments)
grab an object, if the stack is empty then null will be returned.
getScalar
public static Scalar getScalar(Stack arguments)
grab a scalar, if the stack is empty the empty/null scalar will be returned.
getString
public static String getString(Stack arguments,
String defaultValue)
grab a string, if the stack is empty or if the value is null the default value will be returned.
getWorkableArray
public static ScalarArray getWorkableArray(Stack arguments)
grab a sleep array, if the grabbed array is a readonly array, a copy is returned. if the stack is empty an array with no elements will be returned.