|
| MapElement (const Position &pos=ZERO_POSITION()) |
|
bool | contains (const std::string &s) const override |
| Checks if there is data at the given key.
|
|
bool | empty () const override |
| Return true if there are no elements in the list.
|
|
bool | equals (const Element &other) const override |
|
ConstElementPtr | find (const std::string &id) const override |
| Recursively finds any data at the given identifier.
|
|
bool | find (const std::string &id, ConstElementPtr &t) const override |
| See Element::find()
|
|
virtual ConstElementPtr | get (const int i) const |
| Returns the ElementPtr at the given index.
|
|
virtual ConstElementPtr | get (const std::string &name) const |
| Returns the ElementPtr at the given key.
|
|
ConstElementPtr | get (const std::string &s) const override |
| Returns the ElementPtr at the given key.
|
|
ConstElementPtr | get (int const i) const override |
| Get the i-th element in the map.
|
|
virtual bool | getValue (bool &t) const |
|
virtual bool | getValue (double &t) const |
|
virtual bool | getValue (int64_t &t) const |
|
virtual bool | getValue (std::map< std::string, ConstElementPtr > &t) const |
|
bool | getValue (std::map< std::string, ConstElementPtr > &t) const override |
|
virtual bool | getValue (std::string &t) const |
|
virtual bool | getValue (std::vector< ElementPtr > &t) const |
|
const std::map< std::string, ConstElementPtr > & | mapValue () const override |
|
virtual void | remove (const int i) |
| Removes the element at the given position.
|
|
virtual void | remove (const std::string &name) |
| Remove the ElementPtr at the given key.
|
|
void | remove (const std::string &s) override |
| Remove the ElementPtr at the given key.
|
|
void | remove (int const i) override |
| Remove the i-th element from the map.
|
|
virtual void | set (const size_t i, ElementPtr element) |
| Sets the ElementPtr at the given index.
|
|
void | set (const std::string &key, ConstElementPtr value) override |
| Sets the ElementPtr at the given key.
|
|
virtual void | set (const std::string &name, ConstElementPtr element) |
| Sets the ElementPtr at the given key.
|
|
virtual bool | setValue (const bool t) |
|
virtual bool | setValue (const double v) |
|
bool | setValue (const int i) |
|
virtual bool | setValue (const isc::util::int128_t &v) |
|
bool | setValue (const long int i) |
|
virtual bool | setValue (const long long int v) |
|
virtual bool | setValue (const std::map< std::string, ConstElementPtr > &v) |
|
bool | setValue (const std::map< std::string, ConstElementPtr > &v) override |
|
virtual bool | setValue (const std::string &v) |
|
virtual bool | setValue (const std::vector< ElementPtr > &v) |
|
size_t | size () const override |
| Returns number of stored elements.
|
|
void | toJSON (std::ostream &ss) const override |
| Converts the Element to JSON format and appends it to the given stringstream.
|
|
virtual | ~Element () |
|
const Position & | getPosition () const |
| Returns position where the data element's value starts in a configuration string.
|
|
types | 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.
|
|
std::string | toWire () const |
| Returns the wireformat for the Element and all its child elements.
|
|
void | toWire (std::ostream &out) const |
|
virtual int64_t | intValue () const |
|
virtual isc::util::int128_t | bigIntValue () const |
|
virtual double | doubleValue () const |
|
virtual bool | boolValue () const |
|
virtual std::string | stringValue () const |
|
virtual const std::vector< ElementPtr > & | listValue () const |
|
bool | setValue (const long int i) |
|
bool | setValue (const int i) |
|
virtual ElementPtr | getNonConst (const int i) const |
| returns element as non-const pointer
|
|
virtual void | add (ElementPtr element) |
| Adds an ElementPtr to the list.
|
|
void | removeEmptyContainersRecursively () |
| Remove all empty maps and lists from this Element and its descendants.
|
|
|
enum | types : int {
integer = 0
, real = 1
, boolean = 2
, null = 3
,
string = 4
, bigint = 5
, list = 6
, map = 7
,
any = 8
} |
| The types that an Element can hold. More...
|
|
static const Position & | ZERO_POSITION () |
| Returns Position object with line_ and pos_ set to 0, and with an empty file name.
|
|
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 isc::util::int128_t &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 uint32_t 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.
|
|
static ElementPtr | createMap (const Position &pos=ZERO_POSITION()) |
| Creates an empty MapElement type ElementPtr.
|
|
static ElementPtr | fromJSON (const std::string &in, bool preproc=false) |
| These functions will parse the given string (JSON) representation of a compound element.
|
|
static ElementPtr | fromJSON (std::istream &in, bool preproc=false) |
| Creates an Element from the given input stream containing JSON formatted data.
|
|
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.
|
|
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.
|
|
static ElementPtr | fromJSONFile (const std::string &file_name, bool preproc=false) |
| Reads contents of specified file and interprets it as JSON.
|
|
static std::string | typeToName (Element::types type) |
| Returns the name of the given type as a string.
|
|
static Element::types | nameToType (const std::string &type_name) |
| Converts the string to the corresponding type Throws a TypeError if the name is unknown.
|
|
static void | preprocess (std::istream &in, std::stringstream &out) |
| input text preprocessor
|
|
static ElementPtr | fromWire (std::stringstream &in, int length) |
| These function pparse the wireformat at the given stringstream (of the given length).
|
|
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.
|
|
| Element (types t, const Position &pos=ZERO_POSITION()) |
| Constructor.
|
|
Definition at line 768 of file data.h.
ConstElementPtr isc::data::MapElement::find |
( |
const std::string & | identifier | ) |
const |
|
overridevirtual |
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".
- Parameters
-
identifier | The identifier of the element to find |
- Returns
- The ElementPtr at the given identifier. Returns a null ElementPtr if it is not found, which can be checked with Element::is_null(ElementPtr e).
Reimplemented from isc::data::Element.
Definition at line 964 of file data.cc.
References isc::data::Element::get(), and isc::data::Element::size().