/fflib-apex-extensions

Extension for the fflib-apex-common Library. Introducing many advanced features on top of the Apex Enterprise Patterns

Primary LanguageApexBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

fflib-apex-extensions

Extensions for the fflib-apex-common Library. Introducing many advanced features on top of the Apex Enterprise Patterns

Dependencies:
This extension package is dependent on the following packages:

Wiki

A full overview of the features in this extension pack and how to use them can be found in the Wiki pages of this repository. It is written in an easy readable format with lots of explanations on the design pattern Separation of Concerns, and how that apply those patterns.

A hands-on training session is also available to learn how to translate a user-story into Apex code.

Method Reference

When you rather prefer the bare overview of classes, methods and their examples, then you can find a full overview of the methods, their signatures and description in the ApexDocs.

Example Application

You can look at these examples if you like to see this extension package in action.

Migrating from apex-commons

Contributing

Anyone is welcome to fork this repository and propose changes or complete new features via raising a pull-requests.

Please have read the contributing guide that will through the process to making your first contribution!

You can also have a look at the open items in the project(s), feel free to pick an item from the kanban board!

Change Log

Some of the changes that have major impact are listed here;

August 2021

Added criteria based on formula; (1 OR 2) AND 3)

new fflib_Criteria()
        .formulaCriteria('(1 OR 2) AND 3')
        .equalTo(Account.AccountNumber, '0001')
        .equalTo(Account.AccountNumber, '0002')
        .equalTo(Account.ShippingCountry, 'USA')
	 
Evaluates:
     (AccountNumber = '0001' OR AccountNumber = '0001') AND ShippingCountry = 'USA'

Donations

We are pleased to announce that the fflib-apex-extensions Project is accepting donations in the privacy-oriented cryptocurrency Monero (XMR) at the following address:

8BMsQrdLiBvKaP87GFMPE9Wa1US79ygcp3b9kwoDq1iBW9JEYbcgpDS3hMp2p7ePWiCEKg2fdTucUbpNTtGbnvCCQZTMSu1

Thank you for your donations!