1 #include "RecordType.h"
\r
3 #include "Component.h"
\r
9 namespace Databoard {
\r
12 RecordType::RecordType()
\r
16 RecordType::RecordType(bool referable, std::vector<Component*> components)
\r
18 this->referable = referable;
\r
20 this->components.resize(components.size(), NULL);
\r
22 for(int i = 0; i < (int)this->components.size(); ++i)
\r
24 this->components[i] = components[i];
\r
28 RecordType::~RecordType()
\r
30 for(int i = 0; i < (int)components.size(); ++i)
\r
32 delete components.at(i);
\r
38 bool RecordType::isReferable()
\r
43 void RecordType::addComponent(std::string name, DataType* type)
\r
45 Component* component = new Component(name, type);
\r
47 components.push_back(component);
\r
50 int RecordType::getComponentIndex(std::string fieldName)
\r
52 for(int i = 0; i < (int)components.size(); ++i)
\r
54 if(components.at(i)->getName() == fieldName)
\r
63 Component* RecordType::getComponent(std::string fieldName)
\r
65 for(int i = 0; i < (int)components.size(); ++i)
\r
67 if(components.at(i)->getName() == fieldName)
\r
69 return components.at(i);
\r
76 int RecordType::count()
\r
78 return (int)components.size();
\r
81 Component* RecordType::getComponent(int i)
\r
83 return components.at(i);
\r
86 //std::vector<Component*> RecordType::getComponents()
\r
90 std::string RecordType::writeOut(int indent)
\r
92 bool isTuple = true;
\r
94 for(int i = 0; i < (int)components.size(); ++i)
\r
96 std::istringstream oss(components.at(i)->getName());
\r
112 if(isTuple == false)
\r
123 for(int i = 0; i < (int)components.size(); ++i)
\r
125 if(isTuple == false)
\r
127 s.append(indent * 2, ' ');
\r
129 s += components.at(i)->getName() + " : ";
\r
132 s += components.at(i)->getDataBoard()->writeOut(indent);
\r
134 if(i != ((int)components.size()-1))
\r
139 if(isTuple == false)
\r
151 if(isTuple == false)
\r
153 s.append(indent * 2, ' ');
\r