Apex Schema メソッドを使ってsObjectを記述するサンプル
環境
Salesforce
概要
Account 標準オブジェクトと Merchandise__c カスタムオブジェクトの 2 つの sObject 型の
Describe メタデータ情報を取得します。各 sObject の Describe Result を取得したら、
sObject 表示ラベル、項目数、カスタムオブジェクトであるかどうか、
子リレーションの数などの返された情報をデバッグ出力に書き込みます。
使用例
// sObject 表示 String[] types = new String[]{'Account','Merchandise__c'}; // describeSObjectsを呼び出す Schema.DescribeSobjectResult[] results = Schema.describeSObjects(types); System.debug('結果情報: ' + results.size() + ' sObjects.'); // 結果の情報を取得 for(Schema.DescribeSobjectResult res : results) { System.debug('sObject ラベル: ' + res.getLabel()); System.debug('フィールドの数: ' + res.fields.getMap().size()); System.debug(res.isCustom() ? 'カスタマイズオブジェクト.' : '標準オブジェクト.'); // 子関係を取得 Schema.ChildRelationship[] rels = res.getChildRelationships(); if (rels.size() > 0) { System.debug(res.getName() + ' has ' + rels.size() + '子関係.'); } }