Class MixFilter

java.lang.Object
org.miaixz.bus.core.lang.loader.MixFilter
All Implemented Interfaces:
Filter
Direct Known Subclasses:
AllFilter, AnyFilter

public abstract class MixFilter extends Object implements Filter
复合过滤器,实际上内部维护一个过滤器的LinkedHashSet集合,提供添加/删除以及链式拼接的方法来混合多个子过滤器,该过滤器的具体逻辑由子类拓展
Since:
Java 17+
Author:
Kimi Liu
  • Field Details

    • filters

      protected final Set<Filter> filters
  • Constructor Details

    • MixFilter

      protected MixFilter(Filter... filters)
    • MixFilter

      protected MixFilter(Collection<? extends Filter> filters)
  • Method Details

    • add

      public boolean add(Filter filter)
      添加过滤器
      Parameters:
      filter - 过滤器
      Returns:
      添加成功:true 否则:false 即代表重复添加
    • remove

      public boolean remove(Filter filter)
      删除过滤器
      Parameters:
      filter - 过滤器
      Returns:
      删除成功:true 否则:false 即代表已不存在
    • mix

      public abstract MixFilter mix(Filter filter)
      支持采用链式调用的方式混合多个过滤器,其内部调用add(Filter)且返回this. 该方法设计成abstract其用意是强制子类将方法的返回值类型替换成自身类型
      Parameters:
      filter - 过滤器
      Returns:
      this