Service Registry 3 2005Q4 開発者ガイド

オブジェクトへの分類の追加

オブジェクトは、1 つまたは複数の分類スキーマ (分類方式) に基づく分類を、 1 つまたは複数持つことができます。オブジェクトの分類を確立する場合、クライアントはまず、使用する分類方式を特定します。続いて、クライアントは、分類スキーマと分類スキーマ内の Concept (分類方式の要素) を使って分類を作成します。

Concept の階層を備えた新しい分類スキーマを作成する方法については、「オブジェクト間の関係の作成: 関連付け」を参照してください。Concept 階層を持つ分類スキーマは「内部分類スキーマ」と呼ばれます。

既存の分類スキーマを使用する分類を追加するには、通常は BusinessQueryManager.findClassificationSchemeByName メソッドを呼び出します。このメソッドは 2 つの引数を取ります。1 つは FindQualifier オブジェクトの Collection、もう 1 つは名前パターンを指定する String です。このメソッドから複数の結果が返されるとエラーになるため、検索は的確に定義する必要があります。たとえば、次のコードでは、AssociationType という名前の分類スキーマを検索しています。

String schemeName = "AssociationType";
ClassificationScheme cScheme =
     bqm.findClassificationSchemeByName(null, schemeName);

分類スキーマを特定したら、3 つの引数を指定して LifeCycleManager.createClassification メソッドを呼び出します。引数は、分類スキーマ、Concept の名前、および Concept の値です。

Classification classification =
     blcm.createClassification(cScheme, "Extends", "Extends");

もう 1 つの方法として、BusinessQueryManager.findConcepts を呼び出すか、 Concept 引数を指定して BusinessQueryManagerImpl.findObjects を呼び出し、使用する Concept を検索してから、Concept を唯一の引数として取る別の形式の createClassification を呼び出す、という方法があります。

Classification classification =
     blcm.createClassification(concept);

分類の作成が完了したら、RegistryObject.addClassification を呼び出して、分類をオブジェクトに追加します。

object.addClassification(classification);

複数の分類を追加するには、Collection を作成し、Collection に分類を追加したあと、RegistryObject.addClassifications を呼び出して Collection をオブジェクトに追加します。

分類の追加: 例

分類をオブジェクトに追加する例については、<INSTALL>/registry/samples/publish-object/src ディレクトリにある JAXRPublishObject.java を参照してください。このサンプルは、組織を 1 つ作成し、それにいくつかのオブジェクトを追加します。

ProcedureJAXRPublishObject サンプルを実行するには

手順
  1. <INSTALL>/registry/samples/publish-object ディレクトリに移動します。

  2. 次のコマンドを入力します。


    asant run