Interface PageEvent<T extends PageActionContext>

All Superinterfaces:
BaseChannelEvent, RuntimeExceptionEvent
All Known Subinterfaces:
PageCopyEvent, PageCreateEvent, PageDeleteEvent, PageMoveEvent, PageUpdateEvent

public interface PageEvent<T extends PageActionContext> extends BaseChannelEvent

PageEvent 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 PageEvent#setException(java.lang.RuntimeException). When a RuntimeException is set on this PageEvent 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 PageCopyEvent object is that Guava EventBus always catches an exception thrown by a listener, even when injecting a custom SubscriberExceptionHandler

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

  • Method Details

    • getPageActionContext

      T getPageActionContext()
      Return the page action context data.
      Returns:
      the page action context data