Skip to content

Commit d923e33

Browse files
committed
Added public method to QueryUtils.cls that accepts a string of the SObject API name and returns back a query string with all fields for the SObject.
1 parent e198c0e commit d923e33

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

src/classes/QueryUtils.cls

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,24 @@
11
public class QueryUtils {
2+
public static String getSObjectQuery(String sobjectApiName) {
3+
Schema.SObjectType sobjectType = Schema.getGlobalDescribe().get(sobjectAPIName);
4+
5+
List<String> fields = new List<String>();
6+
Map<String, Schema.SObjectField> fieldMap = sobjectType.getDescribe().fields.getMap();
7+
for(Schema.SObjectField sobjectField : fieldMap.values()) {
8+
fields.add(sobjectField.getDescribe().getName());
9+
}
10+
11+
return buildQuery(sobjectApiName, fields);
12+
}
13+
14+
private static String buildQuery(String sobjectApiName, List<String> fields) {
15+
String queryFields = String.join(fields, ', ' );
16+
String query = 'SELECT ' + queryFields
17+
+ ' FROM ' + sobjectApiName;
18+
19+
return query;
20+
}
21+
222
private static String getQueryFields(List<Schema.FieldSetMember> fieldSet) {
323
String queryFields = '';
424
for(Schema.FieldSetMember field : fieldSet) {

0 commit comments

Comments
 (0)