Class Configuration
- java.lang.Object
-
- com.google.common.jimfs.Configuration
-
public final class Configuration extends java.lang.ObjectImmutable configuration for an in-memory file system. AConfigurationis passed to a method inJimfssuch asJimfs.newFileSystem(Configuration)to create a newFileSysteminstance.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classConfiguration.BuilderMutable builder forConfigurationobjects.private static classConfiguration.OsxHolderprivate static classConfiguration.UnixHolderprivate static classConfiguration.WindowsHolder
-
Field Summary
Fields Modifier and Type Field Description (package private) com.google.common.collect.ImmutableSet<AttributeProvider>attributeProviders(package private) com.google.common.collect.ImmutableSet<java.lang.String>attributeViews(package private) intblockSize(package private) com.google.common.collect.ImmutableMap<java.lang.String,java.lang.Object>defaultAttributeValuesprivate java.lang.StringdisplayName(package private) FileTimeSourcefileTimeSource(package private) longmaxCacheSize(package private) longmaxSize(package private) com.google.common.collect.ImmutableSet<PathNormalization>nameCanonicalNormalization(package private) com.google.common.collect.ImmutableSet<PathNormalization>nameDisplayNormalization(package private) booleanpathEqualityUsesCanonicalForm(package private) PathTypepathType(package private) com.google.common.collect.ImmutableSet<java.lang.String>roots(package private) com.google.common.collect.ImmutableSet<Feature>supportedFeatures(package private) WatchServiceConfigurationwatchServiceConfig(package private) java.lang.StringworkingDirectory
-
Constructor Summary
Constructors Modifier Constructor Description privateConfiguration(Configuration.Builder builder)Creates an immutable configuration object from the given builder.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Configuration.Builderbuilder(PathType pathType)Creates a new mutableConfigurationbuilder using the given path type.static ConfigurationforCurrentPlatform()Returns a default configuration appropriate to the current operating system.static ConfigurationosX()Returns the default configuration for a Mac OS X-like file system.Configuration.BuildertoBuilder()Returns a new mutable builder that initially contains the same settings as this configuration.java.lang.StringtoString()static Configurationunix()Returns the default configuration for a UNIX-like file system.static Configurationwindows()Returns the default configuration for a Windows-like file system.
-
-
-
Field Detail
-
pathType
final PathType pathType
-
nameDisplayNormalization
final com.google.common.collect.ImmutableSet<PathNormalization> nameDisplayNormalization
-
nameCanonicalNormalization
final com.google.common.collect.ImmutableSet<PathNormalization> nameCanonicalNormalization
-
pathEqualityUsesCanonicalForm
final boolean pathEqualityUsesCanonicalForm
-
blockSize
final int blockSize
-
maxSize
final long maxSize
-
maxCacheSize
final long maxCacheSize
-
attributeViews
final com.google.common.collect.ImmutableSet<java.lang.String> attributeViews
-
attributeProviders
final com.google.common.collect.ImmutableSet<AttributeProvider> attributeProviders
-
defaultAttributeValues
final com.google.common.collect.ImmutableMap<java.lang.String,java.lang.Object> defaultAttributeValues
-
fileTimeSource
final FileTimeSource fileTimeSource
-
watchServiceConfig
final WatchServiceConfiguration watchServiceConfig
-
roots
final com.google.common.collect.ImmutableSet<java.lang.String> roots
-
workingDirectory
final java.lang.String workingDirectory
-
supportedFeatures
final com.google.common.collect.ImmutableSet<Feature> supportedFeatures
-
displayName
private final java.lang.String displayName
-
-
Constructor Detail
-
Configuration
private Configuration(Configuration.Builder builder)
Creates an immutable configuration object from the given builder.
-
-
Method Detail
-
unix
public static Configuration unix()
Returns the default configuration for a UNIX-like file system. A file system created with this configuration:- uses
/as the path name separator (seePathType.unix()for more information on the path format) - has root
/and working directory/work - performs case-sensitive file lookup
- supports only the basic file attribute view, to avoid overhead for unneeded attributes
- supports hard links, symbolic links,
SecureDirectoryStreamandFileChannel
To create a modified version of this configuration, such as to include the full set of UNIX file attribute views, create a builder.
Example:
Configuration config = Configuration.unix().toBuilder() .setAttributeViews("basic", "owner", "posix", "unix") .setWorkingDirectory("/home/user") .build(); - uses
-
osX
public static Configuration osX()
Returns the default configuration for a Mac OS X-like file system.The primary differences between this configuration and the default
unix()configuration are that this configuration does Unicode normalization on the display and canonical forms of filenames and does case insensitive file lookup.A file system created with this configuration:
- uses
/as the path name separator (seePathType.unix()for more information on the path format) - has root
/and working directory/work - does Unicode normalization on paths, both for lookup and for
Pathobjects - does case-insensitive (for ASCII characters only) lookup
- supports only the basic file attribute view, to avoid overhead for unneeded attributes
- supports hard links, symbolic links and
FileChannel
To create a modified version of this configuration, such as to include the full set of UNIX file attribute views or to use full Unicode case insensitivity, create a builder.
Example:
Configuration config = Configuration.osX().toBuilder() .setAttributeViews("basic", "owner", "posix", "unix") .setNameCanonicalNormalization(NFD, CASE_FOLD_UNICODE) .setWorkingDirectory("/Users/user") .build(); - uses
-
windows
public static Configuration windows()
Returns the default configuration for a Windows-like file system. A file system created with this configuration:- uses
\as the path name separator and recognizes/as a separator when parsing paths (seePathType.windows()for more information on path format) - has root
C:\and working directoryC:\work - performs case-insensitive (for ASCII characters only) file lookup
- creates
Pathobjects that use case-insensitive (for ASCII characters only) equality - supports only the basic file attribute view, to avoid overhead for unneeded attributes
- supports hard links, symbolic links and
FileChannel
To create a modified version of this configuration, such as to include the full set of Windows file attribute views or to use full Unicode case insensitivity, create a builder.
Example:
Configuration config = Configuration.windows().toBuilder() .setAttributeViews("basic", "owner", "dos", "acl", "user") .setNameCanonicalNormalization(CASE_FOLD_UNICODE) .setWorkingDirectory("C:\\Users\\user") // or "C:/Users/user" .build(); - uses
-
forCurrentPlatform
public static Configuration forCurrentPlatform()
Returns a default configuration appropriate to the current operating system.More specifically, if the operating system is Windows,
windows()is returned; if the operating system is Mac OS X,osX()is returned; otherwise,unix()is returned.This is the configuration used by the
Jimfs.newFileSystemmethods that do not take aConfigurationparameter.- Since:
- 1.1
-
builder
public static Configuration.Builder builder(PathType pathType)
Creates a new mutableConfigurationbuilder using the given path type.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
toBuilder
public Configuration.Builder toBuilder()
Returns a new mutable builder that initially contains the same settings as this configuration.
-
-