Grantlee 0.1.9
Public Member Functions
Grantlee::Template Class Reference

The Template class is a tree of nodes which may be rendered. More...

#include <grantlee/template.h>

List of all members.

Public Member Functions

Engine const * engine () const
Error error ()
QString errorString ()
virtual OutputStreamrender (OutputStream *stream, Context *c)
virtual QString render (Context *c)

Detailed Description

All Templates are created through the Grantlee::Engine class. A template is created by parsing some text markup passed into the Engine, or by reading it from a file.

Note that Template is actually a typedef for a QSharedPointer<TemplateImpl>, so all of its members should be accessed with operator->().

The result of parsing is a Template object which can be rendered multiple times with multiple different Contexts.

    Engine *engine = getEngine();
    Template t = engine->newTemplate( "{{ name }} is aged {{ age }}", "simple template" );
    if ( t->error() )
    {
      // Tokenizing or parsing error, or couldn't find custom tags or filters.
      qDebug() << t->errorString();
      return;
    }
    QTextStream textStream( stdout );
    OutputStream stream( textStream );

    for ( ... )
    {
      Context c;
      // ... c.insert
      t->render( stream, c );

      if (t->error())
      {
        // Rendering error.
        qDebug() << t->errorString();
      }
    }

If there is an error in parsing or rendering, the error and errorString methods can be used to check the source of the error.

Author:
Stephen Kelly <steveire@gmail.com>

Definition at line 89 of file template.h.


Member Function Documentation

Engine const* Grantlee::Template::engine ( ) const

Returns the Engine that created this Template.

Error Grantlee::Template::error ( )

Returns an error code for the error encountered.

QString Grantlee::Template::errorString ( )

Returns more information to developers in the form of a string.

virtual QString Grantlee::Template::render ( Context c) [virtual]

Renders the template to a string given the Context c.

virtual OutputStream* Grantlee::Template::render ( OutputStream stream,
Context c 
) [virtual]

Renders the Template to the OutputStream stream given the Context c.