Kea
1.9.9-git
|
#include <data.h>
Public Member Functions | |
MapElement (const Position &pos=ZERO_POSITION()) | |
bool | contains (const std::string &s) const |
Checks if there is data at the given key. More... | |
bool | empty () const |
Return true if there are no elements in the list. More... | |
bool | equals (const Element &other) const |
ConstElementPtr | find (const std::string &id) const |
Recursively finds any data at the given identifier. More... | |
bool | find (const std::string &id, ConstElementPtr &t) const |
See Element::find() More... | |
ConstElementPtr | get (const std::string &s) const |
Returns the ElementPtr at the given key. More... | |
bool | getValue (std::map< std::string, ConstElementPtr > &t) const |
const std::map< std::string, ConstElementPtr > & | mapValue () const |
void | remove (const std::string &s) |
Remove the ElementPtr at the given key. More... | |
void | set (const std::string &key, ConstElementPtr value) |
Sets the ElementPtr at the given key. More... | |
bool | setValue (const std::map< std::string, ConstElementPtr > &v) |
size_t | size () const |
Returns number of stored elements. More... | |
void | toJSON (std::ostream &ss) const |
Converts the Element to JSON format and appends it to the given stringstream. More... | |
Public Member Functions inherited from isc::data::Element | |
virtual | ~Element () |
const Position & | getPosition () const |
Returns position where the data element's value starts in a configuration string. More... | |
int | getType () const |
std::string | str () const |
Returns a string representing the Element and all its child elements; note that this is different from stringValue(), which only returns the single value of a StringElement. More... | |
std::string | toWire () const |
Returns the wireformat for the Element and all its child elements. More... | |
void | toWire (std::ostream &out) const |
virtual int64_t | intValue () const |
virtual double | doubleValue () const |
virtual bool | boolValue () const |
virtual std::string | stringValue () const |
virtual const std::vector< ElementPtr > & | listValue () const |
virtual bool | getValue (int64_t &t) const |
virtual bool | getValue (double &t) const |
virtual bool | getValue (bool &t) const |
virtual bool | getValue (std::string &t) const |
virtual bool | getValue (std::vector< ElementPtr > &t) const |
virtual bool | setValue (const long long int v) |
bool | setValue (const long int i) |
bool | setValue (const int i) |
virtual bool | setValue (const double v) |
virtual bool | setValue (const bool t) |
virtual bool | setValue (const std::string &v) |
virtual bool | setValue (const std::vector< ElementPtr > &v) |
virtual ConstElementPtr | get (const int i) const |
Returns the ElementPtr at the given index. More... | |
virtual ElementPtr | getNonConst (const int i) const |
returns element as non-const pointer More... | |
virtual void | set (const size_t i, ElementPtr element) |
Sets the ElementPtr at the given index. More... | |
virtual void | add (ElementPtr element) |
Adds an ElementPtr to the list. More... | |
virtual void | remove (const int i) |
Removes the element at the given position. More... | |
Additional Inherited Members | |
Public Types inherited from isc::data::Element | |
enum | types { integer, real, boolean, null, string, list, map, any } |
Static Public Member Functions inherited from isc::data::Element | |
static const Position & | ZERO_POSITION () |
Returns Position object with line_ and pos_ set to 0, and with an empty file name. More... | |
static ElementPtr | create (const Position &pos=ZERO_POSITION()) |
static ElementPtr | create (const long long int i, const Position &pos=ZERO_POSITION()) |
static ElementPtr | create (const int i, const Position &pos=ZERO_POSITION()) |
static ElementPtr | create (const long int i, const Position &pos=ZERO_POSITION()) |
static ElementPtr | create (const double d, const Position &pos=ZERO_POSITION()) |
static ElementPtr | create (const bool b, const Position &pos=ZERO_POSITION()) |
static ElementPtr | create (const std::string &s, const Position &pos=ZERO_POSITION()) |
static ElementPtr | create (const char *s, const Position &pos=ZERO_POSITION()) |
static ElementPtr | createList (const Position &pos=ZERO_POSITION()) |
Creates an empty ListElement type ElementPtr. More... | |
static ElementPtr | createMap (const Position &pos=ZERO_POSITION()) |
Creates an empty MapElement type ElementPtr. More... | |
static ElementPtr | fromJSON (const std::string &in, bool preproc=false) |
These functions will parse the given string (JSON) representation of a compound element. More... | |
static ElementPtr | fromJSON (std::istream &in, bool preproc=false) |
Creates an Element from the given input stream containing JSON formatted data. More... | |
static ElementPtr | fromJSON (std::istream &in, const std::string &file_name, bool preproc=false) |
Creates an Element from the given input stream containing JSON formatted data. More... | |
static ElementPtr | fromJSON (std::istream &in, const std::string &file, int &line, int &pos) |
Creates an Element from the given input stream, where we keep track of the location in the stream for error reporting. More... | |
static ElementPtr | fromJSONFile (const std::string &file_name, bool preproc=false) |
Reads contents of specified file and interprets it as JSON. More... | |
static std::string | typeToName (Element::types type) |
Returns the name of the given type as a string. More... | |
static Element::types | nameToType (const std::string &type_name) |
Converts the string to the corresponding type Throws a TypeError if the name is unknown. More... | |
static void | preprocess (std::istream &in, std::stringstream &out) |
input text preprocessor More... | |
static ElementPtr | fromWire (std::stringstream &in, int length) |
These function pparse the wireformat at the given stringstream (of the given length). More... | |
static ElementPtr | fromWire (const std::string &s) |
Creates an Element from the wire format in the given string Since the wire format is JSON, this is the same as fromJSON, and could be removed. More... | |
Protected Member Functions inherited from isc::data::Element | |
Element (int t, const Position &pos=ZERO_POSITION()) | |
Constructor. More... | |
|
inline |
|
inlinevirtual |
Checks if there is data at the given key.
name | The key of the Element checked for existence |
Reimplemented from isc::data::Element.
|
inlinevirtual |
Return true if there are no elements in the list.
Reimplemented from isc::data::Element.
|
virtual |
Implements isc::data::Element.
Definition at line 1006 of file data.cc.
References isc::data::Element::contains(), isc::data::Element::get(), isc::data::Element::getType(), and isc::data::Element::size().
|
virtual |
Recursively finds any data at the given identifier.
The identifier is a /-separated list of names of nested maps, with the last name being the leaf that is returned.
For instance, if you have a MapElement that contains another MapElement at the key "foo", and that second MapElement contains Another Element at key "bar", the identifier for that last element from the first is "foo/bar".
identifier | The identifier of the element to find |
Reimplemented from isc::data::Element.
|
virtual |
See Element::find()
identifier | The identifier of the element to find |
t | Reference to store the resulting ElementPtr, if found. |
Reimplemented from isc::data::Element.
|
inlinevirtual |
Returns the ElementPtr at the given key.
name | The key of the Element to return |
Reimplemented from isc::data::Element.
|
inlinevirtual |
Reimplemented from isc::data::Element.
|
inlinevirtual |
Reimplemented from isc::data::Element.
|
inlinevirtual |
Remove the ElementPtr at the given key.
name | The key of the Element to remove |
Reimplemented from isc::data::Element.
|
virtual |
Sets the ElementPtr at the given key.
name | The key of the Element to set |
element | The ElementPtr to set at the given key. |
Reimplemented from isc::data::Element.
|
inlinevirtual |
Reimplemented from isc::data::Element.
|
inlinevirtual |
Returns number of stored elements.
Reimplemented from isc::data::Element.
|
virtual |
Converts the Element to JSON format and appends it to the given stringstream.
Implements isc::data::Element.