通过在成员上设置域,使 BOM 更具体。 域可以为静态、动态、枚举或复杂。

域对 BOM 中的类型元素施加限制。 您可以对类、属性类型、方法返回类型和自变量设置域。

主要领域包括:

注:

并非所有类型的 BOM 域都在 BAL 规则或其他业务规则中实施。 业务规则仅使用枚举域 (字面值,静态引用或动态)。 执行语义检查以检查业务规则是否未使用其域外的值, Intellirule 编辑器会建议枚举域中的值。 但是,在业务规则级别执行的语义检查是原语的,不会检测到涉及除 isis not以外的运算符的不正确使用的复杂模式。 其他类型的域 (例如有界域) 不会在业务规则级别强制实施。

使用业务规则时,可以使用域:

  • 编辑业务规则: Intellirule 编辑器中的代码完成使用枚举域来建议有效设置。

  • 检查业务规则: 使用枚举域来报告错误和警告,这些错误和警告可帮助您验证指定的值。

  • 分析规则: 使用 BOM 中的所有域类型来检查业务规则语义的一致性。

如果 XOM 具有一组输入到声明类的 publicstaticfinal 属性,那么会自动将这些属性视为 BOM 中类的静态引用的枚举。

如果 XOM 具有数组类型的成员,那么会自动将其视为 BOM 中类的集合。

有界限

有界域指定两个边界值 (例如 [0, 120]) 之间的区间。

在设计器 BOM 编辑器中,在整数属性上定义有界域时,可以将 * (星号) 字符指定为域的下限或上限。 当您指定 *时,绑定值将在相应的 .bom 文件中替换为-2147483648对于下限,或2147483647用于上界。 这些值分别对应于 Integer.MIN_VALUEInteger.MAX_VALUE

注:

未在业务规则级别强制实施有界域。 您可以在数字基本类型上创建有界域。

集合

集合域指定集合元素的基数和类型,例如 0,* class Customer

如果您具有类型为 java.util.Collection的成员,请在这些成员上设置集合域,以便将其自动视为业务规则中的集合。 您还可以使用 BOM 编辑器为集合域中的项创建,添加和除去方法。

有关集合的更多信息,请参阅 集合

注:

您可以在集合或数组上创建集合域。

动态

您可以从数据源动态填充 BOM 中的域,然后同步数据源和域。

动态域是具有 Excel 文件中的值的枚举域。

注:

只能在 BOM 类编辑器中的类上创建动态域,而不能在集合子类上创建动态域。

字面值

设置为字面值枚举的域指定值的列表,例如 {1, 2, 3}

注:

可以在基本类型或字符串上创建字面值域。

静态引用

设置为静态引用枚举的域指定了对常量的引用列表,例如, {static GroupA, static GroupB, static GroupC}

您可以按如下所示定义属性类型和方法返回类型和参数:

  • 如果您具有类型 A 的属性,那么可以使用类 A (经典 Java™ 枚举模式) 的静态属性来定义该属性上的静态引用域。

  • 如果您具有基本类型的属性,那么可以在该属性上定义字面值域。

注:

可以在类上创建静态引用域,但不能在集合子类上创建静态引用域。

其他

引入了 "其他" 域类型以支持来自 XML 绑定的大多数域。 在 XML 模式中,可以定义模式域 (即使是数字) 并同时定义枚举。 您还可以在业务对象模型中定义模式域或域的交集。

您可以使用正则表达式的语法来定义其他类型的域。 例如,您可以按如下所示为字符串定义模式:


"a*n"

您可以按如下所示定义域的交集:


({1, 3, 5, 7, 9}, [0,6])
注:

未在业务规则级别实施其他域。 您可以使用以下语法在数组上设置此类型的域: "({ (String)"a", (String)"b"})"。