summaryrefslogtreecommitdiff
path: root/src/model/domain/Layer.hpp
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2014-03-06 11:54:40 +0000
committerbenjamin <benjamin@daaaf23c-2e50-4459-9457-1e69db5a47bf>2014-03-06 11:54:40 +0000
commit1cb5fdc15c5f8399ca08377eb498f7c27c2eee85 (patch)
tree1e3a23d78b094d40d9fb80ce8e330bdc113eb2e4 /src/model/domain/Layer.hpp
parent247945811adbfb5ddaa1ba4e1f3dfc20cd7eb058 (diff)
reworked the model classes according to manipulated GraphNode and removed some bugs resulting from a misunderstanding between abtract domain declarations and instances.
git-svn-id: file:///var/local/svn/basicwriter@29 daaaf23c-2e50-4459-9457-1e69db5a47bf
Diffstat (limited to 'src/model/domain/Layer.hpp')
-rw-r--r--src/model/domain/Layer.hpp36
1 files changed, 23 insertions, 13 deletions
diff --git a/src/model/domain/Layer.hpp b/src/model/domain/Layer.hpp
index 5d609ca..898c54d 100644
--- a/src/model/domain/Layer.hpp
+++ b/src/model/domain/Layer.hpp
@@ -16,32 +16,42 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef _LAYER_HPP_
-#define _LAYER_HPP_
+#ifndef _OUSIA_MODEL_DOMAIN_LAYER_HPP_
+#define _OUSIA_MODEL_DOMAIN_LAYER_HPP_
-#include <memory>
-#include <vector>
-
-#include <model/GraphNode.hpp>
-#include <model/domain/Annotation.hpp>
+#include "AnnotationReference.hpp"
namespace ousia {
+namespace model {
namespace domain {
-class Layer : public GraphNode {
+/**
+ * A Layer lazily defines references to annotations that are allowed upon
+ * certain classes. You can interpret a layer as a ClassReferenceSet minus the
+ * cardinality.
+ */
+class Layer {
private:
- std::vector<std::shared_ptr<Annotation>> annotations;
+ std::vector<std::shared_ptr<AnnotationReference>> conjunctions;
public:
- using GraphNode::GraphNode;
- std::vector<std::shared_ptr<Annotation>>& getAnnotations()
+ /**
+ * This defines the conjunctions of references to annotations that are allowed
+ * Please note that each AnnotationReference again does not have to reference to
+ * a single class but can also reference to multiple classes in a *
+ * expression.
+ */
+ std::vector<std::shared_ptr<AnnotationReference>>& getConjunctions()
{
- return annotations;
+ return conjunctions;
}
};
+
}
}
+}
+
+#endif /* _OUSIA_MODEL_DOMAIN_LAYER_HPP_ */
-#endif /* _LAYER_HPP_ */