There is quick summary below of clear consensus on the implication of
Stoppable and Startable interfaces. Perhaps it would be a good idea for the
rationale for the respective positions to be put forward in more detail. In
my comment I noted that a non-stoppable component is not desirable and that
Startable should inherit from Stoppable. Berin suggested the inverse -
Stoppable inheriting from Startable which suggests that there are reasons
that a component must be started in order to be stopped -- Berin, can you
explain.
The assumptions I'm making are:
- I am currently using dynamic components that start themselves in
response to external events
- however, they are still within the scope of whatever is managing
them, and if the manager is stoppable, then all managed components
must also be stoppable .. as such I have a case for Stoppable as
an independent interface and Startable as an interface inheriting
from Stoppable
Looking forward to receiving other opinions on this.
Cheers, Steve.
>From Leo:
> > >interface Startable { // better name, anyone?
> > > void start() throws StartException;
> > > void stop() throws StopException; // new
> > >}
>From Pete:
-1 Some things are startable without being stoppable and vice versa.
>From Berin:
> I agree. But have Stoppable inherit from Startable because you
> can't have Stoppable without Startable.
>From Steve:
> startable but not stoppable == dangerous, -1
> stoppable but not startable == autonomous and manageable, 0
>
> We could define this as:
>
> interface Stoppable
> {
> void stop() throws StopException;
> }
>
> interface Startable : Stoppable
> {
> void start() throws StartException;
> }
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]