Files
odfstudio/scripting
Neil Roberts 58efdfd898 Related tdf#168623 Fix renaming empty Java/BeanShell libraries
The base script provider in Java for several languages was throwing an
exception when trying to rename an empty library. The browsenodes member
variable was being lazily created when getChildNodes was called but in
the case where there were no children it was being left as null which
was causing a Java runtime exception.

Change-Id: I0d9eac2006bc26d47c22f2e1a7a4424fd67a512f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207152
Tested-by: Jenkins
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
2026-06-23 08:16:16 +02:00
..
2026-06-10 22:28:40 +02:00
…
…

Scripting Framework

This module provides the source code for the Scripting Framework.

For more information on the Scripting Framework, see the project web page: https://framework.openoffice.org/scripting/

This module uses astyle to keep consistent java coding style. Please run

./Format_java_code.sh

before committing.

Source Code Structure

The following directories contain the source code currently used by the Scripting Framework:

  • source/provider

C++ source for the implementations of the com.sun.star.script.provider.* and com.sun.star.script.browse.* UNO types. These types are used for browsing and executing scripts.

  • source/protocolhandler

C++ for a ProtocolHandler implementation that handles vnd.sun.star.script URIs and dispatches them for execution to the Scripting Framework.

  • source/singleprov

A base helper class for C++ implementations of LanguageScriptProviders that store a single macro in a source file.

  • source/basprov

C++ implementation of the LanguageScriptProvider UNO service for Basic

  • source/dlgprov

C++ implementation of the DialogProvider UNO service used for loading UNO dialogs from various languages

  • source/jsprov

C++ implementation of the LanguageScriptProvider UNO service for JavaScript using QuickJS.

  • source/pyprov

LanguageScriptProvider for Python

  • java/com/sun/star/script/framework/provider

Implementation of an abstract base class ScriptProvider which provides core methods for implementing Java based LanguageScriptProvider implementations

  • java/com/sun/star/script/framework/provider/*

BeanShell, JavaScript and Java LanguageScriptProvider implementations

  • java/com/sun/star/script/framework/browse/*

BrowseNode implementations for the Java based LanguageScriptProviders

  • java/com/sun/star/script/framework/io
  • java/com/sun/star/script/framework/container

Classes for performing script IO

  • examples

Example scripts in BeanShell, JavaScript, Java and Python

Deprecated Code

  • java/org/openoffice/*

Support for developing scripts in IDEs such as NetBeans.