9.2.9.2. イベントの発生と確認

例9.15 イベントの発生

以下のコードは、メソッドで挿入および使用されるイベントを示しています。
public class AccountManager {
  @Inject Event<Withdrawal> event;
  
  public boolean transfer(Account a, Account b) {
    ...
    event.fire(new Withdrawal(a));
  }
}

例9.16 修飾子を使用したイベントの発生

修飾子を使用して、より具体的にイベント挿入をアノテートできます。修飾子の詳細については、「修飾子について」 を参照してください。
public class AccountManager {
  @Inject @Suspicious Event <Withdrawal> event;
  
  public boolean transfer(Account a, Account b) {
    ...
    event.fire(new Withdrawal(a));
  }
}

例9.17 イベントの確認

イベントを確認するには、@Observes アノテーションを使用します。
public class AccountObserver {
  void checkTran(@Observes Withdrawal w) {
    ...
  }
}

例9.18 修飾されたイベントの確認

修飾子を使用して特定の種類のイベントだけを確認できます。修飾子の詳細については、「修飾子について」 を参照してください。
public class AccountObserver {
  void checkTran(@Observes @Suspicious Withdrawal w) {
    ...
  }
}