An Addon is a Java Class performing a unitary action. It’s described by the mother interface IAddon. Each Addon owns a unique identifier (a String) to be referenced in configuration.
MRules accepts six types of addons:
- Accessors: these objects handle data access(for example, retrieve or set a Java Object property value or perform a mathematic operation).
They are responsible for transforming date in order to use it correctlu (for example, mathematic operations need numbers) - Conditions: these objects evaluate data, or sub Conditions.
- Operators: these objects perform operations.
Three types are defined:- Logical operators: Combine sub Conditions results.
- Evaluation operators: Perform data evaluation (comparisons, equalities, inclusions, …).
- Mathematic operators: Perform additions, substractions, etc … configured in rules.
- Executables: these objects execute actions. For example, evaluate a condition and depending on the result execute or not other actions.
- Callables: these objects allow to call mutualized rules. They are the base for the support of functions.
- Context Factory: Handles Compilation and Execution Context creation, depending on business needs.
Addons are declared via an XML file named « mrules-addons.xml » accessible in the CLASS_PATH (all files with this name are read) :
- Either directly by their class name.
- Or via an AddonManager, Object allowing to mass declare Addons.
Library core itself is an Addon.