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

ApexClass

Apex クラスを表します。Apex クラスは、Apex オブジェクト作成するためのテンプレート、つまり設計図です。クラスは、他のクラス、ユーザ定義メソッド、変数、例外型、および静的初期化コードで構成されます。詳細は、Force.com Apex コード開発者ガイドを参照してください。MetadataWithContent メタデータ型を拡張し、その content 項目と fullName 項目を継承します。

デフォルトでは、Apex クラスに 1 つ以上の有効なジョブがある場合は、このクラスへの更新をリリースすることはできません。この場合に更新をリリースするには、次のいずれかを実行します。

  • Apex コードへの変更をリリースする前に、Apex ジョブをキャンセルします。リリース後にジョブを再スケジュールします。
  • Salesforce ユーザインターフェースの [リリース設定] ページで Apex ジョブによるリリースを有効化します。

メモ

サポートされているコール

リリースに厳密なリリースライフサイクルとテスト実行制約が適用される CRUD ベースのコール以外のすべてのメタデータ API コール。

宣言的なメタデータファイルのサフィックスおよびディレクトリの場所

クラスファイルのファイルサフィックスは、 .cls です。付随するメタデータファイルには、ClassName-meta.xml という名前が付けられます。

Apex クラスは、対応するパッケージディレクトリの classes フォルダに保存されます。

バージョン

Apex クラスは API バージョン 10.0 以降で使用���きます。

項目

このメタデータ型には、次の項目が含まれます。

項目名 データ型 説明
apiVersion double

このクラスの API バージョン。すべてのクラスには、作成時に指定された API バージョンが割り当てられています。

content base64 Apex クラスの定義。Base 64 で符号化されたバイナリデータAPI コールを行う前に、クライアントアプリケーションはバイナリ添付データを base64 に符号化する必要があります。応答を受信したら、クライアントアプリケーションは、base64 データをバイナリに復号化する必要があります。この変換は、通常 SOAP クライアントによって処理されます。この項目は、MetadataWithContent コンポーネントから継承されます。
fullName string Apex クラス名。名前には、英数字、およびアンダースコア (_) 文字のみを使用できます。また、最初は英字とし、アンダースコア文字を連続して使用したり、最後に使用したりすることはできません。この項目は、Metadata コンポーネントから継承されています。
packageVersions PackageVersion[] この Apex クラスによって参照される、インストール済みの管理パッケージバージョンのリスト
status ApexCodeUnitStatus (string 型の列挙)
Apex クラスの現在の状況。有効な文字列値は次のとおりです。
  • Active -クラスは有効です。
  • Deleted - クラスには削除のマークが付いています。管理パッケージの更新時にクラスを削除できるため、管理パッケージに利用すると便利です。

ApexCodeUnitStatus には Inactive オプションが含まれますが、ApexTrigger のみでサポートされており、ApexClass ではサポートされていません。

メモ

PackageVersion

PackageVersion は、管理パッケージのバージョンを識別します。パッケージバージョンは、パッケージでアップロードされる一連のコンポーネントを特定する番号です。バージョン番号の形式は majorNumber.minorNumber.patchNumber (例: 2.1.3) です。メジャー番号とマイナー番号は、毎回のメジャーリリース時に指定した値に増えます。patchNumber は、パッチリリースにのみ生成および更新されます。API バージョン 16.0 以降で使用できます。

項目名 データ型 説明
namespace string 必須。パッケージコンテキストでは、名前空間プレフィックスとは AppExchange にある自社パッケージとそのコンテンツを他の開発者のパッケージと区別するための 1 ~ 15 文字の英数字で構成される識別子です。名前空間プレフィックスでは、大文字小文字は区別されません。たとえば、ABC と abc は一意として認識されません。名前空間プレフィックスは、すべての Salesforce 組織にわたって必ずグローバルに一意なものを指定します。名前空間プレフィックスを使用することで、自社の管理パッケージのみを管理できるようになります。

名前空間についての詳細は、Salesforce オンラインヘルプの「名前空間プレフィックスの登録」を参照してください。

majorNumber int 必須。パッケージバージョンのメジャー番号。パッケージバージョン番号は、majorNumber.minorNumber 形式です。
minorNumber int 必須。パッケージバージョンのマイナー番号。パッケージバージョン番号は、majorNumber.minorNumber 形式です。

宣言的なメタデータの定義のサンプル

次のサンプルでは、MyhelloWorld.cls クラスと、対応する MyHelloWorld.cls-meta.xml メタデータファイルを作成します。

MyHelloWorld.cls ファイル:

1public class MyHelloWorld {
2// This method updates the Hello field on a list
3// of accounts.
4public static void addHelloWorld(Account[] accs){
5	for (Account a:accs){
6		if (a.Hello__c != 'World')
7		a.Hello__c = 'World';
8		}
9	}
10}

MyHelloWorld.cls-meta.xml:

1<?xml version="1.0" encoding="UTF-8"?>
2<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
3    <apiVersion>41.0</apiVersion>
4</ApexClass>