00001 /* 00002 * filter_criteria.cpp 00003 * 00004 * Created on: Jul 6, 2014 00005 * Author: jorge 00006 */ 00007 00008 #include <unique_id/unique_id.h> 00009 00010 #include "world_canvas_client_cpp/filter_criteria.hpp" 00011 00012 namespace wcf 00013 { 00014 00015 FilterCriteria::FilterCriteria(const std::string & world) 00016 { 00017 this->setWorld(world); 00018 } 00019 00020 FilterCriteria::FilterCriteria(const std::string & world, 00021 const std::vector<std::string>& uuids, 00022 const std::vector<std::string>& names, 00023 const std::vector<std::string>& types, 00024 const std::vector<std::string>& keywords, 00025 const std::vector<std::string>& relationships) 00026 { 00027 this->setWorld(world); 00028 this->setUuids(uuids); 00029 this->setNames(names); 00030 this->setTypes(types); 00031 this->setKeywords(keywords); 00032 this->setRelationships(relationships); 00033 } 00034 00035 FilterCriteria::~FilterCriteria() 00036 { 00037 } 00038 00039 bool FilterCriteria::nullFilter() 00040 { 00041 return uuids.size() == names.size() == types.size() 00042 == keywords.size() == relationships.size() == 0; 00043 } 00044 00045 void FilterCriteria::setWorld(const std::string& world) 00046 { 00047 this->world = world; 00048 } 00049 00050 void FilterCriteria::setUuids(const std::vector<std::string>& uuids) 00051 { 00052 this->uuids.clear(); 00053 for (unsigned int i = 0; i < uuids.size(); i++) 00054 this->uuids.push_back(unique_id::toMsg(unique_id::fromHexString(uuids[i]))); 00055 } 00056 00057 void FilterCriteria::setNames(const std::vector<std::string>& names) 00058 { 00059 this->names = names; 00060 } 00061 00062 void FilterCriteria::setTypes(const std::vector<std::string>& types) 00063 { 00064 this->types = types; 00065 } 00066 00067 void FilterCriteria::setKeywords(const std::vector<std::string>& keywords) 00068 { 00069 this->keywords = keywords; 00070 } 00071 00072 void FilterCriteria::setRelationships(const std::vector<std::string>& relationships) 00073 { 00074 this->relationships.clear(); 00075 for (unsigned int i = 0; i < relationships.size(); i++) 00076 this->relationships.push_back(unique_id::toMsg(unique_id::fromHexString(relationships[i]))); 00077 } 00078 00079 } // namespace wcf