Steve, no problem with the assignment.
I like the idea of the variant contracts, if we wanted to protect backward compatibility we could do a slightly gross instanceOf check and default to current behavior for the standard PostnsertEventListener flavor (in case there's someone out there that's handling state independently) and then if using the new PostCommitInsertEventListener split the 2 calls on success/failure.
I would think at a suitable point in time (i.e. major rev change) it could all be smashed down to a single behavior. I'll whack something together in the next couple of weeks and go from there.
To Mike, yes, I'm going to fix for all variants. The trick is not breaking someone's code who doesn't currently care (or maybe know) about this issue. For people who want the new behavior they're going to possibly mod some of their code to get the behavior they want.
|