- 02 Jan 2024
- 2 Minutes to read
- Print
- DarkLight
How Apex hooks work
- Updated on 02 Jan 2024
- 2 Minutes to read
- Print
- DarkLight
Apex hooks are included at multiple points in the Deal Manager process flow. These hooks enable you to use an Apex class to customize the data returned by a specific point in the process. For each Apex hook, use of a custom Apex class at that point is optional.
Each Apex hook has a specific interface or interfaces that you must use to create the Apex class that is called for the hook.
Each Apex hook has a corresponding field on the Product Selector Configuration or other related object. This field indicates which Apex class should be called for an Apex hook, for any Add Lines or Line List component mapped to the Product Selector Configuration.
Multiple interface versions
New inputs or outputs may be required for a given hook. However, to maintain backwards compatibility, we cannot change the signature of an existing interface. Instead, we create a copy of the interface, rename the copy, and then add the new inputs or outputs to that copy.
When this occurs:
- The original and copied services are included in the package.
- Implementations that use the copied version of the interface will continue to work.
- Future implementations will use the newest version.
Apex hooks summary
The following table lists Apex hooks, their associated component or modal, and corresponding Product Selector Configuration field or a field on another mapped SObject.
# | Component / Modal | Name / Description | Corresponding field |
---|---|---|---|
1 | Add Lines | Filters values in a pre-entry field | Pre-Entry Field Options Filterer |
2 | Add Lines | Add Lines Records Display Hook | Pre-entry Fields Configurer Class |
3 | Add Lines | Alters lines to be added—Pre-IQA Hook | Line Items Creation Configurer Class |
4 | Add Lines | Alters lines to be added—Post-IQA Hook | Line Items Evaluation Post Processor |
5 | Line Items | Editable/Deletable Lines Display Hook | Line Items Operations Configurer Class |
6 | Line Items | Line Items Filter Hook | Line Items Filterer Class |
7 | Line Items | Determines available options in Line Items post-processable field | Filter Field Post-Processor Class |
8 | Line Items | Filters line list based on Post-Processable Filter Field value | Filter Field Post-Processor Class |
9 | Edit Lines | OnChange Event Hook on Attribute Sublines in Edit Lines modal | Subline Change Updater Class |
10 | Edit Lines | Updates sublines and parent line when a tiered pricing subline is updated in Edit Lines modal | Tiered Subline Change Updater Class |
11 | Edit Lines | OnChange Event Hook on Parent Line in Edit Lines modal | Line Change Subline Updater |
12 | Parent Line | Parameter Subline Validation Hook | Subline Validator |
13 | Template List | Filters Templates in Template List view | Template Provider Class |
14 | Mass Edit control | Filters the list of available options in a Mass Edit policy | Mass Edit Parameter Options Filterer |
15 | Configurable Data Table | Controls records display in CDT | Record Filterer Class |