Apex クラスの管理
Apex クラスは、Apex オブジェクト作成するためのテンプレート、つまり設計図です。他のクラス、ユーザー定義メソッド、変数、例外型、および静的初期化コードで構成されます。
必要なエディション
| 使用可能なエディション: Performance Edition、Unlimited Edition、Developer Edition、および Enterprise Edition |
| 必要なユーザー権限 | |
|---|---|
| Apex クラスの定義、編集、削除、セキュリティの設定、およびバージョンの設定を行う | 「Apex 開発」 |
| Apex テストを実行する | 「設定・定義の参照」 |
正常に保存されると、クラスメソッドや変数は他の Apex コードから、または、webService キーワードで指定されたメソッドの SOAP API (または AJAX Toolkit) を介して呼び出すことができます。
[Apex クラス] ページでは、Apex クラスを作成、管理できます。[Apex クラス] ページにアクセスするには、[設定] から、[クイック検索] ボックスに「Apex クラス」と入力し、[Apex クラス] を選択します。その他の開発機能には、開発者コンソールを使用します。
Apex クラスを作成するには、[Apex クラス] ページから [新規] をクリックして、エディターで Apex コードを記述します。
開発者は、『Apex コード開発者ガイド』に示された構文に従ってクラスメソッドを作成できますが、クラスは、ローカルハードドライブやネットワークに保存されている WSDL ドキュメントを使って自動的に生成することもできます。WSDL ドキュメントを使ってクラスを作成すると、開発者は Apex の中で外部 Web サービスを呼び出すことができます。[Apex クラス] ページで [WSDL からの生成] をクリックすると、Apex クラスが WSDL ドキュメントから生成されます。
[動的 Apex クラス] は、既存のプラットフォーム機能へのより高度なアクセス権を提供するために動的に生成されます。たとえば、外部サービスに API 仕様を登録した場合は、すべての動的に生成されたクラスが [Apex クラス] ページの [動的 Apex クラス] ヘッダーの下に表示されます。元のソースで、[開く] をクリックします。動的 Apex クラスは、「組織内のすべての Apex コードで使用されるコードの最大量」の制限には含まれず、コードカバー率の要件からは除外されます。
Developer Edition 組織、Salesforce Enterprise Edition のトライアル組織、または Sandbox 組織を使用している場合にのみ、Salesforce ユーザーインターフェースを使用して Apex を追加、編集、または削除できます。Salesforce の本番組織の場合、Apex を変更するには、メタデータ API の deploy コール、Visual Studio Code 向け Salesforce 拡張機能、または Ant 移行ツールのみを使用できます。Visual Studio Code 向け Salesforce 拡張機能および Ant 移行ツールは、Salesforce がユーザーとパートナーをサポートするために提供する無料のリソースですが、Salesforce メインサービス契約 (MSA) を趣旨とする当社サービスの一部とはみなされていません。
Apex クラスを作成すると、さまざまなアクションを実行できます。
- クラス名の横にある [編集] をクリックして、簡単なエディターで内容を変更します。
- クラス名の横にある [削除] をクリックして、組織からそのクラスを削除します。
メモ- Visualforce ページまたはコンポーネントのコントローラーとして指定されているクラスは削除できません。
アイコンは、Apex クラスが管理パッケージ内でリリースされたことを示しています。パッケージの Apex クラスには、特別な考慮事項があります。詳細は、「管理パッケージを使用した AppExchange ソリューションの開発」を参照してください。
アイコンは、Apex クラスがインストール済み管理パッケージ内にあることを示しています。管理パッケージ内のクラスを編集または削除することはできません。
アイコンは、以前リリースされた管理パッケージ内の Apex クラスが、次のパッケージのアップロードでは削除されることを示しています。パッケージ詳細ページからは、Apex クラスを削除しないように選択できます。
- Apex クラスに
webServiceとして定義されたメソッドがある場合は、クラス名の横にある [WSDL] をクリックして、クラスコンテンツから WSDL ドキュメントを生成できます。このドキュメントには、クライアントが Apex Web サービスメソッドを使用するのに必要な情報がすべて記載されています。生成される WSDL ドキュメントには、キーワードwebServiceを持つすべてのクラスメソッドが含まれます。 - クラス名の横にある [セキュリティ] をクリックして、Web サービスメソッドなど、最上位のエントリポイントからクラスでメソッドを実行することを許可されているプロファイルを選択します。管理パッケージの一部として組織にインストールされているクラスの場合、
globalと定義されたクラスにはこのリンクのみが表示されます。 - [組織のコードカバー率を見積る] をクリックして、組織の Apex コードが、単体テストによって現在どの程度カバーされているかを把握します。このパーセントは、すでに実行した最新のテスト結果に基づいています。テスト結果がない場合は、コードカバー率は 0% です。
- 1 つ以上の Apex クラスに単体テストが存在する場合は、[すべてのテストを実行] をクリックして、組織で単体テストを実行します。
- 組織のすべての Apex クラスをコンパイルするには、[すべてのクラスをコンパイル] をクリックします。管理パッケージからインストールされたクラスの場合、クラスにテストメソッドが含まれる場合、またはテストクラスの場合、これらのクラスを参照し [Apex テスト実行] ページからそのテストメソッドを実行するには、最初にクラスをコンパイルする必要があります。管理パッケージのクラスは、保存できないため、[すべてのクラスをコンパイル] リンクを介してのみコンパイルできます。それ以外には、管理パッケージ以外の Apex クラスを保存すると、管理パッケージのクラスが再コンパイルされます。このリンクでは、管理パッケージの Apex クラスかどうかに関係なく、組織内のすべての Apex クラスがコンパイルされます。

