Class CommandReader


  • public final class CommandReader
    extends java.lang.Object
    Reader of commands coming from plugin(master) process.
    Since:
    2.19
    • Field Detail

      • LAST_TEST_SYMBOL

        private static final java.lang.String LAST_TEST_SYMBOL
        See Also:
        Constant Field Values
      • commandThread

        private final java.lang.Thread commandThread
      • state

        private final java.util.concurrent.atomic.AtomicReference<java.lang.Thread.State> state
      • startMonitor

        private final java.util.concurrent.CountDownLatch startMonitor
      • nextCommandNotifier

        private final java.util.concurrent.Semaphore nextCommandNotifier
      • testClasses

        private final java.util.concurrent.CopyOnWriteArrayList<java.lang.String> testClasses
      • shutdown

        private volatile Shutdown shutdown
      • iteratedCount

        private int iteratedCount
    • Constructor Detail

      • CommandReader

        private CommandReader()
    • Method Detail

      • addTestListener

        public void addTestListener​(CommandListener listener)
      • addTestsFinishedListener

        public void addTestsFinishedListener​(CommandListener listener)
      • addSkipNextTestsListener

        public void addSkipNextTestsListener​(CommandListener listener)
      • addShutdownListener

        public void addShutdownListener​(CommandListener listener)
      • addNoopListener

        public void addNoopListener​(CommandListener listener)
      • addByeAckListener

        public void addByeAckListener​(CommandListener listener)
      • removeListener

        public void removeListener​(CommandListener listener)
      • getIterableClasses

        java.lang.Iterable<java.lang.String> getIterableClasses​(ForkedChannelEncoder eventChannel)
        The iterator can be used only in one Thread. Two simultaneous instances are not allowed for sake of only one nextCommandNotifier.
        Parameters:
        eventChannel - original stream in current JVM process
        Returns:
        Iterator with test classes lazily loaded as commands from the main process
      • stop

        public void stop()
      • isStopped

        private boolean isStopped()
      • makeQueueFull

        private void makeQueueFull()
      • insertToQueue

        private boolean insertToQueue​(java.lang.String test)
      • awaitNextTest

        private void awaitNextTest()
      • wakeupIterator

        private void wakeupIterator()