Interface FileResolver

All Superinterfaces:
AutoCloseable, Closeable

public interface FileResolver extends Closeable
Sometimes the file resources of an application are bundled into jars, or are somewhere on the classpath but not available on the file system, e.g. in the case of a Vert.x webapp bundled as a fat jar.

In this case we want the application to access the resource from the classpath as if it was on the file system.

We can do this by looking for the file on the classpath, and if found, copying it to a temporary cache directory on disk and serving it from there.

There is one cache dir per Vert.x instance which is deleted on Vert.x shutdown.

Author:
Tim Fox, Rob Worsnop
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Close this file resolver, this is a blocking operation.
    Create a file resolver.
    resolve(String fileName)
    Resolve the file for the specified fileName.
  • Method Details

    • fileResolver

      static FileResolver fileResolver(FileSystemOptions options)
      Create a file resolver.
      Parameters:
      options - the fs options
      Returns:
      the file resolver
    • resolve

      File resolve(String fileName)
      Resolve the file for the specified fileName. This method should never return null, it can return a file that does not exist.
      Parameters:
      fileName - the name to resolve
      Returns:
      a file resolved
    • close

      void close() throws IOException
      Close this file resolver, this is a blocking operation.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException