Skip to content

ecollis6/atom-apex-snippets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Atom Apex Snippets Apex code snippets for Atom IDE. This is a work in progress. I will publish to APM regularly as I add new snippets.

View on Atom.io

##Installation Run the following command to install:

apm install apex-snippets

##Snippets ###apexclass

public class ClassName {

}

###apextrigger

trigger ObjectNameTrigger on ObjectApiName (
  before insert, before update, before delete,
  after insert, after update, after delete, after undelete) {

    //Note: Use a separate trigger handler for best practice
    //https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigger_Best_Practices
    //use the 'apextriggerhandler' snippet to create a trigger handler in another class

    ObjectNameTriggerHandler handler = new ObjectNameTriggerHandler ();

    //Before Insert
    if (Trigger.isInsert && Trigger.isBefore) {
        handler.OnBeforeInsert(Trigger.new);
    }

    //After Insert
    else if (Trigger.isInsert && Trigger.isAfter) {
        handler.OnAfterInsert(Trigger.new);
    }

    //Before Update
    else if (Trigger.isUpdate && Trigger.isBefore) {
        handler.OnBeforeUpdate(Trigger.old, Trigger.new, Trigger.newMap);
    }

    //After Update
    else if (Trigger.isUpdate && Trigger.isAfter) {
       handler.OnAfterUpdate(Trigger.old, Trigger.new, Trigger.newMap);
    }

    //Before Delete
    else if (Trigger.isDelete && Trigger.isBefore) {
        handler.OnBeforeDelete(Trigger.old, Trigger.oldMap);
    }

    //After Delete
    else if(Trigger.isDelete && Trigger.isAfter) {
        handler.OnAfterDelete(Trigger.old, Trigger.oldMap);
    }

    //After Undelete
    else if (Trigger.isUndelete) {
        handler.OnUnDelete(Trigger.new);
    }


}

###apextriggerhandler

public with sharing class ObjectNameTriggerHandler {

    // On Before Insert
    public void OnBeforeInsert(List<ObjectApiName> newRecords) {

    }

    // On After Insert
    public void OnAfterInsert(List<ObjectApiName> newRecords) {

    }

    // On Before Update
    public void OnBeforeUpdate(List<ObjectApiName> oldRecords, List<ObjectApiName> newRecords, Map<Id, ObjectApiName> newRecordsMap) {

    }

    // After Update
    public void OnAfterUpdate(List<ObjectApiName> oldRecords, List<ObjectApiName> newRecords, Map<Id, ObjectApiName> newRecordsMap) {

    }

    // On Before Delete
    public void OnBeforeDelete(List<ObjectApiName> deletedRecords, Map<Id, ObjectApiName> deletedRecordsMap) {

    }

    // On After Delete
    public void OnAfterDelete(List<ObjectApiName> deletedRecords, Map<Id, ObjectApiName> deletedRecordsMap) {

    }

    // On Undelete
    public void OnUnDelete(List<ObjectApiName> undeletedRecords) {

    }

}

###apextestclass

@isTest(seeAllData=false)
public class TestClassName {

    static testMethod void testMethodName() {

         Profile p = [select id from profile where name='Standard User'];
         User u = new User(alias = 'standt', email='[email protected]',
            emailencodingkey='UTF-8', lastname='Testing', languagelocalekey='en_US',
            localesidkey='en_US', profileid = p.Id,
            timezonesidkey='America/Los_Angeles', username='[email protected]');

        test.startTest();
        system.runAs(u) {
            //start writing your test
        }
        test.stopTest();

    }

}

##Contributing Contributions are welcome! Please raise an issue or submit a pull request.