# Poco

# namespace Util

## Overview

Classes: AbstractConfiguration, AbstractOptionCallback, AmbiguousOptionException, Application, ConfigurationMapper, ConfigurationView, DuplicateOptionException, EmptyOptionException, FilesystemConfiguration, HelpFormatter, IncompatibleOptionsException, IniFileConfiguration, IntValidator, InvalidArgumentException, LayeredConfiguration, LoggingConfigurator, LoggingSubsystem, MapConfiguration, MissingArgumentException, MissingOptionException, Option, OptionCallback, OptionException, OptionProcessor, OptionSet, PropertyFileConfiguration, RegExpValidator, ServerApplication, Subsystem, SystemConfiguration, Timer, TimerTask, TimerTaskAdapter, UnexpectedArgumentException, UnknownOptionException, Validator, WinRegistryConfiguration, WinRegistryKey, WinService, XMLConfiguration

## Classes

### class AbstractConfiguration

AbstractConfiguration is an abstract base class for different kinds of configuration data, such as INI files, property files, XML configuration files or the Windows Registry.

### class AbstractOptionCallback

Base class for OptionCallback.

### class AmbiguousOptionException

### class Application

The Application class implements the main subsystem in a process.

### class ConfigurationMapper

This configuration maps a property hierarchy into another hierarchy.

### class ConfigurationView

This configuration implements a "view" into a sub-hierarchy of another configuration.

### class DuplicateOptionException

### class EmptyOptionException

### class FilesystemConfiguration

An implementation of AbstractConfiguration that stores configuration data in a directory hierarchy in the filesystem.

### class HelpFormatter

This class formats a help message from an OptionSet.

### class IncompatibleOptionsException

### class IniFileConfiguration

This implementation of a Configuration reads properties from a legacy Windows initialization (.

### class IntValidator

The IntValidator tests whether the option argument, which must be an integer, lies within a given range.

### class InvalidArgumentException

### class LayeredConfiguration

A LayeredConfiguration consists of a number of AbstractConfigurations.

### class LoggingConfigurator

This utility class uses a configuration object to configure the logging subsystem of an application.

### class LoggingSubsystem

The LoggingSubsystem class initializes the logging framework using the LoggingConfigurator.

### class MapConfiguration

An implementation of AbstractConfiguration that stores configuration data in a map.

### class MissingArgumentException

### class MissingOptionException

### class Option

This class represents and stores the properties of a command line option.

### class OptionCallback

This class is used as an argument to Option::callback().

### class OptionException

### class OptionProcessor

An OptionProcessor is used to process the command line arguments of an application.

### class OptionSet

A collection of Option objects.

### class PropertyFileConfiguration

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

### class RegExpValidator

This validator matches the option value against a regular expression.

### class ServerApplication

A subclass of the Application class that is used for implementing server applications.

### class Subsystem

Subsystems extend an application in a modular way.

### class SystemConfiguration

This class implements a Configuration interface to various system properties and environment variables.

### class Timer

A Timer allows to schedule tasks (TimerTask objects) for future execution in a background thread.

### class TimerTask

A task that can be scheduled for one-time or repeated execution by a Timer.

### class TimerTaskAdapter

This class template simplifies the implementation of TimerTask objects by allowing a member function of an object to be called as task.

### class UnexpectedArgumentException

### class UnknownOptionException

### class Validator

Validator specifies the interface for option validators.

### class WinRegistryConfiguration

An implementation of AbstractConfiguration that stores configuration data in the Windows registry.

### class WinRegistryKey

This class implements a convenient interface to the Windows Registry.

### class WinService

This class provides an object-oriented interface to the Windows Service Control Manager for registering, unregistering, configuring, starting and stopping services.

### class XMLConfiguration

This configuration class extracts configuration properties from an XML document.