Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.jgroups.util
Class CondVar  view CondVar download CondVar.java

java.lang.Object
  extended byorg.jgroups.util.CondVar

public class CondVar
extends java.lang.Object

Class that checks on a condition and - if condition doesn't match the expected result - waits until the result matches the expected result, or a timeout occurs. First version used WaitableBoolean from util.concurrent, but that class would not allow for timeouts.

Version:
$Id: CondVar.java,v 1.3 2004/12/31 14:10:40 belaban Exp $

Field Summary
(package private)  java.lang.Object cond
           
(package private)  java.lang.Object lock
           
(package private)  java.lang.String name
           
 
Constructor Summary
CondVar(java.lang.String name, java.lang.Object cond)
           
CondVar(java.lang.String name, java.lang.Object cond, java.lang.Object lock)
           
 
Method Summary
private  void _waitUntilWithTimeout(java.lang.Object result, long timeout)
           
(package private)  void doWait()
           
(package private)  void doWait(long timeout)
           
 java.lang.Object get()
           
 java.lang.Object getLock()
           
private  boolean match(java.lang.Object o1, java.lang.Object o2)
           
 void set(java.lang.Object result)
          Sets the result
 java.lang.String toString()
          Convert this Object to a human-readable String.
 void waitUntil(java.lang.Object result)
           
 void waitUntil(java.lang.Object result, long timeout)
          Waits until the condition matches the expected result.
 void waitUntilWithTimeout(java.lang.Object result, long timeout)
          Waits until the condition matches the expected result.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

cond

java.lang.Object cond

name

final java.lang.String name

lock

final java.lang.Object lock
Constructor Detail

CondVar

public CondVar(java.lang.String name,
               java.lang.Object cond)

CondVar

public CondVar(java.lang.String name,
               java.lang.Object cond,
               java.lang.Object lock)
Method Detail

get

public java.lang.Object get()

set

public void set(java.lang.Object result)
Sets the result


getLock

public java.lang.Object getLock()

waitUntilWithTimeout

public void waitUntilWithTimeout(java.lang.Object result,
                                 long timeout)
                          throws org.jgroups.TimeoutException
Waits until the condition matches the expected result. Returns immediately if they match, otherwise waits for timeout milliseconds or until the results match.


waitUntil

public void waitUntil(java.lang.Object result,
                      long timeout)
Waits until the condition matches the expected result. Returns immediately if they match, otherwise waits for timeout milliseconds or until the results match. This method doesn't throw a TimeoutException


waitUntil

public void waitUntil(java.lang.Object result)

_waitUntilWithTimeout

private void _waitUntilWithTimeout(java.lang.Object result,
                                   long timeout)
                            throws org.jgroups.TimeoutException

doWait

void doWait()

doWait

void doWait(long timeout)

match

private boolean match(java.lang.Object o1,
                      java.lang.Object o2)

toString

public java.lang.String toString()
Description copied from class: java.lang.Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() 55 and such.

It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).