Dynamic Return TypeUtility Methods flexible enough for all sObject TypesApex Cast sObject list dynamically to a specific sObject Type@testSetup method and System.CalloutException: You have uncommitted work pendingInsantiate list dynamic one lineGeneric method to downcast SObject list and return typed listLightning Internal Server Error Caused By Changing Return TypeDifferent return types of a class methodPros and cons of generic SObject list vs multiple lists of objectsQuote.class doesn't return the Quote type, but Account.class does. Why?Missing return statement required return type: System.PageReference
Phrase for the opposite of "foolproof"
Help, my Death Star suffers from Kessler syndrome!
Electric guitar: why such heavy pots?
TikZ how to make supply and demand arrows for nodes?
How to set the font color of quantity objects (Version 11.3 vs version 12)?
Is thermodynamics only applicable to systems in equilibrium?
Modify locally tikzset
Why are the 2nd/3rd singular forms of present of « potere » irregular?
Why does processed meat contain preservatives, while canned fish needs not?
Python "triplet" dictionary?
Single Colour Mastermind Problem
Binary Numbers Magic Trick
Please, smoke with good manners
Why is the origin of “threshold” uncertain?
Why do Ichisongas hate elephants and hippos?
Feels like I am getting dragged in office politics
Can a creature tell when it has been affected by a Divination wizard's Portent?
Do I have to worry about players making “bad” choices on level up?
How to stop co-workers from teasing me because I know Russian?
Why is current rating for multicore cable lower than single core with the same cross section?
Any examples of headwear for races with animal ears?
Is there a way to detect if the current member function is operating on an lvalue or rvalue?
How can Republicans who favour free markets, consistently express anger when they don't like the outcome of that choice?
Why was Germany not as successful as other Europeans in establishing overseas colonies?
Dynamic Return Type
Utility Methods flexible enough for all sObject TypesApex Cast sObject list dynamically to a specific sObject Type@testSetup method and System.CalloutException: You have uncommitted work pendingInsantiate list dynamic one lineGeneric method to downcast SObject list and return typed listLightning Internal Server Error Caused By Changing Return TypeDifferent return types of a class methodPros and cons of generic SObject list vs multiple lists of objectsQuote.class doesn't return the Quote type, but Account.class does. Why?Missing return statement required return type: System.PageReference
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
Is it possible to create a method that will return any sObject type?
Why?
I want to create a method that combines DML operations, but the initial method that is called should be able to return any sObject type.
apex
add a comment |
Is it possible to create a method that will return any sObject type?
Why?
I want to create a method that combines DML operations, but the initial method that is called should be able to return any sObject type.
apex
add a comment |
Is it possible to create a method that will return any sObject type?
Why?
I want to create a method that combines DML operations, but the initial method that is called should be able to return any sObject type.
apex
Is it possible to create a method that will return any sObject type?
Why?
I want to create a method that combines DML operations, but the initial method that is called should be able to return any sObject type.
apex
apex
asked Apr 24 at 15:44
Matthew MetrosMatthew Metros
774
774
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You can always create a method to return a SObject. Something as below:
public SObject mySObject()
if(condition)
return new Account();
else
return new Contact();
It will though depend on how you want to utilize it from your calling context. You can always get the SObjectType in your calling context and take actions accordingly. E.g.,
SObject s = mySobject();
system.debug(s.getSObjectType());
// execute other code based on type
even better is to return a List<SObject> so caller can work with collection idioms
– cropredy
Apr 24 at 17:56
@cropredy Agreed. This was more of a direct answer to the question itself, definitely always scope of improvements/refinement based on actual requirements.
– Jayant Das
Apr 24 at 17:57
You can also useinstanceof(e.g.if(s instanceof Account)) or a switch statement
– IllusiveBrian
Apr 24 at 19:36
@IllusiveBrian That's true. Many different ways of doing that. This was mostly a sample/approach, which is always open for refinement in actual implementation.
– Jayant Das
Apr 25 at 17:48
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "459"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f259947%2fdynamic-return-type%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can always create a method to return a SObject. Something as below:
public SObject mySObject()
if(condition)
return new Account();
else
return new Contact();
It will though depend on how you want to utilize it from your calling context. You can always get the SObjectType in your calling context and take actions accordingly. E.g.,
SObject s = mySobject();
system.debug(s.getSObjectType());
// execute other code based on type
even better is to return a List<SObject> so caller can work with collection idioms
– cropredy
Apr 24 at 17:56
@cropredy Agreed. This was more of a direct answer to the question itself, definitely always scope of improvements/refinement based on actual requirements.
– Jayant Das
Apr 24 at 17:57
You can also useinstanceof(e.g.if(s instanceof Account)) or a switch statement
– IllusiveBrian
Apr 24 at 19:36
@IllusiveBrian That's true. Many different ways of doing that. This was mostly a sample/approach, which is always open for refinement in actual implementation.
– Jayant Das
Apr 25 at 17:48
add a comment |
You can always create a method to return a SObject. Something as below:
public SObject mySObject()
if(condition)
return new Account();
else
return new Contact();
It will though depend on how you want to utilize it from your calling context. You can always get the SObjectType in your calling context and take actions accordingly. E.g.,
SObject s = mySobject();
system.debug(s.getSObjectType());
// execute other code based on type
even better is to return a List<SObject> so caller can work with collection idioms
– cropredy
Apr 24 at 17:56
@cropredy Agreed. This was more of a direct answer to the question itself, definitely always scope of improvements/refinement based on actual requirements.
– Jayant Das
Apr 24 at 17:57
You can also useinstanceof(e.g.if(s instanceof Account)) or a switch statement
– IllusiveBrian
Apr 24 at 19:36
@IllusiveBrian That's true. Many different ways of doing that. This was mostly a sample/approach, which is always open for refinement in actual implementation.
– Jayant Das
Apr 25 at 17:48
add a comment |
You can always create a method to return a SObject. Something as below:
public SObject mySObject()
if(condition)
return new Account();
else
return new Contact();
It will though depend on how you want to utilize it from your calling context. You can always get the SObjectType in your calling context and take actions accordingly. E.g.,
SObject s = mySobject();
system.debug(s.getSObjectType());
// execute other code based on type
You can always create a method to return a SObject. Something as below:
public SObject mySObject()
if(condition)
return new Account();
else
return new Contact();
It will though depend on how you want to utilize it from your calling context. You can always get the SObjectType in your calling context and take actions accordingly. E.g.,
SObject s = mySobject();
system.debug(s.getSObjectType());
// execute other code based on type
edited Apr 24 at 15:55
answered Apr 24 at 15:48
Jayant DasJayant Das
19.5k21331
19.5k21331
even better is to return a List<SObject> so caller can work with collection idioms
– cropredy
Apr 24 at 17:56
@cropredy Agreed. This was more of a direct answer to the question itself, definitely always scope of improvements/refinement based on actual requirements.
– Jayant Das
Apr 24 at 17:57
You can also useinstanceof(e.g.if(s instanceof Account)) or a switch statement
– IllusiveBrian
Apr 24 at 19:36
@IllusiveBrian That's true. Many different ways of doing that. This was mostly a sample/approach, which is always open for refinement in actual implementation.
– Jayant Das
Apr 25 at 17:48
add a comment |
even better is to return a List<SObject> so caller can work with collection idioms
– cropredy
Apr 24 at 17:56
@cropredy Agreed. This was more of a direct answer to the question itself, definitely always scope of improvements/refinement based on actual requirements.
– Jayant Das
Apr 24 at 17:57
You can also useinstanceof(e.g.if(s instanceof Account)) or a switch statement
– IllusiveBrian
Apr 24 at 19:36
@IllusiveBrian That's true. Many different ways of doing that. This was mostly a sample/approach, which is always open for refinement in actual implementation.
– Jayant Das
Apr 25 at 17:48
even better is to return a List<SObject> so caller can work with collection idioms
– cropredy
Apr 24 at 17:56
even better is to return a List<SObject> so caller can work with collection idioms
– cropredy
Apr 24 at 17:56
@cropredy Agreed. This was more of a direct answer to the question itself, definitely always scope of improvements/refinement based on actual requirements.
– Jayant Das
Apr 24 at 17:57
@cropredy Agreed. This was more of a direct answer to the question itself, definitely always scope of improvements/refinement based on actual requirements.
– Jayant Das
Apr 24 at 17:57
You can also use
instanceof (e.g. if(s instanceof Account)) or a switch statement– IllusiveBrian
Apr 24 at 19:36
You can also use
instanceof (e.g. if(s instanceof Account)) or a switch statement– IllusiveBrian
Apr 24 at 19:36
@IllusiveBrian That's true. Many different ways of doing that. This was mostly a sample/approach, which is always open for refinement in actual implementation.
– Jayant Das
Apr 25 at 17:48
@IllusiveBrian That's true. Many different ways of doing that. This was mostly a sample/approach, which is always open for refinement in actual implementation.
– Jayant Das
Apr 25 at 17:48
add a comment |
Thanks for contributing an answer to Salesforce Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f259947%2fdynamic-return-type%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown