过程 - 注册 BreadCrumbDelegate
要注册 BreadCrumbDelegate,您必须将其添加到包含在 wt.property "com.ptc.windchill.enterprise.navigation.breadcrumb.BreadCrumbDelegate" 中的委派列表中。此特性的定义如下:
<Property name="com.ptc.windchill.enterprise.navigation.breadcrumb. BreadCrumbDelegate" multivalued="," default= "com.ptc.windchill.enterprise.navigation.breadcrumb. FolderedBreadCrumbDelegate" />
如果其他委派均未声明页面,则将调用默认委派 FolderedBreadCrumbDelegate。默认委派的值采用硬编码,因此无法进行更改。更改特性中的值将不起作用。
可使用 AddToProperty 标记将其他委派添加到自定义或模块特定 *.xconf 文件的委派列表中。例如:
<AddToProperty name="com.ptc.windchill.enterprise.navigation.breadcrumb.BreadCrumbDelegate value="com.ptc.windchill.enterprise.navigation.breadcrumb.
WorkspaceBreadCrumbDelegate~10"/>
通过将后跟优先级值的 "~" 附加到委派类名称中,您可以有选择地将优先级分配给委派,如上所示。优先级值可以是任何小于 Integer.MAX_VALUE 的数字,数字越低,优先级越高。要查看现有委派的优先级,可以在 <Windchill>\codebase\wt.properties 中查看复合特性值。
BreadCrumbDelegateFactory 将按优先级顺序调用委派的 canHandle() 方法,直到找到肯定响应的委托为止。因此,如果有多个可为给定页面生成痕迹的委派,则将使用优先级最高的委托。如果多个委派具有相同的优先级,则将按随机顺序对其进行调用。不具有 "~<priority>" 后缀的委派 canHandle() 方法将最后以随机顺序调用。