すべての sObject へのアクセス
Schema getGlobalDescribe メソッドを使用して、すべての sObject 名 (キー) と sObject トークン (値) 間のリレーションを表す対応付けを返します。次に例を示します。
1Map<String, Schema.SObjectType> gd = Schema.getGlobalDescribe();対応付けには次の特性があります。
- 動的である。つまり、権限に基づいて、現在組織に使用できる sObject で実行時に生成されます。
- sObject の名前は大文字と小文字を区別しない。
- キーには、名前空間 (ある場合) のプレフィックスが付加される。*
- キーは、sObject がカスタムオブジェクトかどうかを反映する。
* Salesforce API バージョン 28.0 以降を使用して保存された Apex では、getGlobalDescribe が返す対応付け内のキーには、実行されるコードの名前空間 (ある場合) が常にプレフィックスとして付加されます。たとえば、getGlobalDescribe コールを行うコードブロックが名前空間 NS 1 内にあり、MyObject__c という名前のカスタムオブジェクトが同じ名前空間内にある場合、返されるキーは NS1__MyObject__c です。それ以前の API バージョンを使用して保存された Apex では、コードブロックの名前空間と sObject の名前空間が異なる場合のみ、キーに名前空間が含まれます。たとえば、対応付けを生成するコードブロックが名前空間 N1 にあり、sObject も N1 にある場合、関連付け内のキーは MyObject__c として表されます。ただし、コードブロックが名前空間 N1 にあり、sObject が名前空間 N2 にある場合、キーは N2__MyObject__c です。
標準 sObject には名前空間プレフィックスがありません。