RStudio Launcher Plugin SDK
1.1.3
A software development kit for creating plugins that work the the RStudio Launcher.
|
Class which represents a json value. More...
#include <Json.hpp>
Public Member Functions | |
Value () | |
Constructor. | |
Value (ValueImplPtr in_valueImpl) | |
Constructor. Creates a JSON value from a Value::Impl object. More... | |
Value (const Value &in_other) | |
Copy constructor. More... | |
Value (Value &&in_other) noexcept | |
Move constructor. More... | |
Value (bool in_value) | |
Conversion constructor. More... | |
Value (double in_value) | |
Conversion constructor. More... | |
Value (float in_value) | |
Conversion constructor. More... | |
Value (int in_value) | |
Conversion constructor. More... | |
Value (int64_t in_value) | |
Conversion constructor. More... | |
Value (const char *in_value) | |
Conversion constructor. More... | |
Value (const std::string &in_value) | |
Conversion constructor. More... | |
Value (unsigned int in_value) | |
Conversion constructor. More... | |
Value (uint64_t in_value) | |
Conversion constructor. More... | |
virtual | ~Value ()=default |
Virtual destructor. | |
Value & | operator= (const Value &in_other) |
Assignment operator from Value. More... | |
Value & | operator= (Value &&in_other) noexcept |
Move operator. More... | |
Value & | operator= (bool in_value) |
Assignment operator. More... | |
Value & | operator= (double in_value) |
Assignment operator. More... | |
Value & | operator= (float in_value) |
Assignment operator. More... | |
Value & | operator= (int in_value) |
Assignment operator. More... | |
Value & | operator= (int64_t in_value) |
Assignment operator. More... | |
Value & | operator= (const char *in_value) |
Assignment operator. More... | |
Value & | operator= (const std::string &in_value) |
Assignment operator. More... | |
Value & | operator= (unsigned int in_value) |
Assignment operator. More... | |
Value & | operator= (uint64_t in_value) |
Assignment operator. More... | |
bool | operator== (const Value &in_other) const |
Equality operator. More... | |
bool | operator!= (const Value &in_other) const |
Inequality operator. More... | |
Value | clone () const |
Makes a copy of this JSON value. More... | |
Error | coerce (const std::string &in_schema, std::vector< std::string > &out_propViolations) |
Attempts to coerce a JSON object to conform to the given schema by discarding non-conforming properties. More... | |
Array | getArray () const |
Gets the value as a JSON array. If the call to getType() does not return Type::ARRAY, this method is invalid. More... | |
bool | getBool () const |
Gets the value as a bool. If the call to getType() does not return Type::BOOL, this method is invalid. More... | |
double | getDouble () const |
Gets the value as a double. If the call to getType() does not return Type::DOUBLE, this method is invalid. More... | |
float | getFloat () const |
Gets the value as a float. If the call to getType() does not return Type::FLOAT, this method is invalid. More... | |
int | getInt () const |
Gets the value as an int. If the call to getType() does not return Type::INT, this method is invalid. More... | |
int64_t | getInt64 () const |
Gets the value as an int64. If the call to getType() does not return Type::INT64, this method is invalid. More... | |
Object | getObject () const |
Gets the value as a JSON object. IF the call to getType() does not return Type::OBJECT, this method is invalid. More... | |
std::string | getString () const |
Gets the value as a string. If the call to getType() does not return Type::STRING, this method is invalid. More... | |
Type | getType () const |
Gets the type of this value. More... | |
unsigned int | getUInt () const |
Gets the value as an unsigned int. If the call to getType() does not return Type::UINT, this method is invalid. More... | |
uint64_t | getUInt64 () const |
Gets the value as an uint64. If the call to getType() does not return Type::UINT64, this method is invalid. More... | |
template<typename T > | |
T | getValue () const |
Gets this JSON value as the specified type. More... | |
bool | isArray () const |
Checks whether the value is a JSON array or not. More... | |
bool | isBool () const |
Checks whether the value is a boolean value or not. More... | |
bool | isDouble () const |
Checks whether the value is a double value or not. More... | |
bool | isFloat () const |
Checks whether the value is a float value or not. More... | |
bool | isInt () const |
Checks whether the value is an int 32 value or not. More... | |
bool | isInt64 () const |
Checks whether the value is an int 64 value or not. More... | |
bool | isObject () const |
Checks whether the value is a JSON object or not. More... | |
bool | isString () const |
Checks whether the value is a string value or not. More... | |
bool | isNull () const |
Checks whether the value is null or not. More... | |
bool | isUInt () const |
Checks whether the value is an unsigned int 32 value or not. More... | |
bool | isUInt64 () const |
Checks whether the value is an unsigned int 64 value or not. More... | |
virtual Error | parse (const char *in_jsonStr) |
Parses the JSON string into this value. More... | |
virtual Error | parse (const std::string &in_jsonStr) |
Parses the JSON string into this value. More... | |
Error | parseAndValidate (const std::string &in_jsonStr, const std::string &in_schema) |
Parses the JSON string and validates it against the schema. More... | |
Error | setValueAtPointerPath (const std::string &in_pointerPath, const json::Value &in_value) |
Sets a value within the current value based on the specified JSON Pointer path. More... | |
Error | setValueAtPointerPath (const std::string &in_pointerPath, bool in_value) |
Sets a value within the current value based on the specified JSON Pointer path. More... | |
Error | setValueAtPointerPath (const std::string &in_pointerPath, double in_value) |
Sets a value within the current value based on the specified JSON Pointer path. More... | |
Error | setValueAtPointerPath (const std::string &in_pointerPath, float in_value) |
Sets a value within the current value based on the specified JSON Pointer path. More... | |
Error | setValueAtPointerPath (const std::string &in_pointerPath, int in_value) |
Sets a value within the current value based on the specified JSON Pointer path. More... | |
Error | setValueAtPointerPath (const std::string &in_pointerPath, int64_t in_value) |
Sets a value within the current value based on the specified JSON Pointer path. More... | |
Error | setValueAtPointerPath (const std::string &in_pointerPath, const char *in_value) |
Sets a value within the current value based on the specified JSON Pointer path. More... | |
Error | setValueAtPointerPath (const std::string &in_pointerPath, const std::string &in_value) |
Sets a value within the current value based on the specified JSON Pointer path. More... | |
Error | setValueAtPointerPath (const std::string &in_pointerPath, unsigned int in_value) |
Sets a value within the current value based on the specified JSON Pointer path. More... | |
Error | setValueAtPointerPath (const std::string &in_pointerPath, uint64_t in_value) |
Sets a value within the current value based on the specified JSON Pointer path. More... | |
Error | setValueAtPointerPath (const std::string &in_pointerPath, const Array &in_value) |
Sets a value within the current value based on the specified JSON Pointer path. More... | |
Error | setValueAtPointerPath (const std::string &in_pointerPath, const Object &in_value) |
Sets a value within the current value based on the specified JSON Pointer path. More... | |
Error | validate (const std::string &in_schema) const |
Validates this JSON value against a schema. More... | |
std::string | write () const |
Writes this value to a string. More... | |
void | write (std::ostream &io_ostream) const |
Writes this value to the specified output stream. More... | |
std::string | writeFormatted () const |
Writes and formats this value to a string. More... | |
void | writeFormatted (std::ostream &io_ostream) const |
Writes and formats this value to the specified output stream. More... | |
Protected Types | |
typedef std::shared_ptr< Impl > | ValueImplPtr |
Convenience typedef for the type of the private implementation of json::Value. | |
Protected Member Functions | |
PRIVATE_IMPL_SHARED (m_impl) | |
Private implementation of Value. | |
Friends | |
class | Array |
Class which represents a json value.
|
explicit |
Constructor. Creates a JSON value from a Value::Impl object.
in_valueImpl | The Value::Impl object to use for the creation of this JSON value. |
rstudio::launcher_plugins::json::Value::Value | ( | const Value & | in_other | ) |
Copy constructor.
in_other | The value to copy. |
|
noexcept |
Move constructor.
in_other | The value to move from. |
|
explicit |
Conversion constructor.
in_value | The literal value to set this JSON Value to. |
|
explicit |
Conversion constructor.
in_value | The literal value to set this JSON Value to. |
|
explicit |
Conversion constructor.
in_value | The literal value to set this JSON Value to. |
|
explicit |
Conversion constructor.
in_value | The literal value to set this JSON Value to. |
|
explicit |
Conversion constructor.
in_value | The literal value to set this JSON Value to. |
|
explicit |
Conversion constructor.
in_value | The literal value to set this JSON Value to. |
|
explicit |
Conversion constructor.
in_value | The literal value to set this JSON Value to. |
|
explicit |
Conversion constructor.
in_value | The literal value to set this JSON Value to. |
|
explicit |
Conversion constructor.
in_value | The literal value to set this JSON Value to. |
Value rstudio::launcher_plugins::json::Value::clone | ( | ) | const |
Makes a copy of this JSON value.
Error rstudio::launcher_plugins::json::Value::coerce | ( | const std::string & | in_schema, |
std::vector< std::string > & | out_propViolations | ||
) |
Attempts to coerce a JSON object to conform to the given schema by discarding non-conforming properties.
in_schema | The schema to validate this value against. |
out_propViolations | The names of the properties that did not conform to the schema. |
Array rstudio::launcher_plugins::json::Value::getArray | ( | ) | const |
Gets the value as a JSON array. If the call to getType() does not return Type::ARRAY, this method is invalid.
bool rstudio::launcher_plugins::json::Value::getBool | ( | ) | const |
Gets the value as a bool. If the call to getType() does not return Type::BOOL, this method is invalid.
double rstudio::launcher_plugins::json::Value::getDouble | ( | ) | const |
Gets the value as a double. If the call to getType() does not return Type::DOUBLE, this method is invalid.
float rstudio::launcher_plugins::json::Value::getFloat | ( | ) | const |
Gets the value as a float. If the call to getType() does not return Type::FLOAT, this method is invalid.
int rstudio::launcher_plugins::json::Value::getInt | ( | ) | const |
Gets the value as an int. If the call to getType() does not return Type::INT, this method is invalid.
int64_t rstudio::launcher_plugins::json::Value::getInt64 | ( | ) | const |
Gets the value as an int64. If the call to getType() does not return Type::INT64, this method is invalid.
Object rstudio::launcher_plugins::json::Value::getObject | ( | ) | const |
Gets the value as a JSON object. IF the call to getType() does not return Type::OBJECT, this method is invalid.
std::string rstudio::launcher_plugins::json::Value::getString | ( | ) | const |
Gets the value as a string. If the call to getType() does not return Type::STRING, this method is invalid.
Type rstudio::launcher_plugins::json::Value::getType | ( | ) | const |
Gets the type of this value.
unsigned int rstudio::launcher_plugins::json::Value::getUInt | ( | ) | const |
Gets the value as an unsigned int. If the call to getType() does not return Type::UINT, this method is invalid.
uint64_t rstudio::launcher_plugins::json::Value::getUInt64 | ( | ) | const |
Gets the value as an uint64. If the call to getType() does not return Type::UINT64, this method is invalid.
T rstudio::launcher_plugins::json::Value::getValue | ( | ) | const |
Gets this JSON value as the specified type.
Before calling this method, the appropriate is<T> method should return true.
T | The type to retrieve this value as. |
bool rstudio::launcher_plugins::json::Value::isArray | ( | ) | const |
Checks whether the value is a JSON array or not.
bool rstudio::launcher_plugins::json::Value::isBool | ( | ) | const |
Checks whether the value is a boolean value or not.
bool rstudio::launcher_plugins::json::Value::isDouble | ( | ) | const |
Checks whether the value is a double value or not.
bool rstudio::launcher_plugins::json::Value::isFloat | ( | ) | const |
Checks whether the value is a float value or not.
bool rstudio::launcher_plugins::json::Value::isInt | ( | ) | const |
Checks whether the value is an int 32 value or not.
bool rstudio::launcher_plugins::json::Value::isInt64 | ( | ) | const |
Checks whether the value is an int 64 value or not.
bool rstudio::launcher_plugins::json::Value::isNull | ( | ) | const |
Checks whether the value is null or not.
bool rstudio::launcher_plugins::json::Value::isObject | ( | ) | const |
Checks whether the value is a JSON object or not.
bool rstudio::launcher_plugins::json::Value::isString | ( | ) | const |
Checks whether the value is a string value or not.
bool rstudio::launcher_plugins::json::Value::isUInt | ( | ) | const |
Checks whether the value is an unsigned int 32 value or not.
bool rstudio::launcher_plugins::json::Value::isUInt64 | ( | ) | const |
Checks whether the value is an unsigned int 64 value or not.
bool rstudio::launcher_plugins::json::Value::operator!= | ( | const Value & | in_other | ) | const |
Inequality operator.
in_other | The value to compare this value to. |
Value& rstudio::launcher_plugins::json::Value::operator= | ( | bool | in_value | ) |
Assignment operator.
in_value | The literal value to set this JSON Value to. |
Value& rstudio::launcher_plugins::json::Value::operator= | ( | const char * | in_value | ) |
Assignment operator.
in_value | The literal value to set this JSON Value to. |
Value& rstudio::launcher_plugins::json::Value::operator= | ( | const std::string & | in_value | ) |
Assignment operator.
in_value | The literal value to set this JSON Value to. |
Assignment operator from Value.
in_other | The value to copy to this value. |
Value& rstudio::launcher_plugins::json::Value::operator= | ( | double | in_value | ) |
Assignment operator.
in_value | The literal value to set this JSON Value to. |
Value& rstudio::launcher_plugins::json::Value::operator= | ( | float | in_value | ) |
Assignment operator.
in_value | The literal value to set this JSON Value to. |
Value& rstudio::launcher_plugins::json::Value::operator= | ( | int | in_value | ) |
Assignment operator.
in_value | The literal value to set this JSON Value to. |
Value& rstudio::launcher_plugins::json::Value::operator= | ( | int64_t | in_value | ) |
Assignment operator.
in_value | The literal value to set this JSON Value to. |
Value& rstudio::launcher_plugins::json::Value::operator= | ( | uint64_t | in_value | ) |
Assignment operator.
in_value | The literal value to set this JSON Value to. |
Value& rstudio::launcher_plugins::json::Value::operator= | ( | unsigned int | in_value | ) |
Assignment operator.
in_value | The literal value to set this JSON Value to. |
Move operator.
in_other | The value to move to this value. |
bool rstudio::launcher_plugins::json::Value::operator== | ( | const Value & | in_other | ) | const |
Equality operator.
in_other | The value to compare this value to. |
|
virtual |
Parses the JSON string into this value.
in_jsonStr | The JSON string to parse. |
Reimplemented in rstudio::launcher_plugins::json::Array, and rstudio::launcher_plugins::json::Object.
|
virtual |
Parses the JSON string into this value.
in_jsonStr | The JSON string to parse. |
Reimplemented in rstudio::launcher_plugins::json::Array, and rstudio::launcher_plugins::json::Object.
Error rstudio::launcher_plugins::json::Value::parseAndValidate | ( | const std::string & | in_jsonStr, |
const std::string & | in_schema | ||
) |
Error rstudio::launcher_plugins::json::Value::setValueAtPointerPath | ( | const std::string & | in_pointerPath, |
bool | in_value | ||
) |
Error rstudio::launcher_plugins::json::Value::setValueAtPointerPath | ( | const std::string & | in_pointerPath, |
const char * | in_value | ||
) |
Error rstudio::launcher_plugins::json::Value::setValueAtPointerPath | ( | const std::string & | in_pointerPath, |
const json::Value & | in_value | ||
) |
Error rstudio::launcher_plugins::json::Value::setValueAtPointerPath | ( | const std::string & | in_pointerPath, |
const std::string & | in_value | ||
) |
Error rstudio::launcher_plugins::json::Value::setValueAtPointerPath | ( | const std::string & | in_pointerPath, |
double | in_value | ||
) |
Error rstudio::launcher_plugins::json::Value::setValueAtPointerPath | ( | const std::string & | in_pointerPath, |
float | in_value | ||
) |
Error rstudio::launcher_plugins::json::Value::setValueAtPointerPath | ( | const std::string & | in_pointerPath, |
int | in_value | ||
) |
Error rstudio::launcher_plugins::json::Value::setValueAtPointerPath | ( | const std::string & | in_pointerPath, |
int64_t | in_value | ||
) |
Error rstudio::launcher_plugins::json::Value::setValueAtPointerPath | ( | const std::string & | in_pointerPath, |
uint64_t | in_value | ||
) |
Error rstudio::launcher_plugins::json::Value::setValueAtPointerPath | ( | const std::string & | in_pointerPath, |
unsigned int | in_value | ||
) |
Error rstudio::launcher_plugins::json::Value::validate | ( | const std::string & | in_schema | ) | const |
std::string rstudio::launcher_plugins::json::Value::write | ( | ) | const |
Writes this value to a string.
void rstudio::launcher_plugins::json::Value::write | ( | std::ostream & | io_ostream | ) | const |
Writes this value to the specified output stream.
io_ostream | The output stream to which to write this value. |
std::string rstudio::launcher_plugins::json::Value::writeFormatted | ( | ) | const |
Writes and formats this value to a string.
void rstudio::launcher_plugins::json::Value::writeFormatted | ( | std::ostream & | io_ostream | ) | const |
Writes and formats this value to the specified output stream.
io_ostream | The output stream to which to write this value. |