Salesforce Generic sObject:
Generally while programming we use a specific sObject type when we are sure of the instance of the sObject but whenever there comes a situation when we can get an instance of any sObject type, we use generic sObject.
Generic sObject data type is used to declare the variables which can store any type of sObject instance.
sObject s1 = new Account(Name = ‘Disney’);
sObject s2 = new Contact(lastName = ‘Sharma’);
sObject s3 = new Student__c(Name = ‘Arnold’);
sObject Variable —> Any sObject Datatype instance
Note: Every Salesforce record is represented as a sObject before it gets inserted into the database and also if you retrieve the records already present in the database they are stored in sObject variable.
Note: We can also cast the generic sObjects in specific sObjects like this:
Account acc = (Account) s1;
Contact con = (Contact) s1; //Will throw a Runtime Exception: datatype mismatch
- Setting and Accessing values from Generic sObjects:
- Similar to the sObject, we can also set and access values from Generic sObject. However, the notation is a little different.
- Examples of setting the values and accessing them:
- Set a field value on an sObject
- sObject s = new Account();
- s.put(‘Name’, ‘Cyntexa Labs’);
- Access a field on an sObject
- Object objValue = s.get(‘Name’);