Guido Casper wrote:
The major drawback currently is that my AbstractState has to know about all the other states (to prevent each State class having to know about all the other states) and (when adding NewState) has to be updated with: allowEnterNewState(doc, user) {return false;}

I have the gut felling that this may be solved with some piece of AOP but I don't know enough about AOP and I currently don't care enough as this already satifisfies my needs.

Of course any State object allowing transitioning to NewState has to be updated with the corresponding conditional logic (overriding allowEnterNewState). Each state has to know about other states it allows transitioning to and the conditional logic (if any) to do so.



This sounds a bit overwhelming, there are too many dependencies to account for and you end up with a very proprietary and not reusable code.


What depencies do you mean? Actually I found changing workflow very easy and flexible as long as you don't come up with new states.

That being said, if I would find a way to synchronize the state objects configured in my configuration file with the getAllowedXY Methods in my AbstractState class I would be perfectly happy (although it doesn't hurt me enough to further invest much time in looking for a solution for that).


Guido

--
Guido Casper
-------------------------------------------------
S&N AG, Competence Center Open Source
                    Tel.: +49-5251-1581-87
Klingenderstr. 5    mailto:[EMAIL PROTECTED]
D-33100 Paderborn   http://www.s-und-n.de
-------------------------------------------------

Reply via email to