Class ScriptUtils

java.lang.Object
org.openjdk.nashorn.api.scripting.ScriptUtils

public final class ScriptUtils extends Object
Utilities that are to be called from script code.
Since:
1.8u40
  • Method Details

    • parse

      public static String parse(String code, 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 parsed
      name - 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 String format(String format, Object[] args)
      Method which converts javascript types to java types for the String.format method (jrunscript function sprintf).
      Parameters:
      format - a format string
      args - arguments referenced by the format specifiers in format
      Returns:
      a formatted string
    • makeSynchronizedFunction

      public static Object makeSynchronizedFunction(Object func, Object sync)
      Create a wrapper function that calls func synchronized on sync or, if that is undefined, self. Used to implement "sync" function in resources/mozilla_compat.js.
      Parameters:
      func - the function to wrap
      sync - the object to synchronize on
      Returns:
      a synchronizing wrapper function
      Throws:
      IllegalArgumentException - if func does not represent a script function
    • wrap

      public static ScriptObjectMirror wrap(Object obj)
      Make a script object mirror on given object if needed.
      Parameters:
      obj - object to be wrapped
      Returns:
      wrapped object
      Throws:
      IllegalArgumentException - if obj cannot be wrapped
    • unwrap

      public static Object unwrap(Object obj)
      Unwrap a script object mirror if needed.
      Parameters:
      obj - object to be unwrapped
      Returns:
      unwrapped object
    • wrapArray

      public static Object[] wrapArray(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 Object[] unwrapArray(Object[] args)
      Unwrap an array of script object mirrors if needed.
      Parameters:
      args - array to be unwrapped
      Returns:
      unwrapped array
    • convert

      public static Object convert(Object obj, Object type)
      Convert the given object to the given type.
      Parameters:
      obj - object to be converted
      type - 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