Grantlee  0.4.0
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 QString render (Context *c)
virtual OutputStreamrender (OutputStream *stream, 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

Returns the Engine that created this Template.

Returns an error code for the error encountered.

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.