“选项集”类
BasicESIRenderer
这是用于实现接口 ESIRenderer 的抽象类,由 ESI 服务提供的选项集和相关呈现器类进行扩展。有关 BasicESIRenderer 的详细信息,请参阅
类。
OptionSetRenderer
它属于包 com.ptc.windchill.esi.ov,并且可由自定义者进行扩展。该类在下列情况下会进行实例化:(i) 在以对象为中心的模式下通过设置选项集的生命周期状态或通过 Send To Distribution Target 选项来发布选项集 (ii) 发布包含选项集作为生成对象的变更通告 (iii) 发布包含选项集作为可升级对象的升级请求,或者 (iv) 发布具有已分配选项集 (直接通过其上下文) 以及设置了特定分布目标属性的业务对象 (例如,部件)。如果在变更通告中添加局部选择规则并且存在与之关联的有效 OptionSet,也会实例化此类。因此,除上述情况外,当通过变更进程变更局部选择规则时,将发布选项集。
有关此类中可用属性和方法的详细信息,请参阅 Windchill 版本特定的 Java 文档。
| 1. 除了选项集本身外,呈现器还具有处理某些关联 (即选项集选项链接、选项集成员链接和选项集选择规则链接) 的方法。 2. 在将 Windchill ESI 首选项 Enforce Distribution Target 设置为 Yes 时,如果选项集作为独立对象发布且没有与之关联的分布目标,则呈现器将中止事务处理。standalone object 是指在以对象为中心的模式下发布选项集,或者与变更通告或升级请求关联的选项集。这对应于属性 context 为空的情况。 3. 如果将分布目标属性“在发布对象时,发布关联选项集”设置为 Yes,则 ESI 服务将在发布业务对象 (如可配置部件) 时处理分配的选项集 (如果存在)。但是,为了使 ESI 服务能够处理分配给不可配置部件的选项集,除先前所述的属性外,还应该将分布目标属性“在发布不可配置对象时,发布关联选项集”设置为 Yes。 4. 如果将分布目标属性“仅发布已修改选项集的增量变更”设置为 Yes,则发布已修改选项集时,会导致仅通过 ESI 响应发送选项集的增量变更 (因为它是最后成功发布的选项集)。但是,如果将该属性设置为 No,则已修改选项集及其所有相关对象 (选择、选项、选择规则和相关关联) 都会作为 ESI 响应中添加的对象发送。 5. 在发布选项集时,其相关选择、选项、选择规则和相关关联也会一并发布。为此,选项集呈现器会利用 OptionRenderer 和 ChoiceRuleRenderer。 6. Windchill ESI Services 会分别使用 AssignedOptionSetLinkRenderer 和 ExpressionRenderer 等其他几个呈现器来处理已分配选项集 (及其关联) 和表达式呈现。 |
OptionRenderer
它属于包 com.ptc.windchill.esi.ov,并且可由自定义者进行扩展。该类通过 OptionSetRenderer 类的 buildGroups() API 进行实例化,用于处理 (i) 与选项集关联的选择所属的选项以及 (ii) 这些选项中的所有选择。在设置呈现特定属性的表达式后,当针对部件结构呈现表达式时,该类也会实例化。因此,在上述情况下,该类将在 ESI 响应中呈现选项和选项选择。
有关此类中可用属性和方法的详细信息,请参阅 Windchill 版本特定的 Java 文档。
| 1. 尽管实际上只有一部分选择可能与要发布的选项集关联,但呈现器会处理属于选项的所有选择。 2. 对于与要发布的选项集关联的每个选择,ESI 响应中都会有一个 <Class_structure_relationship> 元素。 3. 将分布目标属性“仅发布已修改选项集的增量变更”设置为 Yes 后,仅当首次发布选项和选择时,才会将其作为已添加对象进行发送;如果选项和选择自上次发布后已发生变更,则将其作为已变更对象进行处理,否则将其作为未变更对象进行处理。但是,将上述属性设置为 No 时,选项和选择始终会作为已添加对象发送。 4. 尽管呈现器旨在满足独立选项及其选择的需求,但目前不支持发布此类选项。 |
ChoiceRuleRenderer
它属于包 com.ptc.windchill.esi.ov,并且可由自定义者进行扩展。该类通过 OptionSetRenderer 类的 buildGroups() API 进行实例化,用于处理与要发布的选择关联的规则以及相关关联的规则。
有关类中可用属性和方法的详细信息,请参阅 Windchill 版本特定的 Java 文档。
| 1. 呈现器仅处理以下类型的选择规则 - Include、Enable 和 Exclude。将处理全局规则和局部规则。 2. 除了规则本身外,呈现器还具有用于处理某些关联 (即规则成员链接和规则成员操作链接) 的方法。 3. 将分布目标属性“仅发布已修改选项集的增量变更”设置为 Yes 后,仅当首次发布选择规则时,才会将其作为已添加对象进行发送;如果选择规则自上次发布后已发生变更,则将其作为已变更对象进行处理,否则将其作为未变更对象进行处理。但是,将上述属性设置为 No 时,选择规则会始终作为已添加对象发送。 4. 与“仅发布已修改选项集的增量变更”分布目标属性设置为 Yes 类似,选项集选择规则链接、规则成员链接和规则成员操作链接将作为已添加、已删除、已变更或未变更关联进行发送,具体取决于先前发布的历史记录和对象比较框架的输出。但是,将上述属性设置为 No 时,上述链接会始终作为已添加关联发送。 |
AssignedOptionSetLinkRenderer
它属于包 com.ptc.windchill.esi.ov,并且可由自定义者进行扩展。该类通过以下每个呈现器进行实例化,用于处理给定业务对象 (或其上下文) 和选项集之间的关联 - ESIBOMRenderer、ESIBOMHeaderRenderer。但是,这样做的前提是设置了特定的分布目标属性。
有关此类中可用属性和方法的详细信息,请参阅 Windchill 版本特定的 Java 文档。
| 1. 要在发布可配置部件时处理已分配选项集,分布目标属性“在发布对象时,发布关联选项集”的值必须为 Yes。但是,发布不可配置部件时,除了上述设置外,分布目标属性 "Publish the Associated Option Set when Publishing a Non- configurable Object" 的值还必须为 Yes。 2. 首次发布业务对象及其已分配选项集时,会在数据库中创建名为 OptionSetAssignmentHistory (链接业务对象与选项集) 的关联;但是,如果在发布该对象时存在业务对象的先前已发布小版本,则会相应地计算和处理差异信息 (根据已添加/已删除选项集分配历史记录)。 3. 如果呈现器确定尚未处理已分配选项集,则会创建一个 OptionSetRenderer 实例并在其上调用 getOptionSet() API 来处理选项集及其相关对象和关联。 |
ExpressionRenderer
它属于包 com.ptc.windchill.esi.ov,并且可由自定义者进行扩展。该类通过以下每个呈现器进行实例化,用于呈现表达式 - ESIBOMRenderer、ESIBOMComponentRenderer 和 ESIReferenceDesignatorRendererer。但是,这样做的前提是设置了“在发布对象时,发布已分配的表达式”分布目标属性。如果将“在发布对象时,发布已分配的表达式”设置为“是”,并且将“在发布对象时,发布关联选项集”或“在发布不可配置对象时,发布关联选项集”设置为“否”,则此呈现器将呈现未发布的选项和选择。此呈现器可呈现在 ESIResponse 中呈现的表达式对象 (WTPart、WTPartUsageLink 和 ReferenceDesignators 等) 上定义的基本、高级从属和独立表达式。
有关此类中可用属性和方法的详细信息,请参阅 Windchill 版本特定的 Java 文档。
| 此呈现器始终仅将表达式呈现为已添加表达式,即当前存在于 ESI 响应中的对象上的表达式。分布目标属性“仅发布已修改选项集的增量变更”不会影响此呈现器的处理。 |
表达式呈现器使用委派机制在 ESIResponse 中所呈现的表达式中呈现表达式表示。
ExpressionRendererDelegateIfc
它属于包 com.ptc.windhill.esi.ov,但不可由自定义者进行扩展。该接口通过 API 来验证表达式并提供表达式的表示。
有关此类中可用属性和方法的详细信息,请参阅 Windchill 版本特定的 Java 文档。
DefaultExpressionRendererDelegate
它属于包 com.ptc.windhill.esi.ov,但不可由自定义者进行扩展。ExpressionRendererDelegateIfc 的默认实施。实施使用 ExpressionHelper API 呈现表达式。该类可由自定义者进行扩展,以便根据需要修改表达式的呈现,以及在呈现过程中添加或修改表达式验证。
▪ 类会在可分配表达式的项上针对表达式中所用别名或自定义 Java 函数的具体值验证表达式并通知呈现器
▪ 返回表达式的表示
▪ 当设置可选 wt.property "com.ptc.windchill.esi.AllowPublishingWithoutAlias" 时,允许通过忽略别名继续发布,否则中止发布
▪ 当设置可选 wt.property "com.ptc.windchill.esi.AllowPublishingWithoutJavaFunction" 时,允许通过忽略 Java 函数继续发布,否则中止发布
有关此类中可用属性和方法的详细信息,请参阅 Windchill 版本特定的 Java 文档。
OptionsVariantsHelper
它属于包 com.ptc.windhill.esi.ov,但不可由自定义者进行扩展。该类提供某些 helper 方法,用于提取与选项集关联的数据、计算两个给定选项集之间的差异信息以及缓存已提取信息以用于后续检索。
有关此类中可用属性和方法的详细信息,请参阅 Windchill 版本特定的 Java 文档。
ESIOVDifferenceManagementDelegate
它是一个公共接口,属于 com.ptc.windhill.esi.ov 包,可由自定义者进行扩展。该接口提供某些 helper 方法,用于提取与选项集关联的数据、计算两个给定选项集之间的差异信息以及缓存已提取信息以用于后续检索。有关此类中可用属性和方法的详细信息,请参阅 Windchill 版本特定的 Java 文档。
ESIOVDifferenceManagementDelegateImpl
这是 ESIOVDifferenceManagementDelegate 的默认实施,它属于 com.ptc.windhill.esi.ov 包,可由自定义者进行扩展。该类提供某些 helper 方法,用于提取与选项集关联的数据、计算两个给定选项集之间的差异信息以及缓存已提取信息以用于后续检索。有关类中可用属性和方法的详细信息,请参阅 Windchill 版本特定的 Java 文档。