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 Details

    • getChannel

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

      org.slf4j.Logger getLogger()