org.mozilla.javascript.commonjs.module.ModuleScript Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rhino Show documentation
Show all versions of rhino Show documentation
Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically
embedded into Java applications to provide scripting to end users.
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.javascript.commonjs.module;
import java.io.Serializable;
import java.net.URI;
import org.mozilla.javascript.Script;
/**
* Represents a compiled CommonJS module script. The {@link Require} functions
* use them and obtain them through a {@link ModuleScriptProvider}. Instances
* are immutable.
* @author Attila Szegedi
* @version $Id: ModuleScript.java,v 1.3 2011/04/07 20:26:11 hannes%helma.at Exp $
*/
public class ModuleScript implements Serializable {
private static final long serialVersionUID = 1L;
private final Script script;
private final URI uri;
private final URI base;
/**
* Creates a new CommonJS module.
* @param script the script representing the code of the module.
* @param uri the URI of the module.
* @param base the base URI, or null.
*/
public ModuleScript(Script script, URI uri, URI base) {
this.script = script;
this.uri = uri;
this.base = base;
}
/**
* Returns the script object representing the code of the module.
* @return the script object representing the code of the module.
*/
public Script getScript(){
return script;
}
/**
* Returns the URI of the module.
* @return the URI of the module.
*/
public URI getUri() {
return uri;
}
/**
* Returns the base URI from which this module source was loaded, or null
* if it was loaded from an absolute URI.
* @return the base URI, or null.
*/
public URI getBase() {
return base;
}
/**
* Returns true if this script has a base URI and has a source URI that
* is contained within that base URI.
* @return true if this script is contained within its sandbox base URI.
*/
public boolean isSandboxed() {
return base != null
&& uri != null
&& !base.relativize(uri).isAbsolute();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy