Class FileFactory


  • final class FileFactory
    extends java.lang.Object
    Factory for creating new files and copying files. One piece of the file store implementation.
    • Field Detail

      • idGenerator

        private final java.util.concurrent.atomic.AtomicInteger idGenerator
      • directorySupplier

        private final com.google.common.base.Supplier<Directory> directorySupplier
      • regularFileSupplier

        private final com.google.common.base.Supplier<RegularFile> regularFileSupplier
    • Constructor Detail

      • FileFactory

        public FileFactory​(HeapDisk disk,
                           FileTimeSource fileTimeSource)
        Creates a new file factory using the given disk for regular files and the given time source.
    • Method Detail

      • nextFileId

        private int nextFileId()
      • createDirectory

        public Directory createDirectory()
        Creates a new directory.
      • createRootDirectory

        public Directory createRootDirectory​(Name name)
        Creates a new root directory with the given name.
      • createRegularFile

        RegularFile createRegularFile()
        Creates a new regular file.
      • createSymbolicLink

        SymbolicLink createSymbolicLink​(JimfsPath target)
        Creates a new symbolic link referencing the given target path.
      • copyWithoutContent

        public File copyWithoutContent​(File file)
                                throws java.io.IOException
        Creates and returns a copy of the given file.
        Throws:
        java.io.IOException
      • directoryCreator

        public com.google.common.base.Supplier<Directory> directoryCreator()
        Returns a supplier that creates directories.
      • regularFileCreator

        public com.google.common.base.Supplier<RegularFile> regularFileCreator()
        Returns a supplier that creates regular files.
      • symbolicLinkCreator

        public com.google.common.base.Supplier<SymbolicLink> symbolicLinkCreator​(JimfsPath target)
        Returns a supplier that creates a symbolic links to the given path.