ice.storm
Class DynEnv

java.lang.Object
  extended byice.storm.DynEnv

public abstract class DynEnv
extends Object

Class for wrapping and unwrapping values send and recived via DynamicObject


Constructor Summary
DynEnv()
           
 
Method Summary
 int checkBound(int value, int min_bound)
           
abstract  int checkBound(int value, int min_bound, int max_bound)
          Ensure integer returned by toInt belongs [min_bound, max_bound].
 String fuseArgsToString(Object[] args)
          Concatenate all string presentations of `args' elements into one string.
abstract  Object getRawObject(Object[] args, int index)
           
abstract  Scripter getScripter()
           
static DynEnv getScriptlessEnv()
           
abstract  int nativeIndexTest(Object object)
          Test whether object can be used to index native arrays.
 Object onNotImplemented()
           
abstract  boolean toBoolean(Object obj)
          Unwrap dynamic argument to boolean value
 boolean toBoolean(Object[] args, int index)
          Unwrap dynamic argument from function agrument list at the given 'index' to single boolean value
abstract  double toDouble(Object obj)
          Unwrap dynamic argument to double value.
 double toDouble(Object[] args, int index)
           
abstract  int toInt(Object obj)
          Unwrap dynamic argument to int value.
 int toInt(Object[] args, int index)
           
abstract  long toLong(Object obj)
          Unwrap dynamic argument to long value.
 long toLong(Object[] args, int index)
           
abstract  Object toNative(Object obj)
          Unwrap dynamic argument to a general java object
 Object toNative(Object[] args, int index)
           
abstract  long toPossibleInt(Object obj)
          Unwrap dynamic argument to int value.
 short toShort(Object obj)
           
 short toShort(Object[] args, int index)
           
abstract  String toStr(Object obj)
          Unwrap dynamic argument to its string presentation
 String toStr(Object[] args, int index)
           
 Object wrapBoolean(boolean value)
          Wrap boolean to Object
abstract  Object wrapDouble(double value)
          Wrap double to Object
 Object wrapDoubleOrString(String value)
          If 'value' is string representation of double number, return wrapper for that number, otherwise return value
abstract  Object wrapDynamic(DynamicObject dynamic)
           
abstract  Object wrapEventHandler(DynamicObject target, Object handler)
          To return wrapper for event handler
abstract  RuntimeException wrapException(Exception ex)
          Wrap int to Object
abstract  Object wrapGeneralObject(Object obj)
           
abstract  Integer wrapInt(int value)
          Wrap int to Object
abstract  Object wrapLong(long value)
          Wrap long to Object
abstract  Object wrapMethod(DynamicObject dynamic, String methodName)
          To return function wrapper to indicate that field is a method in reality
 Object wrapStr(String str)
           
abstract  Object wrapVoid()
          To indicate that method does not have return value
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DynEnv

public DynEnv()
Method Detail

getScriptlessEnv

public static DynEnv getScriptlessEnv()

getScripter

public abstract Scripter getScripter()

onNotImplemented

public Object onNotImplemented()

wrapException

public abstract RuntimeException wrapException(Exception ex)
Wrap int to Object


wrapInt

public abstract Integer wrapInt(int value)
Wrap int to Object


wrapLong

public abstract Object wrapLong(long value)
Wrap long to Object


wrapDouble

public abstract Object wrapDouble(double value)
Wrap double to Object


wrapDoubleOrString

public Object wrapDoubleOrString(String value)
If 'value' is string representation of double number, return wrapper for that number, otherwise return value


wrapBoolean

public Object wrapBoolean(boolean value)
Wrap boolean to Object


wrapMethod

public abstract Object wrapMethod(DynamicObject dynamic,
                                  String methodName)
To return function wrapper to indicate that field is a method in reality


wrapStr

public Object wrapStr(String str)

wrapDynamic

public abstract Object wrapDynamic(DynamicObject dynamic)

wrapGeneralObject

public abstract Object wrapGeneralObject(Object obj)

wrapVoid

public abstract Object wrapVoid()
To indicate that method does not have return value


wrapEventHandler

public abstract Object wrapEventHandler(DynamicObject target,
                                        Object handler)
To return wrapper for event handler


toBoolean

public abstract boolean toBoolean(Object obj)
Unwrap dynamic argument to boolean value

Throws:
RuntimeException - if convertion is not possible

toDouble

public abstract double toDouble(Object obj)
Unwrap dynamic argument to double value.

Throws:
RuntimeException - if convertion is not possible

toInt

public abstract int toInt(Object obj)
Unwrap dynamic argument to int value.

Throws:
RuntimeException - if convertion is not possible

toPossibleInt

public abstract long toPossibleInt(Object obj)
Unwrap dynamic argument to int value. If arg represents such value return it as low 32 bits of the result, otherwise returns -1L.


checkBound

public abstract int checkBound(int value,
                               int min_bound,
                               int max_bound)
Ensure integer returned by toInt belongs [min_bound, max_bound]. If not, then then either throw RuntimeException or bound value according to scripter rules.


checkBound

public final int checkBound(int value,
                            int min_bound)

toShort

public final short toShort(Object obj)

toLong

public abstract long toLong(Object obj)
Unwrap dynamic argument to long value.

Throws:
RuntimeException - if convertion is not possible

toStr

public abstract String toStr(Object obj)
Unwrap dynamic argument to its string presentation

Throws:
RuntimeException - if convertion is not possible

toNative

public abstract Object toNative(Object obj)
Unwrap dynamic argument to a general java object

Throws:
RuntimeException - if convertion is not possible

toBoolean

public boolean toBoolean(Object[] args,
                         int index)
Unwrap dynamic argument from function agrument list at the given 'index' to single boolean value

Throws:
RuntimeException - if convertion is not possible

toDouble

public double toDouble(Object[] args,
                       int index)

toInt

public int toInt(Object[] args,
                 int index)

toShort

public final short toShort(Object[] args,
                           int index)

toLong

public long toLong(Object[] args,
                   int index)

toStr

public String toStr(Object[] args,
                    int index)

toNative

public Object toNative(Object[] args,
                       int index)

getRawObject

public abstract Object getRawObject(Object[] args,
                                    int index)

nativeIndexTest

public abstract int nativeIndexTest(Object object)
Test whether object can be used to index native arrays. That is if object is a presentation (according to scripter rules) of integer value from [0..2^31-1], return it, otherwise return -1.


fuseArgsToString

public String fuseArgsToString(Object[] args)
Concatenate all string presentations of `args' elements into one string.

Throws:
RuntimeException - if convertion is not possible