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()`
Gets whether or not the header should be copied from a default source.
`@NotNull FileConfigurationOptions`
`copyHeader(boolean value)`
Sets whether or not the header should be copied from a default source.
`@Nullable String`
`header()`
Gets the header that will be applied to the top of the saved output.
`@NotNull FileConfigurationOptions`
`header(@Nullable String value)`
Sets the header that will be applied to the top of the saved output.
`@NotNull FileConfigurationOptions`
`pathSeparator(char value)`
Sets the char that will be used to separate `ConfigurationSection`s

### 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

### header

@Nullable public @Nullable String header()
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.

Null is a valid value which will indicate that no header is to be applied. The default value is null.

Returns:
  Header

### header

@NotNull public @NotNull FileConfigurationOptions header(@Nullable @Nullable 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.

Null is a valid value which will indicate that no header is to be applied.

Parameters:
  `value` - New header
Returns:
  This object, for chaining

### copyHeader

public boolean copyHeader()
Gets whether or not the header should be copied from a default source.

If this is true, if a default `FileConfiguration` is passed to `MemoryConfiguration.setDefaults(org.bukkit.configuration.Configuration)` then upon saving it will use the header from that config, instead of the one provided here.

If no default is set on the configuration, or the default is not of type FileConfiguration, or that config has no header (`header()` returns null) then the header specified in this configuration will be used.

Defaults to true.

Returns:
  Whether or not to copy the header

### copyHeader

@NotNull public @NotNull FileConfigurationOptions copyHeader(boolean value)
Sets whether or not the header should be copied from a default source.

If this is true, if a default `FileConfiguration` is passed to `MemoryConfiguration.setDefaults(org.bukkit.configuration.Configuration)` then upon saving it will use the header from that config, instead of the one provided here.

If no default is set on the configuration, or the default is not of type FileConfiguration, or that config has no header (`header()` returns null) then the header specified in this configuration will be used.

Defaults to true.

Parameters:
  `value` - Whether or not to copy the header
Returns:
  This object, for chaining