util/key/QueryKeyData.h

Go to the documentation of this file.
00001 /*------------------------------------------------------------------------------
00002 Name:      QueryKeyData.h
00003 Project:   xmlBlaster.org
00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
00005 ------------------------------------------------------------------------------*/
00006 
00022 #ifndef _UTIL_KEY_QUERYKEYDATA_H
00023 #define _UTIL_KEY_QUERYKEYDATA_H
00024 
00025 #include <util/key/KeyData.h>
00026 #include <util/qos/AccessFilterQos.h>
00027 #include <string>
00028 #include <vector>
00029 
00030 namespace org { namespace xmlBlaster { namespace util { namespace key {
00031 
00032 typedef std::vector<org::xmlBlaster::util::qos::AccessFilterQos> AccessFilterVector;
00033 
00034 class Dll_Export QueryKeyData : public KeyData
00035 {
00036 protected:
00037 
00041    AccessFilterVector accessFilterVector_;
00042 
00043 public:
00044 
00048    QueryKeyData(org::xmlBlaster::util::Global& global);
00049    
00050    QueryKeyData(org::xmlBlaster::util::Global& global, const std::string& query, const std::string& queryType);
00051 
00052    QueryKeyData(const QueryKeyData& key);
00053 
00054    std::string checkQueryType(const std::string& queryType);
00055 
00056    QueryKeyData& operator =(const QueryKeyData& key);
00057 
00058    void setOid(const std::string& oid);
00059 
00060    void setQueryType(const std::string& queryType);
00061 
00066    void setQueryString(const std::string& tags);
00067 
00068    std::string getQueryString() const;
00069 
00076    AccessFilterVector getAccessFilterVector() const;
00077 
00078    void addFilter(const org::xmlBlaster::util::qos::AccessFilterQos& qos);
00079 
00086    virtual std::string toXml(const std::string& extraOffset) const;
00087    virtual std::string toXml() const;
00088 
00093    QueryKeyData* getClone() const;
00094 };
00095 
00096 }}}} // namespace
00097 
00098 #endif
00099 
00100 
00101