Class FileConfiguration

All Implemented Interfaces:
Configuration, ConfigurationSection
Direct Known Subclasses:
YamlConfiguration

public abstract class FileConfiguration extends MemoryConfiguration
This is a base class for all File based implementations of Configuration
  • Constructor Details

    • FileConfiguration

      public FileConfiguration()
      Creates an empty FileConfiguration with no default values.
    • FileConfiguration

      public FileConfiguration(@Nullable Configuration defaults)
      Creates an empty FileConfiguration using the specified Configuration as a source for all default values.
      Parameters:
      defaults - Default value provider
  • Method Details

    • save

      public void save(@NotNull File file) throws IOException
      Saves this FileConfiguration to the specified location.

      If the file does not exist, it will be created. If already exists, it will be overwritten. If it cannot be overwritten or created, an exception will be thrown.

      This method will save using the system default encoding, or possibly using UTF8.

      Parameters:
      file - File to save to.
      Throws:
      IOException - Thrown when the given file cannot be written to for any reason.
      IllegalArgumentException - Thrown when file is null.
    • save

      public void save(@NotNull String file) throws IOException
      Saves this FileConfiguration to the specified location.

      If the file does not exist, it will be created. If already exists, it will be overwritten. If it cannot be overwritten or created, an exception will be thrown.

      This method will save using the system default encoding, or possibly using UTF8.

      Parameters:
      file - File to save to.
      Throws:
      IOException - Thrown when the given file cannot be written to for any reason.
      IllegalArgumentException - Thrown when file is null.
    • saveToString

      @NotNull public abstract String saveToString()
      Saves this FileConfiguration to a string, and returns it.
      Returns:
      String containing this configuration.
    • load

      public void load(@NotNull File file) throws FileNotFoundException, IOException, InvalidConfigurationException
      Loads this FileConfiguration from the specified location.

      All the values contained within this configuration will be removed, leaving only settings and defaults, and the new values will be loaded from the given file.

      If the file cannot be loaded for any reason, an exception will be thrown.

      Parameters:
      file - File to load from.
      Throws:
      FileNotFoundException - Thrown when the given file cannot be opened.
      IOException - Thrown when the given file cannot be read.
      InvalidConfigurationException - Thrown when the given file is not a valid Configuration.
      IllegalArgumentException - Thrown when file is null.
    • load

      public void load(@NotNull Reader reader) throws IOException, InvalidConfigurationException
      Loads this FileConfiguration from the specified reader.

      All the values contained within this configuration will be removed, leaving only settings and defaults, and the new values will be loaded from the given stream.

      Parameters:
      reader - the reader to load from
      Throws:
      IOException - thrown when underlying reader throws an IOException
      InvalidConfigurationException - thrown when the reader does not represent a valid Configuration
      IllegalArgumentException - thrown when reader is null
    • load

      public void load(@NotNull String file) throws FileNotFoundException, IOException, InvalidConfigurationException
      Loads this FileConfiguration from the specified location.

      All the values contained within this configuration will be removed, leaving only settings and defaults, and the new values will be loaded from the given file.

      If the file cannot be loaded for any reason, an exception will be thrown.

      Parameters:
      file - File to load from.
      Throws:
      FileNotFoundException - Thrown when the given file cannot be opened.
      IOException - Thrown when the given file cannot be read.
      InvalidConfigurationException - Thrown when the given file is not a valid Configuration.
      IllegalArgumentException - Thrown when file is null.
    • loadFromString

      public abstract void loadFromString(@NotNull String contents) throws InvalidConfigurationException
      Loads this FileConfiguration from the specified string, as opposed to from file.

      All the values contained within this configuration will be removed, leaving only settings and defaults, and the new values will be loaded from the given string.

      If the string is invalid in any way, an exception will be thrown.

      Parameters:
      contents - Contents of a Configuration to load.
      Throws:
      InvalidConfigurationException - Thrown if the specified string is invalid.
      IllegalArgumentException - Thrown if contents is null.
    • buildHeader

      @NotNull @Deprecated(since="1.18.1") protected String buildHeader()
      Deprecated.
      This method only exists for backwards compatibility. It will do nothing and should not be used! Please use FileConfigurationOptions.getHeader() instead.
      Returns:
      empty string
    • options

      @NotNull public FileConfigurationOptions options()
      Description copied from interface: Configuration
      Gets the ConfigurationOptions for this Configuration.

      All setters through this method are chainable.

      Specified by:
      options in interface Configuration
      Overrides:
      options in class MemoryConfiguration
      Returns:
      Options for this configuration