Quick and easy way to convert a List<sObject> to Set<Id>

A quick and efficient way to convert a list of sObject’s into a Set of Id’s.


List<Id,Account> accountList = new List<Id,Account>();
accountList = [SELECT Id, Name FROM Account WHERE Name LIKE 'A%'];

//Convert list to Set of Ids.
Set<Id> accountdIds = (new Map<Id,Account>(accountList)).keySet();

Refresh Detail Page Fields from Custom Quick Action

If you want to update information displayed on the detail page or the feed view on an object after updating the record from a custom quick action visualforce page, then you can you the below snippet which uses the Canvas / Publisher API.

//Publisher JS Library
<apex:includeScript value="/canvas/sdk/js/publisher.js" />

//Action Function
<apex:actionFunction name="executeUpdate" action="{!updateCaseClassification}" oncomplete="refreshFeed();">

function refreshFeed() 
{
    Sfdc.canvas.publisher.publish(
    { 
        name : 'publisher.refresh', 
        payload : { 
            feed: true, 
            objectFields: true
        }
    });
}

Validate An ID Field Format

There may be times where you would like to valid if an sObject ID is valid.    A good use case would be when an ID is passed as a URL parameter to a visualforce page.   The below method can be used to check this.

 /**
 * Validates an ID passed.
 **/ 
 public Boolean validId(String inputId) {
 String id = String.escapeSingleQuotes(inputId);
 if((id.length() == 15 || id.length() == 18) && Pattern.matches('^[a-zA-Z0-9]*$', id)) {
 return true;
 }
 return false;
 }

Custom Cancel Button Action

Sometimes you may not be able to use the standard controller “cancel” page action, so you can easily replicate the behavior using the below snippet.  This will return the person to the object record.

Visualforce Code:

<apex:commandButton action="{!actionCancel}" value="Cancel"/>

Apex Code:

public PageReference actionCancel() { 
    PageReference page = new PageReference('/'+objectRecord.Id);
    page.setRedirect(true);
    return page;
}