Package org.apache.commons.configuration2

# Interface PropertiesConfiguration.IOFactory

All Known Implementing Classes:
  `PropertiesConfiguration.DefaultIOFactory`, `PropertiesConfiguration.JupIOFactory`

Enclosing class:
  PropertiesConfiguration

public static interface PropertiesConfiguration.IOFactory

Definition of an interface that allows customization of read and write operations.

For reading and writing properties files the inner classes `PropertiesReader` and `PropertiesWriter` are used. This interface defines factory methods for creating both a `PropertiesReader` and a `PropertiesWriter`. An object implementing this interface can be passed to the `setIOFactory()` method of `PropertiesConfiguration`. Every time the configuration is read or written the `IOFactory` is asked to create the appropriate reader or writer object. This provides an opportunity to inject custom reader or writer implementations.

Since:
  1.7

- ## Method Summary

  Modifier and Type
  Method
  Description
  `PropertiesConfiguration.PropertiesReader`
  `createPropertiesReader(Reader in)`
  Creates a `PropertiesReader` for reading a properties file.
  `PropertiesConfiguration.PropertiesWriter`
  `createPropertiesWriter(Writer out, ListDelimiterHandler handler)`
  Creates a `PropertiesWriter` for writing a properties file.

- ## Method Details

  - ### createPropertiesReader

    PropertiesConfiguration.PropertiesReader createPropertiesReader(Reader in)
    Creates a `PropertiesReader` for reading a properties file. This method is called whenever the `PropertiesConfiguration` is loaded. The reader returned by this method is then used for parsing the properties file.
    Parameters:
      `in` - the underlying reader (of the properties file)
    Returns:
      the `PropertiesReader` for loading the configuration

  - ### createPropertiesWriter

    PropertiesConfiguration.PropertiesWriter createPropertiesWriter(Writer out, ListDelimiterHandler handler)
    Creates a `PropertiesWriter` for writing a properties file. This method is called before the `PropertiesConfiguration` is saved. The writer returned by this method is then used for writing the properties file.
    Parameters:
      `out` - the underlying writer (to the properties file)
      `handler` - the list delimiter delimiter for list parsing
    Returns:
      the `PropertiesWriter` for saving the configuration