Skip to content

Commit 5d01b00

Browse files
committed
refactoring
1 parent 7357b19 commit 5d01b00

File tree

2 files changed

+12
-31
lines changed

2 files changed

+12
-31
lines changed

force-app/main/default/classes/SOQL.cls

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,14 @@ public inherited sharing class SOQL implements Queryable {
5151
SOQL with(SObjectField field1, SObjectField field2, SObjectField field3);
5252
SOQL with(SObjectField field1, SObjectField field2, SObjectField field3, SObjectField field4);
5353
SOQL with(SObjectField field1, SObjectField field2, SObjectField field3, SObjectField field4, SObjectField field5);
54-
SOQL with(Set<SObjectField> fields);
55-
SOQL with(List<SObjectField> fields);
56-
57-
SOQL with(String fields);
58-
54+
SOQL with(List<SObjectField> fields); // For more than 5 fields
55+
SOQL with(String fields); // Dynamic SOQL
5956
SOQL with(String relationshipName, SObjectField field);
6057
SOQL with(String relationshipName, SObjectField field1, SObjectField field2);
6158
SOQL with(String relationshipName, SObjectField field1, SObjectField field2, SObjectField field3);
6259
SOQL with(String relationshipName, SObjectField field1, SObjectField field2, SObjectField field3, SObjectField field4);
6360
SOQL with(String relationshipName, SObjectField field1, SObjectField field2, SObjectField field3, SObjectField field4, SObjectField field5);
64-
SOQL with(String relationshipName, List<SObjectField> fields);
65-
61+
SOQL with(String relationshipName, List<SObjectField> fields); // For more than 5 fields
6662
SOQL with(SubQuery subQuery); // SOQL.SubQuery
6763

6864
SOQL count();
@@ -77,7 +73,7 @@ public inherited sharing class SOQL implements Queryable {
7773
SOQL teamScope();
7874

7975
SOQL whereAre(FilterClause conditions); // SOQL.FilterGroup or SOQL.Filter
80-
SOQL whereAre(String conditions); // conditions to evaluate
76+
SOQL whereAre(String conditions); // Conditions to evaluate
8177

8278
SOQL groupBy(SObjectField field);
8379
SOQL groupByRollup(SObjectField field);
@@ -134,7 +130,7 @@ public inherited sharing class SOQL implements Queryable {
134130
SubQuery with(SObjectField field1, SObjectField field2, SObjectField field3);
135131
SubQuery with(SObjectField field1, SObjectField field2, SObjectField field3, SObjectField field4);
136132
SubQuery with(SObjectField field1, SObjectField field2, SObjectField field3, SObjectField field4, SObjectField field5);
137-
SubQuery with(List<SObjectField> fields);
133+
SubQuery with(List<SObjectField> fields); // For more than 5 fields
138134
SubQuery with(String relationshipName, List<SObjectField> fields);
139135

140136
SubQuery whereAre(FilterClause conditions); // SOQL.FilterGroup or SOQL.Filter
@@ -177,18 +173,19 @@ public inherited sharing class SOQL implements Queryable {
177173
Filter startsWith(String value); // LIKE :value + '%'
178174
Filter isIn(Set<String> inSet); // IN :inSet
179175
Filter isIn(List<Object> inList); // IN :inList
176+
Filter isIn(JoinQuery joinQuery); // SOQL.JoinQuery
180177
Filter notIn(Set<String> inSet); // NOT IN :inSet
181178
Filter notIn(List<Object> inList); // NOT IN :inList
182-
183-
Filter isIn(JoinQuery joinQuery); // SOQL.JoinQuery
184179
Filter notIn(JoinQuery joinQuery); // SOQL.JoinQuery
185180

186-
Filter removeWhenNull();
181+
Filter removeWhenNull(); // Condition will be removed for value = null
187182
}
188183

189184
public interface SoqlFiltersGroup { // SOQL.FilterGroup
190185
FilterGroup add(FilterClause condition); // SOQL.Filter or SOQL.FilterGroup
191-
FilterGroup anyConditionMatching(); // Join with OR
186+
187+
FilterGroup anyConditionMatching(); // All group filters will be join by OR
188+
192189
FilterGroup conditionLogic(String order);
193190
}
194191

@@ -220,6 +217,8 @@ public inherited sharing class SOQL implements Queryable {
220217
mock.setStaticResourceMock(mockId, staticResource);
221218
}
222219

220+
// Config
221+
223222
private static Mock mock = new Mock();
224223

225224
private QueryBuilder builder;
@@ -257,10 +256,6 @@ public inherited sharing class SOQL implements Queryable {
257256
return with(field1).with(field2).with(field3).with(field4).with(field5);
258257
}
259258

260-
public SOQL with(Set<SObjectField> fields) {
261-
return with(new List<SObjectField>(fields));
262-
}
263-
264259
public SOQL with(List<SObjectField> fields) {
265260
builder.fields.with(fields);
266261
return this;
@@ -517,8 +512,6 @@ public inherited sharing class SOQL implements Queryable {
517512
return whereAre(Filter.id().isIn(records));
518513
}
519514

520-
// Config
521-
522515
public interface QueryClause {
523516
String build();
524517
}

force-app/main/default/classes/SOQL_Test.cls

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -100,18 +100,6 @@ private class SOQL_Test {
100100
Assert.areEqual('SELECT Id, Name, BillingCity, AccountNumber, AccountSource FROM Account', soql);
101101
}
102102

103-
@IsTest
104-
static void withSetOfFields() {
105-
// Test
106-
String soql = SOQL.of(Account.SObjectType)
107-
.with(new Set<SObjectField>{
108-
Account.Name, Account.BillingCity
109-
}).toString();
110-
111-
// Verify
112-
Assert.areEqual('SELECT Name, BillingCity FROM Account', soql);
113-
}
114-
115103
@IsTest
116104
static void withListOfFields() {
117105
// Test

0 commit comments

Comments
 (0)