Commit Graph
45 Commits
Author SHA1 Message Date
4a734ee822 Fix styling (#93)
* Fix styling

* Fix dependency with apex-common,

A method that exists in apex-extensions, is now added to the apex-commons.

IMPORTANT: this is introducing a breaking change, as the second paramter of the method is flipped in meaning. From `omitNulls` to `includeNulls`.

* New package version 0.11.0-1-code-reformat created

* New package version 0.11.0-2-code-reformat created

* New package version 0.11.0-3-code-reformat created

---------

Co-authored-by: WimVelzeboer <wvelzeb1@its.jnj.com>
Co-authored-by: github-actions <github-actions@github.com>
2026-09-28 10:30:22 +01:00
11abb61337 Upgrade API to 67.0 (#91)
* Upgrade API to 67.0

* Remove override due to build failure

* Fix test due to dependency changes

* Fix failing tests due to dependency changes

* New package version 0.10.0-1-api-upgrade-67 created

---------

Co-authored-by: Wim Velzeboer <wvelzeb1@its.jnj.com>
Co-authored-by: github-actions <github-actions@github.com>
2026-08-13 12:06:04 +01:00
94129a9791 Override getRecordsWithNotBlankFieldValues for non-String fields (#90)
* Override getRecordsWithNotBlankFieldValues in fflib_SObjects2

The base fflib_SObjects implementation casts every value to String, which
throws a TypeException on Date/Datetime/Number/Lookup fields. This override
generalises the check to "any non-null value, and for Strings also non-blank"
so the helper works for every field type.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Update fflib_SObjects2.cls

Rename method to getRecordsWithNonBlankFieldValues

* Update fflib_SObjects2Test.cls

Rename method to getRecordsWithNonBlankFieldValues

* Update fflib_SObjects2.cls

Rename variable

Co-authored-by: Robin Weymans <robin.weymans@mylighthouse.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: William Velzeboer <6429417+wimvelzeboer@users.noreply.github.com>
2026-08-05 09:23:06 +01:00
William Velzeboer 3e89f74910 Upgrade API to 66.0 (#85)
* Upgrade API to 66.0

Upgrade API version of all components to Spring '26 release

* New package version 0.8.0-1-apiUpgrade created
2026-03-31 12:44:39 +01:00
William Velzeboer 98c38f93b0 Add mass copy fields feature (#80)
The new copyField method can copy field values in bulk from one domain to another related domain
2026-01-27 14:25:16 +00:00
William Velzeboer 09f0c2ef0d Add overloads for decimal values in getRecords and getRecordsNotIn (#77)
* Add overloads for decimal values in getRecords and getRecordsNotIn

* updated readme file

* Add compatibility for multiselect picklists for the `getRecords` method
2026-01-22 11:47:51 +00:00
William Velzeboer 2051e8f381 Change fflib_SObjects2 to fflib_ISObjects2 for getParentFieldById methods (#75) 2026-01-20 12:00:40 +00:00
William Velzeboer 5c14faa02e Add getParentFieldById methods to fflib_SObjects2 (#73)
This method can fetch deeply related data which is distributed over multiple related domains
2026-01-20 10:42:08 +00:00
William Velzeboer 82e84354d5 Add getBooleanFieldByIdField method to fflib_SObjects2 (#72) 2026-01-19 10:52:04 +00:00
William Velzeboer 2fe75d9bd1 Bump API version to 65.0 (#69)
* Bump API version to 65.0

* Add public to abstract method
2026-01-16 16:40:49 +00:00
William Velzeboer 414145791d Add domain method getRecordsContaining (#67) 2025-12-05 17:03:18 +00:00
Wim Velzeboer 273e47f0db Add method overload for getIdFieldValues to omit null values 2024-04-10 10:28:59 +01:00
Wim Velzeboer 64559fdbe5 Revert "Add method overload for getIdFieldValues to omit null values"
This reverts commit 003446ac97.
2024-04-10 10:10:09 +01:00
Wim Velzeboer 003446ac97 Add method overload for getIdFieldValues to omit null values 2024-04-10 09:50:31 +01:00
Wim Velzeboer 6586ed6bb2 Add domain method getIdFieldsByStringField 2024-04-05 11:36:08 +01:00
Wim Velzeboer 97e825d068 Add stripInaccessibleFields method to the domain. 2024-01-19 11:48:44 +00:00
WimVelzeboer 1b03239c6d Refactor of getChildIdsById and getGrandParentIdById of fflib_SObject2
The methods are no longer depended on the domain method getRelatedFieldByDomainType, which could only relate a relationship with a single field. This change will allow to build the map with the correct fields when there are multiple relationships to the related SObjectType.

 for example if an SObject has two relations to Account; BillingAccountId and AccountId, then we can now specify in the method parameters which relationship should be taken.

Signed-off-by: WimVelzeboer <william@velzeboer.nl>
2023-04-27 11:27:45 +01:00
WimVelzeboer a4753d1db1 Add getChildIdsById to fflib_SObjects2
To retrieve a map of related ids from (grand-)child relationships

Signed-off-by: WimVelzeboer <william@velzeboer.nl>
2023-04-20 16:21:00 +01:00
WimVelzeboer 3d9e8fae8a Add getDecimalById to fflib_SObjects2
Signed-off-by: WimVelzeboer <william@velzeboer.nl>
2023-04-13 11:10:45 +01:00
WimVelzeboer 59a2ea576a Upgrade to API 57.0
Including refactor to System.Asset class

Signed-off-by: WimVelzeboer <william@velzeboer.nl>
2023-04-13 10:42:53 +01:00
WimVelzeboer 4aef8f34f9 Add methods to fflib_Ids
Signed-off-by: WimVelzeboer <wimvelzeboer@protonmail.com>
2022-06-22 13:01:53 +01:00
WimVelzeboer 0b4d878382 Add domain method to map the record Id to a grand-grand-...-parent record Id 2022-05-25 12:22:48 +01:00
WimVelzeboer 54490cc32d Fix for updated fflib-apex-common
Signed-off-by: WimVelzeboer <wimvelzeboer@protonmail.com>
2022-05-09 16:05:54 +01:00
WimVelzeboer ee8a8465c0 Add fflib_SObjects2.getRecords(sObjectField, Boolean) method
`List<SObject> getRecords(Schema.SObjectField sObjectField, Boolean value)`

Signed-off-by: WimVelzeboer <wimvelzeboer@protonmail.com>
2022-03-16 21:51:12 +00:00
WimVelzeboer 0943def0df Add domain methods
getRecords(sObjectField, Id)
getRecords(sObjectField, Set<Id>)
getRecords(sObjectField, String)
getRecords(sObjectField, Set<String>)
getRecordsIsNot(sObjectField, Id)
getRecordsNotIn(sObjectField, Set<Id>)
getRecordsIsNot(sObjectField, String)
getRecordsNotIn(sObjectField, Set<String>)

Signed-off-by: WimVelzeboer <wimvelzeboer@protonmail.com>
2022-03-08 11:27:58 +00:00
WimVelzeboer 3113ec8378 Add domain method getRecordsByFieldValueIsNot
Signed-off-by: WimVelzeboer <wimvelzeboer@protonmail.com>
2022-03-04 12:29:37 +00:00
WimVelzeboer 969b0fbba7 Improve fflib_SObjects2.getSObjectsByIdField
Add unit-test and method to domain template

Signed-off-by: WimVelzeboer <wimvelzeboer@protonmail.com>
2022-02-24 09:43:38 +00:00
WimVelzeboer acb5cdc98b More domain methods
Signed-off-by: WimVelzeboer <wimvelzeboer@protonmail.com>
2022-02-23 12:03:34 +00:00
William Velzeboer 74f49d4eb4 Merge branch 'main' into main 2022-01-12 10:56:01 +00:00
Jan Aertgeerts bc62708b88 add getIdFieldByStringField() 2022-01-10 11:49:20 +01:00
WimVelzeboer a48dbe519f Bugfix to getStringFieldByIdField method
Method arguments were in the incorrect order.

Signed-off-by: WimVelzeboer <wimvelzeboer@protonmail.com>
2022-01-05 13:19:33 +00:00
WimVelzeboer 1f45c8d4c2 Add setter method to fflib_SObjects2 plus unit-test
Signed-off-by: WimVelzeboer <wimvelzeboer@protonmail.com>
2021-11-04 17:18:46 +00:00
WimVelzeboer 6eee1acdb6 Add getDecimalFieldSum method to domain
This will summarise the Decimal field value

Signed-off-by: WimVelzeboer <wimvelzeboer@protonmail.com>
2021-11-03 15:24:05 +00:00
wim ed3025d78c API Upgrade to 53.0 2021-10-11 15:28:15 +01:00
wim 67bac6dd7f Merge main branch 2021-10-11 14:05:32 +01:00
wim 4b58dbb2d1 Add "fflib_" prefix to primitive domain classes 2021-10-11 13:52:55 +01:00
wim a358fef3c9 Add "fflib_" prefix to primitive domain classes 2021-10-05 10:22:23 +01:00
wim fa51e1d657 Package version upgrade to API 53.0 2021-09-30 11:14:55 +01:00
Wim Velzeboer 75b2b703e5 Add Objects implementation 2021-08-23 12:53:02 +01:00
Wim Velzeboer 0277af7df2 Increase code coverage
Still in need of some work
2021-07-28 12:32:58 +01:00
Wim Velzeboer fcb8fa62fd Made start with documentation with method reference 2021-07-06 13:14:20 +01:00
Wim Velzeboer 8642a54b57 Add getter methods to domain for returning maps 2021-06-28 10:21:02 +01:00
Wim Velzeboer fee08c99b9 Increase unit-test coverage to 85% 2021-06-25 11:30:27 +01:00
Wim Velzeboer 694f7a84a2 Remove Objects
The interface structure was incompatible so had to remove it and replace it again with fflib_Objects
2021-06-25 09:53:06 +01:00
Wim Velzeboer 910aa6e04c Add primitive domains and criteria feature 2021-06-24 12:15:06 +01:00