blob: e86280ffa81e147508a13cb7df3ec3199d38a5b6 [file] [log] [blame]
/*
* Qualifier.cpp
*
* Author: wendel
*/
#include <BaSyx/submodel/map/qualifier/qualifiable/Qualifier.h>
#include <BaSyx/submodel/map/reference/Reference.h>
#include <BaSyx/submodel/map/modeltype/ModelType.h>
namespace basyx {
namespace submodel {
Qualifier::Qualifier() :
vab::ElementMap{ModelType{IQualifier::Path::Modeltype}}
{
this->setQualifierType("Type not specified");
}
Qualifier::Qualifier(
const std::string & qualifierType,
const basyx::object & qualifierValue,
const IReference & valueId)
: vab::ElementMap{ModelType{IQualifier::Path::Modeltype}}
{
this->setQualifierType(qualifierType);
this->setQualifierValue(qualifierValue);
this->setQualifierValueId(valueId);
}
std::string Qualifier::getQualifierType() const
{
return this->map.getProperty(IQualifier::Path::QualifierType).GetStringContent();
}
basyx::object Qualifier::getQualifierValue() const
{
return this->map.getProperty(IQualifier::Path::QualifierValue);
}
std::shared_ptr<IReference> Qualifier::getQualifierValueId() const
{
return std::make_shared<Reference>(this->map.getProperty(IQualifier::Path::QualifierValueID));
}
void Qualifier::setQualifierType(const std::string & qualifierType)
{
this->map.insertKey(IQualifier::Path::QualifierType, qualifierType, true);
}
void Qualifier::setQualifierValue(const basyx::object & qualifierValue)
{
this->map.insertKey(IQualifier::Path::QualifierValue, qualifierValue, true);
}
void Qualifier::setQualifierValueId(const IReference & valueId)
{
Reference reference{valueId};
this->insertMapElement(IQualifier::Path::QualifierValueID, reference);
}
}
}