逻辑属性报告
类型的“逻辑属性报告”除了列出用于“类型和属性管理”实用程序中别名属性的映射,还会列出已用于该类型的映射。
创建逻辑属性是 LogicalIdentifierFactory 的一项功能。在 TypeIdentifier 的上下文中传递 LogicalIdentifierFactory 逻辑形式 (例如 factory.get("name", "wt.part.WTPart")) 时,工厂会尝试将此逻辑形式视为该类型的属性。工厂会通过下面几个步骤尝试查找此逻辑形式的映射:
1. 首先,工厂会在 logicalIdentifier.properties 中查找逻辑形式。因此,如果在 logicalIdentifier.properties 中定义了要映射到 "MBA|foobar" 的 "name",则会返回 "MBA|foobar"。
2. 如果 logicalIdentifier.properties 中没有条目,则会在 \codebase\LogicalAttributes.xml 文件中进行查找。此文件的格式如下:
....
<Class name="wt.enterprise.RevisionControlled">
<Property>
<LogicalForm>name</LogicalForm>
<ExternalForm>MBA|name</ExternalForm>
</Property>
</Class>
....
工厂会在此 xml 文件中进行查找,以查看所请求的逻辑形式是否具有为用户所传入类型指定的条目。如果没有所请求类型的条目,则会查看是否存在任何类型的父类型的条目。根据下面两个规则解决多个继承冲突:
a. 父类高于父接口
b. 父接口按字母顺序排序 (因此 "java.util.Map" 高于 "java.util.Set")。(可能还有更多可配置解决方案)。
3. 如果 LogicalAttributes.xml 中没有匹配的条目,则工厂会执行自省来尝试查找匹配的条目。具体实现方式如下:获取为所请求类型定义的所有 AttributeTypeIdentifiers 的列表,并查看逻辑形式是否与该列表中的属性名称相匹配。
报告输出
报告输出有四列。前两列将属性的逻辑形式映射到该因子将返回的外部形式。第三列显示工厂获取外部形式的位置 - logicalIdentifier.propertiesLogicalAttributes.xml 或自省。第四列显示业务字段标识符。
这对您有帮助吗?