Type クラス
名前空間
使用方法
forName メソッドを使用して、Apex クラス (組み込みクラスまたはユーザ定義クラス) のデータ型を取得します。また、newInstance メソッドは、インターフェースを実装する型をインスタンス化し、そのメソッドをコールすると同時に、パッケージの登録者など他のユーザがメソッドの実装を提供できるようにする場合に使用します。
例: 名前に基づいた Type のインスタンス化
次のサンプルは、Type メソッドを使用して、Type をその名前に基づいてインスタンス化する方法を示します。このシナリオの典型的な応用として、パッケージの登録者が、インストールされたパッケージの一部としてインターフェースのカスタム実装を提供する場合があります。パッケージは、登録者の組織のカスタム設定を介してインターフェースを実装するクラスの名前を取得できます。パッケージは、このクラス名に対応する型をインスタンス化して、登録者が実装したメソッドを呼び出すことができます。
このサンプルでは、Vehicle が VehicleImpl クラスによって実装されるインターフェースを表します。最後のクラスには、VehicleImpl に実装されたメソッドを呼び出すコードサンプルが含まれます。
クラスのプロパティ
class プロパティは、コールされたデータ型の System.Type を返します。これは、プリミティブデータ型とコレクション、sObject 型、ユーザ定義クラスを含むすべての Apex 組み込みデータ型で公開されます。forName メソッドの代わりにこのプロパティを使用できます。
JSON.deserialize、deserializeStrict、JSONParser.readValueAs、readValueAsStrict メソッドの 2 番目の引数にこのプロパティを使用して、並列化するオブジェクトのデータ型を取得できます。次に例を示します。
Type のメソッド
Type のメソッドは次のとおりです。
equals(typeToCompare)
署名
public Boolean equals(Object typeToCompare)
パラメータ
- typeToCompare
- 型: Object
- 現在のデータ型と比較するデータ型です。
戻り値
型: Boolean
���
forName(fullyQualifiedName)
署名
public static System.Type forName(String fullyQualifiedName)
パラメータ
- fullyQualifiedName
- 型: String
- データ型を取得するクラスの完全修飾名です。完全修飾クラス名には、MyNamespace.ClassName などの名前空間名が含まれます。
戻り値
型: System.Type
使用方法
getName()
署名
public String getName()
戻り値
型: String
例
この例では、Type の名前を取得する方法を示します。最初に forName をコールして Type を取得し、次にその Type オブジェクトに対して getName をコールします。
hashCode()
署名
public Integer hashCode()
戻り値
型: Integer
使用方法
返されたハッシュコード値は、String.hashCode が返す型名のハッシュコードに対応します。
newInstance()
署名
public Object newInstance()
戻り値
型: Object
使用方法
newInstance は汎用オブジェクト型を返すため、この値を保持する変数の型に戻り値を変換する必要があります。
このメソッドを使用すると、インターフェースを実装する Type をインスタンス化し、そのメソッドをコールできると同時に、他のユーザがメソッドの実装を提供できるようになります。たとえば、パッケージ開発者がインターフェースを提供し、登録者がそのインターフェースを実装してパッケージをインストールできます。パッケージのコードは、登録者の Type をインスタンス化することで、登録者のインターフェースメソッドの実装をコールします。
例
次の例では、Type のインスタンスを作成する方法を示します。最初に forName をクラスの名前 (ShapeImpl) でコールして Type を取得し、次にこの Type オブジェクトに対して newInstance をコールします。newObj インスタンスは、ShapeImpl クラスが実装するインターフェース型 (Shape) を使用して宣言されます。newInstance メソッドの戻り値は、Shape 型に変換されます。
toString()
署名
public String toString()
戻り値
型: String
使用方法
このメソッドは、getName と同じ値を返します。String.valueOf および System.debug はこのメソッドを使用して、Type 引数を string に変換します。
例
この例では、Integer のリストに対応する Type に対して toString をコールします。