You can fetch all sobject and their field information in apex by using describe methods. Apex gives 2 data types for sobject and field information.
On the describe result, the getSObjectType and getSObjectField methods return the tokens for sObject and field, respectively.
Finding All object in Organization
Schema getGlobalDescribe method returns a map that represents the relationship between all sObject names (keys) to sObject tokens (values).
For example:
Map<String, Schema.SObjectType> schemaMapOfOrg = Schema.getGlobalDescribe();
The map has the following characteristics:
If we need to create contact record dynamically, then use below code:
String typeName='Contact';
Schema.SObjectType objToken = Schema.getGlobalDescribe().get(typeName);
sobject son= objToken.newSObject();
son.put('firstname','Execute1');
son.put('LastName','Kumar');
son.put('Email','sunil.kumar2@in.gmail.com');
insert son;
Apex code to find all sobject and their fields
Apex code to generate SOQL to fetch all fields of an object
- Token: A lightweight, serializable reference to an sObject or a field that is validated at compile time.
- Describe Result: It contains all the describe information about sobject and fields. Describe result objects are not serializable, and are validated at runtime.
On the describe result, the getSObjectType and getSObjectField methods return the tokens for sObject and field, respectively.
Finding All object in Organization
Schema getGlobalDescribe method returns a map that represents the relationship between all sObject names (keys) to sObject tokens (values).
For example:
Map<String, Schema.SObjectType> schemaMapOfOrg = Schema.getGlobalDescribe();
The map has the following characteristics:
- It is dynamic, that is, it is generated at runtime on the sObjects currently available for the organization, based on permissions.
- The sObject names are case insensitive.
- The keys use namespaces as required. The keys reflect whether the sObject is a custom object.
If we need to create contact record dynamically, then use below code:
String typeName='Contact';
Schema.SObjectType objToken = Schema.getGlobalDescribe().get(typeName);
sobject son= objToken.newSObject();
son.put('firstname','Execute1');
son.put('LastName','Kumar');
son.put('Email','sunil.kumar2@in.gmail.com');
insert son;
Apex code to find all sobject and their fields
Apex code to generate SOQL to fetch all fields of an object