package kr.debop4j.core.guava.eventbus; import com.google.common.eventbus.EventBus; import kr.debop4j.core.guava.eventbus.events.CashPurchaseEvent; import kr.debop4j.core.guava.eventbus.events.CreditPurchaseEvent; import kr.debop4j.core.guava.eventbus.events.NoSubscriberEvent; import kr.debop4j.core.guava.eventbus.events.SimpleEvent; /** * kr.debop4j.core.guava.eventbus.EventPublisher * * @author 배성혁 ( sunghyouk.bae@gmail.com ) * @since 12. 12. 10. */ // 참고 : https://github.com/bbejeck/guava-blog/tree/master/src/main/java/bbejeck/guava/eventbus public class EventPublisher { EventBus eventBus; public EventPublisher(EventBus eventBus) { this.eventBus = eventBus; } public void createCashPurchaseEvent(String description, long amount) { eventBus.post(new CashPurchaseEvent(amount, description)); } public void createCreditPurchaseEvent(String item, String ccNumber, long amount) { eventBus.post(new CreditPurchaseEvent(amount, ccNumber, item)); } public void createSimpleEvent(String eventName) { eventBus.post(new SimpleEvent(eventName)); } public void createNoSubscribedEvent() { eventBus.post(new NoSubscriberEvent()); } }