SUMO - Simulation of Urban MObility
SUMOSAXAttributesImpl_Binary Class Reference

Encapsulated Xerces-SAX-attributes. More...

#include <SUMOSAXAttributesImpl_Binary.h>

Inheritance diagram for SUMOSAXAttributesImpl_Binary:
Inheritance graph
Collaboration diagram for SUMOSAXAttributesImpl_Binary:
Collaboration graph

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<>
int getInternal (const int attr) const
 
template<>
long long int getInternal (const int attr) const
 
template<>
SUMOReal getInternal (const int attr) const
 
template<>
bool getInternal (const int attr) const
 
template<>
std::string getInternal (const int attr) const
 
template<>
RGBColor getInternal (const int) const
 
template<>
PositionVector getInternal (const int attr) const
 
template<>
Boundary getInternal (const int attr) const
 
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_Binary (const std::map< int, std::string > &predefinedTagsMML, const std::string &objectType, BinaryInputDevice *in)
 Constructor. More...
 
virtual ~SUMOSAXAttributesImpl_Binary ()
 Destructor. More...
 

virtual methods for retrieving attribute values

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...
 
static void parseStringVector (const std::string &def, std::vector< std::string > &into)
 Splits the given string. More...
 
static void parseStringSet (const std::string &def, std::set< std::string > &into)
 Splits the given string, stores it in a set. 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

const std::map< int, std::string > & myAttrIds
 Map of attribute ids to names. More...
 
std::set< int > myAttrs
 the attributes which are set More...
 
std::map< int, char > myCharValues
 Map of attribute ids to char. More...
 
std::map< int, int > myIntValues
 Map of attribute ids to integers. More...
 
std::map< int, SUMORealmyFloatValues
 Map of attribute ids to floats. More...
 
std::map< int, std::string > myStringValues
 Map of attribute ids to string. More...
 
std::map< int, PositionVectormyPositionVectors
 Map of attribute ids to string. 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...
 
SUMOReal getFloat (int id) const
 Returns the SUMOReal-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...
 
SUMOReal getFloat (const std::string &id) const
 Returns the SUMOReal-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...
 
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::vector< std::string > getStringVector (int attr) const
 Tries to read given attribute assuming it is a string vector. 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...
 
 SUMOSAXAttributesImpl_Binary (const SUMOSAXAttributesImpl_Binary &src)
 Invalidated copy constructor. More...
 
SUMOSAXAttributesImpl_Binaryoperator= (const SUMOSAXAttributesImpl_Binary &src)
 Invalidated assignment operator. More...
 

Detailed Description

Encapsulated Xerces-SAX-attributes.

See also
SUMOSAXAttributes

Definition at line 55 of file SUMOSAXAttributesImpl_Binary.h.

Constructor & Destructor Documentation

SUMOSAXAttributesImpl_Binary::~SUMOSAXAttributesImpl_Binary ( )
virtual

Destructor.

Definition at line 158 of file SUMOSAXAttributesImpl_Binary.cpp.

SUMOSAXAttributesImpl_Binary::SUMOSAXAttributesImpl_Binary ( const SUMOSAXAttributesImpl_Binary src)
private

Invalidated copy constructor.

Member Function Documentation

void SUMOSAXAttributes::emitEmptyError ( const std::string &  attrname,
const char *  objectid 
) const
protectedinherited
void SUMOSAXAttributes::emitFormatError ( const std::string &  attrname,
const std::string &  type,
const char *  objectid 
) const
protectedinherited
void SUMOSAXAttributes::emitUngivenError ( const std::string &  attrname,
const char *  objectid 
) const
protectedinherited
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 occured

Definition at line 443 of file SUMOSAXAttributes.h.

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

Referenced by NIImporter_SUMO::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), NIXMLConnectionsHandler::addCustomShape(), 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(), SUMORouteHandler::addParam(), NLHandler::addParam(), RORouteHandler::addPersonTrip(), NIImporter_SUMO::addPhase(), NLHandler::addPhase(), ShapeHandler::addPOI(), ShapeHandler::addPoly(), NIImporter_SUMO::addRequest(), NLHandler::addRequest(), NLHandler::addRouteProbeDetector(), NIXMLEdgesHandler::addSplit(), ROJTRTurnDefLoader::addToEdge(), NLHandler::addVTypeProbeDetector(), 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(), PCTypeDefHandler::myStartElement(), ODAmitranHandler::myStartElement(), NIXMLTypesHandler::myStartElement(), NIXMLConnectionsHandler::myStartElement(), RONetHandler::myStartElement(), MSRouteHandler::myStartElement(), ROJTRTurnDefLoader::myStartElement(), RORouteHandler::myStartElement(), PCNetProjectionLoader::myStartElement(), TrajectoriesHandler::myStartElement(), PCLoaderXML::myStartElement(), NIImporter_MATSim::NodesHandler::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_Streckendefinition::myStartElement(), NLHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), PCLoaderOSM::NodesHandler::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_Zuflussdefinition::myStartElement(), SAXWeightsHandler::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_Parkplatzdefinition::myStartElement(), PCLoaderOSM::RelationsHandler::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_Fahrzeugklassendefinition::myStartElement(), NIImporter_OpenStreetMap::NodesHandler::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_VWunschentscheidungsdefinition::myStartElement(), PCLoaderOSM::EdgesHandler::myStartElement(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_Geschwindigkeitsverteilungsdefinition::myStartElement(), NIImporter_OpenStreetMap::RelationHandler::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_Routenentscheidungsdefinition::myStartElement(), NIImporter_OpenDrive::myStartElement(), NIImporter_Vissim::NIVissimXMLHandler_ConflictArea::myStartElement(), ODDistrictHandler::openDistrict(), NLHandler::openJunction(), MSRouteHandler::openRoute(), RORouteHandler::openRoute(), MSRouteHandler::openRouteDistribution(), RORouteHandler::openRouteDistribution(), MSRouteHandler::openVehicleTypeDistribution(), RORouteHandler::openVehicleTypeDistribution(), NLHandler::openWAUT(), RONetHandler::parseAccess(), NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildChargingStation(), NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), NLTriggerBuilder::parseAndBuildRerouter(), NLTriggerBuilder::parseAndBuildStoppingPlace(), SUMOVehicleParserHelper::parseCommonAttributes(), RONetHandler::parseConnection(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), RONetHandler::parseDistrict(), RONetHandler::parseDistrictEdge(), RONetHandler::parseEdge(), SUMOVehicleParserHelper::parseFlowAttributes(), RONetHandler::parseJunction(), RONetHandler::parseLane(), NIXMLConnectionsHandler::parseLaneDefinition(), AGActivityGenHandler::parseStation(), SUMORouteHandler::parseStop(), RONetHandler::parseStoppingPlace(), ODDistrictHandler::parseTAZ(), SUMOVehicleParserHelper::parseVehicleAttributes(), SUMOVehicleParserHelper::parseVTypeEmbedded(), MSRouteHandler::parseWalkPositions(), NIXMLNodesHandler::processNodeType(), NIImporter_SUMO::readPosition(), NIXMLTrafficLightsHandler::removeTlConnection(), NIXMLTrafficLightsHandler::retrieveEdge(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), NLHandler::setLocation(), and NIXMLEdgesHandler::setNodes().

bool SUMOSAXAttributesImpl_Binary::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 169 of file SUMOSAXAttributesImpl_Binary.cpp.

References myCharValues.

Boundary SUMOSAXAttributesImpl_Binary::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 occured

Implements SUMOSAXAttributes.

Definition at line 294 of file SUMOSAXAttributesImpl_Binary.cpp.

References myPositionVectors.

RGBColor SUMOSAXAttributesImpl_Binary::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 273 of file SUMOSAXAttributesImpl_Binary.cpp.

References myIntValues, and SUMO_ATTR_COLOR.

SumoXMLEdgeFunc SUMOSAXAttributesImpl_Binary::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 string, if it could be read and parsed

Implements SUMOSAXAttributes.

Definition at line 245 of file SUMOSAXAttributesImpl_Binary.cpp.

References EDGEFUNC_NORMAL, SUMOXMLDefinitions::EdgeFunctions, myCharValues, StringBijection< T >::size(), and SUMO_ATTR_FUNCTION.

SUMOReal SUMOSAXAttributesImpl_Binary::getFloat ( int  id) const
virtual

Returns the SUMOReal-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>::_2SUMOReal. If the attribute is empty or ==0, TplConvert<XMLCh>::_2SUMOReal throws an EmptyData-exception which is passed. If the value can not be parsed to a SUMOReal, TplConvert<XMLCh>::_2SUMOReal 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 SUMOReal

Implements SUMOSAXAttributes.

Definition at line 216 of file SUMOSAXAttributesImpl_Binary.cpp.

References TplConvert::_2SUMOReal(), getString(), myFloatValues, and SUMOReal.

SUMOReal SUMOSAXAttributesImpl_Binary::getFloat ( const std::string &  id) const
virtual

Returns the SUMOReal-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>::_2SUMOReal. If the attribute is empty or ==0, TplConvert<XMLCh>::_2SUMOReal throws an EmptyData-exception which is passed. If the value can not be parsed to a SUMOReal, TplConvert<XMLCh>::_2SUMOReal 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 SUMOReal

Implements SUMOSAXAttributes.

Definition at line 226 of file SUMOSAXAttributesImpl_Binary.cpp.

int SUMOSAXAttributesImpl_Binary::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 179 of file SUMOSAXAttributesImpl_Binary.cpp.

References myIntValues.

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

Definition at line 188 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getInt().

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

Definition at line 196 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getLong().

template<>
SUMOReal SUMOSAXAttributes::getInternal ( const int  attr) const
inherited

Definition at line 204 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getFloat().

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

Definition at line 212 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getBool().

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

Definition at line 220 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getString().

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

Definition at line 232 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getColor().

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

Definition at line 240 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getShape().

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

Definition at line 248 of file SUMOSAXAttributes.cpp.

References SUMOSAXAttributes::getBoundary().

template<typename T >
T SUMOSAXAttributes::getInternal ( const int  attr) const
protectedinherited
long long int SUMOSAXAttributesImpl_Binary::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 189 of file SUMOSAXAttributesImpl_Binary.cpp.

std::string SUMOSAXAttributesImpl_Binary::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 316 of file SUMOSAXAttributesImpl_Binary.cpp.

References myAttrIds.

Referenced by serialize().

SumoXMLNodeType SUMOSAXAttributesImpl_Binary::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 string, if it could be read and parsed

Implements SUMOSAXAttributes.

Definition at line 259 of file SUMOSAXAttributesImpl_Binary.cpp.

References myCharValues, NODETYPE_UNKNOWN, SUMOXMLDefinitions::NodeTypes, StringBijection< T >::size(), and SUMO_ATTR_TYPE.

const std::string& SUMOSAXAttributes::getObjectType ( ) const
inlineinherited
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 occured

Definition at line 469 of file SUMOSAXAttributes.h.

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

Referenced by NLTriggerBuilder::addAccess(), NLDiscreteEventBuilder::addAction(), NIImporter_SUMO::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addE3Entry(), NLHandler::addE3Exit(), NIImporter_SUMO::addEdge(), NIXMLEdgesHandler::addEdge(), NLHandler::addEdgeLaneMeanData(), NLHandler::addInstantE1Detector(), NIImporter_SUMO::addJunction(), NIImporter_SUMO::addLane(), NLHandler::addLane(), NIXMLEdgesHandler::addLane(), RORouteHandler::addPersonTrip(), ShapeHandler::addPOI(), ShapeHandler::addPoly(), NIImporter_SUMO::addProhibition(), NLHandler::addRequest(), NIXMLEdgesHandler::addSplit(), MSRouteHandler::addStop(), RORouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NLHandler::addWAUTJunction(), NLHandler::beginE3Detector(), NLHandler::beginEdgeParsing(), NLDiscreteEventBuilder::buildSaveTLStateCommand(), NLDiscreteEventBuilder::buildSaveTLSwitchesCommand(), NLDiscreteEventBuilder::buildSaveTLSwitchStatesCommand(), NLTriggerBuilder::getFileName(), NLTriggerBuilder::getPosition(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NLHandler::initTrafficLightLogic(), RODFDetectorHandler::myStartElement(), GUISettingsHandler::myStartElement(), PCTypeDefHandler::myStartElement(), NIXMLTypesHandler::myStartElement(), NIXMLConnectionsHandler::myStartElement(), MSRouteHandler::myStartElement(), RORouteHandler::myStartElement(), MSCalibrator::myStartElement(), TrajectoriesHandler::myStartElement(), PCLoaderXML::myStartElement(), NIImporter_SUMO::myStartElement(), MSLaneSpeedTrigger::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::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildChargingStation(), NLTriggerBuilder::parseAndBuildRerouter(), NLTriggerBuilder::parseAndBuildStoppingPlace(), SUMOVehicleParserHelper::parseCommonAttributes(), RONetHandler::parseEdge(), SUMOVehicleParserHelper::parseEmissionClass(), MSRouteHandler::parseFromViaTo(), RORouteHandler::parseFromViaTo(), AGActivityGenHandler::parseGeneralCityInfo(), SUMOVehicleParserHelper::parseGuiShape(), RONetHandler::parseLane(), NIXMLConnectionsHandler::parseLaneBound(), AGActivityGenHandler::parseParameters(), SUMORouteHandler::parseStop(), RONetHandler::parseStoppingPlace(), SUMOVehicleParserHelper::parseVehicleAttributes(), SUMOVehicleParserHelper::parseVehicleClass(), MSRouteHandler::parseWalkPositions(), NIXMLNodesHandler::processNodeType(), NIXMLNodesHandler::processTrafficLightDefinitions(), NIXMLEdgesHandler::tryGetLaneSpread(), NIXMLEdgesHandler::tryGetShape(), and SUMOSAXAttributes::~SUMOSAXAttributes().

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<SUMOReal> 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 occured

Definition at line 89 of file SUMOSAXAttributes.cpp.

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

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

PositionVector SUMOSAXAttributesImpl_Binary::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 occured

Implements SUMOSAXAttributes.

Definition at line 284 of file SUMOSAXAttributesImpl_Binary.cpp.

References myPositionVectors.

std::string SUMOSAXAttributesImpl_Binary::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 195 of file SUMOSAXAttributesImpl_Binary.cpp.

References myStringValues.

Referenced by getFloat(), and getStringVector().

std::string SUMOSAXAttributesImpl_Binary::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 205 of file SUMOSAXAttributesImpl_Binary.cpp.

References myStringValues, and SUMOReal.

Referenced by serialize().

std::string SUMOSAXAttributesImpl_Binary::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 238 of file SUMOSAXAttributesImpl_Binary.cpp.

std::vector< std::string > SUMOSAXAttributesImpl_Binary::getStringVector ( int  attr) const
virtual

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

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

Implements SUMOSAXAttributes.

Definition at line 307 of file SUMOSAXAttributesImpl_Binary.cpp.

References getString(), and SUMOSAXAttributes::parseStringVector().

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<SUMOReal> 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 occured

Definition at line 63 of file SUMOSAXAttributes.cpp.

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

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

bool SUMOSAXAttributesImpl_Binary::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 163 of file SUMOSAXAttributesImpl_Binary.cpp.

References myAttrs.

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

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

Implements SUMOSAXAttributes.

Definition at line 232 of file SUMOSAXAttributesImpl_Binary.cpp.

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

Invalidated assignment operator.

void SUMOSAXAttributes::parseStringSet ( const std::string &  def,
std::set< std::string > &  into 
)
staticinherited

Splits the given string, stores it in a set.

Spaces, ",", and ";" are assumed to be separator characters. Though, in the case a "," or a ";" occurs, a warning is generated (once).

Parameters
[in]defThe string to split
[out]intoThe set to fill

Definition at line 171 of file SUMOSAXAttributes.cpp.

References StringTokenizer::hasNext(), SUMOSAXAttributes::myHaveInformedAboutDeprecatedDivider, StringTokenizer::next(), and WRITE_WARNING.

Referenced by SUMORouteHandler::parseStop().

void SUMOSAXAttributes::parseStringVector ( const std::string &  def,
std::vector< std::string > &  into 
)
staticinherited
void SUMOSAXAttributesImpl_Binary::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 325 of file SUMOSAXAttributesImpl_Binary.cpp.

References getName(), getStringSecure(), and myAttrs.

Field Documentation

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

The encoding of parsed strings.

Definition at line 382 of file SUMOSAXAttributes.h.

Referenced by OptionsCont::writeConfiguration(), OptionsCont::writeSchema(), and OptionsCont::writeXMLHeader().

const std::map<int, std::string>& SUMOSAXAttributesImpl_Binary::myAttrIds
private

Map of attribute ids to names.

Definition at line 294 of file SUMOSAXAttributesImpl_Binary.h.

Referenced by getName().

std::set<int> SUMOSAXAttributesImpl_Binary::myAttrs
private

the attributes which are set

Definition at line 297 of file SUMOSAXAttributesImpl_Binary.h.

Referenced by hasAttribute(), serialize(), and SUMOSAXAttributesImpl_Binary().

std::map<int, char> SUMOSAXAttributesImpl_Binary::myCharValues
private

Map of attribute ids to char.

Definition at line 300 of file SUMOSAXAttributesImpl_Binary.h.

Referenced by getBool(), getEdgeFunc(), getNodeType(), and SUMOSAXAttributesImpl_Binary().

std::map<int, SUMOReal> SUMOSAXAttributesImpl_Binary::myFloatValues
private

Map of attribute ids to floats.

Definition at line 306 of file SUMOSAXAttributesImpl_Binary.h.

Referenced by getFloat(), and SUMOSAXAttributesImpl_Binary().

std::map<int, int> SUMOSAXAttributesImpl_Binary::myIntValues
private

Map of attribute ids to integers.

Definition at line 303 of file SUMOSAXAttributesImpl_Binary.h.

Referenced by getColor(), getInt(), and SUMOSAXAttributesImpl_Binary().

std::map<int, PositionVector> SUMOSAXAttributesImpl_Binary::myPositionVectors
private

Map of attribute ids to string.

Definition at line 312 of file SUMOSAXAttributesImpl_Binary.h.

Referenced by getBoundary(), getShape(), and SUMOSAXAttributesImpl_Binary().

std::map<int, std::string> SUMOSAXAttributesImpl_Binary::myStringValues
private

Map of attribute ids to string.

Definition at line 309 of file SUMOSAXAttributesImpl_Binary.h.

Referenced by getString(), getStringSecure(), and SUMOSAXAttributesImpl_Binary().


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