Top Description Fields Constructors Methods
org.jruby.embed.internal

public Class ConcurrentLocalContextProvider

extends AbstractLocalContextProvider
Class Inheritance
Imports
java.util.Map, java.util.concurrent.ConcurrentLinkedQueue, java.util.concurrent.atomic.AtomicReference, org.jruby.Ruby, .RubyInstanceConfig, org.jruby.embed.LocalVariableBehavior

Concurrent type local context provider. Ruby runtime returned from the getRuntime() method is a classloader-global runtime. While variables (except global variables) and constants are thread local.
Author
Yoko Harada <[email protected]>

Field Summary

Modifier and TypeField and Description
private final ThreadLocal<AtomicReference<LocalContext>>
private volatile ConcurrentLinkedQueue<AtomicReference<LocalContext>>
Inherited from org.jruby.embed.internal.AbstractLocalContextProvider:
behaviorconfiglazy

Constructor Summary

AccessConstructor and Description
public
public

Method Summary

Modifier and TypeMethod and Description
public Map<K, V>
getAttributeMap()

Implements org.jruby.embed.internal.LocalContextProvider.getAttributeMap.

Returns an attribute map of a specified scope.

public RubyInstanceConfig
public Ruby
getRuntime()

Implements org.jruby.embed.internal.LocalContextProvider.getRuntime.

Returns a Ruby runtime of a specified scope.

public BiVariableMap
public boolean
isRuntimeInitialized()

Implements org.jruby.embed.internal.LocalContextProvider.isRuntimeInitialized.

Tests whether Ruby runtime has been initialized or not.

public void
Inherited from org.jruby.embed.internal.AbstractLocalContextProvider:
getGlobalRuntimegetGlobalRuntimeConfiggetGlobalRuntimeConfigOrNewgetInstancegetLocalVariableBehaviorisGlobalRuntimeReady

Field Detail

contextHolderback to summary
private final ThreadLocal<AtomicReference<LocalContext>> contextHolder
contextRefsback to summary
private volatile ConcurrentLinkedQueue<AtomicReference<LocalContext>> contextRefs

Constructor Detail

ConcurrentLocalContextProviderback to summary
public ConcurrentLocalContextProvider(LocalVariableBehavior behavior)
ConcurrentLocalContextProviderback to summary
public ConcurrentLocalContextProvider(LocalVariableBehavior behavior, boolean lazy)

Method Detail

getAttributeMapback to summary
public Map<K, V> getAttributeMap()

Implements org.jruby.embed.internal.LocalContextProvider.getAttributeMap.

Doc from org.jruby.embed.internal.LocalContextProvider.getAttributeMap.

Returns an attribute map of a specified scope.

Returns:Map<K, V>

an attribute map

Annotations
@Override
getRubyInstanceConfigback to summary
public RubyInstanceConfig getRubyInstanceConfig()

Overrides org.jruby.embed.internal.AbstractLocalContextProvider.getRubyInstanceConfig.

Implements org.jruby.embed.internal.LocalContextProvider.getRubyInstanceConfig.

Doc from org.jruby.embed.internal.LocalContextProvider.getRubyInstanceConfig.

Gets an instance of org.jruby.RubyInstanceConfig.

Returns:RubyInstanceConfig

an instance of RubyInstanceConfig.

Annotations
@Override
getRuntimeback to summary
public Ruby getRuntime()

Implements org.jruby.embed.internal.LocalContextProvider.getRuntime.

Doc from org.jruby.embed.internal.LocalContextProvider.getRuntime.

Returns a Ruby runtime of a specified scope.

Returns:Ruby

a Ruby runtime

Annotations
@Override
getVarMapback to summary
public BiVariableMap getVarMap()

Implements org.jruby.embed.internal.LocalContextProvider.getVarMap.

Doc from org.jruby.embed.internal.LocalContextProvider.getVarMap.

Returns a BiVariableMap of a specified scope.

Returns:BiVariableMap

a variable map

Annotations
@Override
isRuntimeInitializedback to summary
public boolean isRuntimeInitialized()

Implements org.jruby.embed.internal.LocalContextProvider.isRuntimeInitialized.

Doc from org.jruby.embed.internal.LocalContextProvider.isRuntimeInitialized.

Tests whether Ruby runtime has been initialized or not.

Returns:boolean

true if initialized, false otherwise.

Annotations
@Override
terminateback to summary
public void terminate()

Implements org.jruby.embed.internal.LocalContextProvider.terminate.

Doc from org.jruby.embed.internal.LocalContextProvider.terminate.

Clears up a variable map.

Annotations
@Override