Skip to content

UTIL_SObjectBuilderDefaultProvider

Class · Group: Testing

apex
global virtual inherited sharing class UTIL_SObjectBuilderDefaultProvider extends TST_Builder.DefaultValueProvider

Extends: TST_Builder.DefaultValueProvider

Provides the default value generation logic for the SObjectBuilder. Subscribers should extend THIS class to override default values or define custom required fields for SObjects.

Example

apex
global class MyDefaultProvider extends UTIL_SObjectBuilderDefaultProvider
{
    global override Set<SObjectField> defineSObjectRequiredFields(SObjectType sObjectType)
    {
        if(sObjectType == Account.SObjectType)
        {
            return new Set<SObjectField>{ Account.Industry };
        }
        return null;
    }
}

See Also: TST_Builder


Methods

MethodDescription
global virtual Set<SObjectField> defineSObjectOptionalFields(SObjectType sObjectType)Defines a set of optional fields for a given SObject.
global virtual Set<SObjectField> defineSObjectRequiredFields(SObjectType sObjectType)Defines a set of required fields for a given SObject.
global virtual Boolean getCheckboxDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for a Checkbox field type.
global virtual Decimal getCurrencyDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for a Currency field type.
global virtual Date getDateDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for a Date field type.
global virtual Datetime getDateTimeDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for a Datetime field type.
global virtual Decimal getDecimalDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for a Decimal field type.
global virtual Object getDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Generates a default value for a given field of an SObject.
global virtual String getEmailDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for an Email field type.
global virtual Location getGeolocationDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for a Geolocation field type.
global virtual Integer getIntegerDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for an Integer field type.
global virtual String getMultiPicklistDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for a Multipicklist field type.
global virtual Decimal getPercentDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for a Percent field type.
global virtual String getPhoneDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for a Phone field type.
global virtual String getPicklistDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for a Picklist field type.
global virtual String getTextAreaDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for a TextArea field type.
global virtual String getTextDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for a Text field type.
global virtual String getURLDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)Provides the default value for a URL field type.

defineSObjectOptionalFields

apex
global virtual Set<SObjectField> defineSObjectOptionalFields(SObjectType sObjectType)

Defines a set of optional fields for a given SObject. Can be overridden in a subclass.

Parameters

ParameterTypeDescription
sObjectTypeSObjectTypeThe SObjectType for which the optional fields will be defined.

Returns SObjectField — A set of defined optional fields.

Example

apex
Set<SObjectField> result = instance.defineSObjectOptionalFields(Account.SObjectType);

defineSObjectRequiredFields

apex
global virtual Set<SObjectField> defineSObjectRequiredFields(SObjectType sObjectType)

Defines a set of required fields for a given SObject. Can be overridden in a subclass.

Parameters

ParameterTypeDescription
sObjectTypeSObjectTypeThe SObjectType for which the required fields will be defined.

Returns SObjectField — A set of defined required fields.

Example

apex
Set<SObjectField> result = instance.defineSObjectRequiredFields(Account.SObjectType);

getCheckboxDefaultValue

apex
global virtual Boolean getCheckboxDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for a Checkbox field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns Boolean — The default Boolean value.

Example

apex
Boolean result = instance.getCheckboxDefaultValue(Account.Name.getDescribe(), 10);

getCurrencyDefaultValue

apex
global virtual Decimal getCurrencyDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for a Currency field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns Decimal — The default Decimal value.

Example

apex
Decimal result = instance.getCurrencyDefaultValue(Account.Name.getDescribe(), 10);

getDateDefaultValue

apex
global virtual Date getDateDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for a Date field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns Date — The default Date value.

Example

apex
Date result = instance.getDateDefaultValue(Account.Name.getDescribe(), 10);

getDateTimeDefaultValue

apex
global virtual Datetime getDateTimeDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for a Datetime field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns Datetime — The default Datetime value.

Example

apex
Datetime result = instance.getDateTimeDefaultValue(Account.Name.getDescribe(), 10);

getDecimalDefaultValue

apex
global virtual Decimal getDecimalDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for a Decimal field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns Decimal — The default Decimal value.

Example

apex
Decimal result = instance.getDecimalDefaultValue(Account.Name.getDescribe(), 10);

getDefaultValue

apex
global virtual Object getDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Generates a default value for a given field of an SObject. Can be overridden by descendant classes.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns Object — The generated field default value.

Example

apex
Object result = instance.getDefaultValue(Account.Name.getDescribe(), 10);

getEmailDefaultValue

apex
global virtual String getEmailDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for an Email field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns String — The default String value for an email.

Example

apex
String result = instance.getEmailDefaultValue(Account.Name.getDescribe(), 10);

getGeolocationDefaultValue

apex
global virtual Location getGeolocationDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for a Geolocation field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns Location — The default Location value.

Example

apex
Location result = instance.getGeolocationDefaultValue(Account.Name.getDescribe(), 10);

getIntegerDefaultValue

apex
global virtual Integer getIntegerDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for an Integer field type. Only standard platform fields describe as Integer (custom Number fields always describe as Double), and SObject.put rejects a Decimal on them, so the default must be a genuine Integer. The value is sized from the describe's digits, the width carrier for standard Integer fields, capped so it always fits an Apex Integer.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns Integer — The default Integer value.

Example

apex
Integer result = instance.getIntegerDefaultValue(ApexClass.LengthWithoutComments.getDescribe(), 10);

getMultiPicklistDefaultValue

apex
global virtual String getMultiPicklistDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for a Multipicklist field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns String — The default String value for a multipicklist.

Example

apex
String result = instance.getMultiPicklistDefaultValue(Account.Name.getDescribe(), 10);

getPercentDefaultValue

apex
global virtual Decimal getPercentDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for a Percent field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns Decimal — The default Decimal value.

Example

apex
Decimal result = instance.getPercentDefaultValue(Account.Name.getDescribe(), 10);

getPhoneDefaultValue

apex
global virtual String getPhoneDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for a Phone field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns String — The default String value for a phone number.

Example

apex
String result = instance.getPhoneDefaultValue(Account.Name.getDescribe(), 10);

getPicklistDefaultValue

apex
global virtual String getPicklistDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for a Picklist field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns String — The default String value for a picklist.

Example

apex
String result = instance.getPicklistDefaultValue(Account.Name.getDescribe(), 10);

getTextAreaDefaultValue

apex
global virtual String getTextAreaDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for a TextArea field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns String — The default String value.

Example

apex
String result = instance.getTextAreaDefaultValue(Account.Name.getDescribe(), 10);

getTextDefaultValue

apex
global virtual String getTextDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for a Text field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns String — The default String value.

Example

apex
String result = instance.getTextDefaultValue(Account.Name.getDescribe(), 10);

getURLDefaultValue

apex
global virtual String getURLDefaultValue(DescribeFieldResult fieldDescribe, Integer recordIndex)

Provides the default value for a URL field type.

Parameters

ParameterTypeDescription
fieldDescribeDescribeFieldResultThe field describe information.
recordIndexIntegerThe index number (starting from 0) of the record being created.

Returns String — The default String value for a URL.

Example

apex
String result = instance.getURLDefaultValue(Account.Name.getDescribe(), 10);