...
- Usable across different applications
- Rules implemented in Java
- One Java class per rule
- Usage is flexible, determined by configuration
- Message text maintainable by users
Terms & Definitions
Rule: a condition and an action. Each rule will be tagged with a Domain and a Context attribute.
Message Rule: special kind of rule where the action results in a single message in string form.
Domain: represents an app or subject area (e.g. Online Reg)
Context: represents a situation in which messages will be retrieved (e.g. for Online Reg: Display Subject Selections; Approval; Add Subject)
...
The class diagram shows the Java objects and their relationships, organized by package.
edu.mit.es.csf.rulesengine.message.service
This package holds the MessageRulesEngine itself, and the MessageRuleService class.
edu.mit.es.csf.rulesengine.message.rule
This package holds all the business rules, implemented in Java. Each rule implements the MsgRule interface.
edu.mit.es.csf.rulesengine.message.domain
This package holds the domain classes representing the message rule metadata.
edu.mit.es.csf.rulesengine.message.dao
This package holds data access objects for retrieving and writing message rule metadata from and to the database.