Class PatternLoader

All Implemented Interfaces:
Loader
Direct Known Subclasses:
AntLoader, RegexLoader

public abstract class PatternLoader extends DelegateLoader implements Loader
模式匹配资源加载器
Since:
Java 17+
Author:
Kimi Liu
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.miaixz.bus.core.lang.loader.ResourceLoader

    ResourceLoader.ResourceEnumerator
  • Field Summary

    Fields inherited from class org.miaixz.bus.core.lang.loader.DelegateLoader

    delegate
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract Filter
    filter(String pattern)
    根据资源表达式推导出资源过滤器
    load(String pattern, boolean recursively, Filter filter)
    加载匹配模式表达式的所有资源,由于模式表达式中有可能表达了是否递归加载的含义, 所以缺省情况下recursively参数会被忽略,取而代之的是recursively(String)的返回值, 如果字类实现的模式表达式并不能表达是否递归加载的含义,需要重写该方法以满足更多定制化的需求 另外当filter参数不为null时,由模式表达式推导出的过滤器将会和filter参数混合成一个AllFilter混合过滤器
    protected abstract String
    path(String pattern)
    根据资源表达式推导出资源根路径
    protected abstract boolean
    根据资源表达式推导出是否从根路径开始递归加载

    Methods inherited from class org.miaixz.bus.core.lang.loader.ResourceLoader

    load, load, load

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.miaixz.bus.core.lang.loader.Loader

    load, load, load, load
  • Constructor Details

    • PatternLoader

      protected PatternLoader(Loader delegate)
  • Method Details

    • load

      public Enumeration<Resource> load(String pattern, boolean recursively, Filter filter) throws IOException
      加载匹配模式表达式的所有资源,由于模式表达式中有可能表达了是否递归加载的含义, 所以缺省情况下recursively参数会被忽略,取而代之的是recursively(String)的返回值, 如果字类实现的模式表达式并不能表达是否递归加载的含义,需要重写该方法以满足更多定制化的需求 另外当filter参数不为null时,由模式表达式推导出的过滤器将会和filter参数混合成一个AllFilter混合过滤器
      Specified by:
      load in interface Loader
      Parameters:
      pattern - 模式表达式
      recursively - 递归加载
      filter - 过滤器
      Returns:
      所有匹配模式表达式的资源
      Throws:
      IOException - I/O 异常
    • path

      protected abstract String path(String pattern)
      根据资源表达式推导出资源根路径
      Parameters:
      pattern - 资源表达式
      Returns:
      资源根路径
    • recursively

      protected abstract boolean recursively(String pattern)
      根据资源表达式推导出是否从根路径开始递归加载
      Parameters:
      pattern - 资源表达式
      Returns:
      是否从根路径开始递归加载
    • filter

      protected abstract Filter filter(String pattern)
      根据资源表达式推导出资源过滤器
      Parameters:
      pattern - 资源表达式
      Returns:
      出资源过滤器