game.pubsub
Class BasePublisher<E extends PubSubEvent>

java.lang.Object
  extended by game.pubsub.BasePublisher<E>
Type Parameters:
E - the event type for notification
All Implemented Interfaces:
Publisher<E>
Direct Known Subclasses:
Clock, CollisionDetector, Piece

public class BasePublisher<E extends PubSubEvent>
extends java.lang.Object
implements Publisher<E>

Simple implementation of a Publisher that keeps track of Subscribers using a LinkedList


Constructor Summary
BasePublisher()
           
 
Method Summary
 void addSubscriber(Subscriber<E> subscriber)
          Add a new subscriber.
 void notifySubscribers(E e)
          Informs all subscribers than an event has occured by calling their observeEvent() method.
 void removeSubscriber(Subscriber<E> subscriber)
          Remove a subscriber.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasePublisher

public BasePublisher()
Method Detail

addSubscriber

public void addSubscriber(Subscriber<E> subscriber)
Add a new subscriber.

Specified by:
addSubscriber in interface Publisher<E extends PubSubEvent>
Parameters:
subscriber - is the new subscriber being added

removeSubscriber

public void removeSubscriber(Subscriber<E> subscriber)
Remove a subscriber.

Specified by:
removeSubscriber in interface Publisher<E extends PubSubEvent>
Parameters:
subscriber - is the subscriber being removed

notifySubscribers

public final void notifySubscribers(E e)
Informs all subscribers than an event has occured by calling their observeEvent() method.

Specified by:
notifySubscribers in interface Publisher<E extends PubSubEvent>
Parameters:
e - the event to be passed onto the subscribers