Package org.bukkit.configuration.file

# Class FileConfigurationOptions

java.lang.Object
org.bukkit.configuration.ConfigurationOptions
org.bukkit.configuration.MemoryConfigurationOptions
org.bukkit.configuration.file.FileConfigurationOptions

Direct Known Subclasses:
  `YamlConfigurationOptions`

public class FileConfigurationOptions extends MemoryConfigurationOptions
Various settings for controlling the input and output of a `FileConfiguration`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`FileConfigurationOptions(@NotNull MemoryConfiguration configuration)`

## Method Summary

Modifier and Type
Method
Description
`@NotNull FileConfiguration`
`configuration()`
Returns the `Configuration` that this object is responsible for.
`@NotNull FileConfigurationOptions`
`copyDefaults(boolean value)`
Sets if the `Configuration` should copy values from its default `Configuration` directly.
`boolean`
`copyHeader()`
Deprecated.
Call `parseComments()` instead.
`@NotNull FileConfigurationOptions`
`copyHeader(boolean value)`
Deprecated.
Call `parseComments(boolean)` instead.
`@NotNull List<String>`
`getFooter()`
Gets the footer that will be applied to the bottom of the saved output.
`@NotNull List<String>`
`getHeader()`
Gets the header that will be applied to the top of the saved output.
`@NotNull String`
`header()`
Deprecated.
use getHeader() instead.
`@NotNull FileConfigurationOptions`
`header(@Nullable String value)`
Deprecated.
use setHeader() instead
`boolean`
`parseComments()`
Gets whether or not comments should be loaded and saved.
`@NotNull MemoryConfigurationOptions`
`parseComments(boolean value)`
Sets whether or not comments should be loaded and saved.
`@NotNull FileConfigurationOptions`
`pathSeparator(char value)`
Sets the char that will be used to separate `ConfigurationSection`s
`@NotNull FileConfigurationOptions`
`setFooter(@Nullable List<String> value)`
Sets the footer that will be applied to the bottom of the saved output.
`@NotNull FileConfigurationOptions`
`setHeader(@Nullable List<String> value)`
Sets the header that will be applied to the top of the saved output.

### Methods inherited from class org.bukkit.configuration.ConfigurationOptions

`copyDefaults, pathSeparator`

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

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

## Constructor Details

### FileConfigurationOptions

protected FileConfigurationOptions(@NotNull @NotNull MemoryConfiguration configuration)

## Method Details

### configuration

@NotNull public @NotNull FileConfiguration configuration()
Description copied from class: `ConfigurationOptions`
Returns the `Configuration` that this object is responsible for.

Overrides:
  `configuration` in class `MemoryConfigurationOptions`
Returns:
  Parent configuration

### copyDefaults

@NotNull public @NotNull FileConfigurationOptions copyDefaults(boolean value)
Description copied from class: `ConfigurationOptions`
Sets if the `Configuration` should copy values from its default `Configuration` directly.

If this is true, all values in the default Configuration will be directly copied, making it impossible to distinguish between values that were set and values that are provided by default. As a result, `ConfigurationSection.contains(java.lang.String)` will always return the same value as `ConfigurationSection.isSet(java.lang.String)`. The default value is false.

Overrides:
  `copyDefaults` in class `MemoryConfigurationOptions`
Parameters:
  `value` - Whether or not defaults are directly copied
Returns:
  This object, for chaining

### pathSeparator

@NotNull public @NotNull FileConfigurationOptions pathSeparator(char value)
Description copied from class: `ConfigurationOptions`
Sets the char that will be used to separate `ConfigurationSection`s

This value does not affect how the `Configuration` is stored, only in how you access the data. The default value is '.'.

Overrides:
  `pathSeparator` in class `MemoryConfigurationOptions`
Parameters:
  `value` - Path separator
Returns:
  This object, for chaining

### getHeader

@NotNull public @NotNull List<String> getHeader()
Gets the header that will be applied to the top of the saved output.

This header will be commented out and applied directly at the top of the generated output of the `FileConfiguration`. It is not required to include a newline at the end of the header as it will automatically be applied, but you may include one if you wish for extra spacing.

If no comments exist, an empty list will be returned. A null entry represents an empty line and an empty String represents an empty comment line.

Returns:
  Unmodifiable header, every entry represents one line.

### header

@NotNull @Deprecated public @NotNull String header()
Deprecated.
use getHeader() instead.

Returns:
  The string header.

### setHeader

@NotNull public @NotNull FileConfigurationOptions setHeader(@Nullable @Nullable List<String> value)
Sets the header that will be applied to the top of the saved output.

This header will be commented out and applied directly at the top of the generated output of the `FileConfiguration`. It is not required to include a newline at the end of the header as it will automatically be applied, but you may include one if you wish for extra spacing.

If no comments exist, an empty list will be returned. A null entry represents an empty line and an empty String represents an empty comment line.

Parameters:
  `value` - New header, every entry represents one line.
Returns:
  This object, for chaining

### header

@NotNull @Deprecated public @NotNull FileConfigurationOptions header(@Nullable @Nullable String value)
Deprecated.
use setHeader() instead

Parameters:
  `value` - The string header.
Returns:
  This object, for chaining.

### getFooter

@NotNull public @NotNull List<String> getFooter()
Gets the footer that will be applied to the bottom of the saved output.

This footer will be commented out and applied directly at the bottom of the generated output of the `FileConfiguration`. It is not required to include a newline at the beginning of the footer as it will automatically be applied, but you may include one if you wish for extra spacing.

If no comments exist, an empty list will be returned. A null entry represents an empty line and an empty String represents an empty comment line.

Returns:
  Unmodifiable footer, every entry represents one line.

### setFooter

@NotNull public @NotNull FileConfigurationOptions setFooter(@Nullable @Nullable List<String> value)
Sets the footer that will be applied to the bottom of the saved output.

This footer will be commented out and applied directly at the bottom of the generated output of the `FileConfiguration`. It is not required to include a newline at the beginning of the footer as it will automatically be applied, but you may include one if you wish for extra spacing.

If no comments exist, an empty list will be returned. A null entry represents an empty line and an empty String represents an empty comment line.

Parameters:
  `value` - New footer, every entry represents one line.
Returns:
  This object, for chaining

### parseComments

public boolean parseComments()
Gets whether or not comments should be loaded and saved.

Defaults to true.

Returns:
  Whether or not comments are parsed.

### parseComments

@NotNull public @NotNull MemoryConfigurationOptions parseComments(boolean value)
Sets whether or not comments should be loaded and saved.

Defaults to true.

Parameters:
  `value` - Whether or not comments are parsed.
Returns:
  This object, for chaining

### copyHeader

@Deprecated public boolean copyHeader()
Deprecated.
Call `parseComments()` instead.

Returns:
  Whether or not comments are parsed.

### copyHeader

@NotNull @Deprecated public @NotNull FileConfigurationOptions copyHeader(boolean value)
Deprecated.
Call `parseComments(boolean)` instead.

Parameters:
  `value` - Should comments be parsed.
Returns:
  This object, for chaining