|
activemq-cpp-3.4.0
|
00001 00018 #ifndef ACTIVEMQ_UTIL_PRIMITIVEMAP_H_ 00019 #define ACTIVEMQ_UTIL_PRIMITIVEMAP_H_ 00020 00021 #include <string> 00022 #include <vector> 00023 #include <activemq/util/Config.h> 00024 #include <decaf/util/Config.h> 00025 #include <decaf/util/StlMap.h> 00026 #include <decaf/util/NoSuchElementException.h> 00027 #include <activemq/util/PrimitiveValueNode.h> 00028 #include <activemq/util/PrimitiveValueConverter.h> 00029 00030 namespace activemq{ 00031 namespace util{ 00032 00036 class AMQCPP_API PrimitiveMap : public decaf::util::StlMap<std::string, PrimitiveValueNode> { 00037 private: 00038 00039 PrimitiveValueConverter converter; 00040 00041 public: 00042 00046 PrimitiveMap(); 00047 00048 virtual ~PrimitiveMap(); 00049 00056 PrimitiveMap( const decaf::util::Map<std::string, PrimitiveValueNode>& source ); 00057 00064 PrimitiveMap( const PrimitiveMap& source ); 00065 00072 std::string toString() const; 00073 00085 virtual bool getBool( const std::string& key ) const; 00086 00093 virtual void setBool( const std::string& key, bool value ); 00094 00106 virtual unsigned char getByte( const std::string& key ) const; 00107 00114 virtual void setByte( const std::string& key, unsigned char value ); 00115 00127 virtual char getChar( const std::string& key ) const; 00128 00135 virtual void setChar( const std::string& key, char value ); 00136 00148 virtual short getShort( const std::string& key ) const; 00149 00156 virtual void setShort( const std::string& key, short value ); 00157 00169 virtual int getInt( const std::string& key ) const; 00170 00177 virtual void setInt( const std::string& key, int value ); 00178 00190 virtual long long getLong( const std::string& key ) const; 00191 00198 virtual void setLong( const std::string& key, long long value ); 00199 00211 virtual float getFloat( const std::string& key ) const; 00212 00219 virtual void setFloat( const std::string& key, float value ); 00220 00232 virtual double getDouble( const std::string& key ) const; 00233 00240 virtual void setDouble( const std::string& key, double value ); 00241 00253 virtual std::string getString( const std::string& key ) const; 00254 00261 virtual void setString( const std::string& key, const std::string& value ); 00262 00274 virtual std::vector<unsigned char> getByteArray( const std::string& key ) const; 00275 00282 virtual void setByteArray( const std::string& key, const std::vector<unsigned char>& value ); 00283 00284 }; 00285 00286 }} 00287 00288 #endif /*ACTIVEMQ_UTIL_PRIMITIVEMAP_H_*/