4 * Class responsible for distributing update information
5 * to all registered listeners
7 public class UpdateMessageBroker
9 private DataSubscriber[] _subscribers;
10 private int _subscriberNum = 0;
11 private static final int MAXIMUM_NUMBER_SUBSCRIBERS = 5;
16 * @param inTrack Track object
18 public UpdateMessageBroker()
20 _subscribers = new DataSubscriber[MAXIMUM_NUMBER_SUBSCRIBERS];
25 * Add a data subscriber to the list
26 * @param inSub DataSubscriber to add
28 public void addSubscriber(DataSubscriber inSub)
30 _subscribers[_subscriberNum] = inSub;
36 * Send a message to all subscribers that
37 * the data has been updated
39 public void informSubscribers()
41 informSubscribers(DataSubscriber.ALL);
46 * Send message to all subscribers
47 * @param inChange Change that occurred
49 public void informSubscribers(byte inChange)
51 for (int i=0; i<_subscribers.length; i++)
53 if (_subscribers[i] != null)
55 _subscribers[i].dataUpdated(inChange);