001 package com.hammurapi.eventbus;
002
003 import com.hammurapi.eventbus.EventHandlerBase.Mode;
004 import com.hammurapi.extract.Predicate;
005
006 public class EventDispatchJoinContextFilter<E, P extends Comparable<P>, C, H extends EventBus.Handle<E,P,C>, S extends EventStore<E,P,C,H,S>> implements EventDispatchJoinContext<E,P,C,H,S> {
007
008 protected EventDispatchContext<E,P,C,H,S> next;
009
010 public EventDispatchJoinContextFilter(EventDispatchContext<E,P,C,H,S> next) {
011 this.next = next;
012 }
013
014 public void consume(int index) {
015 next.consume(index);
016 }
017
018 public void consume(E event) {
019 next.consume(event);
020 }
021
022 // public <T extends E, S extends T> void substitute(T oldEvent, S newEvent) {
023 // next.substitute(oldEvent, newEvent);
024 // }
025
026 public void update(E event) {
027 next.update(event);
028 }
029
030 public void removeHandler() {
031 next.removeHandler();
032 }
033
034 @Override
035 public void consumeJoin(int index) {
036 ((EventDispatchJoinContext<E,P,C,H,S>) next).consumeJoin(index);
037 }
038
039 @Override
040 public void consumeJoin(E event) {
041 ((EventDispatchJoinContext<E,P,C,H,S>) next).consumeJoin(event);
042 }
043
044 @Override
045 public S getEventStore() {
046 return next.getEventStore();
047 }
048
049 @Override
050 public void post(E event, Predicate<E, S>... validators) {
051 next.post(event, validators);
052 }
053
054 @Override
055 public Mode getMode() {
056 return next.getMode();
057 }
058
059 }