On 1/24/06, Laurie Harper <[EMAIL PROTECTED]> wrote: > - add a Cancelable interface which an Action must implement to get > cancel processing; ignore the cancel param if the interface isn't > implemented
I'd lean toward the interface approach, since that's the sort of thing that WW2/Action2 does/will do. Duty now for the future! * Add an optional "Cancellable" marker interface for Actions. * When cancel signal is present, a RP command checks for the interface and throws an exception if Cancellable is not implemented. * For Action 1.3, add a Controller attribute "ObserveCancellable" with the default value FALSE, that the RP command would check before throwing an Exception. (Instead, it might just log a DEBUG-level warning.) ** To enable the interface, a developer can set the Controller attribute to TRUE. Otherwise, we break backward compatiblity, and we would need to increment the major version number. * Like many other things, if we rolled the major version number on this codebase, we'd change the default to TRUE to enforce the preferred behavior. But, for a minor release, we shouldn't force everyone to change perfectly good actions that already check isCancelled. * For extra credit, update the ModuleConfigVerifier plugin to check to see if Actions are implementing Cancellable when the RP attribute is FALSE. -Ted. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]