00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef MS_QUANT_LOCALDEF_HPP
00018 #define MS_QUANT_LOCALDEF_HPP
00019
00020
00021 #include <string>
00022 #include <vector>
00023
00024
00025 namespace msparser_internal {
00026 class ms_quant_xmlloader;
00027 }
00028
00029 namespace matrix_science {
00030
00031 class ms_quant_specificity;
00032 class ms_quant_composition;
00033 class ms_xml_schema;
00034
00040
00041 class MS_MASCOTRESFILE_API ms_quant_localdef: public ms_xml_IValidatable
00042 {
00043 friend class msparser_internal::ms_quant_xmlloader;
00044
00045 public:
00047 ms_quant_localdef();
00048
00050 ms_quant_localdef(const ms_quant_localdef& src);
00051
00053 virtual ~ms_quant_localdef();
00054
00056 void defaultValues();
00057
00059 void copyFrom(const ms_quant_localdef* right);
00060
00061 #ifndef SWIG
00062
00063 ms_quant_localdef& operator=(const ms_quant_localdef& right);
00064 #endif
00065
00066 virtual std::string getSchemaType() const;
00067
00069 virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00070
00072 virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00073
00074
00076 int getNumberOfSpecificities() const;
00077
00079 void clearSpecificities();
00080
00082 void appendSpecificity(const ms_quant_specificity *specificity);
00083
00085 const ms_quant_specificity * getSpecificity(const int idx) const;
00086
00088 bool updateSpecificity(const int idx, const ms_quant_specificity* specificity);
00089
00091 bool deleteSpecificity(const int idx);
00092
00094 std::string getSpecificitySchemaType() const;
00095
00096
00098 bool haveDelta() const;
00099
00101 const ms_quant_composition* getDelta() const;
00102
00104 void setDelta(const ms_quant_composition *delta);
00105
00107 void dropDelta();
00108
00110 std::string getDeltaSchemaType() const;
00111
00112
00114 int getNumberOfIgnores() const;
00115
00117 void clearIgnores();
00118
00120 void appendIgnore(const ms_quant_composition *ignore);
00121
00123 const ms_quant_composition * getIgnore(const int idx) const;
00124
00126 bool updateIgnore(const int idx, const ms_quant_composition* ignore);
00127
00129 bool deleteIgnore(const int idx);
00130
00132 std::string getIgnoreSchemaType() const;
00133
00134
00136 bool haveTitle() const;
00137
00139 std::string getTitle() const;
00140
00142 void setTitle(const char* value);
00143
00145 void dropTitle();
00146
00148 std::string getTitleSchemaType() const;
00149
00150
00151 private:
00152
00153 typedef std::vector< ms_quant_specificity* > specificity_vector;
00154 specificity_vector _specificities;
00155
00156 ms_quant_composition* _pDelta;
00157 bool _delta_set;
00158
00159 typedef std::vector< ms_quant_composition* > composition_vector;
00160 composition_vector _ignores;
00161
00162
00163 std::string _title;
00164 bool _title_set;
00165
00166 };
00167
00169
00170 }
00171
00172 #endif // MS_QUANT_LOCALDEF_HPP
00173
00174