LocalContextState defines four scopes to maintain LocalContext.
A single ScriptingContainer can be configured to act as a facade for multiple Ruby runtimes
(or really multiple Ruby VMs, since each Ruby instance is a Ruby "VM"), and this enum controls
that behaviour. (this behaviour is bit like that of ThreadLocal — it changes its behaviour
silently depending on the calling thread, an act of multiplexing.)
When you think of this multiplexing behaviour, there are two sets of states that need separate attention.
One is Ruby instance, which represents the whole VM, classes, global variables, etc. Then
there's attributes and so-called
variables, which are really a special scope induced by the
scripting container for better JSR-223 interop.
In this documentation, we refer to the former as "the runtime" and the latter as "the variables",
but the variables shouldn't be confused with the global variables in Ruby's semantics, which belongs
to the runtime.
compareTo(E arg0)getDeclaringClass() · also: get_declaring_classdescribeConstable()equals(Object arg0)hashCode()name()ordinal()toString()