Class ConfigurationOptions

java.lang.Object
org.spongepowered.configurate.ConfigurationOptions

@CheckReturnValue public abstract class ConfigurationOptions extends Object
This object is a holder for general configuration options.

This is meant to hold options that are used in configuring how the configuration data structures are handled, rather than the serialization configuration which is located in ConfigurationLoaders.

This class is immutable.

Since:
4.0.0
  • Method Details

    • defaults

      public static ConfigurationOptions defaults()
      Get the default set of options. This may be overridden by your chosen configuration loader, so when building configurations it is recommended to access AbstractConfigurationLoader.Builder#getDefaultOptions() instead.
      Returns:
      the default options
      Since:
      4.0.0
    • mapFactory

      public abstract MapFactory mapFactory()
      Gets the MapFactory specified in these options.
      Returns:
      the map factory
      Since:
      4.0.0
    • mapFactory

      Creates a new ConfigurationOptions instance, with the specified MapFactory set, and all other settings copied from this instance.
      Parameters:
      mapFactory - the new factory to use to create a map
      Returns:
      the new options object
      Since:
      4.0.0
    • header

      public abstract @Nullable String header()
      Gets the header specified in these options.
      Returns:
      the current header. Lines are split by \n, with no trailing newline
      Since:
      4.0.0
    • header

      public ConfigurationOptions header(@Nullable String header)
      Creates a new ConfigurationOptions instance, with the specified header set, and all other settings copied from this instance.
      Parameters:
      header - the new header to use
      Returns:
      the new options object
      Since:
      4.0.0
    • serializers

      Gets the TypeSerializerCollection specified in these options.
      Returns:
      the type serializers
      Since:
      4.0.0
    • serializers

      Creates a new ConfigurationOptions instance, with the specified TypeSerializerCollection set, and all other settings copied from this instance.
      Parameters:
      serializers - the serializers to use
      Returns:
      the new options object
      Since:
      4.0.0
    • serializers

      Creates a new ConfigurationOptions instance, with a new TypeSerializerCollection created as a child of this options' current collection. The provided function will be called with the builder for this new collection to allow registering more type serializers.
      Parameters:
      serializerBuilder - accepts a builder for the collection that will be used in the returned options object.
      Returns:
      the new options object
      Since:
      4.0.0
    • nativeTypes

      public ConfigurationOptions nativeTypes(@Nullable Set<Class<?>> nativeTypes)
      Creates a new ConfigurationOptions instance, with the specified native types set, and all other settings copied from this instance.

      Native types are format-dependent, and must be provided by a configuration loader's default options

      Null indicates that all types are accepted.

      Parameters:
      nativeTypes - the types that will be accepted to a call to ConfigurationNode.set(Object)
      Returns:
      updated options object
      Since:
      4.0.0
    • acceptsType

      public final boolean acceptsType(Class<?> type)
      Gets whether objects of the provided type are natively accepted as values for nodes with this as their options object.
      Parameters:
      type - the type to check
      Returns:
      whether the type is accepted
      Since:
      4.0.0
    • shouldCopyDefaults

      public abstract boolean shouldCopyDefaults()
      Gets whether or not default parameters provided to ConfigurationNode getter methods should be set to the node when used.
      Returns:
      whether defaults should be copied into value
      Since:
      4.0.0
    • shouldCopyDefaults

      public ConfigurationOptions shouldCopyDefaults(boolean shouldCopyDefaults)
      Creates a new ConfigurationOptions instance, with the specified 'copy defaults' setting set, and all other settings copied from this instance.
      Parameters:
      shouldCopyDefaults - whether to copy defaults
      Returns:
      updated options object
      Since:
      4.0.0
      See Also:
    • implicitInitialization

      public abstract boolean implicitInitialization()
      Get whether values should be implicitly initialized.

      When this is true, any value get operations will return an empty value rather than null. This extends through to fields loaded into object-mapped classes.

      This option is enabled by default.

      Returns:
      if implicit initialization is enabled.
      Since:
      4.0.0
    • implicitInitialization

      public ConfigurationOptions implicitInitialization(boolean implicitInitialization)
      Create a new ConfigurationOptions instance with the specified implicit initialization setting.
      Parameters:
      implicitInitialization - whether to initialize implicitly
      Returns:
      a new options object
      Since:
      4.0.0
      See Also: