51Degrees Common C/C++  4.1

A shared functionality library that is used by 51Degrees products

ValueMetaData.hpp

1 /* *********************************************************************
2  * This Source Code Form is copyright of 51 Degrees Mobile Experts Limited.
3  * Copyright 2019 51 Degrees Mobile Experts Limited, 5 Charlotte Close,
4  * Caversham, Reading, Berkshire, United Kingdom RG4 7BY
5  *
6  * This Source Code Form is subject to the terms of the Mozilla Public
7  * License, v. 2.0.
8  *
9  * If a copy of the MPL was not distributed with this file, You can obtain
10  * one at http://mozilla.org/MPL/2.0/.
11  *
12  * This Source Code Form is "Incompatible With Secondary Licenses", as
13  * defined by the Mozilla Public License, v. 2.0.
14  * ********************************************************************* */
15 
16 #ifndef FIFTYONE_DEGREES_VALUE_META_DATA_HPP
17 #define FIFTYONE_DEGREES_VALUE_META_DATA_HPP
18 
19 #include <string>
20 #include <vector>
21 #include "EntityMetaData.hpp"
22 #include "value.h"
23 
24 using namespace std;
25 
26 namespace FiftyoneDegrees {
27  namespace Common {
35  public:
46 
54  ValueMetaDataKey(string propertyName, string valueName);
55 
66  const string getPropertyName() const;
67 
72  const string getValueName() const;
73 
86  const bool operator< (ValueMetaDataKey other) const;
87 
94  const bool operator== (ValueMetaDataKey other) const;
95 
99  private:
101  string propertyName;
102 
104  string valueName;
105  };
106 
110  class ValueMetaData : public EntityMetaData<ValueMetaDataKey> {
111  public:
122 
130 
139  ValueMetaDataKey key,
140  string description,
141  string url);
142 
154  string getName();
155 
160  string getDescription();
161 
166  string getUrl();
167 
171  private:
173  string description;
174 
176  string url;
177  };
178  }
179 }
180 
181 #endif
ValueMetaData()
Default constructor, should not be used externally as it produces an invalid instance.
Definition: ValueMetaData.hpp:121
51Degrees base namespace.
Definition: Collection.hpp:24
ValueMetaDataKey()
Default constructor.
Definition: ValueMetaData.hpp:45
Meta data relating to a value populated by an engine implementation.
Definition: ValueMetaData.hpp:110
Key used to store ValueMetaData in a Collection.
Definition: ValueMetaData.hpp:34
Base class for any entity meta data.
Definition: EntityMetaData.hpp:38