Open GoogleCodeExporter opened 9 years ago
Original comment by plcoir...@gmail.com
on 15 Mar 2011 at 1:09
Original comment by plcoir...@gmail.com
on 15 Mar 2011 at 1:09
OOP inheritance:
package hello.there.client.event;
interface FarmEventBus {
@Event(
handlers={ChickenPresenter.class, DuckPresenter.class}, /* =package-private*/
privateHandlers={ZebraPresenter.class, AnimalHandler.class},
protectedHandlers={MooCowPresenter.class, FarmHandler.class},
publicHandlers={TreePresenter.class, BranchPresenter.class}
)
void event1();
}
package hello.there.client.event;
interface CarnivalEventBus extends FarmEventBus {
@Event(handlers={ShowCowPresenter.class, WonAwardHandler.class})
void event1();
}
Original comment by BlessedGeek
on 14 Oct 2011 at 5:53
Alternatively:
@Event(handlers={...}) //package-private
@Private(handlers={...})
@Protected(handlers={...})
@Public(handlers={...})
void eventually();
@Event // no package-private handlers
@Private(handlers={...})
@Protected(handlers={...})
@Public(handlers={...})
void gradually();
@Event(handlers={...}) //package-private only as currently is
void abruptly();
Original comment by BlessedGeek
on 14 Oct 2011 at 6:02
[deleted comment]
Abstract EventBus
=================
- startView specifies view interface or abstract class. Abstract EventBus
cannot be used directly but must be inherited. An extension EventBus interface
must specify startView that implements CarnivalView.class:
@Abstract
@Events((startView = CarnivalView.class)
- startView specifies view impl (non-abstract class). Abstract EventBus can be
used directly but when extended, extension EventBus class must specify a class
that satisfies the condition <V extends CarnivalViewImpl.class> as startView:
@Abstract
@Events((startView = CarnivalViewImpl.class)
Original comment by BlessedGeek
on 14 Oct 2011 at 6:28
Original issue reported on code.google.com by
plcoir...@gmail.com
on 25 Jan 2011 at 2:45