IBM ODM 在创建 BOM 到 XOM 映射时导入动态域 class

IBM ODM Import dynamic domain class when creating BOM to XOM mapping

我有一个动态域class,它是使用na Excel 文件创建的,以下每个值returns 都是一个字符串。值“MANUAL”具有标签“Manual”。 class SegmentationResultodm.dynamic 包中,显示如下:

现在我在 class odm.Response 中定义了一个虚方法 isValuedRight 并且我需要使用这些BOM 中的值到 XOM 的映射如下:

问题是我无法import/use这些值。我也尝试像这样使用这些值:

return vysledekSegmentace != odm.dynamic.SegmentationResult.MANUAL

问题是 BOM 到 XOM 的映射是 XOM 之上的一个 层,这意味着它不能使用虚拟 类 和方法。

动态域 classes 和值等虚拟 BOM 成员在其他虚拟 BOM 成员的 B2X 代码中不可见。这可能是使用动态域的最大缺点,动态域在其他方面非常有用。

但是,虚拟 BOM 成员在 BOM 功能 中可用。 BOM 函数 可以 从 B2X 调用。因此,您可能能够间接获得所需的行为。 BOM 函数不是面向对象的,它们的使用不是很广泛,我通常会避免使用它们,但是它们在某些情况下很有用。

另一种选择是在 XOM 中定义一个 Java 枚举并使用 'extender' class 来扩充 BOM class 并提供底层字符串属性之间的转换和强类型枚举属性。不像使用动态域那么容易,但定义的值在整个 BOM 和 XOM 中都可用。