Cutelee  6.1.0
Public Member Functions | List of all members
Cutelee::Filter Class Referenceabstract

Base class for all filters. More...

#include <cutelee/filter.h>

Inherited by AddFilter, AddSlashesFilter, CapFirstFilter, CenterFilter, CutFilter, DateFilter, DefaultFilter, DefaultIfNoneFilter, DictSortFilter, DivisibleByFilter, EscapeFilter, EscapeJsFilter, FileSizeFormatFilter, FirstFilter, FixAmpersandsFilter, FloatFormatFilter, ForceEscapeFilter, GetDigitFilter, JoinFilter, JsonScriptFilter, LJustFilter, LastFilter, LengthFilter, LengthIsFilter, LineBreaksBrFilter, LineBreaksFilter, LineNumbersFilter, LowerFilter, MakeListFilter, RJustFilter, RandomFilter, RemoveTagsFilter, SafeFilter, SafeSequenceFilter, ScriptableFilter, SliceFilter, SlugifyFilter, StringFormatFilter, StripTagsFilter, TimeFilter, TimeSinceFilter, TimeUntilFilter, TitleFilter, TruncateCharsFilter, TruncateWordsFilter, UnorderedListFilter, UpperFilter, WordCountFilter, WordWrapFilter, and YesNoFilter.

Public Member Functions

virtual ~Filter ()
 
SafeString conditionalEscape (const SafeString &input) const
 
virtual QVariant doFilter (const QVariant &input, const QVariant &argument={}, bool autoescape={}) const =0
 
SafeString escape (const QString &input) const
 
SafeString escape (const SafeString &input) const
 
virtual bool isSafe () const
 

Detailed Description

The Filter class can be implemented in plugin libraries to make additional functionality available to templates.

Developers are required only to implement the doFilter method and integrate the filter as part of a custom plugin, but will never create or access filters directly in application code.

The FilterExpression class is the access interface to a chain of Filter objects.

The escape and conditionalEscape methods are available for escaping data where needed.

See also
Filters
Author
Stephen Kelly steve.nosp@m.ire@.nosp@m.gmail.nosp@m..com

Definition at line 58 of file filter.h.

Constructor & Destructor Documentation

◆ ~Filter()

Filter::~Filter ( )
virtual

Destructor.

Definition at line 6 of file filter.cpp.

Member Function Documentation

◆ conditionalEscape()

SafeString Filter::conditionalEscape ( const SafeString input) const

Escapes input if not already safe from further escaping and returns it. The OutputStream::escape method is used to escape input.

Definition at line 22 of file filter.cpp.

References Cutelee::SafeString::isSafe().

Referenced by JoinFilter::doFilter(), LineBreaksFilter::doFilter(), and LineBreaksBrFilter::doFilter().

◆ doFilter()

virtual QVariant Cutelee::Filter::doFilter ( const QVariant input,
const QVariant argument = {},
bool  autoescape = {} 
) const
pure virtual

◆ escape() [1/2]

SafeString Filter::escape ( const QString input) const

Escapes and returns input. The OutputStream::escape method is used to escape input.

Definition at line 10 of file filter.cpp.

Referenced by JsonScriptFilter::doFilter(), EscapeJsFilter::doFilter(), LineNumbersFilter::doFilter(), and ForceEscapeFilter::doFilter().

◆ escape() [2/2]

SafeString Filter::escape ( const SafeString input) const

Escapes and returns input. The OutputStream::escape method is used to escape input.

Definition at line 15 of file filter.cpp.

References Cutelee::SafeString::IsSafe, and Cutelee::SafeString::isSafe().

◆ isSafe()

bool Filter::isSafe ( ) const
virtual