- java.lang.Object
-
- org.openjdk.nashorn.api.scripting.ScriptUtils
-
public final class ScriptUtils extends java.lang.ObjectUtilities that are to be called from script code.- Since:
- 1.8u40
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Objectconvert(java.lang.Object obj, java.lang.Object type)Convert the given object to the given type.static java.lang.Stringformat(java.lang.String format, java.lang.Object[] args)Method which converts javascript types to java types for the String.format method (jrunscript function sprintf).static java.lang.ObjectmakeSynchronizedFunction(java.lang.Object func, java.lang.Object sync)Create a wrapper function that callsfuncsynchronized onsyncor, if that is undefined,self.static java.lang.Stringparse(java.lang.String code, java.lang.String name, boolean includeLoc)Returns AST as JSON compatible string.static java.lang.Objectunwrap(java.lang.Object obj)Unwrap a script object mirror if needed.static java.lang.Object[]unwrapArray(java.lang.Object[] args)Unwrap an array of script object mirrors if needed.static ScriptObjectMirrorwrap(java.lang.Object obj)Make a script object mirror on given object if needed.static java.lang.Object[]wrapArray(java.lang.Object[] args)Wrap an array of object to script object mirrors if needed.
-
-
-
Method Detail
-
parse
public static java.lang.String parse(java.lang.String code, java.lang.String name, boolean includeLoc)Returns AST as JSON compatible string. This is used to implement "parse" function in resources/parse.js script.- Parameters:
code- code to be parsedname- name of the code source (used for location)includeLoc- tells whether to include location information for nodes or not- Returns:
- JSON string representation of AST of the supplied code
-
format
public static java.lang.String format(java.lang.String format, java.lang.Object[] args)Method which converts javascript types to java types for the String.format method (jrunscript function sprintf).- Parameters:
format- a format stringargs- arguments referenced by the format specifiers in format- Returns:
- a formatted string
-
makeSynchronizedFunction
public static java.lang.Object makeSynchronizedFunction(java.lang.Object func, java.lang.Object sync)Create a wrapper function that callsfuncsynchronized onsyncor, if that is undefined,self. Used to implement "sync" function in resources/mozilla_compat.js.- Parameters:
func- the function to wrapsync- the object to synchronize on- Returns:
- a synchronizing wrapper function
- Throws:
java.lang.IllegalArgumentException- if func does not represent a script function
-
wrap
public static ScriptObjectMirror wrap(java.lang.Object obj)
Make a script object mirror on given object if needed.- Parameters:
obj- object to be wrapped- Returns:
- wrapped object
- Throws:
java.lang.IllegalArgumentException- if obj cannot be wrapped
-
unwrap
public static java.lang.Object unwrap(java.lang.Object obj)
Unwrap a script object mirror if needed.- Parameters:
obj- object to be unwrapped- Returns:
- unwrapped object
-
wrapArray
public static java.lang.Object[] wrapArray(java.lang.Object[] args)
Wrap an array of object to script object mirrors if needed.- Parameters:
args- array to be unwrapped- Returns:
- wrapped array
-
unwrapArray
public static java.lang.Object[] unwrapArray(java.lang.Object[] args)
Unwrap an array of script object mirrors if needed.- Parameters:
args- array to be unwrapped- Returns:
- unwrapped array
-
convert
public static java.lang.Object convert(java.lang.Object obj, java.lang.Object type)Convert the given object to the given type.- Parameters:
obj- object to be convertedtype- destination type to convert to. type is either a Class or nashorn representation of a Java type returned by Java.type() call in script.- Returns:
- converted object
-
-