Johannes Wendel | 11b6dae | 2019-11-13 13:13:38 +0100 | [diff] [blame] | 1 | /* |
| 2 | * Qualifier.h |
| 3 | * |
| 4 | * Author: wendel |
| 5 | */ |
| 6 | |
| 7 | #ifndef BASYX_SUBMODEL_METAMODEL_MAP_QUALIFIER_QUALIFIABLE_QUALIFIER_H_ |
| 8 | #define BASYX_SUBMODEL_METAMODEL_MAP_QUALIFIER_QUALIFIABLE_QUALIFIER_H_ |
| 9 | |
| 10 | #include "Constraint.h" |
Thomas Psota | 176a20c | 2019-11-27 11:52:28 +0100 | [diff] [blame] | 11 | #include "submodel/api/qualifier/qualifiable/IQualifier.h" |
| 12 | #include "submodel/map/qualifier/HasSemantics.h" |
Johannes Wendel | ed007a1 | 2019-11-25 17:09:45 +0100 | [diff] [blame] | 13 | #include "basyx/object.h" |
Johannes Wendel | 11b6dae | 2019-11-13 13:13:38 +0100 | [diff] [blame] | 14 | |
| 15 | namespace basyx { |
| 16 | namespace submodel { |
Johannes Wendel | 11b6dae | 2019-11-13 13:13:38 +0100 | [diff] [blame] | 17 | |
Johannes Wendel | 10dc552 | 2019-12-04 11:20:14 +0100 | [diff] [blame^] | 18 | class Qualifier |
| 19 | : public Constraint |
| 20 | , public IQualifier |
| 21 | , public HasSemantics |
| 22 | , public virtual basyx::vab::ElementMap |
Johannes Wendel | 11b6dae | 2019-11-13 13:13:38 +0100 | [diff] [blame] | 23 | { |
| 24 | public: |
| 25 | ~Qualifier() = default; |
| 26 | |
| 27 | // constructors |
| 28 | Qualifier(); |
Thomas Psota | b49d8df | 2019-11-27 15:55:41 +0100 | [diff] [blame] | 29 | Qualifier( |
| 30 | const std::string & qualifierType, |
| 31 | const basyx::object & qualifierValue, |
| 32 | const std::shared_ptr<IReference> & valueId); |
Johannes Wendel | 11b6dae | 2019-11-13 13:13:38 +0100 | [diff] [blame] | 33 | |
| 34 | // Inherited via IQualifier |
| 35 | virtual std::string getQualifierType() const override; |
Johannes Wendel | ed007a1 | 2019-11-25 17:09:45 +0100 | [diff] [blame] | 36 | virtual basyx::object getQualifierValue() const override; |
Thomas Psota | b49d8df | 2019-11-27 15:55:41 +0100 | [diff] [blame] | 37 | virtual std::shared_ptr<IReference> getQualifierValueId() const override; |
Johannes Wendel | 11b6dae | 2019-11-13 13:13:38 +0100 | [diff] [blame] | 38 | |
| 39 | // not inherited |
| 40 | void setQualifierType(const std::string & qualifierType); |
Johannes Wendel | ed007a1 | 2019-11-25 17:09:45 +0100 | [diff] [blame] | 41 | void setQualifierValue(const basyx::object & qualifierValue); |
Thomas Psota | b49d8df | 2019-11-27 15:55:41 +0100 | [diff] [blame] | 42 | void setQualifierValueId(const std::shared_ptr<IReference> & valueId); |
Johannes Wendel | 11b6dae | 2019-11-13 13:13:38 +0100 | [diff] [blame] | 43 | }; |
| 44 | |
| 45 | } |
| 46 | } |
Johannes Wendel | 11b6dae | 2019-11-13 13:13:38 +0100 | [diff] [blame] | 47 | |
| 48 | #endif |