--- /dev/null
+#include "ArrayType.h"\r
+\r
+#include "Range.h"\r
+\r
+namespace Databoard {\r
+ namespace Type {\r
+\r
+ ArrayType::ArrayType()\r
+ {\r
+ this->componentType = NULL;\r
+ this->length = NULL;\r
+ }\r
+\r
+ ArrayType::ArrayType(DataType* componentType)\r
+ {\r
+ this->componentType = componentType;\r
+ this->length = NULL;\r
+ }\r
+\r
+ ArrayType::ArrayType(DataType* componentType, Range* length)\r
+ {\r
+ this->componentType = componentType;\r
+ this->length = length;\r
+ }\r
+\r
+ ArrayType::~ArrayType()\r
+ {\r
+ if(componentType != NULL)\r
+ {\r
+ delete componentType;\r
+ }\r
+\r
+ if(length != NULL)\r
+ {\r
+ delete length;\r
+ }\r
+ }\r
+\r
+ DataType* ArrayType::getComponentType()\r
+ {\r
+ return componentType;\r
+ }\r
+\r
+ void ArrayType::setComponentType(DataType* componentType)\r
+ {\r
+ this->componentType = componentType;\r
+\r
+ if(componentType->getNotBuiltIn() == true)\r
+ {\r
+ notBuiltIn = true;\r
+ }\r
+ }\r
+\r
+ int ArrayType::minLength()\r
+ {\r
+ if(length == NULL) return 0;\r
+\r
+ return 0;//length->getLower();\r
+ }\r
+\r
+ int ArrayType::maxLength()\r
+ {\r
+ if(length == NULL) return INT_MAX;\r
+\r
+ return 0;//length->Upper();\r
+ }\r
+\r
+ Range* ArrayType::getLength()\r
+ {\r
+ return length;\r
+ }\r
+\r
+ void ArrayType::setLength(Range* length)\r
+ {\r
+ this->length = length;\r
+ }\r
+\r
+ std::string ArrayType::writeOut(int /*indent*/)\r
+ {\r
+ std::string s;\r
+\r
+ s += componentType->writeOut();\r
+\r
+ if(length != NULL)\r
+ {\r
+ s += length->writeOut();\r
+ }\r
+\r
+ return s;\r
+ }\r
+ }\r
+}\r