diff --git a/hoot-core/src/main/cpp/hoot/core/criterion/TagContainsCriterion.h b/hoot-core/src/main/cpp/hoot/core/criterion/TagContainsCriterion.h
index b0ab868..29a8fda 100644
--- a/hoot-core/src/main/cpp/hoot/core/criterion/TagContainsCriterion.h
+++ b/hoot-core/src/main/cpp/hoot/core/criterion/TagContainsCriterion.h
@@ -30,6 +30,7 @@
// hoot
#include <hoot/core/criterion/ElementCriterion.h>
+#include <hoot/core/util/Configurable.h>
// Qt
#include <QStringList>
@@ -39,8 +40,10 @@ namespace hoot
/**
* Identifies elements by tag key and tag value substring
+ *
+ * TODO: handle case sensitivity as an option
*/
-class TagContainsCriterion : public ElementCriterion
+class TagContainsCriterion : public ElementCriterion, public Configurable
{
public:
@@ -52,6 +55,8 @@ public:
virtual bool isSatisfied(const ConstElementPtr& e) const override;
+ void setConfiguration(const Settings& s);
+
/**
* Adds an additional pair to the search list. If any one of the pairs matches then it is
* considered a match.
@@ -63,10 +68,14 @@ public:
virtual QString getDescription() const
{ return "Identifies elements having a particular tag key and tag value substring"; }
+ void setKvps(const QStringList kvps);
+
+ virtual QString toString() const override;
+
private:
- QStringList _key;
- QStringList _valueSubstring;
+ QStringList _keys;
+ QStringList _valueSubstrings;
};
}