org.mozilla.javascript.commonjs.module.provider
Class StrongCachingModuleScriptProvider

java.lang.Object
  extended by org.mozilla.javascript.commonjs.module.provider.CachingModuleScriptProviderBase
      extended by org.mozilla.javascript.commonjs.module.provider.StrongCachingModuleScriptProvider
All Implemented Interfaces:
java.io.Serializable, ModuleScriptProvider

public class StrongCachingModuleScriptProvider
extends CachingModuleScriptProviderBase

A module script provider that uses a module source provider to load modules and caches the loaded modules. It strongly references the loaded modules, thus a module once loaded will not be eligible for garbage collection before the module provider itself becomes eligible.

Version:
$Id: StrongCachingModuleScriptProvider.java,v 1.3 2011/04/07 20:26:12 hannes%helma.at Exp $
Author:
Attila Szegedi
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.mozilla.javascript.commonjs.module.provider.CachingModuleScriptProviderBase
CachingModuleScriptProviderBase.CachedModuleScript
 
Constructor Summary
StrongCachingModuleScriptProvider(ModuleSourceProvider moduleSourceProvider)
          Creates a new module provider with the specified module source provider.
 
Method Summary
protected  CachingModuleScriptProviderBase.CachedModuleScript getLoadedModule(java.lang.String moduleId)
          Retrieves an already loaded moduleScript stored using CachingModuleScriptProviderBase.putLoadedModule(String, ModuleScript, Object).
protected  void putLoadedModule(java.lang.String moduleId, ModuleScript moduleScript, java.lang.Object validator)
          Store a loaded module script for later retrieval using CachingModuleScriptProviderBase.getLoadedModule(String).
 
Methods inherited from class org.mozilla.javascript.commonjs.module.provider.CachingModuleScriptProviderBase
getConcurrencyLevel, getModuleScript
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StrongCachingModuleScriptProvider

public StrongCachingModuleScriptProvider(ModuleSourceProvider moduleSourceProvider)
Creates a new module provider with the specified module source provider.

Parameters:
moduleSourceProvider - provider for modules' source code
Method Detail

getLoadedModule

protected CachingModuleScriptProviderBase.CachedModuleScript getLoadedModule(java.lang.String moduleId)
Description copied from class: CachingModuleScriptProviderBase
Retrieves an already loaded moduleScript stored using CachingModuleScriptProviderBase.putLoadedModule(String, ModuleScript, Object).

Specified by:
getLoadedModule in class CachingModuleScriptProviderBase
Parameters:
moduleId - the ID of the module
Returns:
a cached module script, or null if the module is not loaded.

putLoadedModule

protected void putLoadedModule(java.lang.String moduleId,
                               ModuleScript moduleScript,
                               java.lang.Object validator)
Description copied from class: CachingModuleScriptProviderBase
Store a loaded module script for later retrieval using CachingModuleScriptProviderBase.getLoadedModule(String).

Specified by:
putLoadedModule in class CachingModuleScriptProviderBase
Parameters:
moduleId - the ID of the module
moduleScript - the module script
validator - the validator for the module's source text entity