Package io.vertx.core.file

## Class FileSystemOptions

- java.lang.Object
- - io.vertx.core.file.FileSystemOptions

-     public class FileSystemOptions
      extends Object

  Vert.x file system base configuration, this class can be extended by provider implementations to configure those specific implementations.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static boolean` | `DEFAULT_CLASS_PATH_RESOLVING_ENABLED` | The default behavior to cache or not class path resolution = `false` if and only if the system property `"vertx.disableFileCPResolving"` exists and is set to the string `"false"`
    `static String` | `DEFAULT_FILE_CACHING_DIR` | The default file caching dir.
    `static boolean` | `DEFAULT_FILE_CACHING_ENABLED` | The default behavior for caching files for class path resolution = `false` if and only if the system property `"vertx.disableFileCaching"` exists and is set to the string `"false"`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FileSystemOptions()` | Default constructor
    `FileSystemOptions​(FileSystemOptions other)` | Copy constructor
    `FileSystemOptions​(JsonObject json)` | Creates a new instance of `FileSystemOptions` from the JSON object.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getFileCacheDir()` |
    `boolean` | `isClassPathResolvingEnabled()` |
    `boolean` | `isFileCachingEnabled()` |
    `FileSystemOptions` | `setClassPathResolvingEnabled​(boolean classPathResolvingEnabled)` | When vert.x cannot find the file on the filesystem it tries to resolve the file from the class path when this is set to `true`.
    `FileSystemOptions` | `setFileCacheDir​(String fileCacheDir)` | When vert.x reads a file that is packaged with the application it gets extracted to this directory first and subsequent reads will use the extracted file to get better IO performance.
    `FileSystemOptions` | `setFileCachingEnabled​(boolean fileCachingEnabled)` | Set to `true` to cache files on the real file system when the filesystem performs class path resolving.
    `JsonObject` | `toJson()` | Builds a JSON object representing the current `FileSystemOptions`.
    `String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_FILE_CACHING_ENABLED

          public static final boolean DEFAULT_FILE_CACHING_ENABLED

      The default behavior for caching files for class path resolution = `false` if and only if the system property `"vertx.disableFileCaching"` exists and is set to the string `"false"`

    - #### DEFAULT_CLASS_PATH_RESOLVING_ENABLED

          public static final boolean DEFAULT_CLASS_PATH_RESOLVING_ENABLED

      The default behavior to cache or not class path resolution = `false` if and only if the system property `"vertx.disableFileCPResolving"` exists and is set to the string `"false"`

    - #### DEFAULT_FILE_CACHING_DIR

          public static final String DEFAULT_FILE_CACHING_DIR

      The default file caching dir. If the system property `"vertx.cacheDirBase"` is set, then this is the value If not, then the system property `java.io.tmpdir` is taken or {code .} if not set. suffixed with `vertx-cache`.

  - ### Constructor Detail

    - #### FileSystemOptions

          public FileSystemOptions()

      Default constructor

    - #### FileSystemOptions

          public FileSystemOptions​(FileSystemOptions other)

      Copy constructor
      Parameters:
        `other` - The other `FileSystemOptions` to copy when creating this

    - #### FileSystemOptions

          public FileSystemOptions​(JsonObject json)

      Creates a new instance of `FileSystemOptions` from the JSON object. This JSOn object has (generally) been generated using `toJson()`.
      Parameters:
        `json` - the json object

  - ### Method Detail

    - #### toJson

          public JsonObject toJson()

      Builds a JSON object representing the current `FileSystemOptions`.
      Returns:
        the JSON representation

    - #### isClassPathResolvingEnabled

          public boolean isClassPathResolvingEnabled()

      Returns:
        whether classpath resolving is enabled

    - #### setClassPathResolvingEnabled

          public FileSystemOptions setClassPathResolvingEnabled​(boolean classPathResolvingEnabled)

      When vert.x cannot find the file on the filesystem it tries to resolve the file from the class path when this is set to `true`.
      Parameters:
        `classPathResolvingEnabled` - the value
      Returns:
        a reference to this, so the API can be used fluently

    - #### isFileCachingEnabled

          public boolean isFileCachingEnabled()

      Returns:
        whether file caching is enabled for class path resolving

    - #### setFileCachingEnabled

          public FileSystemOptions setFileCachingEnabled​(boolean fileCachingEnabled)

      Set to `true` to cache files on the real file system when the filesystem performs class path resolving.
      Parameters:
        `fileCachingEnabled` - the value
      Returns:
        a reference to this, so the API can be used fluently

    - #### getFileCacheDir

          public String getFileCacheDir()

      Returns:
        the configured file cache dir

    - #### setFileCacheDir

          public FileSystemOptions setFileCacheDir​(String fileCacheDir)

      When vert.x reads a file that is packaged with the application it gets extracted to this directory first and subsequent reads will use the extracted file to get better IO performance.
      Parameters:
        `fileCacheDir` - the value
      Returns:
        a reference to this, so the API can be used fluently

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`