Package com.google.common.jimfs
Class FileFactory
- java.lang.Object
-
- com.google.common.jimfs.FileFactory
-
final class FileFactory extends java.lang.Object
Factory for creating new files and copying files. One piece of the file store implementation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
FileFactory.DirectorySupplier
private class
FileFactory.RegularFileSupplier
private class
FileFactory.SymbolicLinkSupplier
-
Field Summary
Fields Modifier and Type Field Description private com.google.common.base.Supplier<Directory>
directorySupplier
private HeapDisk
disk
private FileTimeSource
fileTimeSource
private java.util.concurrent.atomic.AtomicInteger
idGenerator
private com.google.common.base.Supplier<RegularFile>
regularFileSupplier
-
Constructor Summary
Constructors Constructor Description FileFactory(HeapDisk disk, FileTimeSource fileTimeSource)
Creates a new file factory using the given disk for regular files and the given time source.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description File
copyWithoutContent(File file)
Creates and returns a copy of the given file.Directory
createDirectory()
Creates a new directory.(package private) RegularFile
createRegularFile()
Creates a new regular file.Directory
createRootDirectory(Name name)
Creates a new root directory with the given name.(package private) SymbolicLink
createSymbolicLink(JimfsPath target)
Creates a new symbolic link referencing the given target path.com.google.common.base.Supplier<Directory>
directoryCreator()
Returns a supplier that creates directories.private int
nextFileId()
com.google.common.base.Supplier<RegularFile>
regularFileCreator()
Returns a supplier that creates regular files.com.google.common.base.Supplier<SymbolicLink>
symbolicLinkCreator(JimfsPath target)
Returns a supplier that creates a symbolic links to the given path.
-
-
-
Field Detail
-
idGenerator
private final java.util.concurrent.atomic.AtomicInteger idGenerator
-
disk
private final HeapDisk disk
-
fileTimeSource
private final FileTimeSource fileTimeSource
-
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.
-
-