Class JavaScriptProvider

    • Constructor Detail

      • JavaScriptProvider

        public JavaScriptProvider()
    • Method Detail

      • getExtension

        public java.lang.String getExtension()
        Description copied from class: GhidraScriptProvider
        Returns the file extension for this type of script. For example, ".java" or ".py".
        Specified by:
        getExtension in class GhidraScriptProvider
        Returns:
        the file extension for this type of script
      • deleteScript

        public boolean deleteScript​(ResourceFile scriptSource)
        Description copied from class: GhidraScriptProvider
        Deletes the script file and unloads the script from the script manager.
        Overrides:
        deleteScript in class GhidraScriptProvider
        Parameters:
        scriptSource - the script source file
        Returns:
        true if the script was completely deleted and cleaned up
      • getScriptInstance

        public GhidraScript getScriptInstance​(ResourceFile sourceFile,
                                              java.io.PrintWriter writer)
                                       throws java.lang.ClassNotFoundException,
                                              java.lang.InstantiationException,
                                              java.lang.IllegalAccessException
        Description copied from class: GhidraScriptProvider
        Returns a GhidraScript instance for the specified source file.
        Specified by:
        getScriptInstance in class GhidraScriptProvider
        Parameters:
        sourceFile - the source file
        writer - the print writer to write warning/error messages
        Returns:
        a GhidraScript instance for the specified source file
        Throws:
        java.lang.ClassNotFoundException
        java.lang.InstantiationException
        java.lang.IllegalAccessException
      • getClassFile

        protected java.io.File getClassFile​(ResourceFile sourceFile,
                                            java.lang.String className)
        Gets the class file corresponding to the given source file and class name. If the class is in a package, the class name should include the full package name.
        Parameters:
        sourceFile - The class's source file.
        className - The class's name (including package if applicable).
        Returns:
        The class file corresponding to the given source file and class name.
      • needsCompile

        protected boolean needsCompile​(ResourceFile sourceFile,
                                       java.io.File classFile)
      • scriptCompiledExternally

        protected boolean scriptCompiledExternally​(java.io.File classFile)
      • compile

        protected boolean compile​(ResourceFile sourceFile,
                                  java.io.PrintWriter writer)
                           throws java.lang.ClassNotFoundException
        Throws:
        java.lang.ClassNotFoundException
      • createNewScript

        public void createNewScript​(ResourceFile newScript,
                                    java.lang.String category)
                             throws java.io.IOException
        Description copied from class: GhidraScriptProvider
        Creates a new script using the specified file.
        Specified by:
        createNewScript in class GhidraScriptProvider
        Parameters:
        newScript - the new script file
        category - the script category
        Throws:
        java.io.IOException - if an error occurs writing the file