Mapping of UNOIDL
Mapping of UNOIDL Typedefs
UNOIDL typedefs are not visible in the Java language binding. Each occurrence of a typedef is replaced with the aliased type when mapping from UNOIDL to Java.
Mapping of Individual UNOIDL Constants
An individual UNOIDL constant
module example { const long USERFLAG = 1; };
is mapped to a public Java interface with the same name:
package example; public interface USERFLAG { int value = 1; }
Note that the use of individual constants is deprecated.
Mapping of UNOIDL Constant Groups
A UNOIDL constant group
module example { constants User { const long FLAG1 = 1; const long FLAG2 = 2; const long FLAG3 = 3; }; };
is mapped to a public Java interface with the same name:
package example; public interface User { int FLAG1 = 1; int FLAG2 = 2; int FLAG3 = 3; }
Each constant defined in the group is mapped to a field of the interface with the same name and corresponding type and value.
Mapping of UNOIDL Modules
A UNOIDL module is mapped to a Java package with the same name. This follows from the fact that each named UNO and UNOIDL entity is mapped to a Java class with the same name. (UNOIDL uses “::
” to separate the individual identifiers within a name, as in “com::sun::star::uno
”, whereas UNO itself and Java both use “.
”, as in “com.sun.star.uno
”; therefore, the name of a UNOIDL entity has to be converted in the obvious way before it can be used as a name in Java.) UNO and UNOIDL entities not enclosed in any module (that is, whose names do not contain any “.
” or “::
”, respectively), are mapped to Java classes in an unnamed package.
Content on this page is licensed under the Public Documentation License (PDL). |