Method Does Not Exist error messageCan this trigger logic be improved? Potential map redundancyFilter and search is not workingUnit Test is Providing 0% Coverage for Apex Triggerschema.getglobaldescribe needs test classMethod does not exist or incorrect signature…why?Method does not exist or incorrect signature: void getId()How to convert Datetime datatype to Date format only?get all the contact name from Account QueryMethod does not exist or incorrect signature: void getSObjectMethod does not exist or incorrect signature: void parse(String) from the type or_propertyJSONTest

How to show a landlord what we have in savings?

ssTTsSTtRrriinInnnnNNNIiinngg

How can saying a song's name be a copyright violation?

Probability that a draw from a normal distribution is some number greater than another draw from the same distribution

Examples of smooth manifolds admitting inbetween one and a continuum of complex structures

Venezuelan girlfriend wants to travel the USA to be with me. What is the process?

Unlock My Phone! February 2018

Why doesn't using multiple commands with a || or && conditional work?

Am I breaking OOP practice with this architecture?

Is there an expression that means doing something right before you will need it rather than doing it in case you might need it?

Can compressed videos be decoded back to their uncompresed original format?

Calculating entropy change: reversible vs irreversible process

Is "remove commented out code" correct English?

Why can't we play rap on piano?

Detention in 1997

CAST throwing error when run in stored procedure but not when run as raw query

Forgetting the musical notes while performing in concert

Why is it a bad idea to hire a hitman to eliminate most corrupt politicians?

What does the expression "A Mann!" means

Assassin's bullet with mercury

Expand and Contract

Avoiding the "not like other girls" trope?

Madden-Julian Oscillation (MJO) - How to interpret the index?

What about the virus in 12 Monkeys?



Method Does Not Exist error message


Can this trigger logic be improved? Potential map redundancyFilter and search is not workingUnit Test is Providing 0% Coverage for Apex Triggerschema.getglobaldescribe needs test classMethod does not exist or incorrect signature…why?Method does not exist or incorrect signature: void getId()How to convert Datetime datatype to Date format only?get all the contact name from Account QueryMethod does not exist or incorrect signature: void getSObjectMethod does not exist or incorrect signature: void parse(String) from the type or_propertyJSONTest













1















My class subtracts the values of child account number fields from the current values of it's parent account number fields in a hierarchy. I need this class to run everytime a child account changes its parent (i.e the parent name field is edited to a new name). I'm attempting to have this trigger compare the old value and the new value of the parent field, when creating the logic for this trigger I keep recieving this error message:




Method does not exist or incorrect signature: void executeSub(Account)
from the type Parent_Subtract




Class:



public class Parent_Subtract 
public static void executeSub(List<Account> scope)

Id CRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Customer Account').getRecordTypeId();
Id DRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Division Account').getRecordTypeId();
Id SRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Site Account').getRecordTypeId();
Id ERecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Enterprise Account').getRecordTypeId();
Id DSAccounts = '01270000578681Y';


List<Id> listIds = new List<Id>();
Map<Id, Account> parentAccounts = new Map<Id, Account>([SELECT Id, RecordTypeId, Parent_Account__c, Total_CCF__c, Total_Revenue__c,
Total_Usage_kWh__c, Account_kw__c, AnnualRev FROM Account WHERE ID In :listIds]);
Map<Id, Account> newParent = new Map<Id, Account>();
Set<ID> setParentAcctID = new set<ID>();
List<Account> listforFinalUpdate = new List<Account>();

for(Account acc : scope)
setParentAcctID.add(acc.Parent_Account__c);


List<account> listParentAcctData = [Select id, Total_CCF__c, Total_Revenue__c,
Total_Usage_kWh__c, Account_kw__c, AnnualRevenue
FROM account
WHERE id =: setParentAcctID];
for(Account a : listParentAcctData)

newParent.put(a.id,a);


for(Account acc: scope)

Account acct = newParent.get(acc.Parent_Account__c);

system.debug('acc.Total_Usage_kWh__c:'+acc.Total_Usage_kWh__c);
system.debug('acc.Total_CCF__c:'+acc.Total_CCF__c);
system.debug('acc.AnnualRev:'+acc.AnnualRev);
system.debug('acc.Account_kw__c:'+acc.Account_kw__c);

acct.Total_Usage_kWh__c -= acc.Total_Usage_kWh__c;
acct.Total_CCF__c -= acc.Total_CCF__c;
acct.AnnualRev -= acc.AnnualRev;
acct.Account_kw__c -= acc.Account_kw__c;

listforFinalUpdate.add(acct);


if(listforFinalUpdate.size() > 0)

update listforFinalUpdate;






Trigger:



trigger Parent_Subtract_Trigger on Account (before insert) 
List<Account> acct = new List<Account>();
if(Trigger.isUpdate)
for(Account acc: Trigger.New)

Account oldName = Trigger.oldMap.get(acc.Parent_Account__c);
String oldParentName = oldName.Name ;
String newParentName = acc.Parent_Account__c;

if(Trigger.oldmap.get(acc.Id).Name != Trigger.newmap.get(acc.Parent_Account__c).name)
Parent_Subtract.executeSub(acct);






Am I on the right track with this functionality and does anyone know why I am recieving this message?










share|improve this question









New contributor




Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
























    1















    My class subtracts the values of child account number fields from the current values of it's parent account number fields in a hierarchy. I need this class to run everytime a child account changes its parent (i.e the parent name field is edited to a new name). I'm attempting to have this trigger compare the old value and the new value of the parent field, when creating the logic for this trigger I keep recieving this error message:




    Method does not exist or incorrect signature: void executeSub(Account)
    from the type Parent_Subtract




    Class:



    public class Parent_Subtract 
    public static void executeSub(List<Account> scope)

    Id CRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Customer Account').getRecordTypeId();
    Id DRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Division Account').getRecordTypeId();
    Id SRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Site Account').getRecordTypeId();
    Id ERecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Enterprise Account').getRecordTypeId();
    Id DSAccounts = '01270000578681Y';


    List<Id> listIds = new List<Id>();
    Map<Id, Account> parentAccounts = new Map<Id, Account>([SELECT Id, RecordTypeId, Parent_Account__c, Total_CCF__c, Total_Revenue__c,
    Total_Usage_kWh__c, Account_kw__c, AnnualRev FROM Account WHERE ID In :listIds]);
    Map<Id, Account> newParent = new Map<Id, Account>();
    Set<ID> setParentAcctID = new set<ID>();
    List<Account> listforFinalUpdate = new List<Account>();

    for(Account acc : scope)
    setParentAcctID.add(acc.Parent_Account__c);


    List<account> listParentAcctData = [Select id, Total_CCF__c, Total_Revenue__c,
    Total_Usage_kWh__c, Account_kw__c, AnnualRevenue
    FROM account
    WHERE id =: setParentAcctID];
    for(Account a : listParentAcctData)

    newParent.put(a.id,a);


    for(Account acc: scope)

    Account acct = newParent.get(acc.Parent_Account__c);

    system.debug('acc.Total_Usage_kWh__c:'+acc.Total_Usage_kWh__c);
    system.debug('acc.Total_CCF__c:'+acc.Total_CCF__c);
    system.debug('acc.AnnualRev:'+acc.AnnualRev);
    system.debug('acc.Account_kw__c:'+acc.Account_kw__c);

    acct.Total_Usage_kWh__c -= acc.Total_Usage_kWh__c;
    acct.Total_CCF__c -= acc.Total_CCF__c;
    acct.AnnualRev -= acc.AnnualRev;
    acct.Account_kw__c -= acc.Account_kw__c;

    listforFinalUpdate.add(acct);


    if(listforFinalUpdate.size() > 0)

    update listforFinalUpdate;






    Trigger:



    trigger Parent_Subtract_Trigger on Account (before insert) 
    List<Account> acct = new List<Account>();
    if(Trigger.isUpdate)
    for(Account acc: Trigger.New)

    Account oldName = Trigger.oldMap.get(acc.Parent_Account__c);
    String oldParentName = oldName.Name ;
    String newParentName = acc.Parent_Account__c;

    if(Trigger.oldmap.get(acc.Id).Name != Trigger.newmap.get(acc.Parent_Account__c).name)
    Parent_Subtract.executeSub(acct);






    Am I on the right track with this functionality and does anyone know why I am recieving this message?










    share|improve this question









    New contributor




    Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      1












      1








      1








      My class subtracts the values of child account number fields from the current values of it's parent account number fields in a hierarchy. I need this class to run everytime a child account changes its parent (i.e the parent name field is edited to a new name). I'm attempting to have this trigger compare the old value and the new value of the parent field, when creating the logic for this trigger I keep recieving this error message:




      Method does not exist or incorrect signature: void executeSub(Account)
      from the type Parent_Subtract




      Class:



      public class Parent_Subtract 
      public static void executeSub(List<Account> scope)

      Id CRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Customer Account').getRecordTypeId();
      Id DRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Division Account').getRecordTypeId();
      Id SRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Site Account').getRecordTypeId();
      Id ERecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Enterprise Account').getRecordTypeId();
      Id DSAccounts = '01270000578681Y';


      List<Id> listIds = new List<Id>();
      Map<Id, Account> parentAccounts = new Map<Id, Account>([SELECT Id, RecordTypeId, Parent_Account__c, Total_CCF__c, Total_Revenue__c,
      Total_Usage_kWh__c, Account_kw__c, AnnualRev FROM Account WHERE ID In :listIds]);
      Map<Id, Account> newParent = new Map<Id, Account>();
      Set<ID> setParentAcctID = new set<ID>();
      List<Account> listforFinalUpdate = new List<Account>();

      for(Account acc : scope)
      setParentAcctID.add(acc.Parent_Account__c);


      List<account> listParentAcctData = [Select id, Total_CCF__c, Total_Revenue__c,
      Total_Usage_kWh__c, Account_kw__c, AnnualRevenue
      FROM account
      WHERE id =: setParentAcctID];
      for(Account a : listParentAcctData)

      newParent.put(a.id,a);


      for(Account acc: scope)

      Account acct = newParent.get(acc.Parent_Account__c);

      system.debug('acc.Total_Usage_kWh__c:'+acc.Total_Usage_kWh__c);
      system.debug('acc.Total_CCF__c:'+acc.Total_CCF__c);
      system.debug('acc.AnnualRev:'+acc.AnnualRev);
      system.debug('acc.Account_kw__c:'+acc.Account_kw__c);

      acct.Total_Usage_kWh__c -= acc.Total_Usage_kWh__c;
      acct.Total_CCF__c -= acc.Total_CCF__c;
      acct.AnnualRev -= acc.AnnualRev;
      acct.Account_kw__c -= acc.Account_kw__c;

      listforFinalUpdate.add(acct);


      if(listforFinalUpdate.size() > 0)

      update listforFinalUpdate;






      Trigger:



      trigger Parent_Subtract_Trigger on Account (before insert) 
      List<Account> acct = new List<Account>();
      if(Trigger.isUpdate)
      for(Account acc: Trigger.New)

      Account oldName = Trigger.oldMap.get(acc.Parent_Account__c);
      String oldParentName = oldName.Name ;
      String newParentName = acc.Parent_Account__c;

      if(Trigger.oldmap.get(acc.Id).Name != Trigger.newmap.get(acc.Parent_Account__c).name)
      Parent_Subtract.executeSub(acct);






      Am I on the right track with this functionality and does anyone know why I am recieving this message?










      share|improve this question









      New contributor




      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      My class subtracts the values of child account number fields from the current values of it's parent account number fields in a hierarchy. I need this class to run everytime a child account changes its parent (i.e the parent name field is edited to a new name). I'm attempting to have this trigger compare the old value and the new value of the parent field, when creating the logic for this trigger I keep recieving this error message:




      Method does not exist or incorrect signature: void executeSub(Account)
      from the type Parent_Subtract




      Class:



      public class Parent_Subtract 
      public static void executeSub(List<Account> scope)

      Id CRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Customer Account').getRecordTypeId();
      Id DRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Division Account').getRecordTypeId();
      Id SRecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Site Account').getRecordTypeId();
      Id ERecordType = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Enterprise Account').getRecordTypeId();
      Id DSAccounts = '01270000578681Y';


      List<Id> listIds = new List<Id>();
      Map<Id, Account> parentAccounts = new Map<Id, Account>([SELECT Id, RecordTypeId, Parent_Account__c, Total_CCF__c, Total_Revenue__c,
      Total_Usage_kWh__c, Account_kw__c, AnnualRev FROM Account WHERE ID In :listIds]);
      Map<Id, Account> newParent = new Map<Id, Account>();
      Set<ID> setParentAcctID = new set<ID>();
      List<Account> listforFinalUpdate = new List<Account>();

      for(Account acc : scope)
      setParentAcctID.add(acc.Parent_Account__c);


      List<account> listParentAcctData = [Select id, Total_CCF__c, Total_Revenue__c,
      Total_Usage_kWh__c, Account_kw__c, AnnualRevenue
      FROM account
      WHERE id =: setParentAcctID];
      for(Account a : listParentAcctData)

      newParent.put(a.id,a);


      for(Account acc: scope)

      Account acct = newParent.get(acc.Parent_Account__c);

      system.debug('acc.Total_Usage_kWh__c:'+acc.Total_Usage_kWh__c);
      system.debug('acc.Total_CCF__c:'+acc.Total_CCF__c);
      system.debug('acc.AnnualRev:'+acc.AnnualRev);
      system.debug('acc.Account_kw__c:'+acc.Account_kw__c);

      acct.Total_Usage_kWh__c -= acc.Total_Usage_kWh__c;
      acct.Total_CCF__c -= acc.Total_CCF__c;
      acct.AnnualRev -= acc.AnnualRev;
      acct.Account_kw__c -= acc.Account_kw__c;

      listforFinalUpdate.add(acct);


      if(listforFinalUpdate.size() > 0)

      update listforFinalUpdate;






      Trigger:



      trigger Parent_Subtract_Trigger on Account (before insert) 
      List<Account> acct = new List<Account>();
      if(Trigger.isUpdate)
      for(Account acc: Trigger.New)

      Account oldName = Trigger.oldMap.get(acc.Parent_Account__c);
      String oldParentName = oldName.Name ;
      String newParentName = acc.Parent_Account__c;

      if(Trigger.oldmap.get(acc.Id).Name != Trigger.newmap.get(acc.Parent_Account__c).name)
      Parent_Subtract.executeSub(acct);






      Am I on the right track with this functionality and does anyone know why I am recieving this message?







      apex trigger soql account






      share|improve this question









      New contributor




      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 39 mins ago







      Mark Wilson













      New contributor




      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 1 hour ago









      Mark WilsonMark Wilson

      63




      63




      New contributor




      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Mark Wilson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          1 Answer
          1






          active

          oldest

          votes


















          4














          You're calling a method with a single Account parameter:



          Parent_Subtract.executeSub(acct);


          but this method is defined to take a List<Account> as its parameter:



          public static void executeSub(List<Account> scope) 


          This method is bulkified: it is defined to run exactly one DML operation:



          update listforFinalUpdate;


          regardless of how many Account records it receives. For this reason you need to be calling it with a List<Account>, not calling it repeatedly in a loop. Your trigger should accumulate a List<Account> inside your for loop, and then make a single call to executeSub() outside the loop.






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



            );






            Mark Wilson is a new contributor. Be nice, and check out our Code of Conduct.









            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f256456%2fmethod-does-not-exist-error-message%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









            4














            You're calling a method with a single Account parameter:



            Parent_Subtract.executeSub(acct);


            but this method is defined to take a List<Account> as its parameter:



            public static void executeSub(List<Account> scope) 


            This method is bulkified: it is defined to run exactly one DML operation:



            update listforFinalUpdate;


            regardless of how many Account records it receives. For this reason you need to be calling it with a List<Account>, not calling it repeatedly in a loop. Your trigger should accumulate a List<Account> inside your for loop, and then make a single call to executeSub() outside the loop.






            share|improve this answer



























              4














              You're calling a method with a single Account parameter:



              Parent_Subtract.executeSub(acct);


              but this method is defined to take a List<Account> as its parameter:



              public static void executeSub(List<Account> scope) 


              This method is bulkified: it is defined to run exactly one DML operation:



              update listforFinalUpdate;


              regardless of how many Account records it receives. For this reason you need to be calling it with a List<Account>, not calling it repeatedly in a loop. Your trigger should accumulate a List<Account> inside your for loop, and then make a single call to executeSub() outside the loop.






              share|improve this answer

























                4












                4








                4







                You're calling a method with a single Account parameter:



                Parent_Subtract.executeSub(acct);


                but this method is defined to take a List<Account> as its parameter:



                public static void executeSub(List<Account> scope) 


                This method is bulkified: it is defined to run exactly one DML operation:



                update listforFinalUpdate;


                regardless of how many Account records it receives. For this reason you need to be calling it with a List<Account>, not calling it repeatedly in a loop. Your trigger should accumulate a List<Account> inside your for loop, and then make a single call to executeSub() outside the loop.






                share|improve this answer













                You're calling a method with a single Account parameter:



                Parent_Subtract.executeSub(acct);


                but this method is defined to take a List<Account> as its parameter:



                public static void executeSub(List<Account> scope) 


                This method is bulkified: it is defined to run exactly one DML operation:



                update listforFinalUpdate;


                regardless of how many Account records it receives. For this reason you need to be calling it with a List<Account>, not calling it repeatedly in a loop. Your trigger should accumulate a List<Account> inside your for loop, and then make a single call to executeSub() outside the loop.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 1 hour ago









                David ReedDavid Reed

                38.8k82356




                38.8k82356




















                    Mark Wilson is a new contributor. Be nice, and check out our Code of Conduct.









                    draft saved

                    draft discarded


















                    Mark Wilson is a new contributor. Be nice, and check out our Code of Conduct.












                    Mark Wilson is a new contributor. Be nice, and check out our Code of Conduct.











                    Mark Wilson is a new contributor. Be nice, and check out our Code of Conduct.














                    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%2f256456%2fmethod-does-not-exist-error-message%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

                    Era Viking Índice Início da Era Viquingue | Cotidiano | Sociedade | Língua | Religião | A arte | As primeiras cidades | As viagens dos viquingues | Viquingues do Oeste e Leste | Fim da Era Viquingue | Fontes históricas | Referências Bibliografia | Ligações externas | Menu de navegação«Sverige då!»«Handel I vikingetid»«O que é Nórdico Antigo»Mito, magia e religião na volsunga saga Um olhar sobre a trajetória mítica do herói sigurd«Bonden var den verklige vikingen»«Vikingatiden»«Vikingatiden»«Vinland»«Guerreiras de Óðinn: As Valkyrjor na Mitologia Viking»1519-9053«Esculpindo símbolos e seres: A arte viking em pedras rúnicas»1679-9313Historia - Tema: VikingarnaAventura e Magia no Mundo das Sagas IslandesasEra Vikinge

                    What's the metal clinking sound at the end of credits in Avengers: Endgame?What makes Thanos so strong in Avengers: Endgame?Who is the character that appears at the end of Endgame?What happens to Mjolnir (Thor's hammer) at the end of Endgame?The People's Ages in Avengers: EndgameWhat did Nebula do in Avengers: Endgame?Messing with time in the Avengers: Endgame climaxAvengers: Endgame timelineWhat are the time-travel rules in Avengers Endgame?Why use this song in Avengers: Endgame Opening Logo Sequence?Peggy's age in Avengers Endgame

                    Are there legal definitions of ethnicities/races? The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Legal definitions in the United StatesAre there truly legal limits on US interest rates?Are gender identity and sexual orientation federally protected?Why is there an apparent legal bias against digital services?What limits are there to the powers of individual judges in the United States legal system?Are women only scholarships legal under Irish / EU law?Is the term “race” defined by Public Law enacted by Congress of the United StatesIs there a legal definition of race in the US?Neighbors are spying for landlord on Renters is it legal?Are Protected Classes Bi-directional?