0
Event
クラスは私のバスとして機能しているPublishRelay
に投稿したいと思っています。RxBus:一般的なイベントを送信する
私のRxBus
ポストイベントをジェネリック型にしたいのですが、バス自体は一般的ではありません。私は何を変える必要があるかについて私にアイデアを教えてもらえますか?あなたは、一般的なイベントを使用したい場合は
public class Event<T> {
protected String name;
protected Pair<String, T> event;
public String getName() {
return event.first;
}
public T getData() {
return event.second; //cast to type
}
public Event(String name, T data) {
event = Pair.create(name, data);
}
}
@Singleton
public class RxBus {
// I want to post Event<T>
private final PublishRelay<Event<User>> busSubject = PublishRelay.create();
public PublishRelay<Event<User>> bus() {
return busSubject;
}
public void post(Event<User> event) {
busSubject.accept(event);
}
}