00001 /* 00002 * filter_criteria.hpp 00003 * 00004 * Created on: Jul 6, 2014 00005 * Author: jorge 00006 */ 00007 00008 #ifndef FILTER_CRITERIA_HPP_ 00009 #define FILTER_CRITERIA_HPP_ 00010 00011 #include <string> 00012 #include <vector> 00013 00014 #include <uuid_msgs/UniqueID.h> 00015 00016 typedef uuid_msgs::UniqueID UniqueIDmsg; 00017 00018 namespace wcf 00019 { 00020 00028 class FilterCriteria 00029 { 00030 private: 00031 std::string world; 00032 std::vector<UniqueIDmsg> uuids; 00033 std::vector<std::string> names; 00034 std::vector<std::string> types; 00035 std::vector<std::string> keywords; 00036 std::vector<UniqueIDmsg> relationships; 00037 00038 public: 00042 FilterCriteria(const std::string& world); 00043 00053 FilterCriteria(const std::string & world, 00054 const std::vector<std::string>& uuids, 00055 const std::vector<std::string>& names, 00056 const std::vector<std::string>& types, 00057 const std::vector<std::string>& keywords, 00058 const std::vector<std::string>& relationships); 00059 00060 virtual ~FilterCriteria(); 00061 00062 bool nullFilter(); 00063 00064 void setWorld(const std::string& world); 00065 void setUuids(const std::vector<std::string>& uuids); 00066 void setNames(const std::vector<std::string>& names); 00067 void setTypes(const std::vector<std::string>& types); 00068 void setKeywords(const std::vector<std::string>& keywords); 00069 void setRelationships(const std::vector<std::string>& relationships); 00070 00071 std::string getWorld() const { return world; } 00072 std::vector<UniqueIDmsg> getUuids() const { return uuids; } 00073 std::vector<std::string> getNames() const { return names; } 00074 std::vector<std::string> getTypes() const { return types; } 00075 std::vector<std::string> getKeywords() const { return keywords; } 00076 std::vector<UniqueIDmsg> getRelationships() const { return relationships; } 00077 }; 00078 00079 } // namespace wcf 00080 00081 #endif /* FILTER_CRITERIA_HPP_ */