Handler Types

Configurable Analysis Framework (CAF) is an extendable framework using a plug-in architecture. The functionality of CAF can be extended using various types of handlers to override default behavior or provide additional functionality, such as additional type of data to display or related actions.

Handler types are set up using the Analysis Handler Registry Page. The purpose of this registry is to allow application developers to assign a single value to the application class. Therefore, users do not need to know the full path to the application class when specifying it during analysis configuration.

Handler type options are:

Term Definition

Action Handler

Handles configured related actions. Select to indicate that the handler is used to implement related actions on the Related Action Configuration Page.

The application class must be a subclass of CAF_API:ActionHandler. The built-in action handlers are in the CAF_CORE:HANDLER:ActionHandler package.

For Fluid implementations, the application must be a subclass of CAFNUI_API: ActionHandler or CAFNUI_CORE:HANDLER: ActionHandler.

Analysis Handler

The application class for the component that displays the analysis. It is used to provide functionality at the analysis level. For example, it handles rendering the html for the display, managing the user sessions, and responding to user actions to save/edit the analysis views. It is also the handler that sends notifications. Select to indicate that the handler is used at the analysis level to handle events or override functionality provided by CAF on the Analysis Configuration Page.

The application class must be a subclass of CAF_API:ComparisonHandler. For most implementations, it should be a subclass of CAF_CORE:HANDLER:ComparisonHandler so that most of the built-in functionality is used.

For Fluid implementations, the application must be a subclass of CAFNUI_API:ComparisonHandler or CAFNUI_CORE:HANDLER:ComparisonHandler.

Entity Handler

The application class used to implement the functionality of an entity, including selecting/managing the entities, and implementing the entity related actions. Select to indicate that the handler is used at the entity level to handle events or override functionality provided by CAF on the Entity Configuration Page.

The application class must be a subclass of CAF_API:EntityHandler. For most of implementations, it should be subclass of CAF_CORE:HANDLER:EntityHandler so that most of the built-in functionality is used.

For Fluid implementations, the application must be a subclass of CAFNUI_API: EntityHandler or CAFNUI_CORE:HANDLER: EntityHandler.

Factor Handler

The application class used to implement the functionality of a factor, including configuring and showing the factor data. It can also implement factor level related actions. Select to indicate that the handler is used at the factor level to handle events or override functionality provided by CAF on the Factor Configuration Page.

The application class must be a subclass of CAF_API:FactorHandler.

If the factor handler is extending built-in factor types, it should be a subclass of the corresponding factor handlers in the CAF_CORE:HANDLER:FactorHandler package.

A CAF method is provided to enable the display of these icons for the factors that support them:

  • Configure Factor: allows the user to configure the factor display, such as changing filter values.

  • Show Combined: allows the user to show the data for all selected entities in a single report or chart.

    This option is only available for comparison mode and is not available for Fluid CAF.

For Fluid implementations, the application must be a subclass of CAFNUI_API: FactorHandler or CAFNUI_CORE:HANDLER: FactorHandler.

For each type of handlers, CAF provides built-in setup to implement the core functionality. The interface definitions of each handler is in the CAF_API application package. The core setup is in the CAF_CORE:HANDLER application package. In almost all cases, implementation of handlers should be subclassed from the corresponding application classes in CAF_CORE:HANDLER.

To add a handler:

  1. Create an application class as a subclass of the proper type (handler type) and begin to override the methods as required.

  2. Register the application class using the Analysis Handler Registry Page.

  3. Use the appropriate handler on each of the Analysis Configuration pages for analysis, entities, factors, and related actions.