From 4b5f49447e1583756c6f6bb15d7bc643bb7adda3 Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Mon, 5 Jan 2015 13:51:46 +0100 Subject: Added composition types --- src/core/model/Document.cpp | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'src/core/model/Document.cpp') diff --git a/src/core/model/Document.cpp b/src/core/model/Document.cpp index e5d0755..c09532c 100644 --- a/src/core/model/Document.cpp +++ b/src/core/model/Document.cpp @@ -70,7 +70,7 @@ NodeVector &DocumentEntity::getField( NodeVector &DocumentEntity::getField( Handle fieldDescriptor) { - if(fieldDescriptor.isNull()){ + if (fieldDescriptor.isNull()) { throw OusiaException("The given FieldDescriptor handle is null!"); } const NodeVector &fds = descriptor->getFieldDescriptors(); @@ -157,7 +157,7 @@ Rooted StructuredEntity::buildEntity( return {nullptr}; } // append the new entity to the right field. - NodeVector& field = parent->getField(fieldName); + NodeVector &field = parent->getField(fieldName); field.push_back(entity); // and return it. @@ -180,7 +180,7 @@ Rooted DocumentPrimitive::buildEntity( return {nullptr}; } // append the new entity to the right field. - NodeVector& field = parent->getField(fieldName); + NodeVector &field = parent->getField(fieldName); field.push_back(entity); // and return it. @@ -188,17 +188,23 @@ Rooted DocumentPrimitive::buildEntity( } /* Type registrations */ +} -const Rtti Document_Rtti{"Document"}; -const Rtti DocumentEntity_Rtti{"DocumentEntity"}; -const Rtti AnnotationEntity_Rtti{"AnnotationEntity", - {&DocumentEntity_Rtti}}; -const Rtti StructuredEntity_Rtti{"StructuredEntity", - {&DocumentEntity_Rtti}}; -const Rtti DocumentPrimitive_Rtti{"DocumentPrimitive", - {&StructuredEntity_Rtti}}; -const Rtti Anchor_Rtti{"Anchor", - {&StructuredEntity_Rtti}}; +namespace RttiTypes { +const Rtti Document{"Document", + std::unordered_set{}, + {&AnnotationEntity, &StructuredEntity}}; +const Rtti DocumentEntity{"DocumentEntity"}; +const Rtti AnnotationEntity{ + "AnnotationEntity", {&DocumentEntity}, {&StructuredEntity}}; +const Rtti StructuredEntity{ + "StructuredEntity", + {&DocumentEntity}, + {&StructuredEntity, &Anchor, &DocumentPrimitive}}; +const Rtti DocumentPrimitive{"DocumentPrimitive", + {&StructuredEntity}}; +const Rtti Anchor{"Anchor", + {&StructuredEntity}}; } } -- cgit v1.2.3