UNOIDL 类型定义的映射

From Apache OpenOffice Wiki
Jump to: navigation, search




UNOIDL 类型定义在 Java 语言绑定中不可见。从 UNOIDL 映射到 Java 时,出现的每个类型定义都用别名类型替换。


单个的 UNOIDL 常数的映射

单个的 UNOIDL 常数

 module example { 
     const long USERFLAG = 1;
 };

被映射成同名的公共 Java 接口:

 package example;
 
 public interface USERFLAG {
     int value = 1;
 }

请注意,现在反对单个的常数的使用。


UNOIDL 常数组的映射

UNOIDL 常数组

 module example { 
     constants User {
         const long FLAG1 = 1;
         const long FLAG2 = 2;
         const long FLAG3 = 3;
     };
 };

被映射成同名的公共 Java 接口:

 package example;
 
 public interface User {
     int FLAG1 = 1;
     int FLAG2 = 2;
     int FLAG3 = 3;
 }


该组中定义的每个常数都被映射成相同同名称、对应类型和值的接口字段。


UNOIDL 模块的映射

UNOIDL 模块被映射成同名的 Java 软件包。实际上,每个名为 UNO 和 UNOIDL 的实体都被映射成同名的 Java 类。(UNOIDL 将 “::” 用在 “com::sun::star::uno” 中来分隔名称内的单独标识符,而 UNO 本身和 Java 则将 “.” 用在 “com.sun.star.uno” 中;因此,必须先以明显的方法转换 UNOIDL 实体的名称,然后才能在 Java 中用作名称。)未包括在任何模块中的 UNO 和 UNOIDL 实体(即其名称分别不包含任何 “.” 或 “::”)在未命名软件包中被映射成 Java 类。


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages