14.2.3 NameとNameComponent
CosNaming::Nameは,オブジェクトインプリメンテーションまたはCosNaming::NamingContextにバインドできる識別子を表します。Nameはただの英数文字列ではなく,一つ以上のNameComponent構造体のシーケンスです。
各NameComponentには,idとkindという二つの属性文字列が含まれます。それぞれのidとkindが任意のNamingContext内で一意であることを確認する場合以外は,ネーミングサービスはこれらの文字列の解釈や管理はしません。
id属性とkind属性は,名前がバインドされているオブジェクトを一意に識別するための文字列です。kindメンバは名前に詳細情報を付加します。例えば,「Inventory.RDBMS」という名前は「Inventory」というidメンバと「RDBMS」というkindメンバを持ちます。
- IDLサンプル14-1 NameComponent構造体のIDL指定
module CosNaming { typedef string Istring; struct NameComponent { Istring id ; Istring kind ; }; typedef sequence<NameComponent> Name ; };
NameComponentのid属性とkind属性は,NULL文字(0x00)とそのほかの印刷不能文字を除いたISO 8859-1(Latin-1)文字セットの文字でなければなりません。NameComponentに指定する文字列は,どちらも255文字を超えてはいけません。さらに,ネーミングサービスはワイド文字を使用するNameComponentはサポートしません。
- 注
-
空文字列はNameのid属性には指定できませんが,kind属性には指定できます。