org.opennms.core.concurrent
Class BarrierSignaler

java.lang.Object
  extended by org.opennms.core.concurrent.BarrierSignaler
All Implemented Interfaces:
Signaler

public final class BarrierSignaler
extends Object
implements Signaler

The Signaler interface was designed to get around the problem of not being able to extend the functionality of the Object.notify and Object.notifyAll methods. In some instances is would be nice to alter the default behavior slightly, the signaler interface allows this to occur.

An object that implements the Signaler interface is used just like a typical object. But instead of using notify and notifyAll, the methods signal and signalAll should be used in their place.

Version:
$Id: $
Author:
Weave , Sowmya , OpenNMS , Weave , Sowmya , OpenNMS , Weave , Sowmya , OpenNMS

Constructor Summary
BarrierSignaler(int barrier)
          Constructs a new barrier signaler.
 
Method Summary
 void signal()
           Provides the functionality of the notify method, but may be overridden by the implementor to provide additional functionality.
 void signalAll()
           Provides the functionality of the notifyAll method, but may be overridden by the implementor to provide additional functionality.
 void waitFor()
          waitFor
 void waitFor(long timeout)
          waitFor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BarrierSignaler

public BarrierSignaler(int barrier)
Constructs a new barrier signaler.

Parameters:
barrier - The barrier for notification to start.
Method Detail

signal

public void signal()

Provides the functionality of the notify method, but may be overridden by the implementor to provide additional functionality.

Specified by:
signal in interface Signaler
See Also:
Object.notify()

signalAll

public void signalAll()

Provides the functionality of the notifyAll method, but may be overridden by the implementor to provide additional functionality.

Specified by:
signalAll in interface Signaler
See Also:
Object.notifyAll()

waitFor

public void waitFor()
             throws InterruptedException

waitFor

Throws:
InterruptedException - if any.

waitFor

public void waitFor(long timeout)
             throws InterruptedException

waitFor

Parameters:
timeout - a long.
Throws:
InterruptedException - if any.


Copyright © 2011. All Rights Reserved.