Avoid potential negative array index access to cached text.
[LibreOffice.git] / scripting / README.md
blob0560a73b978626b12fb3f5d19b509c8f459d0350
1 # Scripting Framework
3 This module provides the source code for the Scripting Framework.
5 For more information on the Scripting Framework, see the project web page:
6 <https://framework.openoffice.org/scripting/>
8 This module uses astyle to keep consistent java coding style. Please run
10     ./Format_java_code.sh
12 before committing.
14 ## Source Code Structure
16 The following directories contain the source code currently used
17 by the Scripting Framework:
19 - `source/provider`
21 C++ source for the implementations of the `com.sun.star.script.provider.*`
22 and `com.sun.star.script.browse.*` UNO types. These types are used for
23 browsing and executing scripts.
25 - `source/protocolhandler`
27 C++ for a `ProtocolHandler` implementation that handles `vnd.sun.star.script`
28 URIs and dispatches them for execution to the Scripting Framework.
30 - `source/basprov`
32 C++ implementation of the `LanguageScriptProvider` UNO service for Basic
34 - `source/dlgprov`
36 C++ implementation of the `DialogProvider` UNO service used for loading
37 UNO dialogs from various languages
39 - `source/pyprov`
41 `LanguageScriptProvider` for Python
43 - `java/com/sun/star/script/framework/provider`
45 Implementation of an abstract base class ScriptProvider which provides
46 core methods for implementing Java based `LanguageScriptProvider` implementations
48 - `java/com/sun/star/script/framework/provider/*`
50 `BeanShell`, JavaScript and Java `LanguageScriptProvider` implementations
52 - `java/com/sun/star/script/framework/browse/*`
54 `BrowseNode` implementations for the Java based `LanguageScriptProviders`
56 - `java/com/sun/star/script/framework/io`
57 - `java/com/sun/star/script/framework/container`
59 Classes for performing script IO
61 - `examples`
63 Example scripts in BeanShell, JavaScript, Java and Python
66 ## Deprecated Code
68 - `java/org/openoffice/*`
70 Support for developing scripts in IDEs such as NetBeans.