Is it possible to dynamically set properties of an `Object` using Apex?Pass inner class object as an argument to apex classError: Compile Error: Method does not exist or incorrect signature: [httprequest] methodsExecute Anonymous Error: Getting Started with ApexAdd list of field names from SObjectField into SetMethod does not exist or incorrect signature: void containsKey(Id) from the type Set<Id>create 100K records of custom object using Batch Apex Salesforceunable to pass an object to another method in apexHow to access Class members decorated using get; set; Get Field value from object using string keyHow to addError on the dynamic string field api name

Inner for loop when run in background in bash spawns new bash process

Stateful vs non-stateful app

How exactly does Hawking radiation decrease the mass of black holes?

How do Bards prepare spells?

Rivers without rain

Disable screen dimming in Ubuntu Mate 18.04.2 LTS

Can someone publish a story that happened to you?

Was there a shared-world project before "Thieves World"?

How much cash can I safely carry into the USA and avoid civil forfeiture?

Was there a Viking Exchange as well as a Columbian one?

Providence Pentominoes Puzzle By Andrew Bradburn (Jigsaw)

How can governments justify taking income tax on earnings, and then taking more tax on spending?

Is there a way to get a compiler for the original B programming language?

How to interact with ERC20 interface?

Is DC-DC (24v to 12v) Buck Conversion typically more efficient than AC-DC (110v to 12v) conversion?

What's the polite way to say "I need to urinate"?

Hilbert Space and Banach Space

What is the relationship between spectral sequences and obstruction theory?

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?

How to pronounce 'C++' in Spanish

Why does processed meat contain preservatives, while canned fish needs not?

Are Boeing 737-800’s grounded?

How can I practically buy stocks?



Is it possible to dynamically set properties of an `Object` using Apex?


Pass inner class object as an argument to apex classError: Compile Error: Method does not exist or incorrect signature: [httprequest] methodsExecute Anonymous Error: Getting Started with ApexAdd list of field names from SObjectField into SetMethod does not exist or incorrect signature: void containsKey(Id) from the type Set<Id>create 100K records of custom object using Batch Apex Salesforceunable to pass an object to another method in apexHow to access Class members decorated using get; set; Get Field value from object using string keyHow to addError on the dynamic string field api name






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















Background



I would like to be able to dynamically set properties of an Object (not SObject).



Given this class:



public class Invoice 
public String Ref get; set;



I would like to be able to do this:



Invoice inv = new Invoice();
inv.put('Ref', 'REF123');


But when I do Execute Anonymous Apex with above code, I this error:




ERROR: Compilation failed.

! ERROR: Line: 3, Column: 12

! Method does not exist or incorrect signature: void put(String, String)

! from the type Invoice

ERROR: Execution failed.




Question



  1. Is it possible to dynamically set properties of an Object (not SObject) using Apex?

  2. How would I dynamically set a property of an Object using Apex?









share|improve this question






























    1















    Background



    I would like to be able to dynamically set properties of an Object (not SObject).



    Given this class:



    public class Invoice 
    public String Ref get; set;



    I would like to be able to do this:



    Invoice inv = new Invoice();
    inv.put('Ref', 'REF123');


    But when I do Execute Anonymous Apex with above code, I this error:




    ERROR: Compilation failed.

    ! ERROR: Line: 3, Column: 12

    ! Method does not exist or incorrect signature: void put(String, String)

    ! from the type Invoice

    ERROR: Execution failed.




    Question



    1. Is it possible to dynamically set properties of an Object (not SObject) using Apex?

    2. How would I dynamically set a property of an Object using Apex?









    share|improve this question


























      1












      1








      1








      Background



      I would like to be able to dynamically set properties of an Object (not SObject).



      Given this class:



      public class Invoice 
      public String Ref get; set;



      I would like to be able to do this:



      Invoice inv = new Invoice();
      inv.put('Ref', 'REF123');


      But when I do Execute Anonymous Apex with above code, I this error:




      ERROR: Compilation failed.

      ! ERROR: Line: 3, Column: 12

      ! Method does not exist or incorrect signature: void put(String, String)

      ! from the type Invoice

      ERROR: Execution failed.




      Question



      1. Is it possible to dynamically set properties of an Object (not SObject) using Apex?

      2. How would I dynamically set a property of an Object using Apex?









      share|improve this question
















      Background



      I would like to be able to dynamically set properties of an Object (not SObject).



      Given this class:



      public class Invoice 
      public String Ref get; set;



      I would like to be able to do this:



      Invoice inv = new Invoice();
      inv.put('Ref', 'REF123');


      But when I do Execute Anonymous Apex with above code, I this error:




      ERROR: Compilation failed.

      ! ERROR: Line: 3, Column: 12

      ! Method does not exist or incorrect signature: void put(String, String)

      ! from the type Invoice

      ERROR: Execution failed.




      Question



      1. Is it possible to dynamically set properties of an Object (not SObject) using Apex?

      2. How would I dynamically set a property of an Object using Apex?






      apex object dynamic-apex






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 19 mins ago







      Robs

















      asked 44 mins ago









      RobsRobs

      2,554743




      2,554743




















          1 Answer
          1






          active

          oldest

          votes


















          2














          For some isolated cases - yours is one of them - there is this (ab)use of the serialize methods:



          Invoice inv = (Invoice) JSON.deserialize(JSON.serialize(new Map<<String, Object>
          'Ref' => 'REF123'
          )), Invoice.class);


          Here, the capability of JSON.deserialize to create an instance of the specified type and set the properties of the instance is being used.



          But in general, Apex is missing the map-like behavior for objects or a reflection API.






          share|improve this answer























            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
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f260323%2fis-it-possible-to-dynamically-set-properties-of-an-object-using-apex%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









            2














            For some isolated cases - yours is one of them - there is this (ab)use of the serialize methods:



            Invoice inv = (Invoice) JSON.deserialize(JSON.serialize(new Map<<String, Object>
            'Ref' => 'REF123'
            )), Invoice.class);


            Here, the capability of JSON.deserialize to create an instance of the specified type and set the properties of the instance is being used.



            But in general, Apex is missing the map-like behavior for objects or a reflection API.






            share|improve this answer



























              2














              For some isolated cases - yours is one of them - there is this (ab)use of the serialize methods:



              Invoice inv = (Invoice) JSON.deserialize(JSON.serialize(new Map<<String, Object>
              'Ref' => 'REF123'
              )), Invoice.class);


              Here, the capability of JSON.deserialize to create an instance of the specified type and set the properties of the instance is being used.



              But in general, Apex is missing the map-like behavior for objects or a reflection API.






              share|improve this answer

























                2












                2








                2







                For some isolated cases - yours is one of them - there is this (ab)use of the serialize methods:



                Invoice inv = (Invoice) JSON.deserialize(JSON.serialize(new Map<<String, Object>
                'Ref' => 'REF123'
                )), Invoice.class);


                Here, the capability of JSON.deserialize to create an instance of the specified type and set the properties of the instance is being used.



                But in general, Apex is missing the map-like behavior for objects or a reflection API.






                share|improve this answer













                For some isolated cases - yours is one of them - there is this (ab)use of the serialize methods:



                Invoice inv = (Invoice) JSON.deserialize(JSON.serialize(new Map<<String, Object>
                'Ref' => 'REF123'
                )), Invoice.class);


                Here, the capability of JSON.deserialize to create an instance of the specified type and set the properties of the instance is being used.



                But in general, Apex is missing the map-like behavior for objects or a reflection API.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 27 mins ago









                Keith CKeith C

                97.4k1197220




                97.4k1197220



























                    draft saved

                    draft discarded
















































                    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.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f260323%2fis-it-possible-to-dynamically-set-properties-of-an-object-using-apex%23new-answer', 'question_page');

                    );

                    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







                    Popular posts from this blog

                    Dapidodigma demeter Subspecies | Notae | Tabula navigationisDapidodigmaAfrotropical Butterflies: Lycaenidae - Subtribe IolainaAmplifica

                    Constantinus Vanšenkin Nexus externi | Tabula navigationisБольшая российская энциклопедияAmplifica

                    Gaius Norbanus Flaccus (consul 38 a.C.n.) Index De gente | De cursu honorum | Notae | Fontes | Si vis plura legere | Tabula navigationisHic legere potes