org.fcrepo.server.observer
Class ObserverQueue

java.lang.Object
  extended by org.fcrepo.server.observer.ObserverQueue
All Implemented Interfaces:
Runnable, Publisher, Subscriber

public class ObserverQueue
extends Object
implements Publisher, Subscriber, Runnable

A threaded FIFO queue to improve performance of updates to Observers.

Version:
$Id$
Author:
Edwin Shin
See Also:
http://www.javaworld.com/javaworld/javatips/jw-javatip29.html

Constructor Summary
ObserverQueue()
           
 
Method Summary
 void addSubscriber(Subscriber obs)
           
 void notifySubscribers()
           
 void notifySubscribers(Object o)
          Notify subscribers.
 void removeSubscriber(Subscriber obs)
           
 void run()
           
 void update(Publisher o, Object arg)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObserverQueue

public ObserverQueue()
Method Detail

update

public void update(Publisher o,
                   Object arg)
Specified by:
update in interface Subscriber

run

public void run()
Specified by:
run in interface Runnable

addSubscriber

public void addSubscriber(Subscriber obs)
Specified by:
addSubscriber in interface Publisher

notifySubscribers

public void notifySubscribers()
Specified by:
notifySubscribers in interface Publisher

notifySubscribers

public void notifySubscribers(Object o)
Notify subscribers. Notifications are issued using a copy of the subscriber list. Therefore, Subscribers should not assume that a notification will not be received even after calling removeSubscriber.

Specified by:
notifySubscribers in interface Publisher

removeSubscriber

public void removeSubscriber(Subscriber obs)
Specified by:
removeSubscriber in interface Publisher


Copyright © 2012 DuraSpace. All Rights Reserved.