Class AbstractSynchroService

  • All Implemented Interfaces:
    SynchroService
    Direct Known Subclasses:
    SynchroServiceImpl

    public abstract class AbstractSynchroService
    extends java.lang.Object
    implements SynchroService
    Author:
    Emmanuel Duchastenier, Charles Souillard
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void clearAllEvents()  
      void fireEvent​(java.util.Map<java.lang.String,​java.io.Serializable> event, java.io.Serializable id)  
      protected abstract java.util.Map<java.lang.String,​java.io.Serializable> getEventKeyAndIdMap()
      Maitains a map of
      protected java.io.Serializable getFiredAndRemoveIt​(java.util.Map<java.lang.String,​java.io.Serializable> expectedEvent)  
      protected abstract org.slf4j.Logger getLogger()  
      protected abstract java.util.concurrent.locks.Lock getServiceLock()  
      protected java.lang.String getWaiterAndRemoveIt​(java.util.Map<java.lang.String,​java.io.Serializable> event)  
      protected abstract java.util.Map<java.util.Map<java.lang.String,​java.io.Serializable>,​java.lang.String> getWaitersMap()
      String value is an identifier of the sempaphore for the current event.
      boolean hasWaiters()  
      protected boolean matchedAtLeastAllExpectedEntries​(java.util.Map<java.lang.String,​java.io.Serializable> expectedEventEntries, java.util.Map<java.lang.String,​java.io.Serializable> actualEventEntries)  
      protected abstract void releaseWaiter​(java.lang.String semaphoreKey)  
      protected void throwTimeout​(java.util.Map<java.lang.String,​java.io.Serializable> event, long timeout)  
      • Methods inherited from class java.lang.Object

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

      • SYNCHRO_SERVICE_CACHE

        protected static final java.lang.String SYNCHRO_SERVICE_CACHE
        See Also:
        Constant Field Values
    • Constructor Detail

      • AbstractSynchroService

        public AbstractSynchroService​(CacheService cacheService)
    • Method Detail

      • getWaitersMap

        protected abstract java.util.Map<java.util.Map<java.lang.String,​java.io.Serializable>,​java.lang.String> getWaitersMap()
        String value is an identifier of the sempaphore for the current event.
      • getLogger

        protected abstract org.slf4j.Logger getLogger()
      • getEventKeyAndIdMap

        protected abstract java.util.Map<java.lang.String,​java.io.Serializable> getEventKeyAndIdMap()
        Maitains a map of
      • releaseWaiter

        protected abstract void releaseWaiter​(java.lang.String semaphoreKey)
      • getServiceLock

        protected abstract java.util.concurrent.locks.Lock getServiceLock()
      • fireEvent

        public void fireEvent​(java.util.Map<java.lang.String,​java.io.Serializable> event,
                              java.io.Serializable id)
        Specified by:
        fireEvent in interface SynchroService
      • getWaiterAndRemoveIt

        protected java.lang.String getWaiterAndRemoveIt​(java.util.Map<java.lang.String,​java.io.Serializable> event)
      • matchedAtLeastAllExpectedEntries

        protected boolean matchedAtLeastAllExpectedEntries​(java.util.Map<java.lang.String,​java.io.Serializable> expectedEventEntries,
                                                           java.util.Map<java.lang.String,​java.io.Serializable> actualEventEntries)
      • getFiredAndRemoveIt

        protected java.io.Serializable getFiredAndRemoveIt​(java.util.Map<java.lang.String,​java.io.Serializable> expectedEvent)
      • throwTimeout

        protected void throwTimeout​(java.util.Map<java.lang.String,​java.io.Serializable> event,
                                    long timeout)
                             throws java.util.concurrent.TimeoutException
        Throws:
        java.util.concurrent.TimeoutException