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_DATASTRUCTURES_CVMAPPINGRULE_H
00036 #define OPENMS_DATASTRUCTURES_CVMAPPINGRULE_H
00037
00038 #include <OpenMS/DATASTRUCTURES/String.h>
00039 #include <OpenMS/DATASTRUCTURES/CVMappingTerm.h>
00040 #include <vector>
00041
00042 namespace OpenMS
00043 {
00051 class OPENMS_DLLAPI CVMappingRule
00052 {
00053 public:
00054
00056 enum RequirementLevel
00057 {
00058 MUST = 0,
00059 SHOULD = 1,
00060 MAY = 2
00061 };
00062
00064 enum CombinationsLogic
00065 {
00066 OR = 0,
00067 AND = 1,
00068 XOR = 2
00069 };
00070
00072 CVMappingRule();
00073
00075 CVMappingRule(const CVMappingRule & rhs);
00076
00078 virtual ~CVMappingRule();
00079
00081 CVMappingRule & operator=(const CVMappingRule & rhs);
00082
00086
00087 void setIdentifier(const String & identifier);
00088
00090 const String & getIdentifier() const;
00091
00093 void setElementPath(const String & element_path);
00094
00096 const String & getElementPath() const;
00097
00099 void setRequirementLevel(RequirementLevel level);
00100
00102 RequirementLevel getRequirementLevel() const;
00103
00105 void setCombinationsLogic(CombinationsLogic combinations_logic);
00106
00108 CombinationsLogic getCombinationsLogic() const;
00109
00111 void setScopePath(const String & path);
00112
00114 const String & getScopePath() const;
00115
00117 void setCVTerms(const std::vector<CVMappingTerm> & cv_terms);
00118
00120 const std::vector<CVMappingTerm> & getCVTerms() const;
00121
00123 void addCVTerm(const CVMappingTerm & cv_terms);
00125
00129
00130 bool operator==(const CVMappingRule & rhs) const;
00131
00133 bool operator!=(const CVMappingRule & rhs) const;
00135
00136 protected:
00137
00138 String identifier_;
00139
00140 String element_path_;
00141
00142 RequirementLevel requirement_level_;
00143
00144 String scope_path_;
00145
00146 CombinationsLogic combinations_logic_;
00147
00148 std::vector<CVMappingTerm> cv_terms_;
00149 };
00150
00151 }
00152
00153 #endif // OPENMS_DATASTRUCTURES_CVMAPPINGRULE_H