JODA  0.13.1 (59b41972)
JSON On-Demand Analysis
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
joda::query::ValueProviderProjector Class Reference

#include <ValueProviderProjector.h>

Inheritance diagram for joda::query::ValueProviderProjector:
[legend]
Collaboration diagram for joda::query::ValueProviderProjector:
[legend]

Public Member Functions

 ValueProviderProjector (const std::string &to, std::unique_ptr< IValueProvider > &&valprov)
 
std::string getType () override
 
std::string toString () override
 
std::vector< std::string > getMaterializeAttributes () const override
 
- Public Member Functions inherited from joda::query::IProjector
 IProjector (const std::string &to)
 
virtual ~IProjector ()=default
 
virtual void project (const RapidJsonDocument &json, RJDocument &newDoc, bool view=false)
 
std::string getToPointer () const
 
const RJPointergetRawToPointer () const
 

Protected Member Functions

RJValue getVal (const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) override
 

Protected Attributes

std::unique_ptr< IValueProvidervalprov
 
ValueAccepter accepter
 
- Protected Attributes inherited from joda::query::IProjector
RJPointer ptr
 
std::string ptr_str
 

Static Protected Attributes

static const std::string type
 

Detailed Description

Uses a IValueProvider to retrieve a (transformed) value from the source document to store in the destination

Constructor & Destructor Documentation

◆ ValueProviderProjector()

joda::query::ValueProviderProjector::ValueProviderProjector ( const std::string &  to,
std::unique_ptr< IValueProvider > &&  valprov 
)
Here is the call graph for this function:

Member Function Documentation

◆ getMaterializeAttributes()

std::vector< std::string > joda::query::ValueProviderProjector::getMaterializeAttributes ( ) const
overridevirtual

Returns a list of attributes that have to be materialized for this projection to work

Returns

Implements joda::query::IProjector.

◆ getType()

std::string joda::query::ValueProviderProjector::getType ( )
overridevirtual

Returns a string representing the transformation function

Returns

Implements joda::query::IProjector.

◆ getVal()

RJValue joda::query::ValueProviderProjector::getVal ( const RapidJsonDocument json,
RJMemoryPoolAlloc alloc 
)
overrideprotectedvirtual

◆ toString()

std::string joda::query::ValueProviderProjector::toString ( )
overridevirtual

Returns a string representing the whole transformation as it would be specified in a query

Returns

Reimplemented from joda::query::IProjector.

Here is the call graph for this function:

Field Documentation

◆ accepter

ValueAccepter joda::query::ValueProviderProjector::accepter
protected

◆ type

const std::string joda::query::ValueProviderProjector::type
staticprotected
Initial value:
=
"ValueProviderProjection"

◆ valprov

std::unique_ptr<IValueProvider> joda::query::ValueProviderProjector::valprov
protected

The documentation for this class was generated from the following files: