data: saving NameHierarchy directly to Node without TokenComponentName
This commit is contained in:
@@ -1,85 +0,0 @@
|
||||
#include "data/graph/token_component/TokenComponentName.h"
|
||||
|
||||
#include "utility/utilityString.h"
|
||||
|
||||
#include "data/search/SearchIndex.h"
|
||||
|
||||
TokenComponentName::TokenComponentName()
|
||||
{
|
||||
}
|
||||
|
||||
TokenComponentName::~TokenComponentName()
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<TokenComponentName> TokenComponentName::copyComponentName() const
|
||||
{
|
||||
return std::dynamic_pointer_cast<TokenComponentName>(copy());
|
||||
}
|
||||
|
||||
|
||||
TokenComponentNameReferenced::TokenComponentNameReferenced(const SearchNode* searchNode)
|
||||
: m_searchNode(searchNode)
|
||||
{
|
||||
}
|
||||
|
||||
TokenComponentNameReferenced::~TokenComponentNameReferenced()
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<TokenComponent> TokenComponentNameReferenced::copy() const
|
||||
{
|
||||
return std::make_shared<TokenComponentNameCached>(m_searchNode->getNameHierarchy());
|
||||
}
|
||||
|
||||
std::string TokenComponentNameReferenced::getName() const
|
||||
{
|
||||
return m_searchNode->getName();
|
||||
}
|
||||
|
||||
std::string TokenComponentNameReferenced::getFullName() const
|
||||
{
|
||||
return m_searchNode->getFullName();
|
||||
}
|
||||
|
||||
const SearchNode* TokenComponentNameReferenced::getSearchNode() const
|
||||
{
|
||||
return m_searchNode;
|
||||
}
|
||||
|
||||
TokenComponentNameCached::TokenComponentNameCached(const std::vector<std::string>& nameHierarchy)
|
||||
: m_nameHierarchy(nameHierarchy)
|
||||
{
|
||||
}
|
||||
|
||||
TokenComponentNameCached::TokenComponentNameCached(const NameHierarchy& nameHierarchy)
|
||||
{
|
||||
for (size_t i = 0; i < nameHierarchy.size(); i++)
|
||||
{
|
||||
m_nameHierarchy.push_back(nameHierarchy[i]->getFullName());
|
||||
}
|
||||
}
|
||||
|
||||
TokenComponentNameCached::~TokenComponentNameCached()
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<TokenComponent> TokenComponentNameCached::copy() const
|
||||
{
|
||||
return std::make_shared<TokenComponentNameCached>(m_nameHierarchy);
|
||||
}
|
||||
|
||||
std::string TokenComponentNameCached::getName() const
|
||||
{
|
||||
return m_nameHierarchy.back();
|
||||
}
|
||||
|
||||
std::string TokenComponentNameCached::getFullName() const
|
||||
{
|
||||
return utility::join(m_nameHierarchy, "::");
|
||||
}
|
||||
|
||||
const SearchNode* TokenComponentNameCached::getSearchNode() const
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
#ifndef TOKEN_COMPONENT_NAME_H
|
||||
#define TOKEN_COMPONENT_NAME_H
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "data/graph/token_component/TokenComponent.h"
|
||||
#include "data/name/NameHierarchy.h"
|
||||
#include "data/search/SearchNode.h"
|
||||
|
||||
class TokenComponentName
|
||||
: public TokenComponent
|
||||
{
|
||||
public:
|
||||
TokenComponentName();
|
||||
virtual ~TokenComponentName();
|
||||
|
||||
std::shared_ptr<TokenComponentName> copyComponentName() const;
|
||||
|
||||
virtual std::string getName() const = 0;
|
||||
virtual std::string getFullName() const = 0;
|
||||
|
||||
virtual const SearchNode* getSearchNode() const = 0;
|
||||
};
|
||||
|
||||
|
||||
class TokenComponentNameReferenced
|
||||
: public TokenComponentName
|
||||
{
|
||||
public:
|
||||
TokenComponentNameReferenced(const SearchNode* searchNode);
|
||||
virtual ~TokenComponentNameReferenced();
|
||||
|
||||
virtual std::shared_ptr<TokenComponent> copy() const;
|
||||
|
||||
virtual std::string getName() const;
|
||||
virtual std::string getFullName() const;
|
||||
|
||||
virtual const SearchNode* getSearchNode() const;
|
||||
|
||||
private:
|
||||
const SearchNode* m_searchNode;
|
||||
};
|
||||
|
||||
|
||||
class TokenComponentNameCached
|
||||
: public TokenComponentName
|
||||
{
|
||||
public:
|
||||
TokenComponentNameCached(const std::vector<std::string>& nameHierarchy);
|
||||
TokenComponentNameCached(const NameHierarchy& nameHierarchy);
|
||||
virtual ~TokenComponentNameCached();
|
||||
|
||||
virtual std::shared_ptr<TokenComponent> copy() const;
|
||||
|
||||
virtual std::string getName() const;
|
||||
virtual std::string getFullName() const;
|
||||
|
||||
virtual const SearchNode* getSearchNode() const;
|
||||
|
||||
private:
|
||||
std::vector<std::string> m_nameHierarchy; // TODO: use const NameHierarchy here
|
||||
};
|
||||
|
||||
#endif // TOKEN_COMPONENT_NAME_H
|
||||
Reference in New Issue
Block a user