Class XmlConfigBuilder

java.lang.Object
com.github.hypfvieh.config.xml.XmlConfigBuilder

public class XmlConfigBuilder extends Object
Builder for XmlConfiguration.
Since:
v1.0.1 - 2018-01-15
Author:
hypfvieh
  • Constructor Details

    • XmlConfigBuilder

      public XmlConfigBuilder()
  • Method Details

    • setInputStream

      public XmlConfigBuilder setInputStream(InputStream _inputStream)
      Set InputStream used to read configuration file.
      Parameters:
      _inputStream - input stream to read from
      Returns:
      this for chaining
    • setOutputStream

      public XmlConfigBuilder setOutputStream(OutputStream _outputStream)
      Set OutputStream used to save configuration file.
      Parameters:
      _outputStream - output stream to write to
      Returns:
      this for chaining
    • setOutputFile

      public XmlConfigBuilder setOutputFile(File _outputFile)
      Set output file used for saving. Note: This cannot be set if outputStream is already set.
      Parameters:
      _outputFile - output file to write to
      Returns:
      this for chaining
    • setOutputFile

      public XmlConfigBuilder setOutputFile(String _outputFile)
      Set output file used for saving. Note: This cannot be set if outputStream is already set.
      Parameters:
      _outputFile - output file to write to
      Returns:
      this for chaining
    • setInputFile

      public XmlConfigBuilder setInputFile(File _inputFile, SearchOrder... _order)
      Set input file used for reading configuration. Note: This cannot be set if inputStream is already set.
      Parameters:
      _inputFile - input file to read from
      _order - search order to use
      Returns:
      this for chaining
    • setInputFile

      public XmlConfigBuilder setInputFile(String _inputFile, SearchOrder... _order)
      Set input file used for reading configuration. Note: This cannot be set if inputStream is already set.
      Parameters:
      _inputFile - input file to read from
      _order - search order to use
      Returns:
      this for chaining
    • setXmlErrorHandler

      public XmlConfigBuilder setXmlErrorHandler(ErrorHandler _xmlErrorHandler)
      Set the ErrorHandler used by the XML parser to handle XML errors.
      By default a 'quiet' handler is used (suppressing all errors).
      Use null here to disable validation.
      Parameters:
      _xmlErrorHandler - error handler to use
      Returns:
      this for chaining
    • setKeyDelimiter

      public XmlConfigBuilder setKeyDelimiter(String _delimiterKey)
      Set the delimiter used to delimit XML nodes.
      By default "/" is used, which means all pathes have to be expressed like:
      foo/bar/baz
      Parameters:
      _delimiterKey - delimiting string
      Returns:
      this for chaining
    • setSkipRoot

      public XmlConfigBuilder setSkipRoot(boolean _skipRoot)
      Set this to true to ignore the first level of nodes inside the config.
      Usually each XML is starting with a single node (e.g. <Config>) and all
      keys are below that node.

      If this is set to true, you can use e.g. key/subKey instead of Config/key/subKey to address your values.

      Default is false.
      Parameters:
      _skipRoot - true to skip root, false otherwise
      Returns:
      this for chaining
    • setAllowKeyOverrideFromEnvironment

      public XmlConfigBuilder setAllowKeyOverrideFromEnvironment(boolean _allowOverride)
      Set this to true to allow the user to override config parameters using system properties.
      This means, if key foo/bar is available in config and a environment variable of the same name
      exists, the value of the environment variable is used, instead of the value in config.

      This allows the user to easily override values by e.g. using -Dfoo/bar=value instead of editing the config file every time.

      Default is false
      Parameters:
      _allowOverride - true to enable override, false otherwise
      Returns:
      this for chaining
    • build

      public XmlConfiguration build()
      Build the XmlConfiguration and return it. Will create a new XmlConfiguration on each call.
      Returns:
      XmlConfiguration