枚举类型的映射
From Apache OpenOffice Wiki
< Zh | Documentation
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). |