9#include <Atlas/Objects/RootEntity.h>
10#include <Atlas/Objects/RootOperation.h>
12using Atlas::Objects::Root;
13using Atlas::Objects::smart_dynamic_cast;
14using Atlas::Objects::Operation::RootOperation;
15using Atlas::Objects::Entity::RootEntity;
20Router::~Router() =
default;
22Router::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");
33Router::RouterResult Router::handleOperation(
const RootOperation& )
35 warning() <<
"doing default routing of operation";
39Router::RouterResult Router::handleEntity(
const RootEntity& )
41 warning() <<
"doing default routing of entity";