Interface BaseChannelEvent

  • All Superinterfaces:
    RuntimeExceptionEvent
    All Known Subinterfaces:
    BeforeChannelDeleteEvent, ChannelEvent, PageCopyEvent, PageCreateEvent, PageDeleteEvent, PageEvent<T>, PageMoveEvent, PageUpdateEvent

    public interface BaseChannelEvent
    extends RuntimeExceptionEvent

    BaseChannelEvent which will be put on the internal ChannelEventBus for synchronous events dispatching where listeners to this event can inject logic or short-circuit processing by setting a RuntimeException through RuntimeExceptionEvent#setException(java.lang.RuntimeException). When a RuntimeException is set on this BaseChannelEvent by a listener, the org.hippoecm.hst.pagecomposer.jaxrs.services.AbstractConfigResource#publishSynchronousEvent will rethrow the exception. The reason that this has to be done via this BaseChannelEvent object is that the internal event bus always catches an exception thrown by a listener.

    Note that listeners for ChannelEvents must never invoke HstRequestContext#getSession()#save(). Changes in the JCR Session will always be persisted by the code that posted the ChannelEvent to the guava event bus

    • Method Detail

      • getChannel

        Channel getChannel()
        Return the channel where this event occurs on.
        Returns:
        the channel where this event occurs on
      • getLogger

        org.slf4j.Logger getLogger()