public class ModuleSource
extends java.lang.Object
implements java.io.Serializable
CachingModuleScriptProviderBase
to avoid repeated loading of
unmodified resources as well as automatic reloading of modified resources.
Such a validator can be any value that can be used to detect modification or
non-modification of the resource that provided the source of the module. It
can be as simple as a tuple of a URI or a file path, and a last-modified
date, or an ETag (in case of HTTP). It is left to the implementation. It is
also allowed to carry expiration information (i.e. in case of HTTP
expiration header, or if a default expiration is used by the source provider
to avoid too frequent lookup of the resource), and to short-circuit the
validation in case the validator indicates the cached representation has not
yet expired. All these are plainly recommendations; the validators are
considered opaque and should only make sure to implement
Object.equals(Object)
as caches themselves can rely on it to compare
them semantically. Also, it is advisable to have them be serializable.Constructor and Description |
---|
ModuleSource(java.io.Reader reader,
java.lang.Object securityDomain,
java.net.URI uri,
java.net.URI base,
java.lang.Object validator)
Creates a new module source.
|
Modifier and Type | Method and Description |
---|---|
java.net.URI |
getBase()
Returns the base URI from which this module source was loaded, or null
if it was loaded from an absolute URI.
|
java.io.Reader |
getReader()
Returns the reader returning the source text of the module.
|
java.lang.Object |
getSecurityDomain()
Returns the object representing the security domain for the module's
source.
|
java.net.URI |
getUri()
Returns the URI of the module source text.
|
java.lang.Object |
getValidator()
Returns the validator that can be used for subsequent cache validation
of the source text.
|
public ModuleSource(java.io.Reader reader, java.lang.Object securityDomain, java.net.URI uri, java.net.URI base, java.lang.Object validator)
reader
- the reader returning the source text of the module.securityDomain
- the object representing the security domain for
the module's source (passed to Rhino script compiler).uri
- the URI of the module's source textvalidator
- a validator that can be used for subsequent cache
validation of the source text.public java.io.Reader getReader()
public java.lang.Object getSecurityDomain()
public java.net.URI getUri()
public java.net.URI getBase()
public java.lang.Object getValidator()