Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef OPENMS_METADATA_CVTERM_H
00036 #define OPENMS_METADATA_CVTERM_H
00037
00038 #include <OpenMS/DATASTRUCTURES/String.h>
00039 #include <OpenMS/DATASTRUCTURES/DataValue.h>
00040
00041 namespace OpenMS
00042 {
00050
00051 class OPENMS_DLLAPI CVTerm
00052 {
00053 public:
00054
00055
00056 struct Unit
00057 {
00058 Unit()
00059 {
00060 }
00061
00062 Unit(const String & p_accession, const String & p_name, const String & p_cv_ref) :
00063 accession(p_accession),
00064 name(p_name),
00065 cv_ref(p_cv_ref)
00066 {
00067 }
00068
00069 Unit(const Unit & rhs) :
00070 accession(rhs.accession),
00071 name(rhs.name),
00072 cv_ref(rhs.cv_ref)
00073 {
00074 }
00075
00076 virtual ~Unit()
00077 {
00078 }
00079
00080 Unit & operator=(const Unit & rhs)
00081 {
00082 if (this != &rhs)
00083 {
00084 accession = rhs.accession;
00085 name = rhs.name;
00086 cv_ref = rhs.cv_ref;
00087 }
00088 return *this;
00089 }
00090
00091 bool operator==(const Unit & rhs) const
00092 {
00093 return accession == rhs.accession &&
00094 name == rhs.name &&
00095 cv_ref == rhs.cv_ref;
00096 }
00097
00098 bool operator!=(const Unit & rhs) const
00099 {
00100 return !(*this == rhs);
00101 }
00102
00103 String accession;
00104 String name;
00105 String cv_ref;
00106 };
00107
00108
00110 CVTerm();
00111
00113 CVTerm(const String & accession, const String & name, const String & cv_identifier_ref, const String & value, const Unit & unit);
00114
00116 CVTerm(const CVTerm & rhs);
00117
00119 virtual ~CVTerm();
00120
00122 CVTerm & operator=(const CVTerm & rhs);
00123
00127
00128 void setAccession(const String & accession);
00129
00131 const String & getAccession() const;
00132
00134 void setName(const String & name);
00135
00137 const String & getName() const;
00138
00140 void setCVIdentifierRef(const String & cv_identifier_ref);
00141
00143 const String & getCVIdentifierRef() const;
00144
00146 void setValue(const DataValue & value);
00147
00149 const DataValue & getValue() const;
00150
00152 void setUnit(const Unit & unit);
00153
00155 const Unit & getUnit() const;
00157
00161
00162 bool operator==(const CVTerm & rhs) const;
00163
00165 bool operator!=(const CVTerm & rhs) const;
00166
00168 bool hasValue() const;
00169
00171 bool hasUnit() const;
00172
00173
00174 protected:
00175
00176 String accession_;
00177
00178 String name_;
00179
00180 String cv_identifier_ref_;
00181
00182 Unit unit_;
00183
00184 DataValue value_;
00185 };
00186
00187 }
00188
00189 #endif // OPENMS_DATASTRUCTURES_CVTERM_H