00001 /* 00002 * Licensed to the Apache Software Foundation (ASF) under one or more 00003 * contributor license agreements. See the NOTICE file distributed with 00004 * this work for additional information regarding copyright ownership. 00005 * The ASF licenses this file to You under the Apache License, Version 2.0 00006 * (the "License"); you may not use this file except in compliance with 00007 * the License. You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0 00010 * 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, 00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 */ 00017 00018 #ifndef _ACTIVEMQ_UTIL_COMPOSITEDATA_H_ 00019 #define _ACTIVEMQ_UTIL_COMPOSITEDATA_H_ 00020 00021 #include <activemq/util/Config.h> 00022 #include <decaf/util/Properties.h> 00023 #include <decaf/util/LinkedList.h> 00024 #include <decaf/net/URI.h> 00025 #include <decaf/net/URISyntaxException.h> 00026 00027 namespace activemq { 00028 namespace util { 00029 00030 using decaf::util::LinkedList; 00031 using decaf::net::URI; 00032 using decaf::util::Properties; 00033 00039 class AMQCPP_API CompositeData { 00040 private: 00041 00042 std::string host; 00043 std::string scheme; 00044 std::string path; 00045 LinkedList<URI> components; 00046 Properties parameters; 00047 std::string fragment; 00048 00049 public: 00050 00051 CompositeData(); 00052 virtual ~CompositeData(); 00053 00054 LinkedList<URI>& getComponents() { 00055 return components; 00056 } 00057 const LinkedList<URI>& getComponents() const { 00058 return components; 00059 } 00060 00061 void setComponents(const LinkedList<URI>& components) { 00062 this->components = components; 00063 } 00064 00065 std::string getFragment() const { 00066 return fragment; 00067 } 00068 00069 void setFragment(const std::string& fragment) { 00070 this->fragment = fragment; 00071 } 00072 00073 const Properties& getParameters() const { 00074 return parameters; 00075 } 00076 00077 void setParameters(const Properties& parameters) { 00078 this->parameters = parameters; 00079 } 00080 00081 std::string getScheme() const { 00082 return scheme; 00083 } 00084 00085 void setScheme(const std::string& scheme) { 00086 this->scheme = scheme; 00087 } 00088 00089 std::string getPath() const { 00090 return path; 00091 } 00092 00093 void setPath(const std::string& path) { 00094 this->path = path; 00095 } 00096 00097 std::string getHost() const { 00098 return host; 00099 } 00100 00101 void setHost(const std::string& host) { 00102 this->host = host; 00103 } 00104 00108 URI toURI() const; 00109 00110 }; 00111 00112 }} 00113 00114 #endif /* _ACTIVEMQ_UTIL_COMPOSITEDATA_H_ */
1.6.1