Class AbstractConfigurationLoader.Builder<T extends AbstractConfigurationLoader.Builder<T,L>,L extends AbstractConfigurationLoader<?>>

java.lang.Object
org.spongepowered.configurate.loader.AbstractConfigurationLoader.Builder<T,L>
Type Parameters:
T - the builder's own type (for chaining using generic types)
Direct Known Subclasses:
GsonConfigurationLoader.Builder, HoconConfigurationLoader.Builder, JacksonConfigurationLoader.Builder, XmlConfigurationLoader.Builder, YamlConfigurationLoader.Builder
Enclosing class:
AbstractConfigurationLoader<N extends ScopedConfigurationNode<N>>

public abstract static class AbstractConfigurationLoader.Builder<T extends AbstractConfigurationLoader.Builder<T,L>,L extends AbstractConfigurationLoader<?>> extends Object
An abstract builder implementation for AbstractConfigurationLoaders.
Since:
4.0.0
  • Field Details

  • Constructor Details

    • Builder

      protected Builder()
      Create a new builder.
      Since:
      4.0.0
  • Method Details

    • optionStateBuilder

      protected net.kyori.option.OptionState.Builder optionStateBuilder()
      Begin building an option state, initialized from the current environment.
      Returns:
      the pre-initialized option state builder
      Since:
      4.2.0
    • optionState

      public net.kyori.option.OptionState optionState()
      Compute a snapshot of the currently set options for created loaders.
      Returns:
      the option state
      Since:
      4.2.0
    • optionState

      public T optionState(net.kyori.option.OptionState state)
      Set the option state for this loader to the provided state.

      The provided state must be within the loader's schema.

      Parameters:
      state - the state
      Returns:
      this builder
      Since:
      4.2.0
    • editOptions

      public T editOptions(Consumer<net.kyori.option.OptionState.Builder> builderConsumer)
      Modify the state of loader options set on this loader.
      Parameters:
      builderConsumer - a consumer that receives the modifier to perform changes
      Returns:
      this builder
      Since:
      4.2.0
    • optionSchema

      @ForOverride protected net.kyori.option.OptionSchema optionSchema()
      Get the schema of available options that can be set on this loader.

      This schema should inherit from UNSAFE_SCHEMA.

      Returns:
      the option schema
      Since:
      4.2.0
    • file

      public T file(File file)
      Sets the sink and source of the resultant loader to the given file.

      The source is defined using Files.newBufferedReader(Path) with UTF-8 encoding.

      The sink is defined using AtomicFiles with UTF-8 encoding.

      Parameters:
      file - the configuration file
      Returns:
      this builder (for chaining)
      Since:
      4.0.0
    • path

      public T path(Path path)
      Sets the sink and source of the resultant loader to the given path.

      The source is defined using Files.newBufferedReader(Path) with UTF-8 encoding.

      The sink is defined using AtomicFiles with UTF-8 encoding.

      Parameters:
      path - the path of the configuration file
      Returns:
      this builder (for chaining)
      Since:
      4.0.0
    • url

      public T url(URL url)
      Sets the source of the resultant loader to the given URL.
      Parameters:
      url - the URL of the source
      Returns:
      this builder (for chaining)
      Since:
      4.0.0
    • source

      public T source(@Nullable Callable<BufferedReader> source)
      Sets the source of the resultant loader.

      The "source" is used by the loader to load the configuration.

      Parameters:
      source - the source
      Returns:
      this builder (for chaining)
      Since:
      4.0.0
    • source

      public @Nullable Callable<BufferedReader> source()
      Gets the source to be used by the resultant loader.
      Returns:
      the source
      Since:
      4.0.0
    • sink

      public T sink(@Nullable Callable<BufferedWriter> sink)
      Sets the sink of the resultant loader.

      The "sink" is used by the loader to save the configuration.

      Parameters:
      sink - the sink
      Returns:
      this builder (for chaining)
      Since:
      4.0.0
    • sink

      public @Nullable Callable<BufferedWriter> sink()
      Gets the sink to be used by the resultant loader.
      Returns:
      the sink
      Since:
      4.0.0
    • headerMode

      public T headerMode(HeaderMode mode)
      Sets the header mode of the resultant loader.
      Parameters:
      mode - the header mode
      Returns:
      this builder (for chaining)
      Since:
      4.0.0
    • headerMode

      Gets the header mode to be used by the resultant loader.
      Returns:
      the header mode
      Since:
      4.0.0
    • defaultOptions

      public T defaultOptions(ConfigurationOptions defaultOptions)
      Sets the default configuration options to be used by the resultant loader.
      Parameters:
      defaultOptions - the options
      Returns:
      this builder (for chaining)
      Since:
      4.0.0
    • defaultOptions

      Sets the default configuration options to be used by the resultant loader by providing a function which takes the current default options and applies any desired changes.
      Parameters:
      defaultOptions - to transform the existing default options
      Returns:
      this builder (for chaining)
      Since:
      4.0.0
    • defaultOptions

      Gets the default configuration options to be used by the resultant loader.
      Returns:
      the options
      Since:
      4.0.0
    • build

      public abstract L build()
      Builds the loader.
      Returns:
      a new loader
      Since:
      4.0.0
    • buildAndLoadString

      Configure to read from a string, build, and load in one step.
      Parameters:
      input - the input to load
      Returns:
      a deserialized node
      Throws:
      ConfigurateException
      Since:
      4.1.0
    • buildAndSaveString

      Configure to write to a string, build, and save in one step.
      Parameters:
      output - the node to write
      Returns:
      the output string
      Throws:
      ConfigurateException
      Since:
      4.1.0