Class Station


  • class Station
    extends java.lang.Object
    A Station is a place where broadcaster events are actually transmitted to the registered Listeners
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Listeners listeners  
      private static org.slf4j.Logger LOG  
      private java.lang.String name  
      private java.util.concurrent.ConcurrentMap<java.lang.Class<?>,​java.util.concurrent.BlockingQueue<java.lang.Object>> queues  
      private Supervisor supervisor  
    • Constructor Summary

      Constructors 
      Constructor Description
      Station​(java.lang.String name)  
    • Field Detail

      • LOG

        private static final org.slf4j.Logger LOG
      • queues

        private final java.util.concurrent.ConcurrentMap<java.lang.Class<?>,​java.util.concurrent.BlockingQueue<java.lang.Object>> queues
      • listeners

        private final Listeners listeners
      • supervisor

        private volatile Supervisor supervisor
      • name

        private final java.lang.String name
    • Constructor Detail

      • Station

        Station​(java.lang.String name)
    • Method Detail

      • getQueue

        private java.util.concurrent.BlockingQueue<java.lang.Object> getQueue​(java.lang.Class<?> clazz)
      • broadcast

        public void broadcast​(java.lang.Object event)
      • doBroadcast

        private boolean doBroadcast​(java.lang.Object event)
      • broadcastEnqueuedEventsFor

        private void broadcastEnqueuedEventsFor​(java.lang.Class<?> updatedClass)
      • remove

        <T> boolean remove​(Listener<T> listener)
      • remove

        <T> boolean remove​(java.lang.Class<T> eventClass,
                           Listener<T> listener)
      • name

        java.lang.String name()
        Returns:
        name of the station
      • supervior

        public void supervior​(Supervisor supervisor)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object