Interface Loader

All Known Implementing Classes:
AntLoader, DelegateLoader, FileLoader, JarLoader, NatLoader, PatternLoader, PkgLoader, RegexLoader, ResourceLoader, StdLoader

public interface Loader
资源加载器,充分采用惰性加载的逻辑, 让资源的加载延后到Enumeration.hasMoreElements() 调用时,避免无用的提前全部预加载
Since:
Java 17+
Author:
Kimi Liu
  • Method Summary

    Modifier and Type
    Method
    Description
    load(String path)
    加载指定路径的所有资源,等效于Loader.load(path, false, Filters.ALWAYS)的调用 通常情况下不递归加载,但是子类可以改变此方法的行为, 例如ANT风格路径的资源加载器可以根据传入表达式来判断是否递归加载
    load(String path, boolean recursively)
    加载指定路径的所有资源,等效于Loader.load(path, recursively, Filters.ALWAYS)的调用
    load(String path, boolean recursively, Filter filter)
    加载指定路径的所有满足过滤条件的资源
    load(String path, Class<?> clazz)
    加载动态库信息 例如: .dll/.so等
    load(String path, Filter clazz)
    加载指定路径的所有满足过滤条件的资源,等效于Loader.load(path, true, boot)的调用
  • Method Details

    • load

      Enumeration<Resource> load(String path) throws IOException
      加载指定路径的所有资源,等效于Loader.load(path, false, Filters.ALWAYS)的调用 通常情况下不递归加载,但是子类可以改变此方法的行为, 例如ANT风格路径的资源加载器可以根据传入表达式来判断是否递归加载
      Parameters:
      path - 资源路径
      Returns:
      资源对象
      Throws:
      IOException - I/O 异常
    • load

      Enumeration<Resource> load(String path, boolean recursively) throws IOException
      加载指定路径的所有资源,等效于Loader.load(path, recursively, Filters.ALWAYS)的调用
      Parameters:
      path - 资源路径
      recursively - 递归加载
      Returns:
      资源枚举器
      Throws:
      IOException - I/O 异常
    • load

      Enumeration<Resource> load(String path, Filter clazz) throws IOException
      加载指定路径的所有满足过滤条件的资源,等效于Loader.load(path, true, boot)的调用
      Parameters:
      path - 资源路径
      clazz - 对象信息
      Returns:
      资源枚举器
      Throws:
      IOException - I/O 异常
    • load

      default Enumeration<Resource> load(String path, Class<?> clazz) throws IOException
      加载动态库信息 例如: .dll/.so等
      Parameters:
      path - 资源路径
      clazz - 对象信息
      Returns:
      资源枚举器
      Throws:
      IOException - I/O 异常
    • load

      Enumeration<Resource> load(String path, boolean recursively, Filter filter) throws IOException
      加载指定路径的所有满足过滤条件的资源
      Parameters:
      path - 资源路径
      recursively - 递归加载
      filter - 过滤器
      Returns:
      资源枚举器
      Throws:
      IOException - I/O 异常