Package org.bukkit.configuration

# Class ConfigurationOptions

java.lang.Object
org.bukkit.configuration.ConfigurationOptions

Direct Known Subclasses:
  `MemoryConfigurationOptions`

public class ConfigurationOptions extends Object
Various settings for controlling the input and output of a `Configuration`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`ConfigurationOptions(@NotNull Configuration configuration)`

## Method Summary

Modifier and Type
Method
Description
`@NotNull Configuration`
`configuration()`
Returns the `Configuration` that this object is responsible for.
`boolean`
`copyDefaults()`
Checks if the `Configuration` should copy values from its default `Configuration` directly.
`@NotNull ConfigurationOptions`
`copyDefaults(boolean value)`
Sets if the `Configuration` should copy values from its default `Configuration` directly.
`char`
`pathSeparator()`
Gets the char that will be used to separate `ConfigurationSection`s
`@NotNull ConfigurationOptions`
`pathSeparator(char value)`
Sets the char that will be used to separate `ConfigurationSection`s

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

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

## Constructor Details

### ConfigurationOptions

protected ConfigurationOptions(@NotNull @NotNull Configuration configuration)

## Method Details

### configuration

@NotNull public @NotNull Configuration configuration()
Returns the `Configuration` that this object is responsible for.

Returns:
  Parent configuration

### pathSeparator

public char pathSeparator()
Gets 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 '.'.

Returns:
  Path separator

### pathSeparator

@NotNull public @NotNull ConfigurationOptions pathSeparator(char value)
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 '.'.

Parameters:
  `value` - Path separator
Returns:
  This object, for chaining

### copyDefaults

public boolean copyDefaults()
Checks 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.

Returns:
  Whether or not defaults are directly copied

### copyDefaults

@NotNull public @NotNull ConfigurationOptions copyDefaults(boolean value)
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.

Parameters:
  `value` - Whether or not defaults are directly copied
Returns:
  This object, for chaining