Cutelyst  1.6.0
Public Types | Public Member Functions | List of all members
Cutelyst::ViewJson Class Reference

#include <viewjson.h>

Inheritance diagram for Cutelyst::ViewJson:
Inheritance graph
[legend]

Public Types

enum  ExposeMode { All, String, StringList, RegularExpression }
 
enum  JsonFormat { Indented, Compact }
 
- Public Types inherited from Cutelyst::Component
enum  Modifier {
  None, OnlyExecute, BeforeExecute, AroundExecute,
  AfterExecute
}
 

Public Member Functions

 ViewJson (QObject *parent, const QString &name=QString())
 
ExposeMode exposeStashMode () const
 
JsonFormat outputFormat () const
 
QByteArray render (Context *c) const final
 
void setExposeStashRegularExpression (const QRegularExpression &re)
 
void setExposeStashString (const QString &key)
 
void setExposeStashStringList (const QStringList &keys)
 
void setOutputFormat (JsonFormat format)
 
- Public Member Functions inherited from Cutelyst::View
 View (QObject *parent, const QString &name=QString())
 
virtual Modifiers modifiers () const override
 
QString name () const
 
- Public Member Functions inherited from Cutelyst::Component
 Component (QObject *parent=nullptr)
 
bool execute (Context *c)
 
virtual bool init (Application *application, const QVariantHash &args)
 
QString name () const
 
QString reverse () const
 
void setName (const QString &name)
 
void setReverse (const QString &reverse)
 

Additional Inherited Members

- Protected Member Functions inherited from Cutelyst::Component
virtual bool afterExecute (Context *c)
 
void applyRoles (const QStack< Component * > &roles)
 
virtual bool aroundExecute (Context *c, QStack< Component * > stack)
 
virtual bool beforeExecute (Context *c)
 
virtual bool dispatcherReady (const Dispatcher *dispatch, Controller *controller)
 

Detailed Description

ViewJson is a Cutelyst::View handler that renders stash data in JSON format.

Definition at line 33 of file viewjson.h.

Member Enumeration Documentation

This value defines which kind of exposition was defined

Definition at line 63 of file viewjson.h.

This value defines the format of the JSON byte array produced when rendering the view

Enumerator
Indented 

The output will be indented

Compact 

The output will be compact saving space

Definition at line 45 of file viewjson.h.

Constructor & Destructor Documentation

Cutelyst::ViewJson::ViewJson ( QObject *  parent,
const QString &  name = QString() 
)
explicit

Main constructor

Member Function Documentation

ExposeMode Cutelyst::ViewJson::exposeStashMode ( ) const

Returns the expose mode of the stash keys, defaults to everything (All)

JsonFormat Cutelyst::ViewJson::outputFormat ( ) const

Returns the output format of JSON, defaults to Compact

QByteArray Cutelyst::ViewJson::render ( Context c) const
finalvirtual

All subclasses must reimplement this when doing it's rendering. If an error (c->error()) is not set c->response()->body() is defined with the returned value, this is useful if the view is not meant to be used as a body.

Implements Cutelyst::View.

void Cutelyst::ViewJson::setExposeStashRegularExpression ( const QRegularExpression &  re)

Specify which stash keys are exposed as a JSON response, this will change exposeStashMode() to ViewJson::RegularExpression

void Cutelyst::ViewJson::setExposeStashString ( const QString &  key)

Specify which stash key is exposed as a JSON response, this will change exposeStashMode() to ViewJson::String

void Cutelyst::ViewJson::setExposeStashStringList ( const QStringList &  keys)

Specify which stash keys are exposed as a JSON response, this will change exposeStashMode() to ViewJson::StringList

void Cutelyst::ViewJson::setOutputFormat ( JsonFormat  format)

Defines the output format of JSON