The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.14

Java in UNO and OpenOffice

Java is the famous and easy to learn computer language developed by sun. Because OpenOffice is based on the language independent component model UNO, components can be written in any language for which exists a so called language binding. Fortunately there is such a language binding for java.

It follows a short list of what is important for the java developer, who wants to write components for UNO or OpenOffice:

People who have made the first steps may want to know how all this is possible and how and in which projects the connection between UNO and java is implemented, so please have a look at the following table, which gives an overview of the involved projects:

Modules involved with java UNO
Module Function
codemaker/javamaker the tool, which generates java interface descriptions out of the type library
jut - Java Uno Tools tools for java uno components (RegComp / UnoApp / DumpType)
juh - Java Uno Helper allowes the boostrapping of a servicemanager and gives access to the native component loader
jurt - Java Uno RunTime the core of java UNO
sandbox an execution environment for remote loadable classes
ridl - Java Runtime Interface Definition Library the typelibrary and the precompiled java interfaces of the udkapi
bridges/source/java_uno the native java uno bridge, so the java components can be accessed from binary UNO
stoc/source/javaloader the java component loader to load java components
stoc/source/javavm the java vm service, which gives access to a native java vm
unoil - UNO interface library the precompiled java interfaces of the OO api

Further interesting is how the mapping of objects between UNO and JAVA and vice versa works. Especially the lifecycle may be of interest. Also we have a little FAQ about java UNO. This convention document gives some hints to find your way through the source.

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.