Interface PageMoveEvent

  • All Superinterfaces:
    BaseChannelEvent, PageEvent<PageMoveContext>, RuntimeExceptionEvent

    public interface PageMoveEvent
    extends PageEvent<PageMoveContext>

    PageMoveEvent which will be put on the internal Guava event bus for synchronous events dispatching where listeners to this event can inject logic or short-circuit processing by setting a RuntimeException through PageMoveEvent#setException(java.lang.RuntimeException). When a RuntimeException is set on this PageMoveEvent 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 PageMoveEvent object is that Guava EventBus always catches an exception thrown by a listener, even when injecting a custom SubscriberExceptionHandler

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