summaryrefslogtreecommitdiff
path: root/src/model
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2014-03-06 00:11:17 +0000
committerandreas <andreas@daaaf23c-2e50-4459-9457-1e69db5a47bf>2014-03-06 00:11:17 +0000
commitd99095f4a181357bf0c6d10846351eb0b58b1ccf (patch)
tree74daacc842023b14e27aa49403ee8d4aaa8bb172 /src/model
parentf098dc45183d2b7a99e65b62448f59d12cc3c056 (diff)
started to implement rudimentary XML reader (implemented expectOneOf function), changed some conventions in the used files (namespaces, include guards), moved anchor class from domain to document package, removed everything that does not work now from the CMakeLists.txt
git-svn-id: file:///var/local/svn/basicwriter@24 daaaf23c-2e50-4459-9457-1e69db5a47bf
Diffstat (limited to 'src/model')
-rw-r--r--src/model/GraphNode.cpp20
-rw-r--r--src/model/GraphNode.hpp34
-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.hpp33
-rw-r--r--src/model/domain/Domain.hpp41
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_ */