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

describeValueType()

特定のメタデータ型 (値の型) を記述するメタデータを取得します。

describeValueType() は、名前空間と型名を受け入れ、DescribeValueTypeResult オブジェクトを返します。このコールは、API バージョン 33.0 以降で使用できます。

構文

1DescribeValueTypeResult = connection.describeValueType("{namespace}type_name");

Metadata 名前空間で Apex クラスのメタデータを記述します。

1DescribeValueTypeResult = metadataConnection.describeValueType("{http://soap.sforce.com/2006/04/metadata}ApexClass");

Tooling 名前空間で Apex クラスのメタデータを記述します。

1DescribeValueTypeResult = toolingConnection.describeValueType("{urn:metadata.tooling.soap.sforce.com}ApexClass");

引数

名前 説明
type string ApexClass など、メタデータが必要なメタデータ型の名前。名前空間が含まれます。

権限

クライアントアプリケーションは、「すべてのデータの編集」権限でログインしている必要があります。

サンプルコード —Java

次の例は、メタデータ WSDL に基づいています。この例では、Apex クラスが記述されており、Metadata 名前空間が指定されています。次に、この例では返される DescribeValueTypeResult から情報 (プロパティ、親項目 (ある場合)、および項目) を取得します。その型の項目を反復処理して、各項目に関する情報を出力します。

1public void describeValueType() {
2    try {
3      DescribeValueTypeResult result = metadataConnection.describeValueType("{http://soap.sforce.com/2006/04/metadata}ApexClass");
4      StringBuffer sb = new StringBuffer();
5      
6      if (result.getApiCreatable()) {
7          sb.append("Is API creatable.\n");
8      } else {
9          sb.append("Is not API creatable.\n");
10      }
11      
12      ValueTypeField parentField = result.getParentField();
13      if (parentField != null) {
14          sb.append("** Parent type fields **\n");
15          sb.append("Name of parent type: " + parentField.getName() + "\n");
16          sb.append("MinOccurs: " + parentField.getMinOccurs() + "\n");
17          sb.append("SoapType: " + parentField.getSoapType() + "\n\n");
18      }
19
20      sb.append("** Value type fields **\n");
21      for(ValueTypeField field : result.getValueTypeFields()) {
22        sb.append("***************************************************\n");
23        sb.append("Name: " + field.getName() + "\n");
24        sb.append("MinOccurs: " + field.getMinOccurs() + "\n");
25        sb.append("SoapType: " + field.getSoapType() + "\n");
26        sb.append("***************************************************\n");
27      }
28      System.out.println(sb.toString());
29    } catch (ConnectionException ce) {
30      ce.printStackTrace();
31    }
32}

Tooling WSDL を使用して前の例を実行するには、次のように describeValueType() コールの名前空間を Tooling 名前空間に置きかえます。

1DescribeValueTypeResult result = toolingConnection.describeValueType("{urn:metadata.tooling.soap.sforce.com}ApexClass");