|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.mozilla.javascript.commonjs.module.provider.CachingModuleScriptProviderBase
public abstract class CachingModuleScriptProviderBase
Abstract base class that implements caching of loaded module scripts. It
uses a ModuleSourceProvider to obtain the source text of the
scripts. It supports a cache revalidation mechanism based on validator
objects returned from the ModuleSourceProvider. Instances of this
class and its subclasses are thread safe (and written to perform decently
under concurrent access).
| Nested Class Summary | |
|---|---|
static class |
CachingModuleScriptProviderBase.CachedModuleScript
Instances of this class represent a loaded and cached module script. |
| Constructor Summary | |
|---|---|
protected |
CachingModuleScriptProviderBase(ModuleSourceProvider moduleSourceProvider)
Creates a new module script provider with the specified source. |
| Method Summary | |
|---|---|
protected static int |
getConcurrencyLevel()
Returns the internal concurrency level utilized by caches in this JVM. |
protected abstract CachingModuleScriptProviderBase.CachedModuleScript |
getLoadedModule(java.lang.String moduleId)
Retrieves an already loaded moduleScript stored using putLoadedModule(String, ModuleScript, Object). |
ModuleScript |
getModuleScript(Context cx,
java.lang.String moduleId,
java.net.URI moduleUri,
Scriptable paths)
Returns a module script. |
protected abstract void |
putLoadedModule(java.lang.String moduleId,
ModuleScript moduleScript,
java.lang.Object validator)
Store a loaded module script for later retrieval using getLoadedModule(String). |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
protected CachingModuleScriptProviderBase(ModuleSourceProvider moduleSourceProvider)
moduleSourceProvider - provider for modules' source code| Method Detail |
|---|
public ModuleScript getModuleScript(Context cx,
java.lang.String moduleId,
java.net.URI moduleUri,
Scriptable paths)
throws java.lang.Exception
ModuleScriptProvider
getModuleScript in interface ModuleScriptProvidercx - current context. Can be used to compile module scripts.moduleId - the ID of the module. An implementation must only accept
an absolute ID, starting with a term.moduleUri - the URI of the module. If this is not null, resolution
of moduleId is bypassed and the script is directly loaded
from moduleUripaths - the value of the require() function's "paths" attribute. If
the require() function is sandboxed, it will be null, otherwise it will
be a JavaScript Array object. It is up to the provider implementation
whether and how it wants to honor the contents of the array.
java.lang.Exception - if there was an unrecoverable problem obtaining the
script
java.lang.IllegalArgumentException - if the module ID is syntactically not a
valid absolute module identifier.
protected abstract void putLoadedModule(java.lang.String moduleId,
ModuleScript moduleScript,
java.lang.Object validator)
getLoadedModule(String).
moduleId - the ID of the modulemoduleScript - the module scriptvalidator - the validator for the module's source text entityprotected abstract CachingModuleScriptProviderBase.CachedModuleScript getLoadedModule(java.lang.String moduleId)
putLoadedModule(String, ModuleScript, Object).
moduleId - the ID of the module
protected static int getConcurrencyLevel()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||