Package sleep.bridges

Class BridgeUtilities


  • public class BridgeUtilities
    extends java.lang.Object
    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();
        }
     }
     
    • Constructor Summary

      Constructors 
      Constructor Description
      BridgeUtilities()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean expectArray​(java.lang.String n, Scalar value)
      returns true if value is an array or throws an appropriate exception if value is not an array.
      static java.util.Map extractNamedParameters​(java.util.Stack args)
      extracts all named parameters from the argument stack.
      static Scalar flattenArray​(Scalar fromValue, Scalar toValue)
      Flattens the specified scalar array.
      static Scalar flattenIterator​(java.util.Iterator i, Scalar toValue)
      Flattens the specified arrays within the specified iterator.
      static ScalarArray getArray​(java.util.Stack arguments)
      grab a sleep array, if the stack is empty a scalar array with no elements will be returned.
      static java.lang.Class getClass​(java.util.Stack arguments, java.lang.Class defaultValue)
      grab a class, if the stack is empty the default value will be returned
      static double getDouble​(java.util.Stack arguments)
      grab a double.
      static double getDouble​(java.util.Stack arguments, double defaultValue)
      grab a double, if the stack is empty the default value will be returned
      static java.io.File getFile​(java.util.Stack arguments, ScriptInstance i)
      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​(java.util.Stack arguments, ScriptInstance script)
      retrieves an executable Function object from the stack.
      static ScalarHash getHash​(java.util.Stack arguments)
      grab a sleep hash, if the stack is empty a scalar hash with no members will be returned.
      static int getInt​(java.util.Stack arguments)
      grab an integer.
      static int getInt​(java.util.Stack arguments, int defaultValue)
      grab an integer, if the stack is empty the default value will be returned
      static java.util.Iterator getIterator​(java.util.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​(java.util.Stack arguments)
      Pops a Key/Value pair object off of the argument stack.
      static long getLong​(java.util.Stack arguments)
      grab a long.
      static long getLong​(java.util.Stack arguments, long defaultValue)
      grab a long, if the stack is empty the default value will be returned
      static java.lang.Object getObject​(java.util.Stack arguments)
      grab an object, if the stack is empty then null will be returned.
      static Scalar getScalar​(java.util.Stack arguments)
      grab a scalar, if the stack is empty the empty/null scalar will be returned.
      static java.lang.String getString​(java.util.Stack arguments, java.lang.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​(java.util.Stack arguments)
      grab a sleep array, if the grabbed array is a readonly array, a copy is returned.
      static int initLocalScope​(ScriptVariables vars, Variable localLevel, java.util.Stack locals)
      initializes local scope based on argument stack
      static int normalize​(int value, int length)
      normalizes the index value based on the specified length
      static byte[] toByteArrayNoConversion​(java.lang.String textz)
      converts the specified string to an array of bytes (useful as Sleep stores byte arrays to strings)
      static java.io.File toSleepFile​(java.lang.String text, ScriptInstance i)
      adjusts the file argument to accomodate for the current working directory
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BridgeUtilities

        public BridgeUtilities()
    • Method Detail

      • toByteArrayNoConversion

        public static byte[] toByteArrayNoConversion​(java.lang.String textz)
        converts the specified string to an array of bytes (useful as Sleep stores byte arrays to strings)
      • getInt

        public static int getInt​(java.util.Stack arguments)
        grab an integer. if the stack is empty 0 will be returned.
      • getInt

        public static int getInt​(java.util.Stack arguments,
                                 int defaultValue)
        grab an integer, if the stack is empty the default value will be returned
      • getClass

        public static java.lang.Class getClass​(java.util.Stack arguments,
                                               java.lang.Class defaultValue)
        grab a class, if the stack is empty the default value will be returned
      • getLong

        public static long getLong​(java.util.Stack arguments)
        grab a long. if the stack is empty 0 will be returned.
      • getLong

        public static long getLong​(java.util.Stack arguments,
                                   long defaultValue)
        grab a long, if the stack is empty the default value will be returned
      • getDouble

        public static double getDouble​(java.util.Stack arguments)
        grab a double. if the stack is empty a 0 will be returned
      • getDouble

        public static double getDouble​(java.util.Stack arguments,
                                       double defaultValue)
        grab a double, if the stack is empty the default value will be returned
      • extractNamedParameters

        public static java.util.Map extractNamedParameters​(java.util.Stack args)
        extracts all named parameters from the argument stack. this method returns a Map whose keys are strings and values are Scalars.
      • getIterator

        public static java.util.Iterator getIterator​(java.util.Stack arguments,
                                                     ScriptInstance script)
        grabs a scalar iterator, this can come from either an array or a closure called continuously until $null is returned.
      • getArray

        public static ScalarArray getArray​(java.util.Stack arguments)
        grab a sleep array, if the stack is empty a scalar array with no elements will be returned.
      • getHash

        public static ScalarHash getHash​(java.util.Stack arguments)
        grab a sleep hash, if the stack is empty a scalar hash with no members will be returned.
      • getWorkableArray

        public static ScalarArray getWorkableArray​(java.util.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.
      • getObject

        public static java.lang.Object getObject​(java.util.Stack arguments)
        grab an object, if the stack is empty then null will be returned.
      • getFunction

        public static SleepClosure getFunction​(java.util.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.
      • getScalar

        public static Scalar getScalar​(java.util.Stack arguments)
        grab a scalar, if the stack is empty the empty/null scalar will be returned.
      • getString

        public static java.lang.String getString​(java.util.Stack arguments,
                                                 java.lang.String defaultValue)
        grab a string, if the stack is empty or if the value is null the default value will be returned.
      • toSleepFile

        public static java.io.File toSleepFile​(java.lang.String text,
                                               ScriptInstance i)
        adjusts the file argument to accomodate for the current working directory
      • getFile

        public static java.io.File getFile​(java.util.Stack arguments,
                                           ScriptInstance i)
        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.
      • getKeyValuePair

        public static KeyValuePair getKeyValuePair​(java.util.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]
      • flattenArray

        public static Scalar flattenArray​(Scalar fromValue,
                                          Scalar toValue)
        Flattens the specified scalar array. The toValue field can be null.
      • flattenIterator

        public static Scalar flattenIterator​(java.util.Iterator i,
                                             Scalar toValue)
        Flattens the specified arrays within the specified iterator. The toValue field can be null.
      • initLocalScope

        public static int initLocalScope​(ScriptVariables vars,
                                         Variable localLevel,
                                         java.util.Stack locals)
        initializes local scope based on argument stack
      • normalize

        public static final int normalize​(int value,
                                          int length)
        normalizes the index value based on the specified length
      • expectArray

        public static boolean expectArray​(java.lang.String n,
                                          Scalar value)
        returns true if value is an array or throws an appropriate exception if value is not an array.
        Parameters:
        n - the name of the &function
        value - the scalar to check