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

Constructors
Constructor and Description
`StrongCachingModuleScriptProvider(ModuleSourceProvider moduleSourceProvider)` Creates a new module provider with the specified module source provider.

### Method Summary

Methods
`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