| #include <BaSyx/submodel/map_v2/constraint/Qualifier.h> |
| |
| |
| using namespace basyx::submodel; |
| using namespace basyx::submodel::api; |
| using namespace basyx::submodel::map; |
| |
| Qualifier::Qualifier(const std::string & qualifierType, const std::string & valueType) |
| { |
| this->map.insertKey("qualifierType", qualifierType); |
| this->map.insertKey("valueType", valueType); |
| this->map.insertKey("semanticId", this->semanticId.getMap()); |
| this->map.insertKey("valueId", this->valueId.getMap()); |
| }; |
| |
| Qualifier::Qualifier(const std::string & qualifierType, |
| const std::string & valueType, |
| const std::string & valueDataType, |
| const api::IReference & valueId) |
| : valueId(valueId) |
| { |
| this->map.insertKey("valueDataType", valueDataType); |
| this->map.insertKey("qualifierType", qualifierType); |
| this->map.insertKey("valueType", valueType); |
| this->map.insertKey("semanticId", semanticId.getMap()); |
| this->map.insertKey("valueId", this->valueId.getMap()); |
| }; |
| |
| Qualifier::Qualifier(const api::IQualifier & qualifier) |
| : Qualifier( qualifier.getQualifierType(), qualifier.getValueType() ) |
| { |
| if (qualifier.getValueId() != nullptr) |
| this->valueId = qualifier.getValueId()->getKeys(); |
| |
| if (qualifier.getValueDataType() != nullptr) |
| this->setValueDataType(*qualifier.getValueDataType()); |
| }; |
| |
| const std::string Qualifier::getQualifierType() const |
| { |
| return this->map.getProperty("qualifierType").Get<std::string&>(); |
| }; |
| |
| const std::string Qualifier::getValueType() const |
| { |
| return this->map.getProperty("valueType").Get<std::string&>(); |
| }; |
| |
| const std::string * const Qualifier::getValueDataType() const |
| { |
| if (!this->map.hasProperty("valueDataType")) |
| return nullptr; |
| |
| return &this->map.getProperty("valueDataType").Get<std::string&>(); |
| }; |
| |
| void Qualifier::setValueDataType(const std::string & valueDataType) |
| { |
| this->map.insertKey("valueDataType", valueDataType); |
| }; |
| |
| const IReference * const Qualifier::getValueId() const |
| { |
| if (this->valueId.empty()) |
| return nullptr; |
| |
| return &this->valueId; |
| }; |
| |
| void Qualifier::setValueId(const IReference & reference) |
| { |
| this->valueId = reference.getKeys(); |
| }; |
| |
| bool Qualifier::operator!=(const IQualifier & other) const |
| { |
| return this->getQualifierType() != other.getQualifierType() |
| && this->getValueType() != other.getValueType() |
| && this->getValueDataType() != other.getValueDataType() |
| && this->getValueId() != other.getValueId(); |
| }; |
| |
| const IReference & Qualifier::getSemanticId() const |
| { |
| return this->semanticId; |
| } |
| |
| void Qualifier::setSemanticId(const IReference & reference) |
| { |
| this->semanticId = reference; |
| } |