ESIMap
Windchill ESI 映射是表示 ESI 响应元信息文件中映射元素内容的对象。映射元素可具有一个或多个名为 attributeMapping 的子元素,其中每个子元素表示一对源和目标属性名称,也可以选择为该属性指定一个默认值。文件中的每个 attributeMapping 条目采用以下格式:
<esi:attributeMapping sourceAttribute="Source_Name" defaultValue="Default">
Target_Name</esi:attributeMapping>
• Source_Name 是介绍在何处查找要提取的数据的说明。条目的此部分是必填项。
如果正在映射的对象是 Info*Engine 元素对象,则 Source_Name 为该元素对象上 Info*Engine Att 对象的名称。
◦ 如果正在映射的对象不是 Info*Engine 元素,则 Source_Name 是用于调用该对象的“getter 方法”的名称。为 Source_Name 提供的值前附有字符 "get",且生成的字符串将用作方法名称。映射器仅调用不采用任何自变量且名称以 "get" 开头的方法。
◦ 映射器能够导航对象结构。如果 Source_Name 包含句点,则系统会将句点解释为方法分隔符。映射器将调用由所映射对象中 Source_Name 的第一段标识的“getter 方法”。如果该方法返回结果,则映射器将调用结果中 Source_Name 的第二段。映射器继续获取 Source_Name 的每个部分的结果。
示例:
这是 Windchill ESI BOM 组件呈现器“数量数额”使用的“映射条目”属性之一的 Source_Name 值。映射器对正在映射的对象执行 getQuantity() 方法。如果结果不为空,则映射器将针对通过 getQuantity() 方法获得的对象执行 getAmount() 方法。如果 getAmount() 返回一个值,则映射器会将该值分配给输出。
• Target_Name 是映射器所创建的输出 Att 对象的名称。条目的此部分是必填项。
• 如果无法从源中获取该值,则 Default 将是分配给输出的值。条目的这一部分是可选的。
以下是此类的可用方法:
ESIMap(fileName : String)
加载由 fileName 自变量标识的映射文件。仅当要从映射文件创建 ESI 映射时,才使用此构造器。有关映射文件的详细信息,请参阅本节结尾处的 Note。
ESIMap(mapID : String, attributes : List<Entry>)
创建新的 ESIMap 实例,将其属性 id 和 entries 设置为输入值。此构造器由解析 ESI 响应元信息文件的 API 调用。
getID() : String
返回属性 id 的值。
getSourceAttributes() : Collection
返回表示源属性名称的字符串集合。
getTargetAttributes() : Collection
返回表示目标属性名称的字符串集合。
iterator() : java.util.Iterator
返回条目属性中集合的迭代器。
|
ESIMap 实例包含一个条目实例列表,其中每个条目实例都表示 ESI 响应元信息文件中给定 Map 元素的给定属性映射条目。这些条目指的是上述条目实例列表。
|
|
虽然大多数 ESI 映射对象均使用 ESI 响应元信息文件的内容填充,但还有其他一些对象是通过填充映射文件 ESITarget.map、ESIReleaseActivities.map 得到。映射文件为 ASCII 文本文件。映射文件中的各个条目应具有以下格式:
Source_Name = Target_Name|Default
其中,Source_Name、Target_Name 和 Default 与本节前面所述的含义相同。
|