6 #include "Exceptions.h" 9 #include <Atlas/Objects/RootEntity.h> 10 #include <Atlas/Objects/RootOperation.h> 12 using Atlas::Objects::Root;
13 using Atlas::Objects::smart_dynamic_cast;
14 using Atlas::Objects::Operation::RootOperation;
15 using Atlas::Objects::Entity::RootEntity;
20 Router::~Router() =
default;
22 Router::RouterResult Router::handleObject(
const Root& obj)
24 if (obj->instanceOf(Atlas::Objects::Operation::ROOT_OPERATION_NO))
25 return handleOperation(smart_dynamic_cast<RootOperation>(obj));
27 if (obj->instanceOf(Atlas::Objects::Entity::ROOT_ENTITY_NO))
28 return handleEntity(smart_dynamic_cast<RootEntity>(obj));
30 throw InvalidOperation(
"router got an object that is not an op or entity");
33 Router::RouterResult Router::handleOperation(
const RootOperation& )
35 warning() <<
"doing default routing of operation";
39 Router::RouterResult Router::handleEntity(
const RootEntity& )
41 warning() <<
"doing default routing of entity";