Windchill Foundation 接口
NetFactor 接口位于层次结构的根处。如果抽象将自身声明为 NetFactor 类型的对象,则会将其分类为属于 Windchill 系统。设置为 NetFactor 类型的影响之一是静态工厂 ("new<Class>") 方法以及支持的“初始化”方法将替换构造函数。
声明为 ObjectMappable 的类可以在数据库中写入和读取。基础层次结构中的其余所有抽象都是一种 ObjectMappable 抽象。ObjectMappable 的所有子类型均可外部化,这将使对象能够使用 RMI 在客户端和服务器之间进行传送。ObjectMappable 将添加 readExternal 和 writeExternal API (与可外部化对象的 API 类似) 以支持在数据库中读取和写入。Windchill 注释处理器会为这些 API 生成适当的实现。
PersistInfo 接口包含存储在数据库中的每个对象的信息。PersistInfo 不会实现 Persistable;它是一个结构化属性。不过,它会实现 ObjectMappable。这意味着 createStamp、modifyStamp、updateStamp 和 updateCount 将包含在 readExternal 和 writeExternal 操作中。
链接、对象参考和查询键将泛化为接口,如下图所示。
二进制链接
QueryKey 接口用于为数据库中的可持续对象指定限制条件,表示为类 (名称) 和标识符的组合。WTReference 接口用于聚合单个 QueryKey,并提供对应的 "object" 来表示与该键对应的 (扩展) 可持续对象。尝试扩展可生成零个或多个持续对象的键时,将导致异常。
Link 接口用于指定角色容器的概念,尤其是链接类型的 BinaryLink 接口,是两个可持续对象之间关联的属性化成员的抽象。对象的实际包含通过聚合每个角色的参考完成。
Persistable 接口用于为对象提供如下图所示的主键 (即对象标识符) 以及数据库表。此主键是 ObjectReference 的标识符,WTReference 实现通过其主键来引用可持续对象。
可持续对象
第一个类对象用于实现 Persistable 接口。因此,将为每个类生成数据库表,用于存储其对象。结构化属性存储在其关联的第一个类对象的数据库表中。必须在数据库中写入或读取的所有可持续对象以及结构化属性必须实现 ObjectMappable 接口。