Annotations vs. Interface in Guava EventBus

2.3k Views Asked by At

The Guava developers chose to use annotations:

class EventBusChangeRecorder {
  @Subscribe 
  void recordCustomerChange(ChangeEvent e) {
    recordChange(e.getChange());
  }
}

... instead of classic interfaces:

class EventBusChangeRecorder implements Handler<ChangeEvent>{
  void handle(ChangeEvent e) {
    recordChange(e.getChange());
  }
}

This makes compile time checking impossible. So I'm wondering what is the advantage of this approach.

Do you see any advantages of annotations here?

1

There are 1 best solutions below

0
On BEST ANSWER

I think that the question is answered on the Guava wiki.