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

    java.lang.Object
      org.mozilla.javascript.commonjs.module.provider.CachingModuleScriptProviderBase
          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