public final class CommandReader
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private class |
CommandReader.ClassesIterable |
private class |
CommandReader.ClassesIterator |
private class |
CommandReader.CommandRunnable |
Modifier and Type | Field and Description |
---|---|
private java.lang.Thread |
commandThread |
private int |
iteratedCount |
private static java.lang.String |
LAST_TEST_SYMBOL |
private java.util.Queue<BiProperty<MasterProcessCommand,CommandListener>> |
listeners |
private ConsoleLogger |
logger |
private java.util.concurrent.Semaphore |
nextCommandNotifier |
private static CommandReader |
READER |
private Shutdown |
shutdown |
private java.util.concurrent.CountDownLatch |
startMonitor |
private java.util.concurrent.atomic.AtomicReference<java.lang.Thread.State> |
state |
private java.util.concurrent.CopyOnWriteArrayList<java.lang.String> |
testClasses |
Modifier | Constructor and Description |
---|---|
private |
CommandReader() |
Modifier and Type | Method and Description |
---|---|
void |
addByeAckListener(CommandListener listener) |
void |
addListener(CommandListener listener) |
private void |
addListener(MasterProcessCommand cmd,
CommandListener listener) |
void |
addNoopListener(CommandListener listener) |
void |
addShutdownListener(CommandListener listener) |
void |
addSkipNextTestsListener(CommandListener listener) |
void |
addTestListener(CommandListener listener) |
void |
addTestsFinishedListener(CommandListener listener) |
private void |
awaitNextTest() |
boolean |
awaitStarted() |
(package private) java.lang.Iterable<java.lang.String> |
getIterableClasses(java.io.PrintStream originalOutStream)
The iterator can be used only in one Thread.
|
static CommandReader |
getReader() |
private boolean |
insertToQueue(java.lang.String test) |
private boolean |
isQueueFull() |
private boolean |
isStopped() |
(package private) java.util.Iterator<java.lang.String> |
iterated() |
private void |
makeQueueFull() |
void |
removeListener(CommandListener listener) |
CommandReader |
setLogger(ConsoleLogger logger) |
CommandReader |
setShutdown(Shutdown shutdown) |
void |
stop() |
private void |
wakeupIterator() |
private static final java.lang.String LAST_TEST_SYMBOL
private static final CommandReader READER
private final java.util.Queue<BiProperty<MasterProcessCommand,CommandListener>> listeners
private final java.lang.Thread commandThread
private final java.util.concurrent.atomic.AtomicReference<java.lang.Thread.State> state
private final java.util.concurrent.CountDownLatch startMonitor
private final java.util.concurrent.Semaphore nextCommandNotifier
private final java.util.concurrent.CopyOnWriteArrayList<java.lang.String> testClasses
private volatile Shutdown shutdown
private int iteratedCount
private volatile ConsoleLogger logger
public static CommandReader getReader()
public CommandReader setShutdown(Shutdown shutdown)
public CommandReader setLogger(ConsoleLogger logger)
public boolean awaitStarted() throws TestSetFailedException
TestSetFailedException
public void addListener(CommandListener listener)
listener
- listener called with Any command type
public void addTestListener(CommandListener listener)
public void addTestsFinishedListener(CommandListener listener)
public void addSkipNextTestsListener(CommandListener listener)
public void addShutdownListener(CommandListener listener)
public void addNoopListener(CommandListener listener)
public void addByeAckListener(CommandListener listener)
private void addListener(MasterProcessCommand cmd, CommandListener listener)
public void removeListener(CommandListener listener)
java.util.Iterator<java.lang.String> iterated()
getIterableClasses(PrintStream)
.java.lang.Iterable<java.lang.String> getIterableClasses(java.io.PrintStream originalOutStream)
nextCommandNotifier
.originalOutStream
- original stream in current JVM processpublic void stop()
private boolean isStopped()
private boolean isQueueFull()
true
if LAST_TEST_SYMBOL
found at the last index in testClasses
.private void makeQueueFull()
private boolean insertToQueue(java.lang.String test)
private void awaitNextTest()
private void wakeupIterator()