选项集分配委派框架
选项集分配委派框架提供了源自一系列类的方法。可通过扩展这些类并实现方法来根据需要进行自定义。此委派将返回要使用的选项集。选项集经特定版本的选项集委派覆盖后,它会将选项集的覆盖版本返回到 Windchill 系统。
以下是用于自定义此框架的一些重要类。
RegisteredOptionSetLink
OptionSetOptionSetAssignable 对象相关联的预设关联类。默认情况下,此选项集将被分配给 OptionSetAssignable 对象。
AbstractOptionSetFetcherDelegate
这是一个抽象委派类,定义该类旨在为 UI 和处理提供自定义功能。它具有可用于实现自定义逻辑的下列方法:
getAssignedOptionSet:这是一种抽象方法,可实现此方法来确定指定对象的选项集。
isAssignOptionSetAllowed:此方法用于指定自定义逻辑是否需要在用户界面中将选项集分配给对象的功能。如果允许此方法,则可以使用 UI 创建与对象之间的 RegisteredOptionSetLink 关联。
RegisteredOptionSetFetcherDelegate
用于为选项集可分配对象确定选项集的默认委派。此委派实现由 AbstractOptionSetFetcherDelegate 定义的 getAssignedOptionSet。在确定选项集时,此委派使用 RegisteredOptionSetLink 关联为对象查找已分配的选项集。如果未找到对象的选项集且该对象已包含,则该对象将检查其容器层次结构中是否存在选项集。它仅考虑属于 OptionSetAssignable 实例的对象的容器。
委派框架类
com.ptc.windchill.option.delegate.AbstractOptionSetFetcherDelegate
com.ptc.windchill.option.delegate.impl.RegisteredOptionSetFetcherDelegate
com.ptc.windchill.option.delegate.impl.NullOptionSetFetcherDelegate
有关方法签名以及预期输入和输出参数的详细信息,请参阅 Windchill Java 文档。
编写自定义委派
可使用扩展 com.ptc.windchill.option.delegate.AbstractOptionSetFetcherDelegate 且实现 getAssignedOptionSet 方法的新委派。可在系统中为特定类型的对象注册此自定义委派。通过这种方式,可以编写用于为预设对象或自定义对象确定选项集的自定义逻辑。
扩展默认的已注册选项集委派
为了自定义 OptionSetDelegate 的系统预设逻辑以确定 Windchill 中的对象选项集,可以对 com.ptc.windchill.option.delegate.impl. RegisteredOptionSetFetcherDelegate 进行扩展并覆盖 getAssignedOptionSet 方法来自定义逻辑。扩展类对于使用预设委派和自定义业务逻辑而言均有优势。
过程
使用 Windchill Information Modeler 扩展类的过程已在 中定义。对于默认接口实现的简单扩展,可使用此过程:
1. 使用任意编辑器或集成开发环境 (IDE) 来定义 java 源文件。
* 
请勿修改或替换在安装 Windchill 时提供的任何类。这些文件可能会替换为未来的软件版本。
2. 将 java 源文件编译到 Windchill 代码库中。
3. 创建一个 XCONF 文件,其中包含用于在 Windchill 系统中注册委派的特性的相应新值。
4. 使用 XCONF 管理器更新 Windchill 服务特性。
这些 Windchill 特性使用 Windchill XCONF 特征定义。有关 XCONF 文件及其创建方法的详细信息,请参阅专业化管理一节。
示例
您已使用部件自有的一组业务规则定义了一个新的自定义部件类型。此类型或其结构的要求是:它可确定具有某些自定义逻辑的选项集。此自定义逻辑不需要与部件类型进行任何直接关联。而是使用一些有关部件的信息来确定选项集。此外,它要求未确定任何选项集。然后,根据部件信息来使用预设行为确定选项集。
在使用部件自有的一组业务规则定义了一个新的自定义部件类型后,此类型或其结构有一个业务需求,即确定具有某些自定义逻辑的选项集。此自定义逻辑不会与部件类型直接关联,而是使用部件的某些信息来确定选项集。此外,它要求未确定任何选项集。然后,根据部件信息来使用预设行为确定选项集。
这对您有帮助吗?