diff options
Diffstat (limited to 'src/model')
-rw-r--r-- | src/model/GraphNode.cpp | 20 | ||||
-rw-r--r-- | src/model/GraphNode.hpp | 34 | ||||
-rw-r--r-- | src/model/document/Anchor.cpp (renamed from src/model/domain/Anchor.cpp) | 0 | ||||
-rw-r--r-- | src/model/document/Anchor.hpp (renamed from src/model/domain/Anchor.hpp) | 0 | ||||
-rw-r--r-- | src/model/domain/ClassSet.hpp | 33 | ||||
-rw-r--r-- | src/model/domain/Domain.hpp | 41 |
6 files changed, 86 insertions, 42 deletions
diff --git a/src/model/GraphNode.cpp b/src/model/GraphNode.cpp index affc3af..bfb8e63 100644 --- a/src/model/GraphNode.cpp +++ b/src/model/GraphNode.cpp @@ -22,21 +22,11 @@ #include <sstream> namespace ousia { +namespace model { -GraphNode::GraphNode() : - parent(nullptr) -{ - // Do nothing here -} - -GraphNode::GraphNode(std::shared_ptr<GraphNode> parent) : - parent(parent) -{ - // Do nothing here -} - -GraphNode::GraphNode(const std::string &name, std::shared_ptr<GraphNode> parent) : - name(name), parent(parent) +GraphNode::GraphNode(GraphNodeType type, std::shared_ptr<GraphNode> parent, + const std::string &name) : + type(type), parent(parent), name(name) { // Do nothing here } @@ -52,3 +42,5 @@ const std::string GraphNode::getFullyQualifiedName() } } +} + diff --git a/src/model/GraphNode.hpp b/src/model/GraphNode.hpp index 39770dd..8ce1a39 100644 --- a/src/model/GraphNode.hpp +++ b/src/model/GraphNode.hpp @@ -16,34 +16,39 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef _GRAPH_NODE_HPP_ -#define _GRAPH_NODE_HPP_ +#ifndef _OUSIA_MODEL_GRAPH_NODE_HPP_ +#define _OUSIA_MODEL_GRAPH_NODE_HPP_ #include <string> #include <memory> namespace ousia { +namespace model { + +enum class GraphNodeType { + None, Domain, Class, Annotation, Structure, ClassCategory, + AnnotationCategory +}; class GraphNode { private: - std::string name; + GraphNodeType type; std::shared_ptr<GraphNode> parent; + std::string name; -public: - GraphNode(); - - GraphNode(std::shared_ptr<GraphNode> parent); +protected: + GraphNode(GraphNodeType type, std::shared_ptr<GraphNode> parent = nullptr, + const std::string &name = ""); - GraphNode(const std::string &name, std::shared_ptr<GraphNode> parent = nullptr); +public: + const std::string getFullyQualifiedName(); const std::string& getName() { return name; } - const std::string getFullyQualifiedName(); - void setName(const std::string &name) { this->name = name; @@ -51,7 +56,7 @@ public: std::shared_ptr<GraphNode> getParent() { - return std::shared_ptr<GraphNode>(parent); + return parent; } void setParent(std::shared_ptr<GraphNode> parent) @@ -59,10 +64,15 @@ public: this->parent = parent; } + GraphNodeType getType() + { + return type; + } }; } +} -#endif /* _GRAPH_NODE_HPP_ */ +#endif /* _OUSIA_MODEL_GRAPH_NODE_HPP_ */ diff --git a/src/model/domain/Anchor.cpp b/src/model/document/Anchor.cpp index e153161..e153161 100644 --- a/src/model/domain/Anchor.cpp +++ b/src/model/document/Anchor.cpp diff --git a/src/model/domain/Anchor.hpp b/src/model/document/Anchor.hpp index 66ff8eb..66ff8eb 100644 --- a/src/model/domain/Anchor.hpp +++ b/src/model/document/Anchor.hpp diff --git a/src/model/domain/ClassSet.hpp b/src/model/domain/ClassSet.hpp new file mode 100644 index 0000000..ebfe508 --- /dev/null +++ b/src/model/domain/ClassSet.hpp @@ -0,0 +1,33 @@ +/* + Ousía + Copyright (C) 2014 Benjamin Paaßen, Andreas Stöckel + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +namespace ousia { +namespace domain { + +#include "Class.hpp"; + +class ClassSet { + +private: + std::vector<Class> classes; + +}; + +} +} + diff --git a/src/model/domain/Domain.hpp b/src/model/domain/Domain.hpp index dd5ee4d..957ae4a 100644 --- a/src/model/domain/Domain.hpp +++ b/src/model/domain/Domain.hpp @@ -16,34 +16,42 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef _DOMAIN_HPP_ -#define _DOMAIN_HPP_ +#ifndef _OUSIA_MODEL_DOMAIN_DOMAIN_HPP_ +#define _OUSIA_MODEL_DOMAIN_DOMAIN_HPP_ -#include <memory> -#include <string> -#include <vector> +//#include <memory> +//#include <string> +//#include <vector> #include <model/GraphNode.hpp> -#include "Class.hpp" -#include "Structure.hpp" -#include "Category.hpp" -#include "Layer.hpp" +//#include "Class.hpp" +//#include "Structure.hpp" +//#include "Category.hpp" +//#include "Layer.hpp" namespace ousia { +namespace model { namespace domain { class Domain : public GraphNode { private: - std::shared_ptr<Class> root; - std::vector<std::shared_ptr<Structure>> structures; - std::vector<std::shared_ptr<Category>> categories; - std::vector<std::shared_ptr<Layer>> layers; +// std::shared_ptr<Class> root; +// std::vector<std::shared_ptr<Structure>> structures; +// std::vector<std::shared_ptr<Category>> categories; +// std::vector<std::shared_ptr<Layer>> layers; public: - std::shared_ptr<Class>& getRoot() + Domain(std::shared_ptr<GraphNode> parent = nullptr, + const std::string &name = "") : + GraphNode(GraphNodeType::Domain, parent, name) + { + // Do nothing here + } + +/* std::shared_ptr<Class>& getRoot() { return root; } @@ -61,12 +69,13 @@ public: std::vector<std::shared_ptr<Layer>>& getLayers() { return layers; - } + }*/ }; } } +} -#endif /* _DOMAIN_HPP_ */ +#endif /* _OUSIA_MODEL_DOMAIN_DOMAIN_HPP_ */ |