Affects Version/s: 1.3
Fix Version/s: 1.4
Operating System: All
I have a use case which can't be done with the Digester's standard rules. (I
hope I haven't overlooked Digester's API.) After some experiment, I realized
with some enhancement I could make CallMethodRule/CallParamRule work. I think
the use case is pretty common and generic.
The use case is like this: I need to call a 3rd party API
Parent.add(Child child, Condition condition)
with the XML data:
I can't use SetNextRule as it takes only one object from the stack.
CallMethodRule/CallParamRule comes close, but it allows only parameters coming
from body texts or attributes, not generic objects from the stack.
So, I made the following changes to CallMethodRule/CallParamRule:
- Changed the param stack frame datatype from String to Object
- Overloaded CallParamRule to allow configuration to get the parameter from
- Made CallParamRule stateless so that it works probably in nesting