Class Event<T extends Throwable>
java.lang.Object
net.schmizz.concurrent.Event<T>
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionEvent(String name, ExceptionChainer<T> chainer, ReentrantLock lock, LoggerFactory loggerFactory) Creates this event with givenname, exceptionchainer, and associatedlock.Event(String name, ExceptionChainer<T> chainer, LoggerFactory loggerFactory) Creates this event with givennameand exceptionchainer. -
Method Summary
Modifier and TypeMethodDescriptionvoidawait()Await this event to have a definitetrueorfalsevalue.voidAwait this event to have a definitetrueorfalsevalue, fortimeoutduration.voidclear()Clear this event.voidDeliver the errort(after chaining) to any present or future waiters.booleanbooleaninError()booleanisSet()voidlock()Acquire the lock associated with this event.voidset()Sets this event to betrue.toString()booleanAwait this event to have a definitetrueorfalsevalue, fortimeoutduration.voidunlock()Release the lock associated with this event.
-
Field Details
-
SOME
-
promise
-
-
Constructor Details
-
Event
Creates this event with givennameand exceptionchainer. Allocates a newLockobject for this event.- Parameters:
name- name of this eventchainer-ExceptionChainerthat will be used for chaining exceptions
-
Event
public Event(String name, ExceptionChainer<T> chainer, ReentrantLock lock, LoggerFactory loggerFactory) Creates this event with givenname, exceptionchainer, and associatedlock.- Parameters:
name- name of this eventchainer-ExceptionChainerthat will be used for chaining exceptionslock- lock to use
-
-
Method Details
-
set
public void set()Sets this event to betrue. Short forset(true). -
clear
public void clear()Clear this event. A cleared event!isSet(). -
deliverError
Deliver the errort(after chaining) to any present or future waiters. -
isSet
public boolean isSet()- Returns:
- whether this event is in a 'set' state. An event is set by a call to
set()ordeliverError(Throwable)
-
await
public void await() throws TAwait this event to have a definitetrueorfalsevalue.- Throws:
T- if another thread meanwhile informs this event of an error
-
await
Await this event to have a definitetrueorfalsevalue, fortimeoutduration.- Parameters:
timeout- timeoutunit- the time unit for the timeout- Throws:
T- if another thread meanwhile informs this event of an error, or timeout expires
-
tryAwait
Await this event to have a definitetrueorfalsevalue, fortimeoutduration. If the definite value is not available when the timeout expires, returnsfalse.- Parameters:
timeout- timeoutunit- the time unit for the timeout- Throws:
T- if another thread meanwhile informs this event of an error
-
hasWaiters
public boolean hasWaiters()- Returns:
- whether there are any threads waiting on this event to be set.
-
inError
public boolean inError()- Returns:
- whether this event is in an error state i.e. has been delivered an error.
-
lock
public void lock()Acquire the lock associated with this event. -
unlock
public void unlock()Release the lock associated with this event. -
toString
-