Skip to content

Instantly share code, notes, and snippets.

@sfmishra
Created March 23, 2019 19:24
Show Gist options
  • Save sfmishra/e5d26ab0012563dcd5bb9fa5b50d8a17 to your computer and use it in GitHub Desktop.
Save sfmishra/e5d26ab0012563dcd5bb9fa5b50d8a17 to your computer and use it in GitHub Desktop.
public class UtilityClass {
public static List<sObject> queryObjects(String theObject, List<String> theFields, List<String> theFilters, String sortField, String sortOrder) {
String theQuery = 'SELECT ' + string.join(theFields, ',');
theQuery += ' FROM ' + theObject;
boolean firstFilter = true;
for(String filter : theFilters) {
String clauseToUse = (firstFilter) ? ' WHERE ' : ' AND ';
filter = filter.trim();
filter = filter.replaceAll('(\\s+)', ' '); // removing white spaces
theQuery += clauseToUse + filter;
}
if(!String.isEmpty(sortField)) {
theQuery += ' ORDER BY ' + sortField;
if(!String.isEmpty(sortOrder)) {
theQuery += ' ' + sortOrder;
}
}
String queryResult = string.escapeSingleQuotes(theQuery);
return Database.query(queryResult);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment