1 #include "LongValue.h"
\r
3 #include "LongType.h"
\r
4 #include "Constants.h"
\r
10 namespace Databoard {
\r
12 LongValue::LongValue(Databoard::Type::DataType* dataBoard) : Value(dataBoard)
\r
16 LongValue::~LongValue()
\r
20 void LongValue::setValue(long value)
\r
22 Databoard::Type::LongType* longType = dynamic_cast<Databoard::Type::LongType*>(dataBoard);
\r
24 if(longType != NULL)
\r
26 this->value = value;
\r
30 long LongValue::getValue()
\r
35 std::string LongValue::writeOut(int /*indent*/)
\r
39 std::stringstream oss;
\r
45 //if(unit.size() != 0)
\r
47 // s += "(Unit=\"" + unit + "\")";
\r
53 bool LongValue::equals(const Value* other)
\r
55 LongValue* o = (LongValue*)other;
\r
57 return (this->value < o->value);
\r
61 std::string LongValue::isValid()
\r
63 if(dataBoard == NULL)
\r
65 return "LongValue: There is no datatype.";
\r
68 Databoard::Type::LongType* longType = (Databoard::Type::LongType*)dataBoard;
\r
70 if(longType->getRange() == NULL)
\r
75 int minValue = longType->minValue();
\r
76 int maxValue = longType->maxValue();
\r
78 if(longType->getRange()->getLower()->getInclusive() == true)
\r
80 if(value < minValue)
\r
82 return std::string("LongValue: ") + STR_ERROR_VALUE_SMALL;
\r
85 else //if(longType->getRange()->getLower()->getInclusive() == false)
\r
87 if(value <= minValue)
\r
89 return std::string("LongValue: ") + STR_ERROR_VALUE_SMALL;
\r
93 if(longType->getRange()->getUpper()->getInclusive() == true)
\r
95 if(value > maxValue)
\r
97 return std::string("LongValue: ") + STR_ERROR_VALUE_LARGE;
\r
100 else //if(longType->getRange()->getUpper()->getInclusive() == false)
\r
102 if(value >= maxValue)
\r
104 return std::string("LongValue: ") + STR_ERROR_VALUE_LARGE;
\r