主担当者を指定せずに組織を作成する場合、デフォルトの主担当者は、その組織を作成した User オブジェクト、つまり、Service Registry への接続確立時に設定した資格の所有者であるユーザーになります。もちろん、それとは異なるユーザーを主担当者として指定することもできます。
User もまた、複雑なレジストリオブジェクトです。これには通常、すべてのオブジェクトに共通する属性のほかに、次の属性が含まれます。
1 つの PersonName オブジェクト
1 つまたは複数の PostalAddress オブジェクト
1 つまたは複数の TelephoneNumber オブジェクト
1 つまたは複数の EmailAddress オブジェクト
ユーザーのホームページを表す 1 つまたは複数の URL オブジェクト
通常、ユーザーは Web コンソールを使用した登録により自分自身を作成します。JAXR を使用してユーザーを作成することは、めったにありません。このサンプルプログラムでは、User オブジェクトについて説明し、さまざまな主担当者を持つ組織を生成するために、ユーザーを作成しています。
次のコードでは、User を作成し、その User を組織の主担当者として設定しています。この User には、電話番号と電子メールアドレスは設定されていますが、住所は設定されていません。
// Create primary contact, set name
User primaryContact = blcm.createUser();
String userId = primaryContact.getKey().getId();
System.out.println("User URN is " + userId);
PersonName pName =
blcm.createPersonName("Jane", "M.", "Doe");
primaryContact.setPersonName(pName);
// Set primary contact phone number
TelephoneNumber pctNum = blcm.createTelephoneNumber();
pctNum.setCountryCode("1");
pctNum.setAreaCode("100");
pctNum.setNumber("100-1001");
pctNum.setType(CanonicalConstants.CANONICAL_PHONE_TYPE_CODE_MobilePhone);
Collection phoneNums = new ArrayList();
phoneNums.add(pctNum);
primaryContact.setTelephoneNumbers(phoneNums);
// Set primary contact email address
EmailAddress emailAddress =
blcm.createEmailAddress("jane.doe@TheCoffeeBreak.com");
emailAddress.setType(CanonicalConstants.CANONICAL_EMAIL_TYPE_CODE_OfficeEmail));
Collection emailAddresses = new ArrayList();
emailAddresses.add(emailAddress);
primaryContact.setEmailAddresses(emailAddresses);
URL pcUrl = new URL((bundle.getString("person.url"));
primaryContact.setUrl(pcUrl);
// Set primary contact for organization
org.setPrimaryContact(primaryContact);
主担当者の電話番号のタイプは、PhoneType 分類スキーマに含まれる Concept の値です。値は "OfficePhone"、"MobilePhone"、"HomePhone"、 "FAX"、または "Beeper" のいずれかです。主担当者の電子メールアドレスのタイプは、EmailType 分類スキーマに含まれる Concept の値です。値は "OfficeEmail" または "HomeEmail" です。これらのタイプでは、CanonicalConstants コードを使用します。