]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/StringType.cpp
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.databoard / cpp / DataBoardTest / DataBoard / StringType.cpp
diff --git a/bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/StringType.cpp b/bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/StringType.cpp
new file mode 100644 (file)
index 0000000..5d6e2aa
--- /dev/null
@@ -0,0 +1,120 @@
+#include "StringType.h"\r
+\r
+#include "Range.h"\r
+#include "Limit.h"\r
+\r
+#include <limits>\r
+\r
+namespace Databoard {\r
+       namespace Type {\r
+\r
+               StringType::StringType()\r
+               {\r
+                       this->length = NULL;\r
+               }\r
+\r
+               StringType::StringType(std::string pattern)\r
+               {\r
+                       this->pattern = pattern;\r
+                       this->length = NULL;\r
+               }\r
+\r
+               StringType::StringType(std::string pattern, std::string mimeType, Range* length)\r
+               {\r
+                       this->pattern = pattern;\r
+                       this->mimeType = mimeType;\r
+                       this->length = length;\r
+               }\r
+\r
+               StringType::~StringType()\r
+               {\r
+                       if(length != NULL)\r
+                       {\r
+                               delete length;\r
+                       }\r
+               }\r
+\r
+               std::string StringType::getPattern()\r
+               {\r
+                       return pattern;\r
+               }\r
+\r
+               void StringType::setPattern(std::string pattern)\r
+               {\r
+                       this->pattern = pattern;\r
+               }\r
+\r
+               std::string StringType::getMimeType()\r
+               {\r
+                       return mimeType;\r
+               }\r
+\r
+               void StringType::setMimeType(std::string mimeType)\r
+               {\r
+                       this->mimeType = mimeType;\r
+               }\r
+\r
+               Range* StringType::getLength()\r
+               {\r
+                       return length;\r
+               }\r
+\r
+               void StringType::setLength(Range* length)\r
+               {\r
+                       this->length = length;\r
+               }\r
+\r
+               int StringType::minLength()\r
+               {\r
+                       if(length == NULL) return 0;\r
+\r
+                       return length->getLower()->getInteger(INT_MAX);\r
+               }\r
+\r
+               int StringType::maxLength()\r
+               {\r
+                       if(length == NULL) return INT_MAX;\r
+                       \r
+                       return length->getUpper()->getInteger(INT_MIN);\r
+               }\r
+\r
+               std::string StringType::writeOut(int /*indent*/)\r
+               {\r
+                       std::string s;\r
+\r
+                       s.append("String");\r
+\r
+                       bool parenthesis = false;\r
+\r
+                       if(mimeType.size() > 0)\r
+                       {\r
+                               s += "(mimeType=\"" + mimeType + "\"";\r
+\r
+                               parenthesis = true;\r
+                       }\r
+\r
+                       if(pattern.size() > 0)\r
+                       {\r
+                               if(parenthesis == false)\r
+                               {\r
+                                       s += "(";\r
+                               }\r
+                               else\r
+                               {\r
+                                       s += ", ";\r
+                               }\r
+\r
+                               s += "pattern=\"" + pattern + "\"";\r
+\r
+                               parenthesis = true;\r
+                       }\r
+\r
+                       if(parenthesis == true)\r
+                       {\r
+                               s += ")";\r
+                       }\r
+\r
+                       return s;\r
+               }\r
+       }\r
+}\r