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

ApexClass

Apex クラスを表します。Apex クラスは、Apex オブジェクト作成するためのテンプレート、つまり設計図です。他のクラス、ユーザ定義メソッド、変数、例外型、および静的初期化コードで構成されます。

詳細は『Lightning プラットフォーム 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 クラス名。名前には、英数字およびアンダースコア (_) 文字のみを使用できます。また、英字で始まる必要があり、アンダースコアで終わったり、連続した 2 つのアンダースコア文字が含まれていたりすることはできません。この項目は、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 では、Salesforce 組織のすべての一意のコンポーネント名に自動的に名前空間プレフィックスとそれに続く 2 つのアンダースコア (__) を追加します。一意のパッケージコンポーネントとは、カスタムオブジェクト、カスタム項目、カスタムリンク、Sコントロール、および入力規則など、Salesforce 内の他のコンポーネントで使用されていない名前を持つパッケージコンポーネントです。名前空間について詳しくは、『Salesforce DX 開発者ガイド』「名前空間の作成と登録」を参照してください。

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>58.0</apiVersion>
4</ApexClass>

マニフェストファイル内のワイルドカードのサポート

このメタデータ型では、package.xml マニフェストファイル内のワイルドカード文字 * (アスタリスク) がサポートされます。マニフェストファイルの使用についての詳細は、「zip ファイルを使用したメタデータのリリースと取得」を参照してください。