枚举类型的映射
From Apache OpenOffice Wiki
UNO 枚举类型被映射为同名的公共最终 Java 类,它从 com.sun.star.uno.Enum
类派生而来。只有对生成的最终类的非空引用才是有效的。
此基类
com.sun.star.uno.Enum
声明存储实际值的保护成员、初始化值的保护构造函数以及获取实际值的公共 getValue()
方法。生成的最终类拥有一个保护构造函数以及一个公共方法 getDefault()
,后者返回一个实例,此实例以第一个枚举成员的值为默认值。对于 UNO 枚举类型的各成员,对应的 Java 类声明给定 Java 类型的一个公共静态成员,该类型用 UNO 枚举成员的值进行初始化。枚举类型的 Java 类有一个附加的公共方法 fromInt()
,此方法返回包含指定值的实例。以下 IDL 定义用于 com.sun.star.uno.TypeClass:
module com { module sun { module star { module uno { enum TypeClass { INTERFACE, SERVICE, IMPLEMENTATION, STRUCT, TYPEDEF, ... }; }; }; }; };
被映射成:
package com.sun.star.uno; public final class TypeClass extends com.sun.star.uno.Enum { private TypeClass(int value) { super(value); } public static TypeClass getDefault() { return INTERFACE; } public static final TypeClass INTERFACE = new TypeClass(0); public static final TypeClass SERVICE = new TypeClass(1); public static final TypeClass IMPLEMENTATION = new TypeClass(2); public static final TypeClass STRUCT = new TypeClass(3); public static final TypeClass TYPEDEF = new TypeClass(4); ... public static TypeClass fromInt(int value) { switch (value) { case 0: return INTERFACE; case 1: return SERVICE; case 2: return IMPLEMENTATION; case 3: return STRUCT; case 4: return TYPEDEF; ... } } }
Content on this page is licensed under the Public Documentation License (PDL). |