Class PostProcessing

    • Constructor Summary

      Constructors 
      Constructor Description
      PostProcessing​(GProp<?> initialDispatcher)
      Constructor with initial dispatcher.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addPostProcessor​(EventListener postProcessor)
      Adds a post-event processor that will be called when the event has completed its notification process.
      void execute​(GProp<?> dispatcher, GEvent event)
      Executes all post processors for a dispatcher.
      EventListener[] getPostProcessors​(GProp<?> dispatcher)
      Gets the post-processors.
      boolean hasPostProcessors​(GProp<?> dispatcher)
      Checks for presence of post processors.
      void setInitialProperty​(GProp<?> initialDispatcher)
      Assigns the initial sender property that should perform post processing of events.
      • Methods inherited from class java.lang.Object

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

      • PostProcessing

        public PostProcessing​(GProp<?> initialDispatcher)
        Constructor with initial dispatcher.
        Parameters:
        initialDispatcher - The initial dispatcher, can be null.
    • Method Detail

      • setInitialProperty

        public void setInitialProperty​(GProp<?> initialDispatcher)
        Assigns the initial sender property that should perform post processing of events. This method should only be called from the initial GProp that sends the event the first time. This is done from the GProp.onEvent method and should not be called elsewhere.
        Specified by:
        setInitialProperty in interface IPostEventProcessing
        Parameters:
        initialDispatcher - The initial dispatcher.
      • addPostProcessor

        public void addPostProcessor​(EventListener postProcessor)
        Adds a post-event processor that will be called when the event has completed its notification process. This method can be called at any time during the event notification phase, but calls to this method when post-processing is executing is not going to change the post-processors, thus will the postProcessor not be called.

        Note: the post-processors are called no matter if the event has been canceled, so the processor may have to check the cancel state.

        Calling this method with the same postProcessor more than once does not add it again.

        Specified by:
        addPostProcessor in interface IPostEventProcessing
        Parameters:
        postProcessor - Processor to add.
        Throws:
        java.lang.NullPointerException - If the postProcessor is null.
      • getPostProcessors

        public EventListener[] getPostProcessors​(GProp<?> dispatcher)
        Gets the post-processors.
        Specified by:
        getPostProcessors in interface IPostEventProcessing
        Parameters:
        dispatcher - The property retrieving the post-processors, null for none.
        Returns:
        An array of the post-processors to call after all normal event notification, null for none.
      • hasPostProcessors

        public boolean hasPostProcessors​(GProp<?> dispatcher)
        Checks for presence of post processors.
        Parameters:
        dispatcher - The property retrieving the post-processors, null for none.
        Returns:
        true if post processors are present, false otherwise.
      • execute

        public void execute​(GProp<?> dispatcher,
                            GEvent event)
        Executes all post processors for a dispatcher.
        Parameters:
        dispatcher - The property retrieving the post-processors, null for none.
        event - Event to dispatch to the post processors.
        Throws:
        java.lang.NullPointerException - if the dispatcher or event is null.