Interface EventInterceptor


public interface EventInterceptor
Event Interceptor - Pre/post processing hook for event publishing 事件拦截器 - 事件发布的前/后处理钩子

Interceptors are invoked in registration order before and after event dispatching. They enable cross-cutting concerns such as logging, metrics, security checks, and event transformation.

拦截器按注册顺序在事件分发前后被调用。 它们支持横切关注点,如日志、指标、安全检查和事件转换。

Features | 主要功能:

  • Pre-publish filtering (block events) - 发布前过滤(阻止事件)
  • Post-publish notification - 发布后通知
  • Cross-cutting concern support - 横切关注点支持

Usage Examples | 使用示例:

EventInterceptor loggingInterceptor = new EventInterceptor() {
    @Override
    public boolean beforePublish(Event event) {
        log.info("Publishing: {}", event.getClass().getSimpleName());
        return true; // allow publishing
    }

    @Override
    public void afterPublish(Event event, boolean dispatched) {
        log.info("Published: {}, dispatched={}", event.getClass().getSimpleName(), dispatched);
    }
};

Security | 安全性:

  • Thread-safe: Implementation dependent - 线程安全: 取决于实现
Since:
JDK 25, opencode-base-event V1.0.3
Author:
Leon Soo www.LeonSoo.com
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    afterPublish(Event event, boolean dispatched)
    Called after an event has been dispatched to listeners 在事件分发给监听器之后调用
    boolean
    Called before an event is dispatched to listeners 在事件分发给监听器之前调用
  • Method Details

    • beforePublish

      boolean beforePublish(Event event)
      Called before an event is dispatched to listeners 在事件分发给监听器之前调用
      Parameters:
      event - the event about to be published | 即将发布的事件
      Returns:
      true to allow publishing, false to block | true 允许发布,false 阻止
    • afterPublish

      default void afterPublish(Event event, boolean dispatched)
      Called after an event has been dispatched to listeners 在事件分发给监听器之后调用
      Parameters:
      event - the event that was published | 已发布的事件
      dispatched - true if the event was dispatched to at least one listener | 是否已分发给至少一个监听器