activemq-cpp-3.6.0
Message.h
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef _CMS_MESSAGE_H_
19 #define _CMS_MESSAGE_H_
20 
21 #include <cms/Config.h>
22 #include <cms/Destination.h>
23 #include <cms/DeliveryMode.h>
24 
25 #include <cms/CMSException.h>
29 
30 namespace cms {
31 
88  class CMS_API Message {
89  public:
90 
94  static const int DEFAULT_DELIVERY_MODE;
95 
99  static const int DEFAULT_MSG_PRIORITY;
100 
104  static const long long DEFAULT_TIME_TO_LIVE;
105 
112  enum ValueType {
113  NULL_TYPE = 0,
114  BOOLEAN_TYPE = 1,
115  BYTE_TYPE = 2,
116  CHAR_TYPE = 3,
117  SHORT_TYPE = 4,
118  INTEGER_TYPE = 5,
119  LONG_TYPE = 6,
120  DOUBLE_TYPE = 7,
121  FLOAT_TYPE = 8,
122  STRING_TYPE = 9,
123  BYTE_ARRAY_TYPE = 10,
124  UNKNOWN_TYPE = 11
125  };
126 
127  public:
128 
129  virtual ~Message();
130 
137  virtual Message* clone() const = 0;
138 
164  virtual void acknowledge() const = 0;
165 
172  virtual void clearBody() = 0;
173 
184  virtual void clearProperties() = 0;
185 
194  virtual std::vector<std::string> getPropertyNames() const = 0;
195 
205  virtual bool propertyExists(const std::string& name) const = 0;
206 
220  virtual ValueType getPropertyValueType(const std::string& name) const = 0;
221 
232  virtual bool getBooleanProperty(const std::string& name) const = 0;
233 
244  virtual unsigned char getByteProperty(const std::string& name) const = 0;
245 
256  virtual double getDoubleProperty(const std::string& name) const = 0;
257 
268  virtual float getFloatProperty(const std::string& name) const = 0;
269 
280  virtual int getIntProperty(const std::string& name) const = 0;
281 
292  virtual long long getLongProperty(const std::string& name) const = 0;
293 
304  virtual short getShortProperty(const std::string& name) const = 0;
305 
316  virtual std::string getStringProperty(const std::string& name) const = 0;
317 
329  virtual void setBooleanProperty(const std::string& name, bool value) = 0;
330 
342  virtual void setByteProperty(const std::string& name, unsigned char value) = 0;
343 
355  virtual void setDoubleProperty(const std::string& name, double value) = 0;
356 
367  virtual void setFloatProperty(const std::string& name, float value) = 0;
368 
380  virtual void setIntProperty(const std::string& name, int value) = 0;
381 
393  virtual void setLongProperty(const std::string& name, long long value) = 0;
394 
406  virtual void setShortProperty(const std::string& name, short value) = 0;
407 
419  virtual void setStringProperty(const std::string& name, const std::string& value) = 0;
420 
431  virtual std::string getCMSCorrelationID() const = 0;
432 
469  virtual void setCMSCorrelationID(const std::string& correlationId) = 0;
470 
478  virtual int getCMSDeliveryMode() const = 0;
479 
491  virtual void setCMSDeliveryMode(int mode) = 0;
492 
510  virtual const Destination* getCMSDestination() const = 0;
511 
523  virtual void setCMSDestination(const Destination* destination) = 0;
524 
550  virtual long long getCMSExpiration() const = 0;
551 
563  virtual void setCMSExpiration(long long expireTime) = 0;
564 
596  virtual std::string getCMSMessageID() const = 0;
597 
609  virtual void setCMSMessageID(const std::string& id) = 0;
610 
627  virtual int getCMSPriority() const = 0;
628 
640  virtual void setCMSPriority(int priority) = 0;
641 
653  virtual bool getCMSRedelivered() const = 0;
654 
666  virtual void setCMSRedelivered(bool redelivered) = 0;
667 
676  virtual const cms::Destination* getCMSReplyTo() const = 0;
677 
705  virtual void setCMSReplyTo(const cms::Destination* destination) = 0;
706 
734  virtual long long getCMSTimestamp() const = 0;
735 
747  virtual void setCMSTimestamp(long long timeStamp) = 0;
748 
758  virtual std::string getCMSType() const = 0;
759 
790  virtual void setCMSType(const std::string& type) = 0;
791 
792  };
793 }
794 
795 #endif /*_CMS_MESSAGE_H_*/