Organization オブジェクトはおそらく、最も複雑なレジストリオブジェクトです。このオブジェクトには通常、すべてのオブジェクトに共通する属性のほかに、次の属性が含まれます。
1 つまたは複数の PostalAddress オブジェクト。
1 つまたは複数の TelephoneNumber オブジェクト。
1 つの PrimaryContact オブジェクト。これは User オブジェクトです。User オブジェクトには通常、1 つの PersonName オブジェクトが含まれるほか、TelephoneNumber、EmailAddress、および PostalAddress オブジェクトのコレクションも含まれます。
1 つまたは複数の Service オブジェクトとそれらに関連付けられた ServiceBinding オブジェクト。
組織は 1 つまたは複数の子組織を持つこともでき、それらの子組織もまた子を持つことができます。こうして、組織の階層が形成されます。
次のコードでは、組織を 1 つ作成し、その名前、説明、住所、および電話番号を指定しています。
// Create organization name and description Organization org = blcm.createOrganization("The ebXML Coffee Break"); InternationalString is = blcm.createInternationalString("Purveyor of " + "the finest coffees. Established 1905"); org.setDescription(is); // create postal address for organization String streetNumber = "99"; String street = "Imaginary Ave. Suite 33"; String city = "Imaginary City"; String state = "NY"); String country = "USA"); String postalCode = "00000"; String type = "Type US"; PostalAddress postAddr = blcm.createPostalAddress(streetNumber, street, city, state, country, postalCode, type); org.setPostalAddress(postAddr); // create telephone number for organization TelephoneNumber tNum = blcm.createTelephoneNumber(); tNum.setCountryCode("1"); tNum.setAreaCode("100"); tNum.setNumber("100-1000"); tNum.setType("OfficePhone"); Collection tNums = new ArrayList(); tNums.add(tNum); org.setTelephoneNumbers(tNums);
電話番号のタイプは、PhoneType 分類スキーマに含まれる Concept の値です。"OfficePhone"、"MobilePhone" 、"HomePhone"、"FAX"、または "Beeper" のいずれかです。
組織の階層を作成するには、Organization.addChildOrganization メソッドを使ってある組織を別の組織に追加するか、Organization.addChildOrganizations メソッドを使って組織の Collection を別の組織に追加します。
組織の作成方法のサンプルについては、 <INSTALL>/registry/samples/organizations/src ディレクトリにある JAXRPublishOrg.java と JAXRPublishOrgNoPC.java を参照してください。
JAXRPublishOrg サンプルは、1 つの組織とその主担当者、および 1 つのサービスとそのサービスバインディングを作成します。サンプルでは組織、ユーザー、およびサービスに対する一意の識別子が表示され、ユーザーはあとでオブジェクトを削除する際にそれらの識別子を使うことができます。このサンプルは、組織の主担当者として架空の User を作成します。
もう 1 つのサンプル JAXRPublishOrgNoPC.java は、組織の主担当者を設定しません。この場合、主担当者はデフォルトで、プログラム実行時に認証された User になります。
<INSTALL >/registry/samples/organizations ディレクトリに移動します。
次のコマンドを入力します。
asant pub-org asant pub-org-nopc |
組織階層を発行および取得する方法のサンプルについては、<INSTALL>/registry/samples/organizations/src ディレクトリにある JAXRPublishOrgFamily.java および JAXRSearchOrgFamily.java を参照してください。