Eclipse SUMO - Simulation of Urban MObility
SUMOSAXAttributesImpl_Xerces Class Reference

Encapsulated Xerces-SAX-attributes. More...

#include <SUMOSAXAttributesImpl_Xerces.h>

Inheritance diagram for SUMOSAXAttributesImpl_Xerces:
Collaboration diagram for SUMOSAXAttributesImpl_Xerces:

Public Member Functions

template<typename T >
get (int attr, const char *objectid, bool &ok, bool report=true) const
 Tries to read given attribute assuming it is an int. More...
 
template<typename T >
getOpt (int attr, const char *objectid, bool &ok, T defaultValue, bool report=true) const
 Tries to read given attribute assuming it is an int. More...
 
SUMOTime getOptSUMOTimeReporting (int attr, const char *objectid, bool &ok, SUMOTime defaultValue, bool report=true) const
 Tries to read given attribute assuming it is a SUMOTime. More...
 
SUMOTime getSUMOTimeReporting (int attr, const char *objectid, bool &ok, bool report=true) const
 Tries to read given attribute assuming it is a SUMOTime. More...
 
 SUMOSAXAttributesImpl_Xerces (const XERCES_CPP_NAMESPACE::Attributes &attrs, const std::map< int, XMLCh * > &predefinedTags, const std::map< int, std::string > &predefinedTagsMML, const std::string &objectType)
 Constructor. More...
 
virtual ~SUMOSAXAttributesImpl_Xerces ()
 Destructor. More...
 

Protected Member Functions

template<>
std::string getInternal (const int attr) const
 
template<>
int getInternal (const int attr) const
 
template<>
long long int getInternal (const int attr) const
 
template<>
double getInternal (const int attr) const
 
template<>
bool getInternal (const int attr) const
 
template<>
PositionVector getInternal (const int attr) const
 
template<>
Boundary getInternal (const int attr) const
 
template<>
std::vector< std::string > getInternal (const int attr) const
 
template<>
std::vector< int > getInternal (const int attr) const
 
template<>
RGBColor getInternal (const int) const
 

virtual methods for retrieving attribute values

std::string myObjectType
 the object type to use in error reporting More...
 
const std::vector< std::string > getStringVector (int attr) const
 Tries to read given attribute assuming it is a string vector. More...
 
const std::vector< std::string > getOptStringVector (int attr, const char *objectid, bool &ok, bool report=true) const
 convenience function to avoid the default argument and the template stuff at getOpt<> More...
 
const std::vector< int > getIntVector (int attr) const
 Tries to read given attribute assuming it is an int vector. More...
 
const std::vector< int > getOptIntVector (int attr, const char *objectid, bool &ok, bool report=true) const
 convenience function to avoid the default argument and the template stuff at getOpt<> More...
 
const std::string & getObjectType () const
 return the objecttype to which these attributes belong More...
 
static const std::string ENCODING = " encoding=\"UTF-8\""
 The encoding of parsed strings. More...
 
template<typename T >
getInternal (const int attr) const
 
void emitUngivenError (const std::string &attrname, const char *objectid) const
 
void emitEmptyError (const std::string &attrname, const char *objectid) const
 
void emitFormatError (const std::string &attrname, const std::string &type, const char *objectid) const
 

methods for retrieving attribute values

typedef std::map< int, XMLCh * > AttrMap
 Definition of a map of attribute ids to their xerces-representation. More...
 
const XERCES_CPP_NAMESPACE::Attributes & myAttrs
 The encapsulated attributes. More...
 
const AttrMapmyPredefinedTags
 Map of attribute ids to their xerces-representation. More...
 
const std::map< int, std::string > & myPredefinedTagsMML
 Map of attribute ids to their (readable) string-representation. More...
 
bool hasAttribute (int id) const
 Returns the information whether the named (by its enum-value) attribute is within the current list. More...
 
bool getBool (int id) const
 Returns the bool-value of the named (by its enum-value) attribute. More...
 
int getInt (int id) const
 Returns the int-value of the named (by its enum-value) attribute. More...
 
long long int getLong (int id) const
 Returns the long-value of the named (by its enum-value) attribute. More...
 
std::string getString (int id) const
 Returns the string-value of the named (by its enum-value) attribute. More...
 
std::string getStringSecure (int id, const std::string &def) const
 Returns the string-value of the named (by its enum-value) attribute. More...
 
double getFloat (int id) const
 Returns the double-value of the named (by its enum-value) attribute. More...
 
bool hasAttribute (const std::string &id) const
 Returns the information whether the named attribute is within the current list. More...
 
double getFloat (const std::string &id) const
 Returns the double-value of the named attribute. More...
 
std::string getStringSecure (const std::string &id, const std::string &def) const
 Returns the string-value of the named (by its enum-value) attribute. More...
 
SumoXMLEdgeFunc getEdgeFunc (bool &ok) const
 Returns the value of the named attribute. More...
 
SumoXMLNodeType getNodeType (bool &ok) const
 Returns the value of the named attribute. More...
 
RightOfWay getRightOfWay (bool &ok) const
 returns rightOfWay method More...
 
FringeType getFringeType (bool &ok) const
 returns fringe type More...
 
RGBColor getColor () const
 Returns the value of the named attribute. More...
 
PositionVector getShape (int attr) const
 Tries to read given attribute assuming it is a PositionVector. More...
 
Boundary getBoundary (int attr) const
 Tries to read given attribute assuming it is a Boundary. More...
 
std::string getName (int attr) const
 Converts the given attribute id into a man readable string. More...
 
void serialize (std::ostream &os) const
 Prints all attribute names and values into the given stream. More...
 
std::vector< std::string > getAttributeNames () const
 Retrieves all attribute names. More...
 
SUMOSAXAttributesclone () const
 return a new deep-copy attributes object More...
 
const XMLCh * getAttributeValueSecure (int id) const
 Returns Xerces-value of the named attribute. More...
 
 SUMOSAXAttributesImpl_Xerces (const SUMOSAXAttributesImpl_Xerces &src)
 Invalidated copy constructor. More...
 
SUMOSAXAttributesImpl_Xercesoperator= (const SUMOSAXAttributesImpl_Xerces &src)
 Invalidated assignment operator. More...
 

Detailed Description

Encapsulated Xerces-SAX-attributes.

See also
SUMOSAXAttributes

Definition at line 45 of file SUMOSAXAttributesImpl_Xerces.h.

Member Typedef Documentation

◆ AttrMap

typedef std::map<int, XMLCh*> SUMOSAXAttributesImpl_Xerces::AttrMap
private

Definition of a map of attribute ids to their xerces-representation.

Definition at line 301 of file SUMOSAXAttributesImpl_Xerces.h.

Constructor & Destructor Documentation

◆ SUMOSAXAttributesImpl_Xerces() [1/2]

SUMOSAXAttributesImpl_Xerces::SUMOSAXAttributesImpl_Xerces ( const XERCES_CPP_NAMESPACE::Attributes &  attrs,
const std::map< int, XMLCh * > &  predefinedTags,
const std::map< int, std::string > &  predefinedTagsMML,
const std::string &  objectType 
)

Constructor.

Parameters
[in]attrsThe encapsulated xerces-attributes
[in]predefinedTagsMap of attribute ids to their xerces-representation
[in]predefinedTagsMMLMap of attribute ids to their (readable) string-representation

Definition at line 42 of file SUMOSAXAttributesImpl_Xerces.cpp.

◆ ~SUMOSAXAttributesImpl_Xerces()

SUMOSAXAttributesImpl_Xerces::~SUMOSAXAttributesImpl_Xerces ( )
virtual

Destructor.

Definition at line 52 of file SUMOSAXAttributesImpl_Xerces.cpp.

◆ SUMOSAXAttributesImpl_Xerces() [2/2]

SUMOSAXAttributesImpl_Xerces::SUMOSAXAttributesImpl_Xerces ( const SUMOSAXAttributesImpl_Xerces src)
private

Invalidated copy constructor.

Member Function Documentation

◆ clone()

SUMOSAXAttributes * SUMOSAXAttributesImpl_Xerces::clone ( ) const
virtual

return a new deep-copy attributes object

Implements SUMOSAXAttributes.

Definition at line 269 of file SUMOSAXAttributesImpl_Xerces.cpp.

References SUMOSAXAttributes::getObjectType(), myAttrs, myPredefinedTagsMML, and StringUtils::transcode().

◆ emitEmptyError()

void SUMOSAXAttributes::emitEmptyError ( const std::string &  attrname,
const char *  objectid 
) const
protectedinherited

◆ emitFormatError()

void SUMOSAXAttributes::emitFormatError ( const std::string &  attrname,
const std::string &  type,
const char *  objectid 
) const
protectedinherited

◆ emitUngivenError()

void SUMOSAXAttributes::emitUngivenError ( const std::string &  attrname,
const char *  objectid 
) const
protectedinherited

◆ get()

template<typename T >
T SUMOSAXAttributes::get ( int  attr,
const char *  objectid,
bool &  ok,
bool  report = true 
) const
inherited

Tries to read given attribute assuming it is an int.

If an error occurs (the attribute is not there, it is not numeric), "ok" is set to false. If report is true an error message is written to MsgHandler::getErrorInstance.

If the value could be read, "ok" is not changed, and the value is returned.

Parameters
[in]attrThe id of the attribute to read
[in]objectidThe name of the parsed object; used for error message generation
[out]okWhether the value could be read
[in]reportWhether errors shall be written to msg handler's error instance
Returns
The read value if given and correct; -1 if an error occurred

Definition at line 492 of file SUMOSAXAttributes.h.

References SUMOSAXAttributes::emitEmptyError(), SUMOSAXAttributes::emitFormatError(), SUMOSAXAttributes::emitUngivenError(), SUMOSAXAttributes::getName(), and SUMOSAXAttributes::hasAttribute().

Referenced by NIXMLPTHandler::addAccess(), NIImporter_SUMO::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), NLHandler::addDistrict(), NLHandler::addDistrictEdge(), NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addE3Entry(), NLHandler::addE3Exit(), NIImporter_SUMO::addEdge(), NIXMLEdgesHandler::addEdge(), NLHandler::addEdgeLaneMeanData(), NLHandler::addInstantE1Detector(), NIXMLNodesHandler::addJoinCluster(), NIXMLNodesHandler::addJoinExclusion(), NIImporter_SUMO::addJunction(), NIImporter_SUMO::addLane(), NLHandler::addLane(), NIXMLEdgesHandler::addLane(), NIXMLNodesHandler::addNode(), RONetHandler::addParam(), NLHandler::addParam(), SUMORouteHandler::addParam(), RORouteHandler::addPersonTrip(), NIImporter_SUMO::addPhase(), NLHandler::addPhase(), ShapeHandler::addPOI(), ShapeHandler::addPoly(), NIXMLPTHandler::addPTLine(), NIXMLPTHandler::addPTLineStop(), NIXMLPTHandler::addPTStop(), NIImporter_SUMO::addRequest(), NLHandler::addRequest(), NLHandler::addRouteProbeDetector(), NIXMLEdgesHandler::addSplit(), ROJTRTurnDefLoader::addToEdge(), NLHandler::addVTypeProbeDetector(), MSRouteHandler::addWalk(), RORouteHandler::addWalk(), NIXMLConnectionsHandler::addWalkingArea(), NLHandler::addWAUTJunction(), NLHandler::addWAUTSwitch(), NLHandler::beginE3Detector(), NLHandler::beginEdgeParsing(), ROJTRTurnDefLoader::beginFromEdge(), SUMOVehicleParserHelper::beginVTypeParsing(), NLTriggerBuilder::buildVaporizer(), NIXMLEdgesHandler::deleteEdge(), NIXMLNodesHandler::deleteNode(), NLTriggerBuilder::getLane(), NLTriggerBuilder::getPosition(), NLHandler::initJunctionLogic(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NLHandler::initTrafficLightLogic(), NIImporter_SUMO::loadLocation(), RODFDetectorHandler::myStartElement(), GUISettingsHandler::myStartElement(), NIXMLTypesHandler::myStartElement(), PCTypeDefHandler::myStartElement(), NIXMLTrafficLightsHandler::myStartElement(), MSStateHandler::myStartElement(), NIXMLConnectionsHandler::myStartElement(), ODAmitranHandler::myStartElement(), MSRouteHandler::myStartElement(), RONetHandler::myStartElement(), ShapeHandler::myStartElement(), ROJTRTurnDefLoader::myStartElement(), RORouteHandler::myStartElement(), PCNetProjectionLoader::myStartElement(), NIXMLPTHandler::myStartElement(), TrajectoriesHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIXMLEdgesHandler::myStartElement(), PCLoaderXML::myStartElement(), NIImporter_MATSim::NodesHandler::myStartElement(), NIImporter_SUMO::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_Streckendefinition::myStartElement(), NLHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_Zuflussdefinition::myStartElement(), PCLoaderOSM::NodesHandler::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_Parkplatzdefinition::myStartElement(), PCLoaderOSM::RelationsHandler::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_Fahrzeugklassendefinition::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_VWunschentscheidungsdefinition::myStartElement(), PCLoaderOSM::EdgesHandler::myStartElement(), NIImporter_OpenStreetMap::NodesHandler::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_Geschwindigkeitsverteilungsdefinition::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_Routenentscheidungsdefinition::myStartElement(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_ConflictArea::myStartElement(), NIImporter_OpenStreetMap::RelationHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), ODDistrictHandler::openDistrict(), NLHandler::openJunction(), MSRouteHandler::openRoute(), RORouteHandler::openRoute(), MSRouteHandler::openRouteDistribution(), RORouteHandler::openRouteDistribution(), MSRouteHandler::openVehicleTypeDistribution(), RORouteHandler::openVehicleTypeDistribution(), NLHandler::openWAUT(), RONetHandler::parseAccess(), NLTriggerBuilder::parseAndAddLotEntry(), NLTriggerBuilder::parseAndBeginParkingArea(), GNEAdditionalHandler::parseAndBuildAccess(), NLTriggerBuilder::parseAndBuildCalibrator(), GNEAdditionalHandler::parseAndBuildCalibratorFlow(), NLTriggerBuilder::parseAndBuildChargingStation(), GNEAdditionalHandler::parseAndBuildDetectorEntry(), GNEAdditionalHandler::parseAndBuildDetectorExit(), NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), GNEAdditionalHandler::parseAndBuildParkingSpace(), NLTriggerBuilder::parseAndBuildRerouter(), GNEAdditionalHandler::parseAndBuildRerouterClosingLaneReroute(), GNEAdditionalHandler::parseAndBuildRerouterClosingReroute(), GNEAdditionalHandler::parseAndBuildRerouterDestProbReroute(), GNEAdditionalHandler::parseAndBuildRerouterInterval(), GNEAdditionalHandler::parseAndBuildRerouterParkingAreaReroute(), GNEAdditionalHandler::parseAndBuildRerouterRouteProbReroute(), NLTriggerBuilder::parseAndBuildStoppingPlace(), GNEAdditionalHandler::parseAndBuildTAZ(), GNEAdditionalHandler::parseAndBuildTAZSink(), GNEAdditionalHandler::parseAndBuildTAZSource(), GNEAdditionalHandler::parseAndBuildVariableSpeedSignStep(), GNEAttributeCarrier::parseAttributeFromXML(), SUMOVehicleParserHelper::parseCommonAttributes(), RONetHandler::parseConnection(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), RONetHandler::parseDistrict(), RONetHandler::parseDistrictEdge(), RONetHandler::parseEdge(), SUMOVehicleParserHelper::parseFlowAttributes(), RORouteHandler::parseFromViaTo(), SUMOVehicleParserHelper::parseID(), SUMOVehicleParserHelper::parseJMParams(), RONetHandler::parseJunction(), RONetHandler::parseLane(), NIXMLConnectionsHandler::parseLaneDefinition(), SUMOVehicleParserHelper::parseLCParams(), GNEAttributeCarrier::parseMaskedPositionAttribute(), GNEAdditionalHandler::parseParameter(), AGActivityGenHandler::parseStation(), SUMORouteHandler::parseStop(), parseStopOffsets(), RONetHandler::parseStoppingPlace(), ODDistrictHandler::parseTAZ(), SUMOVehicleParserHelper::parseVehicleAttributes(), SUMOVehicleParserHelper::parseVTypeEmbedded(), MSRouteHandler::parseWalkPositions(), NIXMLNodesHandler::processNodeType(), NIImporter_SUMO::readPosition(), NIXMLTrafficLightsHandler::removeTlConnection(), NIXMLTrafficLightsHandler::retrieveEdge(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RONetHandler::setLocation(), NLHandler::setLocation(), and NIXMLEdgesHandler::setNodes().

◆ getAttributeNames()

std::vector< std::string > SUMOSAXAttributesImpl_Xerces::getAttributeNames ( ) const
virtual

Retrieves all attribute names.

Implements SUMOSAXAttributes.

Definition at line 259 of file SUMOSAXAttributesImpl_Xerces.cpp.

References myAttrs, and StringUtils::transcode().

◆ getAttributeValueSecure()

const XMLCh * SUMOSAXAttributesImpl_Xerces::getAttributeValueSecure ( int  id) const
private

Returns Xerces-value of the named attribute.

It is assumed that this attribute is within the stored attributes.

Parameters
[in]idThe id of the attribute to retrieve the vale of
Returns
The xerces-value of the attribute

Definition at line 109 of file SUMOSAXAttributesImpl_Xerces.cpp.

References myAttrs, and myPredefinedTags.

Referenced by getString(), and getStringSecure().

◆ getBool()

bool SUMOSAXAttributesImpl_Xerces::getBool ( int  id) const
virtual

Returns the bool-value of the named (by its enum-value) attribute.

Tries to retrieve the attribute from the the attribute list. The retrieved attribute (which may be 0) is then parsed using TplConvert<XMLCh>::_2bool. If the attribute is empty or ==0, TplConvert<XMLCh>::_2bool throws an EmptyData-exception which is passed. If the value can not be parsed to a bool, TplConvert<XMLCh>::_2bool throws a BoolFormatException-exception which is passed.

Parameters
[in]idThe id of the attribute to return the value of
Returns
The attribute's value as a bool, if it could be read and parsed
Exceptions
EmptyDataIf the attribute is not known or the attribute value is an empty string
BoolFormatExceptionIf the attribute value can not be parsed to a bool

Implements SUMOSAXAttributes.

Definition at line 67 of file SUMOSAXAttributesImpl_Xerces.cpp.

References getString(), and StringUtils::toBool().

◆ getBoundary()

Boundary SUMOSAXAttributesImpl_Xerces::getBoundary ( int  attr) const
virtual

Tries to read given attribute assuming it is a Boundary.

Parameters
[in]attrThe id of the attribute to read
Returns
The read value if given and not empty; "" if an error occurred

Implements SUMOSAXAttributes.

Definition at line 226 of file SUMOSAXAttributesImpl_Xerces.cpp.

References getString(), StringTokenizer::next(), StringTokenizer::size(), and StringUtils::toDouble().

◆ getColor()

RGBColor SUMOSAXAttributesImpl_Xerces::getColor ( ) const
virtual

Returns the value of the named attribute.

Tries to retrieve the attribute from the the attribute list.

Returns
The attribute's value as a RGBColor, if it could be read and parsed

Implements SUMOSAXAttributes.

Definition at line 198 of file SUMOSAXAttributesImpl_Xerces.cpp.

References getString(), RGBColor::parseColor(), and SUMO_ATTR_COLOR.

◆ getEdgeFunc()

SumoXMLEdgeFunc SUMOSAXAttributesImpl_Xerces::getEdgeFunc ( bool &  ok) const
virtual

Returns the value of the named attribute.

Tries to retrieve the attribute from the the attribute list.

Returns
The attribute's value as a SumoXMLEdgeFunc, if it could be read and parsed

Implements SUMOSAXAttributes.

Definition at line 149 of file SUMOSAXAttributesImpl_Xerces.cpp.

References EDGEFUNC_NORMAL, SUMOXMLDefinitions::EdgeFunctions, StringBijection< T >::get(), getString(), hasAttribute(), and SUMO_ATTR_FUNCTION.

◆ getFloat() [1/2]

double SUMOSAXAttributesImpl_Xerces::getFloat ( const std::string &  id) const
virtual

Returns the double-value of the named attribute.

Tries to retrieve the attribute from the the attribute list. The retrieved attribute (which may be 0) is then parsed using TplConvert<XMLCh>::_2double. If the attribute is empty or ==0, TplConvert<XMLCh>::_2double throws an EmptyData-exception which is passed. If the value can not be parsed to a double, TplConvert<XMLCh>::_2double throws a NumberFormatException-exception which is passed.

Parameters
[in]idThe name of the attribute to return the value of
Returns
The attribute's value as a float, if it could be read and parsed
Exceptions
EmptyDataIf the attribute is not known or the attribute value is an empty string
NumberFormatExceptionIf the attribute value can not be parsed to an double

Implements SUMOSAXAttributes.

Definition at line 117 of file SUMOSAXAttributesImpl_Xerces.cpp.

References myAttrs, StringUtils::toDouble(), transcode(), and StringUtils::transcode().

◆ getFloat() [2/2]

double SUMOSAXAttributesImpl_Xerces::getFloat ( int  id) const
virtual

Returns the double-value of the named (by its enum-value) attribute.

Tries to retrieve the attribute from the the attribute list. The retrieved attribute (which may be 0) is then parsed using TplConvert<XMLCh>::_2double. If the attribute is empty or ==0, TplConvert<XMLCh>::_2double throws an EmptyData-exception which is passed. If the value can not be parsed to a double, TplConvert<XMLCh>::_2double throws a NumberFormatException-exception which is passed.

Parameters
[in]idThe id of the attribute to return the value of
Returns
The attribute's value as a float, if it could be read and parsed
Exceptions
EmptyDataIf the attribute is not known or the attribute value is an empty string
NumberFormatExceptionIf the attribute value can not be parsed to an double

Implements SUMOSAXAttributes.

Definition at line 103 of file SUMOSAXAttributesImpl_Xerces.cpp.

References getString(), and StringUtils::toDouble().

◆ getFringeType()

FringeType SUMOSAXAttributesImpl_Xerces::getFringeType ( bool &  ok) const
virtual

◆ getInt()

int SUMOSAXAttributesImpl_Xerces::getInt ( int  id) const
virtual

Returns the int-value of the named (by its enum-value) attribute.

Tries to retrieve the attribute from the the attribute list. The retrieved attribute (which may be 0) is then parsed using TplConvert<XMLCh>::_2int. If the attribute is empty or ==0, TplConvert<XMLCh>::_2int throws an EmptyData-exception which is passed. If the value can not be parsed to an int, TplConvert<XMLCh>::_2int throws a NumberFormatException-exception which is passed.

Parameters
[in]idThe id of the attribute to return the value of
Returns
The attribute's value as an int, if it could be read and parsed
Exceptions
EmptyDataIf the attribute is not known or the attribute value is an empty string
NumberFormatExceptionIf the attribute value can not be parsed to an int

Implements SUMOSAXAttributes.

Definition at line 73 of file SUMOSAXAttributesImpl_Xerces.cpp.

References getString(), and StringUtils::toInt().

◆ getInternal() [1/11]

template<>
std::string SUMOSAXAttributes::getInternal ( const int  attr) const
protectedinherited

Definition at line 53 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getString().

◆ getInternal() [2/11]

template<>
int SUMOSAXAttributes::getInternal ( const int  attr) const
protectedinherited

Definition at line 191 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getInt().

◆ getInternal() [3/11]

template<>
long long int SUMOSAXAttributes::getInternal ( const int  attr) const
protectedinherited

Definition at line 199 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getLong().

◆ getInternal() [4/11]

template<>
double SUMOSAXAttributes::getInternal ( const int  attr) const
protectedinherited

Definition at line 207 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getFloat().

◆ getInternal() [5/11]

template<>
bool SUMOSAXAttributes::getInternal ( const int  attr) const
protectedinherited

Definition at line 215 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getBool().

◆ getInternal() [6/11]

template<>
PositionVector SUMOSAXAttributes::getInternal ( const int  attr) const
protectedinherited

Definition at line 231 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getShape().

◆ getInternal() [7/11]

template<>
Boundary SUMOSAXAttributes::getInternal ( const int  attr) const
protectedinherited

Definition at line 239 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getBoundary().

◆ getInternal() [8/11]

template<>
std::vector<std::string> SUMOSAXAttributes::getInternal ( const int  attr) const
protectedinherited

Definition at line 247 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getStringVector().

◆ getInternal() [9/11]

template<>
std::vector<int> SUMOSAXAttributes::getInternal ( const int  attr) const
protectedinherited

Definition at line 255 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getIntVector().

◆ getInternal() [10/11]

template<typename T >
T SUMOSAXAttributes::getInternal ( const int  attr) const
protectedinherited

◆ getInternal() [11/11]

template<>
RGBColor SUMOSAXAttributes::getInternal ( const int  ) const
protectedinherited

Definition at line 223 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getColor().

◆ getIntVector()

const std::vector< int > SUMOSAXAttributes::getIntVector ( int  attr) const
inherited

Tries to read given attribute assuming it is an int vector.

The behavior is similar to Python's string.split(), so multiple consecutive whitespace do not generate empty strings and leading and trailing whitespace is silently omitted.

Parameters
[in]attrThe id of the attribute to read
Returns
The read value if given and not empty; empty vector if an error occurred

Definition at line 128 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getString(), StringTokenizer::getVector(), and StringUtils::toInt().

Referenced by SUMOSAXAttributes::getInternal().

◆ getLong()

long long int SUMOSAXAttributesImpl_Xerces::getLong ( int  id) const
virtual

Returns the long-value of the named (by its enum-value) attribute.

Tries to retrieve the attribute from the the attribute list. The retrieved attribute (which may be 0) is then parsed using TplConvert<XMLCh>::_2long. If the attribute is empty or ==0, TplConvert<XMLCh>::_2long throws an EmptyData-exception which is passed. If the value can not be parsed to a long, TplConvert<XMLCh>::_2long throws a NumberFormatException-exception which is passed.

Parameters
[in]idThe id of the attribute to return the value of
Returns
The attribute's value as an int, if it could be read and parsed
Exceptions
EmptyDataIf the attribute is not known or the attribute value is an empty string
NumberFormatExceptionIf the attribute value can not be parsed to an int

Implements SUMOSAXAttributes.

Definition at line 79 of file SUMOSAXAttributesImpl_Xerces.cpp.

References getString(), and StringUtils::toLong().

◆ getName()

std::string SUMOSAXAttributesImpl_Xerces::getName ( int  attr) const
virtual

Converts the given attribute id into a man readable string.

Returns a "?" if the attribute is not known.

Parameters
[in]attrThe id of the attribute to return the name of
Returns
The name of the described attribute

Implements SUMOSAXAttributes.

Definition at line 241 of file SUMOSAXAttributesImpl_Xerces.cpp.

References myPredefinedTagsMML.

◆ getNodeType()

SumoXMLNodeType SUMOSAXAttributesImpl_Xerces::getNodeType ( bool &  ok) const
virtual

Returns the value of the named attribute.

Tries to retrieve the attribute from the the attribute list.

Returns
The attribute's value as a SumoXMLNodeType, if it could be read and parsed

Implements SUMOSAXAttributes.

Definition at line 162 of file SUMOSAXAttributesImpl_Xerces.cpp.

References StringBijection< T >::get(), getString(), hasAttribute(), NODETYPE_UNKNOWN, SUMOXMLDefinitions::NodeTypes, and SUMO_ATTR_TYPE.

◆ getObjectType()

const std::string& SUMOSAXAttributes::getObjectType ( ) const
inlineinherited

◆ getOpt()

template<typename T >
T SUMOSAXAttributes::getOpt ( int  attr,
const char *  objectid,
bool &  ok,
defaultValue,
bool  report = true 
) const
inherited

Tries to read given attribute assuming it is an int.

If the attribute is not existing in the current element, the default value is returned. If an error occurs on parsing (the attribute is empty, it is not numeric), "ok" is set to false. If report is true an error message is written to MsgHandler::getErrorInstance.

If the value could be read, "ok" is not changed, and the value is returned.

Parameters
[in]attrThe id of the attribute to read
[in]objectidThe name of the parsed object; used for error message generation
[out]okWhether the value could be read
[in]defaultValueThe value to return if the attribute is not within the element
[in]reportWhether errors shall be written to msg handler's error instance
Returns
The read value if given and correct; the default value if the attribute does not exist; -1 if an error occurred

Definition at line 518 of file SUMOSAXAttributes.h.

References SUMOSAXAttributes::emitEmptyError(), SUMOSAXAttributes::emitFormatError(), SUMOSAXAttributes::getName(), and SUMOSAXAttributes::hasAttribute().

Referenced by NIXMLPTHandler::addAccess(), NLTriggerBuilder::addAccess(), NLDiscreteEventBuilder::addAction(), NIImporter_SUMO::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), NLHandler::addDistrict(), NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addE3Entry(), NLHandler::addE3Exit(), NIImporter_SUMO::addEdge(), NIXMLEdgesHandler::addEdge(), NLHandler::addEdgeLaneMeanData(), NLHandler::addInstantE1Detector(), NIXMLNodesHandler::addJoinCluster(), NIImporter_SUMO::addJunction(), NIImporter_SUMO::addLane(), NLHandler::addLane(), NIXMLEdgesHandler::addLane(), MSRouteHandler::addPersonTrip(), RORouteHandler::addPersonTrip(), NIImporter_SUMO::addPhase(), NLHandler::addPhase(), ShapeHandler::addPOI(), ShapeHandler::addPoly(), NIImporter_SUMO::addProhibition(), NIXMLPTHandler::addPTLine(), NIXMLPTHandler::addPTStop(), NLHandler::addRequest(), NLHandler::addRouteProbeDetector(), NIXMLEdgesHandler::addSplit(), MSRouteHandler::addStop(), RORouteHandler::addStop(), GNERouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), MSRouteHandler::addWalk(), RORouteHandler::addWalk(), NIXMLConnectionsHandler::addWalkingArea(), NLHandler::addWAUTJunction(), NLHandler::beginE3Detector(), NLHandler::beginEdgeParsing(), SUMOVehicleParserHelper::beginVTypeParsing(), NLDiscreteEventBuilder::buildSaveTLSProgramCommand(), NLDiscreteEventBuilder::buildSaveTLStateCommand(), NLDiscreteEventBuilder::buildSaveTLSwitchesCommand(), NLDiscreteEventBuilder::buildSaveTLSwitchStatesCommand(), NIXMLEdgesHandler::deleteEdge(), NLTriggerBuilder::getFileName(), NLTriggerBuilder::getPosition(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NLHandler::initTrafficLightLogic(), RODFDetectorHandler::myStartElement(), GUISettingsHandler::myStartElement(), PCTypeDefHandler::myStartElement(), NIXMLTypesHandler::myStartElement(), NIXMLConnectionsHandler::myStartElement(), MSStateHandler::myStartElement(), MSRouteHandler::myStartElement(), RORouteHandler::myStartElement(), TrajectoriesHandler::myStartElement(), PCLoaderXML::myStartElement(), NIImporter_SUMO::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSCalibrator::myStartElement(), NLHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), PCLoaderOSM::NodesHandler::myStartElement(), SAXWeightsHandler::myStartElement(), MSTriggeredRerouter::myStartElement(), PCLoaderOSM::RelationsHandler::myStartElement(), PCLoaderOSM::EdgesHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), NLHandler::openJunction(), MSRouteHandler::openRoute(), RORouteHandler::openRoute(), RORouteHandler::openRouteDistribution(), RONetHandler::parseAccess(), NLTriggerBuilder::parseAndAddLotEntry(), NLTriggerBuilder::parseAndBeginParkingArea(), NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildChargingStation(), GNEAdditionalHandler::parseAndBuildPoly(), NLTriggerBuilder::parseAndBuildRerouter(), GNEAdditionalHandler::parseAndBuildRerouter(), NLTriggerBuilder::parseAndBuildStoppingPlace(), SUMOVehicleParserHelper::parseCommonAttributes(), RONetHandler::parseConnection(), RONetHandler::parseEdge(), MSRouteHandler::parseFromViaTo(), RORouteHandler::parseFromViaTo(), AGActivityGenHandler::parseGeneralCityInfo(), SUMOVehicleParserHelper::parseGuiShape(), RONetHandler::parseJunction(), RONetHandler::parseLane(), NIXMLConnectionsHandler::parseLaneBound(), AGActivityGenHandler::parseParameters(), SUMORouteHandler::parseStop(), parseStopOffsets(), RONetHandler::parseStoppingPlace(), SUMOVehicleParserHelper::parseVehicleAttributes(), SUMOVehicleParserHelper::parseVehicleClass(), MSRouteHandler::parseWalkPositions(), NIXMLNodesHandler::processNodeType(), NIXMLNodesHandler::processTrafficLightDefinitions(), NIImporter_SUMO::readPosition(), NIXMLEdgesHandler::tryGetLaneSpread(), and NIXMLEdgesHandler::tryGetShape().

◆ getOptIntVector()

const std::vector< int > SUMOSAXAttributes::getOptIntVector ( int  attr,
const char *  objectid,
bool &  ok,
bool  report = true 
) const
inherited

convenience function to avoid the default argument and the template stuff at getOpt<>

Definition at line 142 of file SUMOSAXAttributes.cpp.

Referenced by NIImporter_SUMO::addPhase(), and NLHandler::addPhase().

◆ getOptStringVector()

const std::vector< std::string > SUMOSAXAttributes::getOptStringVector ( int  attr,
const char *  objectid,
bool &  ok,
bool  report = true 
) const
inherited

◆ getOptSUMOTimeReporting()

SUMOTime SUMOSAXAttributes::getOptSUMOTimeReporting ( int  attr,
const char *  objectid,
bool &  ok,
SUMOTime  defaultValue,
bool  report = true 
) const
inherited

Tries to read given attribute assuming it is a SUMOTime.

If the attribute is not existing in the current element, the default value is returned. If an error occurs on parsing (the attribute is empty, it is not numeric), "ok" is set to false. If report is true an error message is written to MsgHandler::getErrorInstance.

Otherwise, "ok" is not changed.

In dependence to the used time representation, either get<int> or get<double> is used.

Parameters
[in]attrThe id of the attribute to read
[in]objectidThe name of the parsed object; used for error message generation
[out]okWhether the value could be read
[in]defaultValueThe value to return if the attribute is not within the element
[in]reportWhether errors shall be written to msg handler's error instance
Returns
The read value if given and correct; the default value if the attribute does not exist; -1 if an error occurred

Definition at line 90 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::emitEmptyError(), SUMOSAXAttributes::emitFormatError(), SUMOSAXAttributes::getName(), SUMOSAXAttributes::hasAttribute(), and string2time().

Referenced by NLHandler::addE2Detector(), NLHandler::addEdgeLaneMeanData(), MSRouteHandler::addPersonTrip(), NIImporter_SUMO::addPhase(), NLHandler::addPhase(), NLHandler::addRouteProbeDetector(), MSRouteHandler::addWalk(), NLHandler::beginE3Detector(), NLHandler::initTrafficLightLogic(), GUISettingsHandler::myStartElement(), MSRouteHandler::myStartElement(), MSCalibrator::myStartElement(), MSTriggeredRerouter::myStartElement(), NLHandler::openWAUT(), NLTriggerBuilder::parseAndBuildCalibrator(), and SUMORouteHandler::parseStop().

◆ getRightOfWay()

RightOfWay SUMOSAXAttributesImpl_Xerces::getRightOfWay ( bool &  ok) const
virtual

◆ getShape()

PositionVector SUMOSAXAttributesImpl_Xerces::getShape ( int  attr) const
virtual

Tries to read given attribute assuming it is a PositionVector.

Parameters
[in]attrThe id of the attribute to read
Returns
The read value if given and not empty; "" if an error occurred

Implements SUMOSAXAttributes.

Definition at line 204 of file SUMOSAXAttributesImpl_Xerces.cpp.

References getString(), StringTokenizer::hasNext(), StringTokenizer::next(), and StringUtils::toDouble().

◆ getString()

std::string SUMOSAXAttributesImpl_Xerces::getString ( int  id) const
virtual

Returns the string-value of the named (by its enum-value) attribute.

Tries to retrieve the attribute from the the attribute list. The retrieved attribute (which may be 0) is then parsed using TplConvert<XMLCh>::_2str. If the attribute is ==0, TplConvert<XMLCh>::_2str throws an EmptyData-exception which is passed.

Parameters
[in]idThe id of the attribute to return the value of
Returns
The attribute's value as a string, if it could be read and parsed
Exceptions
EmptyDataIf the attribute is not known or the attribute value is an empty string

Implements SUMOSAXAttributes.

Definition at line 85 of file SUMOSAXAttributesImpl_Xerces.cpp.

References getAttributeValueSecure(), and StringUtils::transcode().

Referenced by getBool(), getBoundary(), getColor(), getEdgeFunc(), getFloat(), getFringeType(), getInt(), getLong(), getNodeType(), getRightOfWay(), getShape(), getStringSecure(), and GenericSAXHandler::startElement().

◆ getStringSecure() [1/2]

std::string SUMOSAXAttributesImpl_Xerces::getStringSecure ( const std::string &  id,
const std::string &  def 
) const
virtual

Returns the string-value of the named (by its enum-value) attribute.

Tries to retrieve the attribute from the the attribute list. If the attribute is ==0, TplConvert<XMLCh>::_2strSec returns the default value.

Parameters
[in]idThe name of the attribute to return the value of
[in]defThe default value to return if the attribute is not in attributes
Returns
The attribute's value as a string, if it could be read and parsed

Implements SUMOSAXAttributes.

Definition at line 135 of file SUMOSAXAttributesImpl_Xerces.cpp.

References myAttrs, transcode(), and StringUtils::transcode().

◆ getStringSecure() [2/2]

std::string SUMOSAXAttributesImpl_Xerces::getStringSecure ( int  id,
const std::string &  def 
) const
virtual

Returns the string-value of the named (by its enum-value) attribute.

Tries to retrieve the attribute from the the attribute list. The retrieved attribute (which may be 0) is then parsed using TplConvert<XMLCh>::_2strSec. If the attribute is ==0, TplConvert<XMLCh>::_2strSec returns the default value.

Parameters
[in]idThe id of the attribute to return the value of
[in]defThe default value to return if the attribute is not in attributes
Returns
The attribute's value as a string, if it could be read and parsed
Exceptions
EmptyDataIf the attribute is not known or the attribute value is an empty string

Implements SUMOSAXAttributes.

Definition at line 91 of file SUMOSAXAttributesImpl_Xerces.cpp.

References getAttributeValueSecure(), and getString().

◆ getStringVector()

const std::vector< std::string > SUMOSAXAttributes::getStringVector ( int  attr) const
inherited

Tries to read given attribute assuming it is a string vector.

The behavior is similar to Python's string.split(), so multiple consecutive whitespace do not generate empty strings and leading and trailing whitespace is silently omitted.

Parameters
[in]attrThe id of the attribute to read
Returns
The read value if given and not empty; empty vector if an error occurred

Definition at line 113 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getString(), and StringTokenizer::getVector().

Referenced by NLHandler::addDistrict(), NIImporter_SUMO::addRoundabout(), NLHandler::addRoundabout(), NIXMLEdgesHandler::addRoundabout(), NIXMLPTHandler::addRoute(), SUMOSAXAttributes::getInternal(), MSStateHandler::myStartElement(), ODDistrictHandler::openDistrict(), and RONetHandler::parseDistrict().

◆ getSUMOTimeReporting()

SUMOTime SUMOSAXAttributes::getSUMOTimeReporting ( int  attr,
const char *  objectid,
bool &  ok,
bool  report = true 
) const
inherited

Tries to read given attribute assuming it is a SUMOTime.

If an error occurs (the attribute is not there, it is not numeric), "ok" is set to false and an error message is written to MsgHandler::getErrorInstance.

Otherwise, "ok" is not changed.

In dependence to the used time representation, either get<int> or get<double> is used.

Parameters
[in]attrThe id of the attribute to read
[in]objectidThe name of the parsed object; used for error message generation
[out]okWhether the value could be read
[in]reportWhether errors shall be written to msg handler's error instance
Returns
The read value if given and correct; -1 if an error occurred

Definition at line 63 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::emitEmptyError(), SUMOSAXAttributes::emitFormatError(), SUMOSAXAttributes::emitUngivenError(), SUMOSAXAttributes::getName(), SUMOSAXAttributes::hasAttribute(), and string2time().

Referenced by NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addPhase(), NLHandler::addRouteProbeDetector(), NLHandler::addVTypeProbeDetector(), NLHandler::addWAUTSwitch(), NLHandler::beginE3Detector(), SUMOVehicleParserHelper::beginVTypeParsing(), NLTriggerBuilder::buildVaporizer(), GUISettingsHandler::myStartElement(), TrajectoriesHandler::myStartElement(), SUMORouteHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSCalibrator::myStartElement(), SAXWeightsHandler::myStartElement(), GUINet::DiscoverAttributes::myStartElement(), and SUMOVehicleParserHelper::parseFlowAttributes().

◆ hasAttribute() [1/2]

bool SUMOSAXAttributesImpl_Xerces::hasAttribute ( const std::string &  id) const
virtual

Returns the information whether the named attribute is within the current list.

Implements SUMOSAXAttributes.

Definition at line 126 of file SUMOSAXAttributesImpl_Xerces.cpp.

References myAttrs, and transcode().

◆ hasAttribute() [2/2]

bool SUMOSAXAttributesImpl_Xerces::hasAttribute ( int  id) const
virtual

Returns the information whether the named (by its enum-value) attribute is within the current list.

Parameters
[in]idThe id of the searched attribute
Returns
Whether the attribute is within the attributes

Implements SUMOSAXAttributes.

Definition at line 57 of file SUMOSAXAttributesImpl_Xerces.cpp.

References myAttrs, and myPredefinedTags.

Referenced by getEdgeFunc(), getFringeType(), getNodeType(), and getRightOfWay().

◆ operator=()

SUMOSAXAttributesImpl_Xerces& SUMOSAXAttributesImpl_Xerces::operator= ( const SUMOSAXAttributesImpl_Xerces src)
private

Invalidated assignment operator.

◆ serialize()

void SUMOSAXAttributesImpl_Xerces::serialize ( std::ostream &  os) const
virtual

Prints all attribute names and values into the given stream.

Parameters
[in]osThe stream to use

Implements SUMOSAXAttributes.

Definition at line 250 of file SUMOSAXAttributesImpl_Xerces.cpp.

References myAttrs, and StringUtils::transcode().

Field Documentation

◆ ENCODING

const std::string SUMOSAXAttributes::ENCODING = " encoding=\"UTF-8\""
staticinherited

The encoding of parsed strings.

Definition at line 407 of file SUMOSAXAttributes.h.

Referenced by OptionsCont::writeXMLHeader().

◆ myAttrs

const XERCES_CPP_NAMESPACE::Attributes& SUMOSAXAttributesImpl_Xerces::myAttrs
private

The encapsulated attributes.

Definition at line 298 of file SUMOSAXAttributesImpl_Xerces.h.

Referenced by clone(), getAttributeNames(), getAttributeValueSecure(), getFloat(), getStringSecure(), hasAttribute(), and serialize().

◆ myObjectType

std::string SUMOSAXAttributes::myObjectType
privateinherited

◆ myPredefinedTags

const AttrMap& SUMOSAXAttributesImpl_Xerces::myPredefinedTags
private

Map of attribute ids to their xerces-representation.

Definition at line 303 of file SUMOSAXAttributesImpl_Xerces.h.

Referenced by getAttributeValueSecure(), and hasAttribute().

◆ myPredefinedTagsMML

const std::map<int, std::string>& SUMOSAXAttributesImpl_Xerces::myPredefinedTagsMML
private

Map of attribute ids to their (readable) string-representation.

Definition at line 306 of file SUMOSAXAttributesImpl_Xerces.h.

Referenced by clone(), and getName().


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