Grantlee  5.1.0
Public Member Functions | List of all members
Grantlee::OutputStream Class Reference

The OutputStream class is used to render templates to a QTextStream. More...

#include <grantlee/outputstream.h>

Public Member Functions

 OutputStream ()
 
 OutputStream (QTextStream *stream)
 
virtual ~OutputStream ()
 
virtual QSharedPointer< OutputStreamclone (QTextStream *stream) const
 
QString conditionalEscape (const Grantlee::SafeString &input) const
 
virtual QString escape (const QString &input) const
 
QString escape (const SafeString &input) const
 
OutputStreamoperator<< (const QString &input)
 
OutputStreamoperator<< (const SafeString &input)
 
OutputStreamoperator<< (QTextStream *stream)
 

Detailed Description

A OutputStream instance may be passed to the render method of a Template to render the template to a stream.

QFile outputFile("./output");
outputFile.open(QFile::WriteOnly);
QTextStream tstream( &outputFile );
OutputStream os(&tstream);
t->render( &os, &context );

The OutputStream is used to escape the content streamed to it. By default, the escaping is html escaping, converting "&" to "&amp;" for example. If generating non-html output, the escape method may be overriden to perform a different escaping, or non at all.

If overriding the escape method, the clone method must also be overriden to return an OutputStream with the same escaping behaviour.

class NoEscapeStream : public Grantlee::OutputStream
{
public:
// ...
QString escape( const QString &input ) const
{
return input;
}
{
QSharedPointer<OutputStream>( new NoEscapeStream( stream ) );
return clonedStream;
}
};
Author
Stephen Kelly steve.nosp@m.ire@.nosp@m.gmail.nosp@m..com

Definition at line 82 of file outputstream.h.

Constructor & Destructor Documentation

Grantlee::OutputStream::OutputStream ( )

Creates a null OutputStream. Content streamed to this OutputStream is sent to /dev/null

Grantlee::OutputStream::OutputStream ( QTextStream stream)
explicit

Creates an OutputStream which will stream content to stream with appropriate escaping.

virtual Grantlee::OutputStream::~OutputStream ( )
virtual

Destructor

Member Function Documentation

virtual QSharedPointer<OutputStream> Grantlee::OutputStream::clone ( QTextStream stream) const
virtual

Returns an cloned OutputStream with the same filtering behaviour.

QString Grantlee::OutputStream::conditionalEscape ( const Grantlee::SafeString input) const

Returns after escaping it, unless input is "safe", in which case, input is returned unmodified.

virtual QString Grantlee::OutputStream::escape ( const QString input) const
virtual

Returns an escaped version of input. Does not write anything to the stream.

QString Grantlee::OutputStream::escape ( const SafeString input) const

Returns an escaped version of input. Does not write anything to the stream.

OutputStream& Grantlee::OutputStream::operator<< ( const QString input)

Writes input to the stream after escaping it.

OutputStream& Grantlee::OutputStream::operator<< ( const SafeString input)

Writes input to the stream after escaping it if necessary.

OutputStream& Grantlee::OutputStream::operator<< ( QTextStream stream)

Reads the content of stream and writes it unmodified to the result stream.