Eclipse SUMO - Simulation of Urban MObility
OptionsLoader Class Reference

A SAX-Handler for loading options. More...

#include <OptionsLoader.h>

Inheritance diagram for OptionsLoader:
[legend]
Collaboration diagram for OptionsLoader:
[legend]

Public Member Functions

bool errorOccurred () const
 Returns the information whether an error occurred. More...
 
const std::string & getItem () const
 Returns the last item read. More...
 
 OptionsLoader (OptionsCont &customOptions, const bool routeOnly=false)
 Constructor for default option container. More...
 
 ~OptionsLoader ()
 destructor More...
 
Handlers for the SAX DocumentHandler interface
virtual void startElement (const XMLCh *const name, XERCES_CPP_NAMESPACE::AttributeList &attributes)
 Called on the occurrence of the beginning of a tag. More...
 
void characters (const XMLCh *const chars, const XERCES3_SIZE_t length)
 Called on the occurrence of character data. More...
 
void endElement (const XMLCh *const name)
 Called on the end of an element. More...
 
Handlers for the SAX ErrorHandler interface
void warning (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Called on an XML-warning. More...
 
void error (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Called on an XML-error. More...
 
void fatalError (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Called on an XML-fatal error. More...
 

Private Member Functions

OptionsLoaderoperator= (const OptionsLoader &s)=delete
 invalid assignment operator More...
 
 OptionsLoader (const OptionsLoader &s)=delete
 invalid copy constructor More...
 
bool setSecure (OptionsCont &options, const std::string &name, const std::string &value) const
 Tries to set the named option to the given value. More...
 
void setValue (const std::string &key, const std::string &value)
 Tries to set the named option to the given value. More...
 

Private Attributes

bool myError = false
 The information whether an error occurred. More...
 
std::string myItem
 The name of the currently parsed option. More...
 
OptionsContmyOptions
 The options to fill. More...
 
const bool myRootOnly
 The information whether only the root element should be parsed. More...
 
std::string myValue
 The currently read characters string. More...
 

Detailed Description

A SAX-Handler for loading options.

Definition at line 44 of file OptionsLoader.h.

Constructor & Destructor Documentation

◆ OptionsLoader() [1/2]

OptionsLoader::OptionsLoader ( OptionsCont customOptions,
const bool  routeOnly = false 
)

Constructor for default option container.

Definition at line 46 of file OptionsLoader.cpp.

◆ ~OptionsLoader()

OptionsLoader::~OptionsLoader ( )

destructor

Definition at line 53 of file OptionsLoader.cpp.

◆ OptionsLoader() [2/2]

OptionsLoader::OptionsLoader ( const OptionsLoader s)
privatedelete

invalid copy constructor

Member Function Documentation

◆ characters()

void OptionsLoader::characters ( const XMLCh *const  chars,
const XERCES3_SIZE_t  length 
)

Called on the occurrence of character data.

If this occurs inside a single tag it sets the option named by the tag to the value given by the character data. This is considered deprecated in favor of attributes.

Todo:
Describe better

Definition at line 88 of file OptionsLoader.cpp.

References myValue, and StringUtils::transcode().

◆ endElement()

void OptionsLoader::endElement ( const XMLCh *const  name)

Called on the end of an element.

Resets the element name

Definition at line 104 of file OptionsLoader.cpp.

References myItem, myValue, and setValue().

◆ error()

void OptionsLoader::error ( const XERCES_CPP_NAMESPACE::SAXParseException &  exception)

Called on an XML-error.

The warning is reported to the the error-instance of MsgHandler

Definition at line 128 of file OptionsLoader.cpp.

References myError, toString(), StringUtils::transcode(), and WRITE_ERROR.

◆ errorOccurred()

bool OptionsLoader::errorOccurred ( ) const

Returns the information whether an error occurred.

Definition at line 148 of file OptionsLoader.cpp.

References myError.

Referenced by OptionsIO::getRoot(), OptionsIO::loadConfiguration(), GNEOptionsDialog::loadConfiguration(), GNEPythonTool::loadConfiguration(), GNEApplicationWindowHelper::GNENeteditConfigHandler::loadNeteditConfig(), and GNEApplicationWindowHelper::GNESumoConfigHandler::loadSumoConfig().

Here is the caller graph for this function:

◆ fatalError()

void OptionsLoader::fatalError ( const XERCES_CPP_NAMESPACE::SAXParseException &  exception)

Called on an XML-fatal error.

The warning is reported to the the error-instance of MsgHandler

Definition at line 138 of file OptionsLoader.cpp.

References myError, toString(), StringUtils::transcode(), and WRITE_ERROR.

◆ getItem()

const std::string& OptionsLoader::getItem ( ) const
inline

Returns the last item read.

Definition at line 106 of file OptionsLoader.h.

References myItem.

Referenced by OptionsIO::getRoot().

Here is the caller graph for this function:

◆ operator=()

OptionsLoader& OptionsLoader::operator= ( const OptionsLoader s)
privatedelete

invalid assignment operator

◆ setSecure()

bool OptionsLoader::setSecure ( OptionsCont options,
const std::string &  name,
const std::string &  value 
) const
private

Tries to set the named option to the given value.

Checks the item whether it was default before setting it. Returns the information whether the item was set before (was not a default value)

Parameters
[in]nameThe name of the option to set
[in]valueThe new value for the option
Returns
Whether the option could be set

Definition at line 94 of file OptionsLoader.cpp.

References OptionsCont::isWriteable(), and OptionsCont::set().

Referenced by setValue().

Here is the caller graph for this function:

◆ setValue()

void OptionsLoader::setValue ( const std::string &  key,
const std::string &  value 
)
private

Tries to set the named option to the given value.

Also evaluates whether it is a boolean or a filename option and does the relevant checks / modifications.

Parameters
[in]keyThe name of the option to set
[in]valueThe new value for the option

Definition at line 72 of file OptionsLoader.cpp.

References myError, myOptions, setSecure(), TL, WRITE_ERROR, and WRITE_ERRORF.

Referenced by endElement(), and startElement().

Here is the caller graph for this function:

◆ startElement()

void OptionsLoader::startElement ( const XMLCh *const  name,
XERCES_CPP_NAMESPACE::AttributeList &  attributes 
)
virtual

Called on the occurrence of the beginning of a tag.

Sets the name of the last item

Definition at line 56 of file OptionsLoader.cpp.

References myItem, myRootOnly, myValue, setValue(), and StringUtils::transcode().

◆ warning()

void OptionsLoader::warning ( const XERCES_CPP_NAMESPACE::SAXParseException &  exception)

Called on an XML-warning.

The warning is reported to the the warning-instance of MsgHandler

Definition at line 118 of file OptionsLoader.cpp.

References myError, toString(), StringUtils::transcode(), and WRITE_WARNING.

Field Documentation

◆ myError

bool OptionsLoader::myError = false
private

The information whether an error occurred.

Definition at line 115 of file OptionsLoader.h.

Referenced by error(), errorOccurred(), fatalError(), setValue(), and warning().

◆ myItem

std::string OptionsLoader::myItem
private

The name of the currently parsed option.

Definition at line 121 of file OptionsLoader.h.

Referenced by endElement(), getItem(), and startElement().

◆ myOptions

OptionsCont& OptionsLoader::myOptions
private

The options to fill.

Definition at line 118 of file OptionsLoader.h.

Referenced by setValue().

◆ myRootOnly

const bool OptionsLoader::myRootOnly
private

The information whether only the root element should be parsed.

Definition at line 112 of file OptionsLoader.h.

Referenced by startElement().

◆ myValue

std::string OptionsLoader::myValue
private

The currently read characters string.

Definition at line 124 of file OptionsLoader.h.

Referenced by characters(), endElement(), and startElement().


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