|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jruby.embed.variable.VariableInterceptor
public class VariableInterceptor
This class is responsible to local variable behavior dependent processing.
| Constructor Summary | |
|---|---|
VariableInterceptor()
|
|
| Method Summary | |
|---|---|
static BiVariable |
getVariableInstance(LocalVariableBehavior behavior,
RubyObject receiver,
java.lang.String name,
java.lang.Object... value)
Returns an appropriate type of a variable instance to the specified local variable behavior. |
static void |
inject(BiVariableMap map,
Ruby runtime,
ManyVarsDynamicScope scope,
int depth,
IRubyObject receiver)
Injects variable values from Java to Ruby just before an evaluation or method invocation. |
static boolean |
isKindOfRubyVariable(LocalVariableBehavior behavior,
java.lang.String name)
Checks the given name is whether a legal Ruby variable/constant name or not. |
static void |
retrieve(LocalVariableBehavior behavior,
BiVariableMap map,
RubyObject receiver)
Retrieves variable/constant names and values after the evaluation or method invocation. |
static void |
terminateGlobalVariables(LocalVariableBehavior behavior,
java.util.List<BiVariable> variables,
Ruby runtime)
Clears global variable values from Ruby runtime to behave the same as JSR 223 reference implementation. |
static void |
terminateLocalVariables(LocalVariableBehavior behavior,
java.util.List<java.lang.String> varNames,
java.util.List<BiVariable> variables)
Clears local variables form the variable map so that old local variable name-value pairs are not to be used in successive evaluations. |
static void |
tryLazyRetrieval(LocalVariableBehavior behavior,
BiVariableMap map,
IRubyObject receiver,
java.lang.Object key)
Retrieves specified variable/constant name and value after the evaluation or method invocation only when it is requested. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public VariableInterceptor()
| Method Detail |
|---|
public static BiVariable getVariableInstance(LocalVariableBehavior behavior,
RubyObject receiver,
java.lang.String name,
java.lang.Object... value)
runtime - Ruby runtimename - variable namevalue - variable value
public static void inject(BiVariableMap map,
Ruby runtime,
ManyVarsDynamicScope scope,
int depth,
IRubyObject receiver)
map - a variable map that has name-value pairs to be injectedruntime - Ruby runtimescope - scope to inject local variable valuesdepth - depth of a frame to inject local variable valuesreceiver - a receiver when the script has been evaluated once
public static void retrieve(LocalVariableBehavior behavior,
BiVariableMap map,
RubyObject receiver)
map - variable map that holds retrieved name-value pairs.runtime - Ruby runtimereceiver - a receiver when the script has been evaluated once
public static void tryLazyRetrieval(LocalVariableBehavior behavior,
BiVariableMap map,
IRubyObject receiver,
java.lang.Object key)
map - variable map that holds retrieved name-value pairs.runtime - Ruby runtimereceiver - a receiver when the script has been evaluated once
public static void terminateGlobalVariables(LocalVariableBehavior behavior,
java.util.List<BiVariable> variables,
Ruby runtime)
variables - a variable list to be cleared from Ruby runtimeruntime - Ruby runtime
public static void terminateLocalVariables(LocalVariableBehavior behavior,
java.util.List<java.lang.String> varNames,
java.util.List<BiVariable> variables)
varNames - variable name list to be clearedvariables - variable value list to be cleared
public static boolean isKindOfRubyVariable(LocalVariableBehavior behavior,
java.lang.String name)
name - a given name to be checked
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||