JODA
0.13.1 (59b41972)
JSON On-Demand Analysis
|
#include <IProjector.h>
Public Member Functions | |
IProjector (const std::string &to) | |
virtual | ~IProjector ()=default |
virtual void | project (const RapidJsonDocument &json, RJDocument &newDoc, bool view=false) |
std::string | getToPointer () const |
const RJPointer & | getRawToPointer () const |
virtual std::string | getType ()=0 |
virtual std::string | toString () |
virtual std::vector< std::string > | getMaterializeAttributes () const =0 |
Protected Member Functions | |
virtual RJValue | getVal (const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc)=0 |
Protected Attributes | |
RJPointer | ptr |
std::string | ptr_str |
Interface representing a single transformation used by the AS statement This interface only represents 1:1 transformations
|
inline |
Initializes one IProjector with a given destination pointer-string
to | the pointer-string where the transformation result should be stored |
|
virtualdefault |
|
pure virtual |
Returns a list of attributes that have to be materialized for this projection to work
Implemented in joda::query::ValueProviderProjector, joda::query::PointerCopyProject, and joda::query::DeletePointerProjector.
|
inline |
Returns the destination pointer
|
inline |
Returns the destination pointer string
|
pure virtual |
Returns a string representing the transformation function
Implemented in joda::query::ValueProviderProjector, joda::query::PointerCopyProject, and joda::query::DeletePointerProjector.
|
protectedpure virtual |
Implemented in joda::query::ValueProviderProjector, joda::query::PointerCopyProject, and joda::query::DeletePointerProjector.
|
inlinevirtual |
Projects a value from a source document into the destination document. This function uses the (overwritten) getVal function to retrieve the value and stores the result at the to-pointer in the new document
json | the source document, used to retrieve values from |
newDoc | the destination document, used to store transformed values in |
flag | indicating if projecting from a view |
Reimplemented in joda::query::DeletePointerProjector.
|
inlinevirtual |
Returns a string representing the whole transformation as it would be specified in a query
Reimplemented in joda::query::ValueProviderProjector, joda::query::PointerCopyProject, and joda::query::DeletePointerProjector.
|
protected |
|
protected |