この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Newer Version Available

This content describes an older version of this product. View Latest

AccountCreator インターフェース

Chatter アンサーユーザと関連付けられる取引先レコードを作成します。

名前空間

ChatterAnswers

使用方法

ChatterAnswers.AccountCreator は、chatteranswers:registration Visualforce コンポーネントの registrationClassName 属性で指定されます。このインターフェースは Chatter アンサーによってコールされます。また、このインターフェースでは、ポータルユーザが使用する取引先レコードをカスタム作成できます。

ChatterAnswers.AccountCreator インターフェースを実装するには、最初に implements キーワードでクラスを次のように宣言する必要があります。
1public class ChatterAnswersRegistration implements ChatterAnswers.AccountCreator {
次に、クラスで次のメソッドの実装を提供する必要があります。
1public String createAccount(String firstname, String lastname, Id siteAdminId) {
2    // Your code here
3}

実装されたメソッドは global または public として宣言する必要があります。

AccountCreator のメソッド

AccountCreator のメソッドは次のとおりです。

createAccount(firstName, lastName, siteAdminId)

ユーザ情報を受け取り、取引先レコードを作成します。このメソッドの実装では、取引先 ID を返します。

署名

public String createAccount(String firstName, String lastName, Id siteAdminId)

パラメータ

firstName
型: String
登録するユーザの名。
lastName
型: String
登録するユーザの姓。
siteAdminId
型: ID
サイト管理者のユーザ ID。例外が発生した場合の通知に使用します。

戻り値

型: String

AccountCreator の実装例

これは、ChatterAnswers.AccountCreator インターフェースの実装例です。createAccount メソッドの実装では、ユーザ情報を受け取り、取引先レコードを作成します。メソッドは、取引先 ID の String 値を返します。

1public class ChatterAnswersRegistration implements ChatterAnswers.AccountCreator {
2    public String createAccount(String firstname, String lastname, Id siteAdminId) {
3         Account a = new Account(name = firstname + ' ' + lastname, ownerId = siteAdminId);
4         insert a;
5         return a.Id;
6    }
7}

この例では、上記のコードをテストします。

1@isTest
2private class ChatterAnswersCreateAccountTest {
3    static testMethod void validateAccountCreation() {
4        User[] user = [SELECT Id, Firstname, Lastname from User];
5        if (user.size() == 0) { return; }
6        String firstName = user[0].FirstName; 
7        String lastName = user[0].LastName; 
8        String userId = user[0].Id;
9        String accountId = new ChatterAnswersRegistration().createAccount(firstName, lastName, userId);
10        Account acct = [SELECT name, ownerId from Account where Id =: accountId];
11        System.assertEquals(firstName + ' ' + lastName, acct.name);
12        System.assertEquals(userId, acct.ownerId);
13  }
14}