Xây EventBus (Singleton) cho phép subscribe(topic, Observer) và publish(topic, payload). Observer là interface có void on(String topic, String payload, StringBuilder out). Có hai loại Observer: UpperObserver in ':' (payload uppercase), LowerObserver in ':' (payload lowercase). Đồng thời có Strategy filtering ở phía EventBus: interface FilterStrategy có boolean accept(String payload). Hai strategy: AcceptAll trả true; LenStrategy(int min) chỉ accept khi payload.length() >= min. EventBus.setFilter(FilterStrategy). Khi publish, nếu filter từ chối thì bỏ qua. Đọc N thao tác:
Dòng 1: N. N dòng thao tác (payload là một từ không khoảng trắng).
1 <= N <= 10^4.
Các dòng output từ observer khi publish được filter chấp nhận, theo thứ tự subscribe.
Đang tải editor...