JODA
0.13.1 (59b41972)
JSON On-Demand Analysis
|
#include <PointerProvider.h>
Public Member Functions | |
PointerProvider (const std::string &str) | |
bool | comparable () const override |
bool | equalizable () const override |
std::unique_ptr< IValueProvider > | duplicate () const override |
std::string | toString () const override |
std::string | getAttributeString () const |
bool | isConst () const override |
RJValue | getAtomValue (const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) const override |
const RJValue * | getValue (const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) const override |
void | getAttributes (std::vector< std::string > &vec) const override |
std::vector< std::string > | getAttributes () const override |
bool | isString () const override |
bool | isNumber () const override |
bool | isBool () const override |
bool | isObject () const override |
bool | isArray () const override |
bool | isAny () const override |
std::string | getName () const override |
IValueType | getReturnType () const override |
std::variant< const RJValue, std::optional< const RJValue * >, const VirtualObject * > | getPointerIfExists (const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc) const |
template<class Handler > | |
bool | Accept (const RapidJsonDocument &json, RJMemoryPoolAlloc &alloc, Handler &h) const |
bool | objIsPointerEvaluatable (const RapidJsonDocument &json) const |
const VirtualObject * | getVO (const RapidJsonDocument &json) const |
Public Member Functions inherited from joda::query::IValueProvider | |
IValueProvider (std::vector< std::unique_ptr< IValueProvider >> &¶meters) | |
IValueProvider () | |
virtual | ~IValueProvider ()=default |
virtual bool | isNull () const |
virtual bool | isAtom () const |
bool | equal (IValueProvider *other, const RapidJsonDocument &json) const |
Protected Attributes | |
RJPointer | pointer |
std::string | ptrStr |
Protected Attributes inherited from joda::query::IValueProvider | |
std::vector< std::unique_ptr< IValueProvider > > | params |
Additional Inherited Members | |
Static Public Member Functions inherited from joda::query::IValueProvider | |
static void | replaceConstSubexpressions (std::unique_ptr< IValueProvider > &val) |
static bool | constBoolCheck (std::unique_ptr< IValueProvider > &val) |
Protected Member Functions inherited from joda::query::IValueProvider | |
bool | getParamString (std::string &ret, const std::unique_ptr< IValueProvider > &val, const RapidJsonDocument &json) const |
void | checkParamSize (unsigned int expected) |
void | checkMinParamSize (unsigned int expected) |
void | checkParamType (unsigned int i, IValueType expected) |
void | checkOptionalParamType (unsigned int i, IValueType expected) |
std::vector< std::unique_ptr< IValueProvider > > | duplicateParameters () const |
std::string | getParameterStringRepresentation () const |
'<JSON Pointer>', a pointer to a specific value in a document
joda::query::PointerProvider::PointerProvider | ( | const std::string & | str | ) |
|
inline |
|
overridevirtual |
Reimplemented from joda::query::IValueProvider.
|
overridevirtual |
Implements joda::query::IValueProvider.
|
overridevirtual |
Reimplemented from joda::query::IValueProvider.
|
overridevirtual |
Gets an atomic value
json | The Rapidjsondocument to retrieve values from. (Or an empty RapidJsonDocument for const values) |
alloc | A MemoryPoolAllocator to create the values with |
Implements joda::query::IValueProvider.
|
overridevirtual |
Gets a list of all used document attributes
Reimplemented from joda::query::IValueProvider.
|
overridevirtual |
Fills a list with all used document attributes
vec | list to fill |
Reimplemented from joda::query::IValueProvider.
std::string joda::query::PointerProvider::getAttributeString | ( | ) | const |
|
overridevirtual |
Implements joda::query::IValueProvider.
std::variant< const RJValue, std::optional< const RJValue * >, const VirtualObject * > joda::query::PointerProvider::getPointerIfExists | ( | const RapidJsonDocument & | json, |
RJMemoryPoolAlloc & | alloc | ||
) | const |
Returns either a atomic RJValue, an optional pointer or a VirtualObject, depending on the existing indices and values.
json | the document to check |
alloc | the allocator to use for allocation operations |
|
overridevirtual |
Implements joda::query::IValueProvider.
|
overridevirtual |
Gets an value
json | The Rapidjsondocument to retrieve values from. (Or an empty RapidJsonDocument for const values) |
alloc | A MemoryPoolAllocator to create the values with |
Implements joda::query::IValueProvider.
const VirtualObject * joda::query::PointerProvider::getVO | ( | const RapidJsonDocument & | json | ) | const |
|
overridevirtual |
Reimplemented from joda::query::IValueProvider.
|
overridevirtual |
Reimplemented from joda::query::IValueProvider.
|
overridevirtual |
Reimplemented from joda::query::IValueProvider.
|
overridevirtual |
Implements joda::query::IValueProvider.
|
overridevirtual |
Reimplemented from joda::query::IValueProvider.
|
overridevirtual |
Reimplemented from joda::query::IValueProvider.
|
overridevirtual |
Reimplemented from joda::query::IValueProvider.
bool joda::query::PointerProvider::objIsPointerEvaluatable | ( | const RapidJsonDocument & | json | ) | const |
|
overridevirtual |
Reimplemented from joda::query::IValueProvider.
|
protected |
|
protected |