Loop 的回调接口 - PatternDirClean/PDFileWatch GitHub Wiki

Loop 事件处理回调的接口为 StateBack

回调接口 StateBack 变形于 BiFunction 接口,需要返回当前回调的状态。

可使用变形接口 AsnyStateNextState,这两个接口均自动返回 LoopState.WATCH_NEXT 状态。使用他们的工场方法生成接口实例。

  • StateBack 实际类型为 BiFunction<WatchEvent<?>, String, LoopState>
    • WatchEvent<?> 为 java 的文件监控事件对象
    • String 为当前触发的路径
    • LoopState 为必须要返回的状态对象
  • NextState 即为自动为你返回 LoopState.WATCH_NEXT 的接口,需要使用其工厂方法 nextstate 构造
  • AsnyState 亦是自动为你返回 LoopState.WATCH_NEXT 的接口,但是其中你传入的代码会使用一个线程池异步进行,需要使用其工厂方法 asnystate 构造

状态有三种

  • LoopState.WATCH_NEXT // 继续触发回调链中的下一个回调
  • LoopState.WATCH_DOME // 停止回调链处理,不触发下一个回调
  • LoopState.WATCH_CLOSE // 停止回调链处理并调用当前 Loop 对象的 close() 方法,同时会中断 Waserver 中本次触发的事件列表处理