Class MartiniIterator

  • All Implemented Interfaces:
    java.util.Iterator<java.util.Optional<guru.qas.martini.Martini>>

    @Configurable
    public class MartiniIterator
    extends java.lang.Object
    implements java.util.Iterator<java.util.Optional<guru.qas.martini.Martini>>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.concurrent.ConcurrentLinkedDeque<guru.qas.martini.Martini> gated  
      protected com.google.common.util.concurrent.Monitor monitor  
      protected long pollTimeoutMs  
      protected java.util.concurrent.ConcurrentLinkedDeque<guru.qas.martini.Martini> ungated  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected MartiniIterator​(long pollTimeoutMs, java.util.concurrent.ConcurrentLinkedDeque<guru.qas.martini.Martini> gated, java.util.concurrent.ConcurrentLinkedDeque<guru.qas.martini.Martini> ungated)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static MartiniIterator.Builder builder()  
      void forEachRemaining​(java.util.function.Consumer<? super java.util.Optional<guru.qas.martini.Martini>> action)  
      protected java.util.Optional<guru.qas.martini.Martini> getNextGated()  
      protected java.util.Optional<guru.qas.martini.Martini> getNextUngated()  
      boolean hasNext()  
      protected boolean lock​(guru.qas.martini.Martini martini)  
      java.util.Optional<guru.qas.martini.Martini> next()  
      void remove()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • pollTimeoutMs

        protected final long pollTimeoutMs
      • gated

        protected final java.util.concurrent.ConcurrentLinkedDeque<guru.qas.martini.Martini> gated
      • ungated

        protected final java.util.concurrent.ConcurrentLinkedDeque<guru.qas.martini.Martini> ungated
      • monitor

        protected final com.google.common.util.concurrent.Monitor monitor
    • Constructor Detail

      • MartiniIterator

        protected MartiniIterator​(long pollTimeoutMs,
                                  java.util.concurrent.ConcurrentLinkedDeque<guru.qas.martini.Martini> gated,
                                  java.util.concurrent.ConcurrentLinkedDeque<guru.qas.martini.Martini> ungated)
    • Method Detail

      • hasNext

        public boolean hasNext()
        Specified by:
        hasNext in interface java.util.Iterator<java.util.Optional<guru.qas.martini.Martini>>
      • next

        public java.util.Optional<guru.qas.martini.Martini> next()
        Specified by:
        next in interface java.util.Iterator<java.util.Optional<guru.qas.martini.Martini>>
      • getNextGated

        protected java.util.Optional<guru.qas.martini.Martini> getNextGated()
      • lock

        protected boolean lock​(guru.qas.martini.Martini martini)
      • getNextUngated

        protected java.util.Optional<guru.qas.martini.Martini> getNextUngated()
      • remove

        public void remove()
        Specified by:
        remove in interface java.util.Iterator<java.util.Optional<guru.qas.martini.Martini>>
      • forEachRemaining

        public void forEachRemaining​(java.util.function.Consumer<? super java.util.Optional<guru.qas.martini.Martini>> action)
        Specified by:
        forEachRemaining in interface java.util.Iterator<java.util.Optional<guru.qas.martini.Martini>>