22 * Copyright (c) 2025 Beyond The Cloud Sp. z o.o. (BeyondTheCloud.Dev)
33 * Licensed under the MIT License (https://github.com/beyond-the-cloud-dev/soql-lib/blob/main/LICENSE)
44 *
5- * v6.2 .0
5+ * v6.3 .0
66 *
77 * PMD False Positives:
88 * - ExcessivePublicCount: It is a library class and exposes all necessary methods to construct a query
1717 * - NcssTypeCount: It is a library and we tried to put everything into ONE class
1818**/
1919@SuppressWarnings(' PMD.ExcessivePublicCount,PMD.ExcessiveClassLength,PMD.FieldNamingConventions,PMD.CyclomaticComplexity,PMD.CognitiveComplexity,PMD.PropertyNamingConventions,PMD.FieldDeclarationsShouldBeAtStart,PMD.ApexDoc,PMD.ExcessiveParameterList,PMD.NcssTypeCount' )
20- public virtual inherited sharing class SOQL implements Queryable {
21- public interface Selector {
20+ global virtual inherited sharing class SOQL implements Queryable {
21+ global interface Selector {
2222 Queryable query ();
2323 }
2424
25- public static Queryable of (SObjectType ofObject ) {
25+ global static Queryable of (SObjectType ofObject ) {
2626 return new SOQL (ofObject );
2727 }
2828
29- public static Queryable of (String ofObject ) {
29+ global static Queryable of (String ofObject ) {
3030 return new SOQL (ofObject );
3131 }
3232
33- public interface Queryable {
33+ global interface Queryable {
3434 // SELECT
3535 Queryable with (SObjectField field );
3636 Queryable with (SObjectField field1 , SObjectField field2 );
@@ -194,7 +194,7 @@ public virtual inherited sharing class SOQL implements Queryable {
194194 Map <String , Object > binding ();
195195 }
196196
197- public interface SubQuery {
197+ global interface SubQuery {
198198 SubQuery of (String ofObject );
199199 // SELECT
200200 SubQuery with (SObjectField field );
@@ -227,7 +227,7 @@ public virtual inherited sharing class SOQL implements Queryable {
227227 String getChildRelationshipName ();
228228 }
229229
230- public interface FilterGroup {
230+ global interface FilterGroup {
231231 // ADD CONDITION
232232 FilterGroup add (FilterGroup filterGroup );
233233 FilterGroup add (Filter filter );
@@ -243,7 +243,7 @@ public virtual inherited sharing class SOQL implements Queryable {
243243 Boolean hasValues ();
244244 }
245245
246- public interface Filter {
246+ global interface Filter {
247247 // FIELDS
248248 Filter id ();
249249 Filter recordType ();
@@ -286,7 +286,7 @@ public virtual inherited sharing class SOQL implements Queryable {
286286 Boolean hasValue ();
287287 }
288288
289- public interface InnerJoin {
289+ global interface InnerJoin {
290290 InnerJoin of (SObjectType ofObject );
291291 // SELECT
292292 InnerJoin with (SObjectField field );
@@ -295,7 +295,7 @@ public virtual inherited sharing class SOQL implements Queryable {
295295 InnerJoin whereAre (Filter filter );
296296 }
297297
298- public interface HavingFilterGroup {
298+ global interface HavingFilterGroup {
299299 // ADD CONDITION
300300 HavingFilterGroup add (HavingFilterGroup havingFilterGroup );
301301 HavingFilterGroup add (HavingFilter havingFilter );
@@ -307,7 +307,7 @@ public virtual inherited sharing class SOQL implements Queryable {
307307 Boolean hasValues ();
308308 }
309309
310- public interface HavingFilter {
310+ global interface HavingFilter {
311311 // FIELDS
312312 HavingFilter with (SObjectField field );
313313 HavingFilter with (String field );
@@ -342,11 +342,11 @@ public virtual inherited sharing class SOQL implements Queryable {
342342 Boolean hasValue ();
343343 }
344344
345- public interface DataCategoryFilterGroup {
345+ global interface DataCategoryFilterGroup {
346346 DataCategoryFilterGroup add (DataCategoryFilter dataCategoryFilter );
347347 }
348348
349- public interface DataCategoryFilter {
349+ global interface DataCategoryFilter {
350350 // FIELDS
351351 DataCategoryFilter with (String field );
352352 // COMPARATORS
@@ -362,36 +362,36 @@ public virtual inherited sharing class SOQL implements Queryable {
362362 Boolean hasValue ();
363363 }
364364
365- public interface AggregateResultProxy {
365+ global interface AggregateResultProxy {
366366 Object get (String field );
367367 Map <String , Object > getPopulatedFieldsAsMap ();
368368 }
369369
370- public static SubQuery SubQuery {
370+ global static SubQuery SubQuery {
371371 get { return new SoqlSubQuery (); }
372372 }
373373
374- public static FilterGroup FilterGroup {
374+ global static FilterGroup FilterGroup {
375375 get { return new SoqlFilterGroup (); }
376376 }
377377
378- public static Filter Filter {
378+ global static Filter Filter {
379379 get { return new SoqlFilter (); }
380380 }
381381
382- public static InnerJoin InnerJoin {
382+ global static InnerJoin InnerJoin {
383383 get { return new SoqlJoinQuery (); }
384384 }
385385
386- public static HavingFilterGroup HavingFilterGroup {
386+ global static HavingFilterGroup HavingFilterGroup {
387387 get { return new SoqlHavingFilterGroup (); }
388388 }
389389
390- public static HavingFilter HavingFilter {
390+ global static HavingFilter HavingFilter {
391391 get { return new SoqlHavingFilter (); }
392392 }
393393
394- public static DataCategoryFilter DataCategoryFilter {
394+ global static DataCategoryFilter DataCategoryFilter {
395395 get { return new SoqlDataCategoryFilter (); }
396396 }
397397
@@ -408,7 +408,7 @@ public virtual inherited sharing class SOQL implements Queryable {
408408
409409 public static RandomIdGenerator IdGenerator = new RandomIdGenerator ();
410410
411- public interface Mockable {
411+ global interface Mockable {
412412 // SObject
413413 Mockable thenReturn (SObject record );
414414 Mockable thenReturn (List <SObject > records );
0 commit comments