sleep.engine
Class ObjectUtilities
public
class
ObjectUtilities
extends Object
This class is sort of the center of the HOES universe containing several methods for mapping
between Sleep and Java and resolving which mappings make sense.
Field Summary |
static int | ARG_MATCH_MAYBE when looking for a Java method that matches the sleep args, we save the maybes and use them as a last resort if no yes match is found |
static int | ARG_MATCH_NO when looking for a Java method that matches the sleep args, we immediately drop all of the no answers. |
static int | ARG_MATCH_YES when looking for a Java method that matches the sleep args, we use a Yes match immediately |
Method Summary |
static Object | buildArgument(Class type, Scalar value, ScriptInstance script) |
static Object[] | buildArgumentArray(Class[] types, Stack arguments, ScriptInstance script) |
static String | buildArgumentErrorMessage(Class theClass, String method, Class[] expected, Object[] parameters) |
static Scalar | BuildScalar(boolean primitives, Object value) |
static Class | convertDescriptionToClass(String description) converts the one character class description to the specified Class type, i.e. z = boolean, c = char, b = byte, i = integer, etc.. |
static Class | convertScalarDescriptionToClass(Scalar description) this function checks if the specified scalar is a Class literal and uses that if it is, otherwise description is converted to a string and the convertDescriptionToClass method is used |
static Constructor | findConstructor(Class theClass, Stack arguments) |
static Method | findMethod(Class theClass, String method, Stack arguments) |
static Class | getArrayType(Scalar value, Class defaultc) Determines the primitive type of the specified array. |
static void | handleExceptionFromJava(Throwable ex, ScriptEnvironment env, String description, int lineNumber) Standard method to handle a Java exception from a HOES call. |
static int | isArgMatch(Class[] check, Stack arguments) convienence method to determine wether or not the stack of values is a safe match for the specified method signature |
static int | isArgMatch(Class check, Scalar scalar) determined if the specified scalar can be rightfully cast to the specified class |
public static final int ARG_MATCH_MAYBE
when looking for a Java method that matches the sleep args, we save the maybes and use them as a last resort if no yes match is found
public static final int ARG_MATCH_NO
when looking for a Java method that matches the sleep args, we immediately drop all of the no answers.
public static final int ARG_MATCH_YES
when looking for a Java method that matches the sleep args, we use a Yes match immediately
public static Object[] buildArgumentArray(Class[] types, Stack arguments,
ScriptInstance script)
public static String buildArgumentErrorMessage(Class theClass, String method, Class[] expected, Object[] parameters)
public static
Scalar BuildScalar(boolean primitives, Object value)
public static Class convertDescriptionToClass(String description)
converts the one character class description to the specified Class type, i.e. z = boolean, c = char, b = byte, i = integer, etc..
public static Class convertScalarDescriptionToClass(
Scalar description)
this function checks if the specified scalar is a Class literal and uses that if it is, otherwise description is converted to a string and the convertDescriptionToClass method is used
public static Constructor findConstructor(Class theClass, Stack arguments)
public static Method findMethod(Class theClass, String method, Stack arguments)
public static Class getArrayType(
Scalar value, Class defaultc)
Determines the primitive type of the specified array. Primitive Sleep values (int, long, double) will return the appropriate Number.TYPE class. This is an important distinction as Double.TYPE != new Double().getClass()
public static void handleExceptionFromJava(Throwable ex,
ScriptEnvironment env, String description, int lineNumber)
Standard method to handle a Java exception from a HOES call. Basically this places the exception into Sleep's
throw mechanism and collects the stack frame.
public static int isArgMatch(Class[] check, Stack arguments)
convienence method to determine wether or not the stack of values is a safe match for the specified method signature
public static int isArgMatch(Class check,
Scalar scalar)
determined if the specified scalar can be rightfully cast to the specified class