階層ビジネス・オブジェクトをトラバースするための構文

階層ビジネス・オブジェクトをトラバースする必要があるコードを作成している場合、子ビジネス・オブジェクト配列のエレメントで属性を指定できる構文を使用する必要があります。その子ビジネス・オブジェクト配列は、子ビジネス・オブジェクト配列、および他のそのような複雑性のエレメントです。 この章では、使用する構文を指定します。

属性の仕様は、以下のとおりです。

[[attributeName [index ].]...]attributeName
 

この構文は、以下の形式のいずれかに拡張されます。

attributeName
 attributeName [index ].attributeName
 attributeName [index ]... .attributeName
 

注:
ビジネス・オブジェクト属性の名前を作成するときに、ピリオド (.) は使用しないでください。ビジネス・オブジェクト属性の名前にピリオドを付けると、IBM WebSphere Business Integration Server Express マップは、ピリオドを Java のドット演算子として解釈して、特別な意味を付与します。例えば、"attribute.name" は、"name" が "attribute" オブジェクトのフィールドまたはメソッドであると解釈されます。

基本型の属性の指定

次の例では、busObj.get() メソッドを使用して、ビジネス・オブジェクト orderObj から OrderID という名前の基本型属性を検索します。

orderObj.get("OrderID"); 
 

子ビジネス・オブジェクトでの属性の指定

次の例では、orderObj は階層ビジネス・オブジェクトであることを前提としています。オブジェクトの属性の 1 つは CustomerInfo で、単一カーディナリティーの子ビジネス・オブジェクトです。例では、CustomerInfoCustomerName 属性から顧客名を検索します。

orderObj.get("CustomerInfo.CustomerName"); 
 

子ビジネス・オブジェクトの子での属性の指定

CustomerInfoorderObj の子で、AddressInfoCustomerInfo の子である子ビジネス・オブジェクトのチェーンがある場合、以下のように、AddressInfo から市区町村の情報を検索できます。

orderObj.get("CustomerInfo.AddressInfo.City");
 

子ビジネス・オブジェクトの配列エレメントでの属性の指定

配列でインデックスを指定することで、配列の子ビジネス・オブジェクトを参照することもできます。配列の最初のエレメントは常にゼロで始まります。例えば、次の例では、配列の 3 番目の子ビジネス・オブジェクトから Quantity 属性の値を検索します。

orderObj.get("LineItem[2].Quantity");
 

Copyright IBM Corp. 2004