class Poco::Formatter

Overview

The base class for all Formatter classes. More…

#include <Formatter.h>

class Formatter:
    public Poco::Configurable,
    public Poco::RefCountedObject
{
public:
    // methods

    virtual
    void
    format(
        const Message& msg,
        std::string& text
        ) = 0;

    virtual
    void
    setProperty(
        const std::string& name,
        const std::string& value
        );

    virtual
    std::string
    getProperty(const std::string& name) const;
};

// direct descendants

class PatternFormatter;

Inherited Members

public:
    // methods

    virtual
    void
    setProperty(
        const std::string& name,
        const std::string& value
        ) = 0;

    virtual
    std::string
    getProperty(const std::string& name) const = 0;

    void
    duplicate() const;

    void
    release() const;

    int
    referenceCount() const;

Detailed Documentation

The base class for all Formatter classes.

A formatter basically takes a Message object and formats it into a string. How the formatting is exactly done is up to the implementation of Formatter. For example, a very simple implementation might simply take the message’s Text (see Message::getText()). A useful implementation should at least take the Message ‘s Time, Priority and Text fields and put them into a string.

The Formatter class supports the Configurable interface, so the behaviour of certain formatters is configurable.

Trivial implementations of of getProperty() and setProperty() are provided.

Subclasses must at least provide a format() method.

Construction

virtual
~Formatter()

Destroys the formatter.

Methods

virtual
void
format(
    const Message& msg,
    std::string& text
    ) = 0

Formats the message and places the result in text.

Subclasses must override this method.

virtual
void
setProperty(
    const std::string& name,
    const std::string& value
    )

Throws a PropertyNotSupportedException.

virtual
std::string
getProperty(const std::string& name) const

Throws a PropertyNotSupportedException.