Class FileConfiguration

java.lang.Object
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
  • Field Details

    • UTF8_OVERRIDE

      @Deprecated public static final boolean UTF8_OVERRIDE
      Deprecated.
      temporary compatibility measure
      This value specified that the system default encoding should be completely ignored, as it cannot handle the ASCII character set, or it is a strict-subset of UTF8 already (plain ASCII).
    • UTF_BIG

      @Deprecated public static final boolean UTF_BIG
      Deprecated.
      temporary compatibility measure
      This value specifies if the system default encoding is unicode, but cannot parse standard ASCII.
    • SYSTEM_UTF

      @Deprecated public static final boolean SYSTEM_UTF
      Deprecated.
      temporary compatibility measure
      This value specifies if the system supports unicode.
  • Constructor Details

  • Method Details

    • save

      public void save​(java.io.File file) throws java.io.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:
      java.io.IOException - Thrown when the given file cannot be written to for any reason.
      java.lang.IllegalArgumentException - Thrown when file is null.
    • save

      public void save​(java.lang.String file) throws java.io.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:
      java.io.IOException - Thrown when the given file cannot be written to for any reason.
      java.lang.IllegalArgumentException - Thrown when file is null.
    • saveToString

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

      public void load​(java.io.File file) throws java.io.FileNotFoundException, java.io.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.

      This will attempt to use the Charset.defaultCharset() for files, unless UTF8_OVERRIDE but not UTF_BIG is specified.

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

      @Deprecated public void load​(java.io.InputStream stream) throws java.io.IOException, InvalidConfigurationException
      Deprecated.
      This does not consider encoding
      Loads this FileConfiguration from the specified stream.

      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.

      This will attempt to use the Charset.defaultCharset(), unless UTF8_OVERRIDE or UTF_BIG is specified.

      Parameters:
      stream - Stream to load from
      Throws:
      java.io.IOException - Thrown when the given file cannot be read.
      InvalidConfigurationException - Thrown when the given file is not a valid Configuration.
      java.lang.IllegalArgumentException - Thrown when stream is null.
      See Also:
      load(Reader)
    • load

      public void load​(java.io.Reader reader) throws java.io.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:
      java.io.IOException - thrown when underlying reader throws an IOException
      InvalidConfigurationException - thrown when the reader does not represent a valid Configuration
      java.lang.IllegalArgumentException - thrown when reader is null
    • load

      public void load​(java.lang.String file) throws java.io.FileNotFoundException, java.io.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:
      java.io.FileNotFoundException - Thrown when the given file cannot be opened.
      java.io.IOException - Thrown when the given file cannot be read.
      InvalidConfigurationException - Thrown when the given file is not a valid Configuration.
      java.lang.IllegalArgumentException - Thrown when file is null.
    • loadFromString

      public abstract void loadFromString​(java.lang.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.
      java.lang.IllegalArgumentException - Thrown if contents is null.
    • buildHeader

      protected abstract java.lang.String buildHeader()
      Compiles the header for this FileConfiguration and returns the result.

      This will use the header from options() -> FileConfigurationOptions.header(), respecting the rules of FileConfigurationOptions.copyHeader() if set.

      Returns:
      Compiled header
    • options

      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