public <T> void subscribe(Class<T> clazz, Subscriber<T> subscriber) { Log.d(TAG, "register("); if (subscriber == null) { throw new RuntimeException("null Subscriber for " + clazz); } if (receiverBindings.containsKey(subscriber)) { Log.w(TAG, "Duplicate Registration Ignored"); return; } receiverBindings.put(subscriber, new ReceiverBinding(clazz, subscriber)); parent.subscribe(clazz, subscriber); }
@Override public void unSubscribe(Subscriber subscriber) { ReceiverBinding removed = receiverBindings.remove(subscriber); parent.unSubscribe(subscriber); }
@Override public void update(Object value) { parent.update(value); }
public void post(String channelId, Object value) { parent.publish(new Channel(value.getClass(), channelId), value); }
@Override public void invalidate(Class clazz) { parent.invalidate(clazz); }
@Override public void publish(Channel channel, Object value) { parent.publish(channel, value); }
@Override public void publish(Object value) { parent.publish(null, value); }
public <T> void request(Class<T> clazz, String channelId, String[] params) { parent.request(clazz, channelId, params); }
@Override public <T> void subscribe(Class<T> clazz, String channelId, Subscriber<T> subscriber) { receiverBindings.put(subscriber, new ReceiverBinding(clazz, channelId, subscriber)); parent.subscribe(clazz, channelId, subscriber); }