Service Registry 3 2005Q4 開発者ガイド

オブジェクトの識別

「一意の識別子によるオブジェクトの検索」で説明したように、Service Registry 内のすべてのオブジェクトには、一意の識別子と論理識別子の 2 つの識別子があります。オブジェクト作成時にこれらの識別子を設定しなかった場合は、レジストリによって一意の値が生成され、その値が一意の識別子と論理識別子の両方に割り当てられます。

新しいバージョンのオブジェクトが作成される場合は常に、論理識別子は元の識別子と同じですが、一意の識別子については、元の識別子にコロンとバージョン番号が付加された新しい一意の識別子が Service Registry によって生成されます。詳細については、「オブジェクトのバージョンの取得」および 「オブジェクト間の関係の作成: 関連付け」を参照してください。

独自の識別スキーマを使用する場合、オブジェクト識別子を設定するための API メソッドを使用できます。

JAXR API では、一意の識別子は Key オブジェクトと呼ばれます。LifeCycleManager.createKey メソッドを使用して、String オブジェクトから一意の識別子を作成できます。その後、RegistryObject.setKey メソッドを使用してキーを設定できます。

論理識別子は lid と呼ばれます。Service Registry の JAXR プロバイダには、この識別子を設定するための、実装に固有の RegistryObjectImpl.setLidメソッドが用意されています。このメソッドも String 引数を取ります。このメソッドのシグニチャーは次のとおりです。

public void setLid(java.lang.String lid)
    throws JAXRException

指定する識別子はすべて、有効かつグローバルで一意な URN (Uniform Resource Name) である必要があります。JAXR API がオブジェクトのキーを生成するとき、そのキーの形式は DCE 128 UUID (Universal Unique IDentifier) になります。