src/Configuration.h
branchv_0
changeset 25 98be80d2e65b
parent 24 c69670b7b4ef
--- a/src/Configuration.h	Tue May 11 18:30:50 2021 +0200
+++ b/src/Configuration.h	Tue May 11 20:42:22 2021 +0200
@@ -16,7 +16,7 @@
  */
 #pragma once
 
-#include <vector>
+#include <map>
 #include <regex>
 #include <locale>
 
@@ -30,13 +30,32 @@
 class RelationConfiguration {
 public:
 
+	enum class ENTITY {
+		RELATION,
+		ATTRIBUTE,
+		VALUE
+	};
+
+	RelationConfiguration() {
+		caseSensitive[ENTITY::RELATION] = true;
+		caseSensitive[ENTITY::ATTRIBUTE] = true;
+		caseSensitive[ENTITY::VALUE] = true;
+		invertMatch[ENTITY::RELATION] = false;
+		invertMatch[ENTITY::ATTRIBUTE] = false;
+		invertMatch[ENTITY::VALUE] = false;
+	}
+
 	virtual ~RelationConfiguration() {
 	}
 
-	relpipe::common::type::StringX relation; // TODO: remove and use just relationPattern, see CLIParser
+	relpipe::common::type::StringX relation;
+	relpipe::common::type::StringX attribute;
+	relpipe::common::type::StringX value;
 	std::wregex relationPattern;
 	std::wregex attributePattern;
 	std::wregex valuePattern;
+	std::map<ENTITY, relpipe::common::type::Boolean> caseSensitive;
+	std::map<ENTITY, relpipe::common::type::Boolean> invertMatch;
 };
 
 class Configuration {