- java.lang.Object
-
- org.openjdk.nashorn.api.scripting.ScriptUtils
-
public final class ScriptUtils extends java.lang.Object
Utilities 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.Object
convert(java.lang.Object obj, java.lang.Object type)
Convert the given object to the given type.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).static java.lang.Object
makeSynchronizedFunction(java.lang.Object func, java.lang.Object sync)
Create a wrapper function that callsfunc
synchronized onsync
or, if that is undefined,self
.static java.lang.String
parse(java.lang.String code, java.lang.String name, boolean includeLoc)
Returns AST as JSON compatible string.static java.lang.Object
unwrap(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 ScriptObjectMirror
wrap(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 callsfunc
synchronized onsync
or, 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
-
-