SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NIImporter_MATSim::EdgesHandler Class Reference

A class which extracts MATSIM-edges from a parsed MATSIM-file. More...

Inheritance diagram for NIImporter_MATSim::EdgesHandler:
GenericSAXHandler DefaultHandler

Public Member Functions

void characters (const XMLCh *const chars, const XERCES3_SIZE_t length)
 The inherited method called when characters occured.
 
 EdgesHandler (const NBNodeCont &nc, NBEdgeCont &toFill, bool keepEdgeLengths, bool lanesFromCapacity, NBCapacity2Lanes capacity2Lanes)
 Constructor.
 
void endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname)
 The inherited method called when a tag is being closed.
 
const std::string & getFileName () const
 returns the current file name
 
void registerParent (const int tag, GenericSAXHandler *handler)
 Assigning a parent handler which is enabled when the specified tag is closed.
 
void setFileName (const std::string &name)
 Sets the current file name.
 
void startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const XERCES_CPP_NAMESPACE::Attributes &attrs)
 The inherited method called when a new tag opens.
 
 ~EdgesHandler ()
 Destructor.
 
SAX ErrorHandler callbacks
void warning (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Handler for XML-warnings.
 
void error (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Handler for XML-errors.
 
void fatalError (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Handler for XML-errors.
 

Protected Member Functions

std::string buildErrorMessage (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Builds an error message.
 
virtual void myCharacters (int element, const std::string &chars)
 Callback method for characters to implement by derived classes.
 
virtual void myEndElement (int element)
 Callback method for a closing tag to implement by derived classes.
 
inherited from GenericSAXHandler
void myStartElement (int element, const SUMOSAXAttributes &attrs)
 Called on the opening of a tag;.
 

Private Member Functions

 EdgesHandler (const EdgesHandler &s)
 invalidated copy constructor
 
EdgesHandler & operator= (const EdgesHandler &s)
 invalidated assignment operator
 

Private Attributes

NBCapacity2Lanes myCapacity2Lanes
 The converter from flow to lanes.
 
SUMOReal myCapacityNorm
 The capacity norming.
 
NBEdgeCont & myEdgeCont
 The edge container to fill.
 
bool myKeepEdgeLengths
 Whether the loaded lengths shal be used.
 
bool myLanesFromCapacity
 Whether the lane number shall be computed from the capacity.
 
const NBNodeCont & myNodeCont
 The previously parsed nodes.
 

Detailed Description

A class which extracts MATSIM-edges from a parsed MATSIM-file.

Definition at line 130 of file NIImporter_MATSim.h.

Constructor & Destructor Documentation

NIImporter_MATSim::EdgesHandler::EdgesHandler ( const NBNodeCont &  nc,
NBEdgeCont &  toFill,
bool  keepEdgeLengths,
bool  lanesFromCapacity,
NBCapacity2Lanes  capacity2Lanes 
)

Constructor.

Parameters
[in]ncThe node container to retrieve nodes form
[in,out]toFillThe edges container to fill with read edges
[in]keepEdgeLengthsWhether the loaded lengths shal be used
[in]lanesFromCapacityWhether the lane number shall be computed from the capacity
[in]capacity2LanesThe converter from flow to lanes

Definition at line 175 of file NIImporter_MATSim.cpp.

NIImporter_MATSim::EdgesHandler::~EdgesHandler ( )

Destructor.

Definition at line 186 of file NIImporter_MATSim.cpp.

NIImporter_MATSim::EdgesHandler::EdgesHandler ( const EdgesHandler &  s)
private

invalidated copy constructor

Member Function Documentation

std::string GenericSAXHandler::buildErrorMessage ( const XERCES_CPP_NAMESPACE::SAXParseException &  exception)
protectedinherited

Builds an error message.

The error message includes the file name and the line/column information as supported by the given SAXParseException

Parameters
[in]exceptionThe name of the currently processed file
Returns
A string describing the given exception

Definition at line 193 of file GenericSAXHandler.cpp.

References GenericSAXHandler::getFileName().

Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().

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

The inherited method called when characters occured.

The retrieved characters are converted into a string and appended into a private buffer. They are reported as soon as the element ends.

Todo:

recheck/describe what happens with characters when a new element is opened

describe characters processing in the class' head

Definition at line 176 of file GenericSAXHandler.cpp.

References TplConvert::_2str(), and GenericSAXHandler::myCharactersVector.

void GenericSAXHandler::endElement ( const XMLCh *const  uri,
const XMLCh *const  localname,
const XMLCh *const  qname 
)
inherited

The inherited method called when a tag is being closed.

This method calls the user-implemented methods myCharacters with the previously collected and converted characters.

Then, myEndElement is called, supplying it the qname converted to its enum- and string-representations.

Todo:

recheck/describe encoding of the string-representation

do not generate and report the string-representation

Definition at line 126 of file GenericSAXHandler.cpp.

References TplConvert::_2str(), GenericSAXHandler::convertTag(), GenericSAXHandler::myCharacters(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myEndElement(), GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, XMLSubSys::setHandler(), SUMO_TAG_INCLUDE, and SUMO_TAG_NOTHING.

void GenericSAXHandler::error ( const XERCES_CPP_NAMESPACE::SAXParseException &  exception)
inherited

Handler for XML-errors.

The message is built using buildErrorMessage and thrown within a ProcessError.

Parameters
[in]exceptionThe occured exception to process
Exceptions
ProcessErrorOn any call

Definition at line 212 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage().

void GenericSAXHandler::fatalError ( const XERCES_CPP_NAMESPACE::SAXParseException &  exception)
inherited

Handler for XML-errors.

The message is built using buildErrorMessage and thrown within a ProcessError.

Exceptions
ProcessErrorOn any call
Parameters
[in]exceptionThe occured exception to process

Definition at line 218 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage().

void GenericSAXHandler::myCharacters ( int  element,
const std::string &  chars 
)
protectedvirtualinherited

Callback method for characters to implement by derived classes.

Called by "endElement" (see there).

Parameters
[in]elementThe opened element, given as a int
[in]charsThe complete embedded character string ProcessError These method may throw a ProcessError if something fails

Reimplemented in NIImporter_ITSUMO::Handler.

Definition at line 228 of file GenericSAXHandler.cpp.

Referenced by GenericSAXHandler::endElement().

void GenericSAXHandler::myEndElement ( int  element)
protectedvirtualinherited
EdgesHandler& NIImporter_MATSim::EdgesHandler::operator= ( const EdgesHandler &  s)
private

invalidated assignment operator

void GenericSAXHandler::registerParent ( const int  tag,
GenericSAXHandler *  handler 
)
inherited

Assigning a parent handler which is enabled when the specified tag is closed.

Definition at line 168 of file GenericSAXHandler.cpp.

References GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, and XMLSubSys::setHandler().

Referenced by NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), and NLTriggerBuilder::parseAndBuildRerouter().

void GenericSAXHandler::setFileName ( const std::string &  name)
inherited

Sets the current file name.

Parameters
[in]nameThe name of the currently processed file
Todo:
Hmmm - this is as unsafe as having a direct access to the variable; recheck

Definition at line 80 of file GenericSAXHandler.cpp.

References GenericSAXHandler::myFileName.

Referenced by NIImporter_SUMO::_loadNetwork(), GUISettingsHandler::GUISettingsHandler(), NIImporter_OpenStreetMap::load(), PCNetProjectionLoader::loadIfSet(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), and XMLSubSys::runParser().

void GenericSAXHandler::startElement ( const XMLCh *const  uri,
const XMLCh *const  localname,
const XMLCh *const  qname,
const XERCES_CPP_NAMESPACE::Attributes &  attrs 
)
inherited

The inherited method called when a new tag opens.

The method parses the supplied XMLCh*-qname using the internal name/enum-map to obtain the enum representation of the attribute name.

Then, "myStartElement" is called supplying the enumeration value, the string-representation of the name and the attributes.

Todo:

recheck/describe encoding of the string-representation

do not generate and report the string-representation

Definition at line 105 of file GenericSAXHandler.cpp.

References TplConvert::_2str(), GenericSAXHandler::convertTag(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), SUMOSAXAttributesImpl_Xerces::getString(), FileHelpers::isAbsolute(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myPredefinedTags, GenericSAXHandler::myPredefinedTagsMML, GenericSAXHandler::myStartElement(), XMLSubSys::runParser(), SUMO_ATTR_HREF, and SUMO_TAG_INCLUDE.

void GenericSAXHandler::warning ( const XERCES_CPP_NAMESPACE::SAXParseException &  exception)
inherited

Handler for XML-warnings.

The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.

Parameters
[in]exceptionThe occured exception to process

Definition at line 206 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.

Field Documentation

NBCapacity2Lanes NIImporter_MATSim::EdgesHandler::myCapacity2Lanes
private

The converter from flow to lanes.

Definition at line 181 of file NIImporter_MATSim.h.

SUMOReal NIImporter_MATSim::EdgesHandler::myCapacityNorm
private

The capacity norming.

Definition at line 172 of file NIImporter_MATSim.h.

NBEdgeCont& NIImporter_MATSim::EdgesHandler::myEdgeCont
private

The edge container to fill.

Definition at line 169 of file NIImporter_MATSim.h.

bool NIImporter_MATSim::EdgesHandler::myKeepEdgeLengths
private

Whether the loaded lengths shal be used.

Definition at line 175 of file NIImporter_MATSim.h.

bool NIImporter_MATSim::EdgesHandler::myLanesFromCapacity
private

Whether the lane number shall be computed from the capacity.

Definition at line 178 of file NIImporter_MATSim.h.

const NBNodeCont& NIImporter_MATSim::EdgesHandler::myNodeCont
private

The previously parsed nodes.

Definition at line 166 of file NIImporter_MATSim.h.


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