Class ZeroFs

java.lang.Object
io.roastedroot.zerofs.ZeroFs

public final class ZeroFs extends Object
  • Field Details

    • URI_SCHEME

      public static final String URI_SCHEME
      The URI scheme for the ZeroFs file system ("zerofs").
      See Also:
    • LOGGER

      private static final Logger LOGGER
    • systemProvider

      static final FileSystemProvider systemProvider
      The system-loaded instance of SystemZeroFsFileSystemProvider, or null if it could not be found or loaded.
  • Constructor Details

    • ZeroFs

      private ZeroFs()
  • Method Details

    • newFileSystem

      public static FileSystem newFileSystem()
      Creates a new in-memory file system with a default configuration appropriate to the current operating system.

      More specifically, if the operating system is Windows, Configuration.windows() is used; if the operating system is Mac OS X, Configuration.osX() is used; otherwise, Configuration.unix() is used.

    • newFileSystem

      public static FileSystem newFileSystem(String name)
      Creates a new in-memory file system with a default configuration appropriate to the current operating system.

      More specifically, if the operating system is Windows, Configuration.windows() is used; if the operating system is Mac OS X, Configuration.osX() is used; otherwise, Configuration.unix() is used.

      The returned file system uses the given name as the host part of its URI and the URIs of paths in the file system. For example, given the name my-file-system, the file system's URI will be zerofs://my-file-system and the URI of the path /foo/bar will be zerofs://my-file-system/foo/bar.

    • newFileSystem

      public static FileSystem newFileSystem(Configuration configuration)
      Creates a new in-memory file system with the given configuration.
    • newFileSystem

      public static FileSystem newFileSystem(String name, Configuration configuration)
      Creates a new in-memory file system with the given configuration.

      The returned file system uses the given name as the host part of its URI and the URIs of paths in the file system. For example, given the name my-file-system, the file system's URI will be zerofs://my-file-system and the URI of the path /foo/bar will be zerofs://my-file-system/foo/bar.

    • newFileSystem

      static FileSystem newFileSystem(URI uri, Configuration config)
    • getSystemZeroFsProvider

      private static FileSystemProvider getSystemZeroFsProvider()
      Returns the system-loaded instance of SystemZeroFsFileSystemProvider or null if it could not be found or loaded.

      Like FileSystems.newFileSystem(URI, Map, ClassLoader), this method first looks in the list of installed providers and if not found there, attempts to load it from the ClassLoader with ServiceLoader.

      The idea is that this method should return an instance of the same class (i.e. loaded by the same class loader) as the class whose static cache a ZeroFsFileSystem instance will be placed in when FileSystems.newFileSystem is called in ZeroFs.newFileSystem.

    • newRandomFileSystemName

      private static String newRandomFileSystemName()