Apex BOOST Library
v1.7 from Lucidware Solutions (LWS)

Home

Download Apex BOOST from the App Exchange today!

Welcome to the Apex BOOST Library - a collection of time-saving, high-quality code for use in any Salesforce project. Hopefully you'll find something here that will increase your productivity and allow you to focus on the fun, creative parts of your job!

As we considered a name for the library, our thoughts went back to the days of developing desktop applications in C++. Productivity libraries were highly valued and one stood out as exceptional: Boost. Boost has been instrumental in speeding development and increasing code quality in countless products. Boost.org's answer to 'Why should an organization use Boost?' is

In a word, Productivity. Use of high-quality libraries like Boost speeds initial development, results in fewer bugs, reduces reinvention-of-the-wheel, and cuts long-term maintenance costs.
We'd answer that question about Apex BOOST in the exact same way - we've created it with the same goals in mind. It contains patterns, tools, and utilities that have been used in dozens of successful Salesforce projects over many years. Using Apex BOOST will speed your initial development, help you avoid bugs, prevent reinvention-of-the-wheel, and cut long-term maintenance costs. Below is a summary of the major features, sorted roughly by general usefulness and impact.

Logging

The aBoost.Logger generates log records when error or debug events occur in custom code. Instead of using System.debug() or sending an email to handle an error, use aBoost.Logger.log() to create a record with the details. Logs will be saved even if a subsequent exception is thrown - guaranteeing that errors will be noticed. Stakeholders can schedule reports or create other workflows to receive notifications of log records in real time.

Debugging

A suite of debugging utilities provides auto-generated context, boosting developer productivity and slashing debug time. Replacing your System.debug() calls with aBoost.Util.debug() is easy, and a lot less typing! Plus, instead of having to delete all those lines prior to production, you can turn them off with a single custom setting change!

Assertions

Assertions within Apex code (not just unit tests) are a great way to improve quality and find bugs quickly. aBoost.Assert provides catchable assertion methods that can be disabled without altering the code.

Trigger Handling

aBoost.TriggerHandler provides a simple, intuitive, and powerful trigger framework to make adding handlers a breeze. The framework allows disabling at the feature, handler, or global level - for a particular user, profile, or the entire org.

Queries

SOQL statements are a frequent source of errors due to typos or ignoring CRUD or FLS security concerns. aBoost.Query encapsulates a query, preventing typos and doing all the security checks in the background.

The Apex BOOST Library is built using our high internal standards and Salesforce best practices. With each release, we guarantee:

  • A full suite of lightning-fast unit tests with 100% coverage.
  • Clean PMD and CPD reports, guarantying security, scalability, and maintainability.
  • A clean Checkmarx security scan.
  • Internal diagnostics and error reporting using the library itself.

Version history

1.7 Utilize new USER MODE features

  • Addition of new WITH USER_MODE feature in Query (SOQL)
  • Addition of new AccessLevel.USER_MODE in SObjects (DML)

1.6 Http helper class & mocking framework; SObjects domain object class

  • New Http helper class is a handy framework for your REST callouts. Includes logging and error handling.
  • New SObjects class for domain objects (Apex Enterprise Pattern) and SObject utilities

1.5 Flow logging

1.3 Diagnostic fixes; 12/24/2022

  • Added input param checks (many more methods throw an exception on a bad parameter)
  • Documentation improvements; added @throws specs
  • Improved library unit tests

1.2 Security enhancements; TriggerHandler feature enablement; 12/14/2022

  • Security enhancements for Query utility
  • Added trigger handler feature-level enablement via custom settings
  • Replaced many asserts with InvalidParamValueException (will be thrown even if assertions are disabled)
  • Unit test improvements; running as restricted user

1.1 Trigger framework; query builder; batch processing interface; 10/19/2022

  • A trigger handling framework with the ability to disable one or all handlers.
  • A query class that encapsulates CRUD and FLS-checking for SOQL queries.
  • A new and convenient batch processing pattern.

1.0 Initial build; 9/18/2022

  • Logging to a custom object: includes log level configuration, batch process logging, and record cleanup.
  • Custom debug methods auto-generate context and can be disabled via Apex BOOST custom settings.
  • Unit Test utilities.
  • Custom assert methods throw catchable exceptions and can be disabled via Apex BOOST custom settings.