Poco::Util

class PropertyFileConfiguration

Library: Util
Package: Configuration
Header: Poco/Util/PropertyFileConfiguration.h

Description

This implementation of a Configuration reads properties from a Java-style properties file.

The file syntax is implemented as follows.

  • a line starting with a hash '#' or exclamation mark '!' is treated as a comment and ignored
  • every other line denotes a property assignment in the form <key> = <value> or <key> : <value>

Keys and values may contain special characters represented by the following escape sequences:

  • \t: tab (0x09)
  • \n: line feed (0x0a)
  • \r: carriage return (0x0d)
  • \f: form feed (0x0c)

For every other sequence that starts with a backslash, the backslash is removed. Therefore, the sequence \a would just yield an 'a'.

A value can spread across multiple lines if the last character in a line (the character immediately before the carriage return or line feed character) is a single backslash.

Property names are case sensitive. Leading and trailing whitespace is removed from both keys and values. A property name can neither contain a colon ':' nor an equal sign '=' character.

Inheritance

Direct Base Classes: MapConfiguration

All Base Classes: Poco::RefCountedObject, AbstractConfiguration, MapConfiguration

Member Summary

Member Functions: load, save

Inherited Functions: begin, clear, copyTo, createLocalView, createView, duplicate, enableEvents, end, enumerate, eventsEnabled, expand, getBool, getDouble, getInt, getInt16, getInt32, getInt64, getRaw, getRawString, getString, getUInt, getUInt16, getUInt32, getUInt64, has, hasOption, hasProperty, keys, parseBool, parseInt, parseInt16, parseInt64, parseUInt, parseUInt16, parseUInt64, referenceCount, release, remove, removeRaw, setBool, setDouble, setInt, setInt16, setInt32, setInt64, setRaw, setRawWithEvent, setString, setUInt, setUInt16, setUInt32, setUInt64

Constructors

PropertyFileConfiguration

PropertyFileConfiguration();

Creates an empty PropertyFileConfiguration.

PropertyFileConfiguration

PropertyFileConfiguration(
    std::istream & istr
);

Creates an PropertyFileConfiguration and loads the configuration data from the given stream, which must be in properties file format.

PropertyFileConfiguration

PropertyFileConfiguration(
    const std::string & path
);

Creates an PropertyFileConfiguration and loads the configuration data from the given file, which must be in properties file format.

Destructor

~PropertyFileConfiguration protected virtual

~PropertyFileConfiguration();

Member Functions

load

void load(
    std::istream & istr
);

Loads the configuration data from the given stream, which must be in properties file format.

load

void load(
    const std::string & path
);

Loads the configuration data from the given file, which must be in properties file format.

save

void save(
    std::ostream & ostr
) const;

Writes the configuration data to the given stream.

The data is written as a sequence of statements in the form <key>: <value> separated by a newline character.

save

void save(
    const std::string & path
) const;

Writes the configuration data to the given file.