Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
None
-
None
-
None
Description
Background:
The AbstractHandler class exposes an invoke() method that Handlers override to provide the specific invoke code.
Problem:
Many Handlers actually have 2 stages of logic. The first stage simply does some quick processing to determine if the handler should be called. The second stage does the actual work.
Because there is only one invoke method, these separate stages of processing get lumped together.
Solution:
Provide an alternative (optional) invoke semantic.
A Handler can choose to override the new invoke_stage1 and invoke_stage2 methods.
All current Handlers will continue to work. The existing invoke() method is retained.