QRY_Builder.ConditionBuilder
Class
global inherited sharing class QRY_Builder.ConditionBuilderFluent builder for field-level conditions (WHERE and HAVING).
Since: 1.0
Methods
| Method | Description |
|---|---|
| global QRY_Builder.Builder contains(String value) | Adds a LIKE condition with wildcards on both sides (contains). |
| global QRY_Builder.Builder endsWith(String value) | Adds a LIKE condition with wildcard at start (ends with). |
| global QRY_Builder.Builder equals(Object value) | Adds an = condition. |
| global QRY_Builder.Builder equals(SObject record) | Adds an = condition comparing to an SObject's Id. |
| global QRY_Builder.Builder excludes(List<Object> values) | Adds an EXCLUDES condition for multi-picklist fields. |
| global QRY_Builder.Builder excludes(Set<Object> values) | Adds an EXCLUDES condition for multi-picklist fields using a Set. |
| global QRY_Builder.Builder excludesStrict(List<Object> values) | Adds an EXCLUDES condition with strict empty list handling. |
| global QRY_Builder.Builder excludesStrict(Set<Object> values) | Adds an EXCLUDES condition with strict empty set handling. |
| global QRY_Builder.Builder greaterThan(Object value) | Adds a > condition. |
| global QRY_Builder.Builder greaterThanOrEquals(Object value) | Adds a >= condition. |
| global QRY_Builder.Builder includes(List<Object> values) | Adds an INCLUDES condition for multi-picklist fields. |
| global QRY_Builder.Builder includes(Set<Object> values) | Adds an INCLUDES condition for multi-picklist fields using a Set. |
| global QRY_Builder.Builder includesStrict(List<Object> values) | Adds an INCLUDES condition with strict empty list handling. |
| global QRY_Builder.Builder includesStrict(Set<Object> values) | Adds an INCLUDES condition with strict empty set handling. |
| global QRY_Builder.Builder isIn(List<Object> values) | Adds an IN condition using a List. |
| global QRY_Builder.Builder isIn(List<SObject> records) | Adds an IN condition using a List of SObjects. |
| global QRY_Builder.Builder isIn(List<SObject> records, SObject field) | Adds an IN condition by extracting field values from SObjects. |
| global QRY_Builder.Builder isIn(QRY_Builder.Builder subquery) | Adds a semi-join IN condition using a subquery. |
| global QRY_Builder.Builder isIn(Set<Object> values) | Adds an IN condition using a Set. |
| global QRY_Builder.Builder isInStrict(List<Object> values) | Adds an IN condition with strict empty list handling. |
| global QRY_Builder.Builder isInStrict(List<SObject> records) | Adds an IN condition using SObjects with strict handling. |
| global QRY_Builder.Builder isInStrict(List<SObject> records, SObject field) | Adds an IN condition by extracting field values with strict handling. |
| global QRY_Builder.Builder isInStrict(Set<Object> values) | Adds an IN condition with strict empty set handling. |
| global QRY_Builder.Builder isNotNull() | Adds an IS NOT NULL condition. |
| global QRY_Builder.Builder isNull() | Adds an IS NULL condition. |
| global QRY_Builder.Builder lessThan(Object value) | Adds a < condition. |
| global QRY_Builder.Builder lessThanOrEquals(Object value) | Adds a <= condition. |
| global QRY_Builder.Builder notEquals(Object value) | Adds a != condition. |
| global QRY_Builder.Builder notEquals(SObject record) | Adds a != condition comparing to an SObject's Id. |
| global QRY_Builder.Builder notIn(QRY_Builder.Builder subquery) | Adds an anti-join NOT IN condition using a subquery. |
| global QRY_Builder.Builder notInSet(List<Object> values) | Adds a NOT IN condition using a List. |
| global QRY_Builder.Builder notInSet(List<SObject> records) | Adds a NOT IN condition using a List of SObjects. |
| global QRY_Builder.Builder notInSet(List<SObject> records, SObject field) | Adds a NOT IN condition by extracting field values from SObjects. |
| global QRY_Builder.Builder notInSet(Set<Object> values) | Adds a NOT IN condition using a Set. |
| global QRY_Builder.Builder notInSetStrict(List<Object> values) | Adds a NOT IN condition with strict empty list handling. |
| global QRY_Builder.Builder notInSetStrict(List<SObject> records) | Adds a NOT IN condition using SObjects with strict handling. |
| global QRY_Builder.Builder notInSetStrict(List<SObject> records, SObject field) | Adds a NOT IN condition by extracting field values with strict handling. |
| global QRY_Builder.Builder notInSetStrict(Set<Object> values) | Adds a NOT IN condition with strict empty set handling. |
| global QRY_Builder.Builder startsWith(String value) | Adds a LIKE condition with wildcard at end (starts with). |
Method Details
contains
global QRY_Builder.Builder contains(String value)Adds a LIKE condition with wildcards on both sides (contains).
Parameters:
value(String) - Text to search for
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Name).contains('Corp')
.toList();endsWith
global QRY_Builder.Builder endsWith(String value)Adds a LIKE condition with wildcard at start (ends with).
Parameters:
value(String) - Text suffix
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Name).endsWith('Inc.')
.toList();equals
global QRY_Builder.Builder equals(Object value)Adds an = condition.
Parameters:
value(Object) - Value to compare against
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Name).equals('Acme Corp')
.toList();equals
global QRY_Builder.Builder equals(SObject record)Adds an = condition comparing to an SObject's Id.
Parameters:
record(SObject) - SObject whose Id to compare against
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Contact> contacts = QRY_Builder.selectFrom(Contact.SObjectType)
.condition(Contact.AccountId).equals(account)
.toList();excludes
global QRY_Builder.Builder excludes(List<Object> values)Adds an EXCLUDES condition for multi-picklist fields.
Parameters:
values(List) - Values that must not be selected
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Object> excluded = new List<Object>{'Inactive', 'Archived'};
List<Lead> leads = QRY_Builder.selectFrom(Lead.SObjectType)
.condition('Tags__c').excludes(excluded)
.toList();excludes
global QRY_Builder.Builder excludes(Set<Object> values)Adds an EXCLUDES condition for multi-picklist fields using a Set.
Parameters:
values(Set) - Values that must not be selected
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
Set<Object> excluded = new Set<Object>{'Inactive', 'Archived'};
List<Lead> leads = QRY_Builder.selectFrom(Lead.SObjectType)
.condition('Tags__c').excludes(excluded)
.toList();excludesStrict
global QRY_Builder.Builder excludesStrict(List<Object> values)Adds an EXCLUDES condition with strict empty list handling.
Parameters:
values(List) - Values that must not be selected (must not be null or empty)
Returns: QRY_Builder.Builder - Builder for chaining
Throws:
- IllegalArgumentException - if values is null or empty
Since: 1.0
Example:
List<Object> excluded = new List<Object>{'Inactive', 'Archived'};
List<Lead> leads = QRY_Builder.selectFrom(Lead.SObjectType)
.condition('Tags__c').excludesStrict(excluded)
.toList();excludesStrict
global QRY_Builder.Builder excludesStrict(Set<Object> values)Adds an EXCLUDES condition with strict empty set handling.
Parameters:
values(Set) - Values that must not be selected (must not be null or empty)
Returns: QRY_Builder.Builder - Builder for chaining
Throws:
- IllegalArgumentException - if values is null or empty
Since: 1.0
Example:
Set<Object> excluded = new Set<Object>{'Inactive', 'Archived'};
List<Lead> leads = QRY_Builder.selectFrom(Lead.SObjectType)
.condition('Tags__c').excludesStrict(excluded)
.toList();greaterThan
global QRY_Builder.Builder greaterThan(Object value)Adds a > condition.
Parameters:
value(Object) - Value to compare against
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.AnnualRevenue).greaterThan(1000000)
.toList();greaterThanOrEquals
global QRY_Builder.Builder greaterThanOrEquals(Object value)Adds a >= condition.
Parameters:
value(Object) - Value to compare against
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.NumberOfEmployees).greaterThanOrEquals(100)
.toList();includes
global QRY_Builder.Builder includes(List<Object> values)Adds an INCLUDES condition for multi-picklist fields.
Parameters:
values(List) - Values that must all be selected
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Object> interests = new List<Object>{'Technology', 'Finance'};
List<Lead> leads = QRY_Builder.selectFrom(Lead.SObjectType)
.condition('Interests__c').includes(interests)
.toList();includes
global QRY_Builder.Builder includes(Set<Object> values)Adds an INCLUDES condition for multi-picklist fields using a Set.
Parameters:
values(Set) - Values that must all be selected
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
Set<Object> interests = new Set<Object>{'Technology', 'Finance'};
List<Lead> leads = QRY_Builder.selectFrom(Lead.SObjectType)
.condition('Interests__c').includes(interests)
.toList();includesStrict
global QRY_Builder.Builder includesStrict(List<Object> values)Adds an INCLUDES condition with strict empty list handling.
Parameters:
values(List) - Values that must all be selected (must not be null or empty)
Returns: QRY_Builder.Builder - Builder for chaining
Throws:
- IllegalArgumentException - if values is null or empty
Since: 1.0
Example:
List<Object> interests = new List<Object>{'Technology', 'Finance'};
List<Lead> leads = QRY_Builder.selectFrom(Lead.SObjectType)
.condition('Interests__c').includesStrict(interests)
.toList();includesStrict
global QRY_Builder.Builder includesStrict(Set<Object> values)Adds an INCLUDES condition with strict empty set handling.
Parameters:
values(Set) - Values that must all be selected (must not be null or empty)
Returns: QRY_Builder.Builder - Builder for chaining
Throws:
- IllegalArgumentException - if values is null or empty
Since: 1.0
Example:
Set<Object> interests = new Set<Object>{'Technology', 'Finance'};
List<Lead> leads = QRY_Builder.selectFrom(Lead.SObjectType)
.condition('Interests__c').includesStrict(interests)
.toList();isIn
global QRY_Builder.Builder isIn(List<Object> values)Adds an IN condition using a List.
Parameters:
values(List) - Values to include
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Object> types = new List<Object>{'Customer', 'Partner'};
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Type).isIn(types)
.toList();isIn
global QRY_Builder.Builder isIn(List<SObject> records)Adds an IN condition using a List of SObjects.
Parameters:
records(List) - SObjects to include (their Ids will be matched)
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Contact> contacts = QRY_Builder.selectFrom(Contact.SObjectType)
.condition(Contact.AccountId).isIn(parentAccounts)
.toList();isIn
global QRY_Builder.Builder isIn(List<SObject> records, SObjectField field)Adds an IN condition by extracting field values from SObjects.
Parameters:
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Id).isIn(contacts, Contact.AccountId)
.toList();isIn
global QRY_Builder.Builder isIn(QRY_Builder.Builder subquery)Adds a semi-join IN condition using a subquery.
Parameters:
subquery(QRY_Builder.Builder) - Builder representing the subquery
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
QRY_Builder.Builder subquery = QRY_Builder.selectFrom(Contact.SObjectType)
.fields(new List<SObjectField>{Contact.AccountId})
.condition(Contact.Email).isNotNull();
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Id).isIn(subquery)
.toList();isIn
global QRY_Builder.Builder isIn(Set<Object> values)Adds an IN condition using a Set.
Parameters:
values(Set) - Values to include
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
Set<Object> industries = new Set<Object>{'Technology', 'Finance'};
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Industry).isIn(industries)
.toList();isInStrict
global QRY_Builder.Builder isInStrict(List<Object> values)Adds an IN condition with strict empty list handling.
Parameters:
values(List) - Values to include (must not be null or empty)
Returns: QRY_Builder.Builder - Builder for chaining
Throws:
- IllegalArgumentException - if values is null or empty
Since: 1.0
Example:
List<Object> statuses = new List<Object>{'Active', 'Pending'};
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Type).isInStrict(statuses)
.toList();isInStrict
global QRY_Builder.Builder isInStrict(List<SObject> records)Adds an IN condition using SObjects with strict handling.
Parameters:
records(List) - SObjects to include (must not be null or empty)
Returns: QRY_Builder.Builder - Builder for chaining
Throws:
- IllegalArgumentException - if records is null or empty
Since: 1.0
Example:
List<Account> parents = [SELECT Id FROM Account LIMIT 10];
List<Contact> contacts = QRY_Builder.selectFrom(Contact.SObjectType)
.condition(Contact.AccountId).isInStrict(parents)
.toList();isInStrict
global QRY_Builder.Builder isInStrict(List<SObject> records, SObjectField field)Adds an IN condition by extracting field values with strict handling.
Parameters:
records(List) - SObjects to extract values from (must not be null or empty)field(SObject) - The field to extract values from
Returns: QRY_Builder.Builder - Builder for chaining
Throws:
- IllegalArgumentException - if records is null or empty
Since: 1.0
Example:
List<Contact> contacts = [SELECT AccountId FROM Contact LIMIT 10];
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Id).isInStrict(contacts, Contact.AccountId)
.toList();isInStrict
global QRY_Builder.Builder isInStrict(Set<Object> values)Adds an IN condition with strict empty set handling.
Parameters:
values(Set) - Values to include (must not be null or empty)
Returns: QRY_Builder.Builder - Builder for chaining
Throws:
- IllegalArgumentException - if values is null or empty
Since: 1.0
Example:
Set<Object> statuses = new Set<Object>{'Active', 'Pending'};
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Type).isInStrict(statuses)
.toList();isNotNull
global QRY_Builder.Builder isNotNull()Adds an IS NOT NULL condition.
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Contact> contacts = QRY_Builder.selectFrom(Contact.SObjectType)
.condition(Contact.Email).isNotNull()
.toList();isNull
global QRY_Builder.Builder isNull()Adds an IS NULL condition.
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Contact> contacts = QRY_Builder.selectFrom(Contact.SObjectType)
.condition(Contact.Email).isNull()
.toList();lessThan
global QRY_Builder.Builder lessThan(Object value)Adds a < condition.
Parameters:
value(Object) - Value to compare against
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.AnnualRevenue).lessThan(50000)
.toList();lessThanOrEquals
global QRY_Builder.Builder lessThanOrEquals(Object value)Adds a <= condition.
Parameters:
value(Object) - Value to compare against
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.NumberOfEmployees).lessThanOrEquals(10)
.toList();notEquals
global QRY_Builder.Builder notEquals(Object value)Adds a != condition.
Parameters:
value(Object) - Value to compare against
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Industry).notEquals('Government')
.toList();notEquals
global QRY_Builder.Builder notEquals(SObject record)Adds a != condition comparing to an SObject's Id.
Parameters:
record(SObject) - SObject whose Id to exclude
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Contact> contacts = QRY_Builder.selectFrom(Contact.SObjectType)
.condition(Contact.AccountId).notEquals(excludedAccount)
.toList();notIn
global QRY_Builder.Builder notIn(QRY_Builder.Builder subquery)Adds an anti-join NOT IN condition using a subquery.
Parameters:
subquery(QRY_Builder.Builder) - Builder representing the subquery
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
QRY_Builder.Builder subquery = QRY_Builder.selectFrom(Contact.SObjectType)
.fields(new List<SObjectField>{Contact.AccountId})
.condition(Contact.HasOptedOutOfEmail).equals(true);
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Id).notIn(subquery)
.toList();notInSet
global QRY_Builder.Builder notInSet(List<Object> values)Adds a NOT IN condition using a List.
Parameters:
values(List) - Values to exclude
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Object> excluded = new List<Object>{'Competitor', 'Other'};
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Type).notInSet(excluded)
.toList();notInSet
global QRY_Builder.Builder notInSet(List<SObject> records)Adds a NOT IN condition using a List of SObjects.
Parameters:
records(List) - SObjects to exclude
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Account> excluded = [SELECT Id FROM Account WHERE Type = 'Competitor'];
List<Contact> contacts = QRY_Builder.selectFrom(Contact.SObjectType)
.condition(Contact.AccountId).notInSet(excluded)
.toList();notInSet
global QRY_Builder.Builder notInSet(List<SObject> records, SObjectField field)Adds a NOT IN condition by extracting field values from SObjects.
Parameters:
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Contact> contacts = [SELECT AccountId FROM Contact WHERE IsDeleted = true];
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Id).notInSet(contacts, Contact.AccountId)
.toList();notInSet
global QRY_Builder.Builder notInSet(Set<Object> values)Adds a NOT IN condition using a Set.
Parameters:
values(Set) - Values to exclude
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
Set<Object> excluded = new Set<Object>{'Competitor', 'Other'};
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Type).notInSet(excluded)
.toList();notInSetStrict
global QRY_Builder.Builder notInSetStrict(List<Object> values)Adds a NOT IN condition with strict empty list handling.
Parameters:
values(List) - Values to exclude (must not be null or empty)
Returns: QRY_Builder.Builder - Builder for chaining
Throws:
- IllegalArgumentException - if values is null or empty
Since: 1.0
Example:
List<Object> excluded = new List<Object>{'Competitor', 'Other'};
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Type).notInSetStrict(excluded)
.toList();notInSetStrict
global QRY_Builder.Builder notInSetStrict(List<SObject> records)Adds a NOT IN condition using SObjects with strict handling.
Parameters:
records(List) - SObjects to exclude (must not be null or empty)
Returns: QRY_Builder.Builder - Builder for chaining
Throws:
- IllegalArgumentException - if records is null or empty
Since: 1.0
Example:
List<Account> excluded = [SELECT Id FROM Account WHERE Type = 'Competitor'];
List<Contact> contacts = QRY_Builder.selectFrom(Contact.SObjectType)
.condition(Contact.AccountId).notInSetStrict(excluded)
.toList();notInSetStrict
global QRY_Builder.Builder notInSetStrict(List<SObject> records, SObjectField field)Adds a NOT IN condition by extracting field values with strict handling.
Parameters:
records(List) - SObjects to extract values from (must not be null or empty)field(SObject) - The field to extract values from
Returns: QRY_Builder.Builder - Builder for chaining
Throws:
- IllegalArgumentException - if records is null or empty
Since: 1.0
Example:
List<Contact> contacts = [SELECT AccountId FROM Contact WHERE IsDeleted = true];
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Id).notInSetStrict(contacts, Contact.AccountId)
.toList();notInSetStrict
global QRY_Builder.Builder notInSetStrict(Set<Object> values)Adds a NOT IN condition with strict empty set handling.
Parameters:
values(Set) - Values to exclude (must not be null or empty)
Returns: QRY_Builder.Builder - Builder for chaining
Throws:
- IllegalArgumentException - if values is null or empty
Since: 1.0
Example:
Set<Object> excluded = new Set<Object>{'Competitor', 'Other'};
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Type).notInSetStrict(excluded)
.toList();startsWith
global QRY_Builder.Builder startsWith(String value)Adds a LIKE condition with wildcard at end (starts with).
Parameters:
value(String) - Text prefix
Returns: QRY_Builder.Builder - Builder for chaining
Since: 1.0
Example:
List<Account> accounts = QRY_Builder.selectFrom(Account.SObjectType)
.condition(Account.Name).startsWith('Acme')
.toList();