Package org.jmock.lib.concurrent
Class Synchroniser
- java.lang.Object
-
- org.jmock.lib.concurrent.Synchroniser
-
- All Implemented Interfaces:
ThreadingPolicy
public class Synchroniser extends java.lang.Object implements ThreadingPolicy
A ThreadingPolicy that makes the Mockery thread-safe and helps tests synchronise with background threads.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Error
firstError
private java.lang.Object
sync
-
Constructor Summary
Constructors Constructor Description Synchroniser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Invokable
synchroniseAccessTo(Invokable mockObject)
private java.lang.Object
synchroniseInvocation(Invokable mockObject, Invocation invocation)
void
waitUntil(StatePredicate p)
Waits for a StatePredicate to become active.void
waitUntil(StatePredicate p, long timeoutMs)
Waits up to a timeout for a StatePredicate to become active.private void
waitUntil(StatePredicate p, Timeout timeout)
-
-
-
Method Detail
-
waitUntil
public void waitUntil(StatePredicate p) throws java.lang.InterruptedException
Waits for a StatePredicate to become active. Warning: this will wait forever unless the test itself has a timeout.- Parameters:
p
- the StatePredicate to wait for- Throws:
java.lang.InterruptedException
-
waitUntil
public void waitUntil(StatePredicate p, long timeoutMs) throws java.lang.InterruptedException
Waits up to a timeout for a StatePredicate to become active. Fails the test if the timeout expires.- Parameters:
p
- the StatePredicate to wait fortimeoutMs
- the timeout in milliseconds- Throws:
java.lang.InterruptedException
-
waitUntil
private void waitUntil(StatePredicate p, Timeout timeout) throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
synchroniseAccessTo
public Invokable synchroniseAccessTo(Invokable mockObject)
- Specified by:
synchroniseAccessTo
in interfaceThreadingPolicy
-
synchroniseInvocation
private java.lang.Object synchroniseInvocation(Invokable mockObject, Invocation invocation) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
-